diff --git a/app/main.164bd5060b8279190884.js b/app/main.164bd5060b8279190884.js deleted file mode 100644 index a9c375e7..00000000 --- a/app/main.164bd5060b8279190884.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e){function t(t){for(var r,a,s=t[0],l=t[1],c=t[2],u=0,d=[];u1&&(r+=e.slice(1)),void 0===t[e=r]&&(e=e.toLowerCase()),void 0===t[e]&&(e=e.toUpperCase())}return t[e]},e}();t.BaseResponse=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(698),i=n(143),o=n(157),a=n(255),s=n(34),l=n(209),c=n(129),p=n(159),u=n(94),d=n(40),m=n(128),h=n(112),f=n(697),v=function(){function e(){this.organizationId=null,this.logService=new f.ConsoleLogService(!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"],this.parseCsvOptions={encoding:"UTF-8",skipEmptyLines:!1}}return Object.defineProperty(e.prototype,"organization",{get:function(){return null!=this.organizationId},enumerable:!0,configurable:!0}),e.prototype.parseXml=function(e){var t=(new DOMParser).parseFromString(e,"application/xml");return null!=t&&null==t.querySelector("parsererror")?t:null},e.prototype.parseCsv=function(e,t,n){var i=this;void 0===n&&(n={});var o=Object.assign({header:t},this.parseCsvOptions,n);e=this.splitNewLine(e).join("\n").trim();var a=r.parse(e,o);return null!=a.errors&&a.errors.length>0&&a.errors.forEach(function(e){null!=e.row&&i.logService.warning("Error parsing row "+e.row+": "+e.message)}),a.data&&a.data.length>0?a.data:null},e.prototype.parseSingleRowCsv=function(e){if(this.isNullOrWhitespace(e))return null;var t=this.parseCsv(e,!1);return null!=t&&t.length>0&&t[0].length>0?t[0]:null},e.prototype.makeUriArray=function(e){var t=this;if(null==e)return null;if("string"==typeof e){var n=new a.LoginUriView;return n.uri=this.fixUri(e),this.isNullOrWhitespace(n.uri)?null:(n.match=null,[n])}if(e.length>0){var r=[];return e.forEach(function(e){var n=new a.LoginUriView;n.uri=t.fixUri(e),t.isNullOrWhitespace(n.uri)||(n.match=null,r.push(n))}),0===r.length?null:r}return null},e.prototype.fixUri=function(e){return null==e?null:(-1===(e=e.trim()).indexOf("://")&&e.indexOf(".")>=0&&(e="http://"+e),e.length>1e3?e.substring(0,1e3):e)},e.prototype.nameFromUrl=function(e){var t=s.Utils.getHostname(e);return this.isNullOrWhitespace(t)?null:t.startsWith("www.")?t.replace("www.",""):t},e.prototype.isNullOrWhitespace=function(e){return s.Utils.isNullOrWhitespace(e)},e.prototype.getValueOrDefault=function(e,t){return void 0===t&&(t=null),this.isNullOrWhitespace(e)?t:e},e.prototype.splitNewLine=function(e){return e.split(this.newLineRegex)},e.prototype.getCardBrand=function(e){if(this.isNullOrWhitespace(e))return null;var t=new RegExp("^4");return null!=e.match(t)?"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(e)?"Mastercard":(t=new RegExp("^3[47]"),null!=e.match(t)?"Amex":(t=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!=e.match(t)?"Discover":(t=new RegExp("^36"),null!=e.match(t)?"Diners Club":(t=new RegExp("^30[0-5]"),null!=e.match(t)?"Diners Club":(t=new RegExp("^35(2[89]|[3-8][0-9])"),null!=e.match(t)?"JCB":(t=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=e.match(t)?"Visa":null))))))},e.prototype.setCardExpiration=function(e,t){if(!this.isNullOrWhitespace(t)){var n=t.split("/");if(2===n.length){var r=null,i=null;if(1!==n[0].length&&2!==n[0].length||2===(r=n[0]).length&&"0"===r[0]&&(r=r.substr(1,1)),2!==n[1].length&&4!==n[1].length||(i=2===r.length?"20"+n[1]:n[1]),null!=r&&null!=i)return e.card.expMonth=r,e.card.expYear=i,!0}}return!1},e.prototype.moveFoldersToCollections=function(e){e.folderRelationships.forEach(function(t){return e.collectionRelationships.push(t)}),e.collections=e.folders.map(function(e){var t=new o.CollectionView;return t.name=e.name,t}),e.folderRelationships=[],e.folders=[]},e.prototype.querySelectorDirectChild=function(e,t){var n=this.querySelectorAllDirectChild(e,t);return 0===n.length?null:n[0]},e.prototype.querySelectorAllDirectChild=function(e,t){return Array.from(e.querySelectorAll(t)).filter(function(t){return t.parentNode===e})},e.prototype.initLoginCipher=function(){var e=new i.CipherView;return e.favorite=!1,e.notes="",e.fields=[],e.login=new p.LoginView,e.type=d.CipherType.Login,e},e.prototype.cleanupCipher=function(e){null!=e&&(e.type!==d.CipherType.Login&&(e.login=null),this.isNullOrWhitespace(e.name)&&(e.name="--"),this.isNullOrWhitespace(e.notes)?e.notes=null:e.notes=e.notes.trim(),null!=e.fields&&0===e.fields.length&&(e.fields=null))},e.prototype.processKvp=function(e,t,n,r){if(void 0===r&&(r=m.FieldType.Text),!this.isNullOrWhitespace(n))if(this.isNullOrWhitespace(t)&&(t=""),n.length>200||n.trim().search(this.newLineRegex)>-1)null==e.notes&&(e.notes=""),e.notes+=t+": "+this.splitNewLine(n).join("\n")+"\n";else{null==e.fields&&(e.fields=[]);var i=new l.FieldView;i.type=r,i.name=t,i.value=n,e.fields.push(i)}},e.prototype.processFolder=function(e,t){var n=e.folders.length,r=!this.isNullOrWhitespace(t),i=r;if(r)for(var o=0;o-1&&(n=t.getUrlObject("http://"+e)));return n},t.getUrlObject=function(e){try{if(null!=a)return a.URL?new a.URL(e):a.parse(e);if("function"==typeof URL)return new URL(e);if(null!=window){var t=e.indexOf("://")>-1;if(!t&&e.indexOf(".")>-1)e="http://"+e;else if(!t)return null;var n=window.document.createElement("a");return n.href=e,n}}catch(r){}return null},t.inited=!1,t.isNativeScript=!1,t.isNode=!1,t.isBrowser=!0,t.isMobileBrowser=!1,t.isAppleMobileBrowser=!1,t.global=null,t.tldEndingRegex=/.*\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/,t}();t.Utils=s,s.init()}).call(this,n(127),n(110),n(105).Buffer)},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PasswordGenerationService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StateService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.onClick=function(e){e.preventDefault()},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appStopClick",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.StopClickDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Login=1]="Login",e[e.SecureNote=2]="SecureNote",e[e.Card=3]="Card",e[e.Identity=4]="Identity"}(t.CipherType||(t.CipherType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.CollectionService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StorageService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(e,t){this.el=e,this.renderer=t}return Object.defineProperty(e.prototype,"appInputVerbatim",{set:function(e){this.disableComplete=""===e||!0===e},enumerable:!0,configurable:!0}),e.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")},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef),r.ɵɵdirectiveInject(r.Renderer2))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appInputVerbatim",""]],inputs:{appInputVerbatim:"appInputVerbatim"}}),e}();t.InputVerbatimDirective=i},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.FolderService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PolicyService=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.onClick=function(e){e.stopPropagation()},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appStopProp",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.StopPropDirective=i},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AuthService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(34),i=n(0),o=function(){function e(e){this.el=e}return Object.defineProperty(e.prototype,"appAutofocus",{set:function(e){this.autofocus=""===e||!0===e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){!r.Utils.isMobileBrowser&&this.autofocus&&this.el.nativeElement.focus()},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(i.ElementRef))},e.ɵdir=i.ɵɵdefineDirective({type:e,selectors:[["","appAutofocus",""]],inputs:{appAutofocus:"appAutofocus"}}),e}();t.AutofocusDirective=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SyncService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.environmentUrlsKey=e.environmentUrlsKey,this.disableGaKey=e.disableGaKey,this.disableAddLoginNotificationKey=e.disableAddLoginNotificationKey,this.disableContextMenuItemKey=e.disableContextMenuItemKey,this.disableFaviconKey=e.disableFaviconKey,this.disableAutoTotpCopyKey=e.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=e.enableAutoFillOnPageLoadKey,this.vaultTimeoutKey=e.vaultTimeoutKey,this.vaultTimeoutActionKey=e.vaultTimeoutActionKey,this.lastActiveKey=e.lastActiveKey,this.neverDomainsKey=e.neverDomainsKey,this.installedVersionKey=e.installedVersionKey,this.localeKey=e.localeKey,this.themeKey=e.themeKey,this.collapsedGroupingsKey=e.collapsedGroupingsKey,this.autoConfirmFingerprints=e.autoConfirmFingerprints,this.dontShowCardsCurrentTab=e.dontShowCardsCurrentTab,this.dontShowIdentitiesCurrentTab=e.dontShowIdentitiesCurrentTab,this.defaultUriMatch=e.defaultUriMatch,this.pinProtectedKey=e.pinProtectedKey,this.protectedPin=e.protectedPin,this.clearClipboardKey=e.clearClipboardKey,this.eventCollectionKey=e.eventCollectionKey,this.ssoCodeVerifierKey=e.ssoCodeVerifierKey,this.ssoStateKey=e.ssoStateKey,this.biometricUnlockKey=e.biometricUnlockKey,this.biometricText=e.biometricText,this.biometricAwaitingAcceptance=e.biometricAwaitingAcceptance,this.biometricFingerprintValidated=e.biometricFingerprintValidated}return e.environmentUrlsKey="environmentUrls",e.disableGaKey="disableGa",e.disableAddLoginNotificationKey="disableAddLoginNotification",e.disableChangedPasswordNotificationKey="disableChangedPasswordNotification",e.disableContextMenuItemKey="disableContextMenuItem",e.disableFaviconKey="disableFavicon",e.disableAutoTotpCopyKey="disableAutoTotpCopy",e.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",e.vaultTimeoutKey="lockOption",e.vaultTimeoutActionKey="vaultTimeoutAction",e.lastActiveKey="lastActive",e.neverDomainsKey="neverDomains",e.installedVersionKey="installedVersion",e.localeKey="locale",e.themeKey="theme",e.collapsedGroupingsKey="collapsedGroupings",e.autoConfirmFingerprints="autoConfirmFingerprints",e.dontShowCardsCurrentTab="dontShowCardsCurrentTab",e.dontShowIdentitiesCurrentTab="dontShowIdentitiesCurrentTab",e.defaultUriMatch="defaultUriMatch",e.pinProtectedKey="pinProtectedKey",e.protectedPin="protectedPin",e.clearClipboardKey="clearClipboardKey",e.eventCollectionKey="eventCollection",e.ssoCodeVerifierKey="ssoCodeVerifier",e.ssoStateKey="ssoState",e.biometricUnlockKey="biometric",e.biometricText="biometricText",e.biometricAwaitingAcceptance="biometricAwaitingAcceptance",e.biometricFingerprintValidated="biometricFingerprintValidated",e}();t.ConstantsService=r},,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EventService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EnvironmentService=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PasswordVerificationRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?e[a]=s||null:e[a]=s?new o.CipherString(s):null}},e.prototype.buildDataModel=function(e,t,n,r){for(var i in void 0===r&&(r=[]),n)if(n.hasOwnProperty(i)){var o=e[n[i]||i];r.indexOf(i)>-1?t[i]=null!=o?o:null:t[i]=null!=o?o.encryptedString:null}},e.prototype.decryptObj=function(e,t,n,o){return void 0===o&&(o=null),r(this,void 0,void 0,function(){var r,a,s;return i(this,function(i){switch(i.label){case 0:for(s in r=[],a=this,t)t.hasOwnProperty(s)&&function(i){var s=Promise.resolve().then(function(){var e=t[i]||i;return a[e]?a[e].decrypt(n,o):null}).then(function(t){e[i]=t});r.push(s)}(s);return[4,Promise.all(r)];case 1:return i.sent(),[2,e]}})})},e}();t.default=a},,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(270),a=(n(0),n(833)),s=n(34),l=(n(15),n(0)),c=n(15);function p(e,t){}var u=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.el=null,r}return i(t,e),t.prototype.ngOnDestroy=function(){},t.prototype.show=function(e,t,n,r){var i=this;void 0===n&&(n=!0),void 0===r&&(r=null),this.parentContainer=t,this.fade=n;var a=this.componentFactoryResolver.resolveComponentFactory(e),l=this.container.createComponent(a);null!=r&&r(l.instance);var c=Array.from(document.querySelectorAll(".modal"));return c.length>0&&(this.el=o(c[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){i.onShow.emit(),i.messagingService.send("modalShow")}),this.el.on("shown.bs.modal",function(){i.onShown.emit(),i.messagingService.send("modalShown"),s.Utils.isMobileBrowser||i.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){i.onClose.emit(),i.messagingService.send("modalClose")}),this.el.on("hidden.bs.modal",function(){i.onClosed.emit(),i.messagingService.send("modalClosed"),null!=i.parentContainer&&i.parentContainer.clear()})),l.instance},t.prototype.close=function(){null!=this.el&&this.el.modal("hide")},t.ɵfac=function(e){return new(e||t)(l.ɵɵdirectiveInject(l.ComponentFactoryResolver),l.ɵɵdirectiveInject(c.MessagingService))},t.ɵcmp=l.ɵɵdefineComponent({type:t,selectors:[["app-modal"]],features:[l.ɵɵInheritDefinitionFeature],decls:2,vars:0,consts:[["container",""]],template:function(e,t){1&e&&l.ɵɵtemplate(0,p,0,0,"ng-template",null,0,l.ɵɵtemplateRefExtractor)},encapsulation:2}),t}(a.ModalComponent);t.ModalComponent=u},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SearchService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AuditService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.cardholderName=null,this.expMonth=null,this.expYear=null,this.code=null,this._brand=null,this._number=null,this._subTitle=null}return Object.defineProperty(e.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"brand",{get:function(){return this._brand},set:function(e){this._brand=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"number",{get:function(){return this._number},set:function(e){this._number=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){if(null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4)){null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="";var e=this.number.length>=5&&null!=this.number.match(new RegExp("^3[47]"))?5:4;this._subTitle+="*"+this.number.substr(this.number.length-e)}return this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var e=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return e+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),e.prototype.formatYear=function(e){return 2===e.length?"20"+e:e},e}();t.CardView=r},,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.type=null,e&&(this.type=e.type)}return Object.defineProperty(e.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),e}();t.SecureNoteView=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.TokenService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.CryptoFunctionService=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?(e="http://"+e,t=!0):this.imageEnabled&&(t=0===e.indexOf("http")&&e.indexOf(".")>-1),this.imageEnabled&&t)try{this.image=this.iconsUrl+"/"+s.Utils.getHostname(e)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(c.EnvironmentService),l.ɵɵdirectiveInject(p.StateService))},e.ɵcmp=l.ɵɵdefineComponent({type:e,selectors:[["app-vault-icon"]],inputs:{cipher:"cipher"},features:[l.ɵɵNgOnChangesFeature],decls:7,vars:2,consts:[["aria-hidden","true",1,"icon"],["alt","",3,"src","appFallbackSrc",4,"ngIf"],[3,"class",4,"ngIf"],["alt","",3,"src","appFallbackSrc"]],template:function(e,t){1&e&&(l.ɵɵelementStart(0,"div",0),l.ɵɵtext(1,"\n "),l.ɵɵtemplate(2,m,1,2,"img",1),l.ɵɵtext(3,"\n "),l.ɵɵtemplate(4,h,1,3,"i",2),l.ɵɵtext(5,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(6,"\n")),2&e&&(l.ɵɵadvance(2),l.ɵɵproperty("ngIf",t.imageEnabled&&t.image),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",!t.imageEnabled||!t.image))},directives:[u.NgIf,d.FallbackSrcDirective],encapsulation:2}),e}();t.IconComponent=v},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.VaultTimeoutService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Generic=0]="Generic"}(t.SecureNoteType||(t.SecureNoteType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Authenticator=0]="Authenticator",e[e.Email=1]="Email",e[e.Duo=2]="Duo",e[e.Yubikey=3]="Yubikey",e[e.U2f=4]="U2f",e[e.Remember=5]="Remember",e[e.OrganizationDuo=6]="OrganizationDuo"}(t.TwoFactorProviderType||(t.TwoFactorProviderType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.TotpService=r},,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});n(0);var o=n(809),a=n(0),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.ɵfac=function(e){return l(e||t)},t.ɵprov=a.ɵɵdefineInjectable({token:t,factory:t.ɵfac}),t}(o.BroadcasterService);t.BroadcasterService=s;var l=a.ɵɵgetInheritedFactory(s)},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1)try{window.document.body.removeChild(e)}catch(t){}})},500),this.hidePaypal||(window.document.head.removeChild(this.btScript),window.setTimeout(function(){Array.from(window.document.head.querySelectorAll("script")).forEach(function(e){if(null!=e.src&&e.src.indexOf("paypal")>-1)try{window.document.head.removeChild(e)}catch(t){}});var e=window.document.head.querySelector("#braintree-dropin-stylesheet");if(null!=e)try{window.document.head.removeChild(e)}catch(t){}},500))},e.prototype.changeMethod=function(){var e=this;this.btInstance=null,this.method===o.PaymentMethodType.PayPal?window.setTimeout(function(){window.braintree.dropin.create({authorization:e.platformUtilsService.isDev()?a.WebConstants.btSandboxKey:a.WebConstants.btProductionKey,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(t,n){null==t?e.btInstance=n:console.error(t)})},250):this.setStripeElement()},e.prototype.createPaymentToken=function(){var e=this;return new Promise(function(t,n){e.method===o.PaymentMethodType.Credit?t([null,e.method]):e.method===o.PaymentMethodType.PayPal?e.btInstance.requestPaymentMethod().then(function(n){t([n.nonce,e.method])}).catch(function(e){n(e.message)}):e.method!==o.PaymentMethodType.Card&&e.method!==o.PaymentMethodType.BankAccount||(e.method===o.PaymentMethodType.Card?e.apiService.postSetupPayment().then(function(t){return e.stripe.handleCardSetup(t,e.stripeCardNumberElement)}).then(function(r){r.error?n(r.error.message):r.setupIntent&&"succeeded"===r.setupIntent.status?t([r.setupIntent.payment_method,e.method]):n()}):e.stripe.createToken("bank_account",e.bank).then(function(r){r.error?n(r.error.message):r.token&&null!=r.token.id?t([r.token.id,e.method]):n()}))})},e.prototype.handleStripeCardPayment=function(e,t){var n=this;return new Promise(function(o,a){if(!n.showMethods||null!=n.stripeCardNumberElement){return(n.showMethods?n.stripe.handleCardSetup(e,n.stripeCardNumberElement):n.stripe.handleCardSetup(e)).then(function(e){return r(n,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return e.error?(a(e.error.message),[3,5]):[3,1];case 1:return e.paymentIntent&&"succeeded"===e.paymentIntent.status?null==t?[3,3]:[4,t()]:[3,4];case 2:n.sent(),n.label=3;case 3:return o(),[3,5];case 4:a(),n.label=5;case 5:return[2]}})})})}a()})},e.prototype.setStripeElement=function(){var e=this;window.setTimeout(function(){e.showMethods&&e.method===o.PaymentMethodType.Card&&(null==e.stripeCardNumberElement&&(e.stripeCardNumberElement=e.stripeElements.create("cardNumber",{style:I,classes:E,placeholder:""})),null==e.stripeCardExpiryElement&&(e.stripeCardExpiryElement=e.stripeElements.create("cardExpiry",{style:I,classes:E})),null==e.stripeCardCvcElement&&(e.stripeCardCvcElement=e.stripeElements.create("cardCvc",{style:I,classes:E,placeholder:""})),e.stripeCardNumberElement.mount("#stripe-card-number-element"),e.stripeCardExpiryElement.mount("#stripe-card-expiry-element"),e.stripeCardCvcElement.mount("#stripe-card-cvc-element"))},50)},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.PlatformUtilsService),s.ɵɵdirectiveInject(c.ApiService))},e.ɵcmp=s.ɵɵdefineComponent({type:e,selectors:[["app-payment"]],inputs:{showMethods:"showMethods",showOptions:"showOptions",method:"method",hideBank:"hideBank",hidePaypal:"hidePaypal",hideCredit:"hideCredit"},decls:10,vars:5,consts:[["class","mb-4 text-lg",4,"ngIf"],[4,"ngIf"],[1,"mb-4","text-lg"],[1,"form-check","form-check-inline","mr-4"],["type","radio","name","Method","id","method-card",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-card",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-credit-card"],["class","form-check form-check-inline mr-4",4,"ngIf"],["class","form-check form-check-inline",4,"ngIf"],["type","radio","name","Method","id","method-bank",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-bank",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-university"],[1,"form-check","form-check-inline"],["type","radio","name","Method","id","method-paypal",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-paypal",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-paypal"],["type","radio","name","Method","id","method-credit",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-credit",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-dollar"],[1,"row"],[1,"form-group","col-4"],["for","stripe-card-number-element"],["id","stripe-card-number-element",1,"form-control","stripe-form-control"],[1,"form-group","col-8","d-flex","align-items-end"],["src","images/cards.png","alt","Visa, MasterCard, Discover, AmEx, JCB, Diners Club, UnionPay","width","323","height","32"],["for","stripe-card-expiry-element"],["id","stripe-card-expiry-element",1,"form-control","stripe-form-control"],[1,"d-flex"],["for","stripe-card-cvc-element"],["href","https://www.cvvnumber.com/cvv.html","tabindex","-1","target","_blank","rel","noopener noreferrer",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],["id","stripe-card-cvc-element",1,"form-control","stripe-form-control"],["type","warning",3,"title"],[1,"form-group","col-6"],["for","routing_number"],["id","routing_number","type","text","name","routing_number","required","","appInputVerbatim","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_number"],["id","account_number","type","text","name","account_number","required","","appInputVerbatim","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_holder_name"],["id","account_holder_name","type","text","name","account_holder_name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_holder_type"],["id","account_holder_type","name","account_holder_type","required","",1,"form-control",3,"ngModel","ngModelChange"],["value",""],["value","company"],["value","individual"],[1,"mb-3"],["id","bt-dropin-container",1,"mb-1"],[1,"text-muted"],["type","note"]],template:function(e,t){1&e&&(s.ɵɵtemplate(0,x,19,8,"div",0),s.ɵɵtext(1,"\n"),s.ɵɵtemplate(2,b,46,12,"ng-container",1),s.ɵɵtext(3,"\n"),s.ɵɵtemplate(4,S,60,34,"ng-container",1),s.ɵɵtext(5,"\n"),s.ɵɵtemplate(6,w,11,3,"ng-container",1),s.ɵɵtext(7,"\n"),s.ɵɵtemplate(8,C,6,3,"ng-container",1),s.ɵɵtext(9,"\n")),2&e&&(s.ɵɵproperty("ngIf",t.showOptions&&t.showMethods),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.Card),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.BankAccount),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.PayPal),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.Credit))},directives:[p.NgIf,u.RadioControlValueAccessor,u.DefaultValueAccessor,u.NgControlStatus,u.NgModel,d.A11yTitleDirective,m.CalloutComponent,u.RequiredValidator,h.InputVerbatimDirective,u.SelectControlValueAccessor,u.NgSelectOption,u.ɵangular_packages_forms_forms_x],pipes:[f.I18nPipe],encapsulation:2}),e}();t.PaymentComponent=P},,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Text=0]="Text",e[e.Hidden=1]="Hidden",e[e.Boolean=2]="Boolean"}(t.FieldType||(t.FieldType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=null,this.name=null,this.revisionDate=null,e&&(this.id=e.id,this.revisionDate=e.revisionDate)}}();t.FolderView=r},,,,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&(n=this.getFirstLetters(r,this.charCount)),null==n&&(n=r.substr(0,this.charCount)),a=this.getCharText(n),s=this.stringToColor(r),(l=this.getSvg(this.size,s)).appendChild(a),c=window.document.createElement("div").appendChild(l).outerHTML,p=window.btoa(unescape(encodeURIComponent(c))),this.src="data:image/svg+xml;base64,"+p,i.label=4;case 4:return[2]}})})},e.prototype.stringToColor=function(e){for(var t=0,n=0;n>8*n&255).toString(16)).substr(-2)}return r},e.prototype.getFirstLetters=function(e,t){var n=e.split(" ");if(n.length>1){for(var r="",i=0;i0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasOldAttachments",{get:function(){if(this.hasAttachments)for(var e=0;e0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"passwordRevisionDisplayDate",{get:function(){return this.type!==r.CipherType.Login||null==this.login?null:null==this.login.password||""===this.login.password?null:this.login.passwordRevisionDate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isDeleted",{get:function(){return null!=this.deletedDate},enumerable:!0,configurable:!0}),e}();t.CipherView=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(34),i=function(){function e(e){this.title=null,this.middleName=null,this.address1=null,this.address2=null,this.address3=null,this.city=null,this.state=null,this.postalCode=null,this.country=null,this.company=null,this.email=null,this.phone=null,this.ssn=null,this.username=null,this.passportNumber=null,this.licenseNumber=null,this._firstName=null,this._lastName=null,this._subTitle=null}return Object.defineProperty(e.prototype,"firstName",{get:function(){return this._firstName},set:function(e){this._firstName=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lastName",{get:function(){return this._lastName},set:function(e){this._lastName=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.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(e.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var e="";return null!=this.title&&(e+=this.title+" "),null!=this.firstName&&(e+=this.firstName+" "),null!=this.middleName&&(e+=this.middleName+" "),null!=this.lastName&&(e+=this.lastName),e.trim()}return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullAddress",{get:function(){var e=this.address1;return r.Utils.isNullOrWhitespace(this.address2)||(r.Utils.isNullOrWhitespace(e)||(e+=", "),e+=this.address2),r.Utils.isNullOrWhitespace(this.address3)||(r.Utils.isNullOrWhitespace(e)||(e+=", "),e+=this.address3),e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullAddressPart2",{get:function(){if(null==this.city&&null==this.state&&null==this.postalCode)return null;var e=this.city||"-",t=this.state,n=this.postalCode||"-",i=e;return r.Utils.isNullOrWhitespace(t)||(i+=", "+t),i+=", "+n},enumerable:!0,configurable:!0}),e}();t.IdentityView=i},,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.organizationId=e.organizationId,this.name=e.name,this.externalId=e.externalId,this.readOnly=e.readOnly}}();t.CollectionData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(141),i=function(){return function(e){this.id=null,this.organizationId=null,this.name=null,this.externalId=null,this.readOnly=null,this.hidePasswords=null,e&&(this.id=e.id,this.organizationId=e.organizationId,this.externalId=e.externalId,e instanceof r.Collection&&(this.readOnly=e.readOnly,this.hidePasswords=e.hidePasswords))}}();t.CollectionView=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(479),o=n(480),a=n(481),s=n(482),l=n(483),c=n(590),p=n(485),u=function(){return function(e,t,n){if(null!=e){switch(this.id=e.id,this.organizationId=e.organizationId,this.folderId=e.folderId,this.userId=t,this.edit=e.edit,this.viewPassword=e.viewPassword,this.organizationUseTotp=e.organizationUseTotp,this.favorite=e.favorite,this.revisionDate=e.revisionDate,this.type=e.type,this.name=e.name,this.notes=e.notes,this.collectionIds=null!=n?n:e.collectionIds,this.deletedDate=e.deletedDate,this.type){case r.CipherType.Login:this.login=new l.LoginData(e.login);break;case r.CipherType.SecureNote:this.secureNote=new p.SecureNoteData(e.secureNote);break;case r.CipherType.Card:this.card=new o.CardData(e.card);break;case r.CipherType.Identity:this.identity=new s.IdentityData(e.identity)}null!=e.fields&&(this.fields=e.fields.map(function(e){return new a.FieldData(e)})),null!=e.attachments&&(this.attachments=e.attachments.map(function(e){return new i.AttachmentData(e)})),null!=e.passwordHistory&&(this.passwordHistory=e.passwordHistory.map(function(e){return new c.PasswordHistoryData(e)}))}}}();t.CipherData=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(34),i=function(){function e(e){this.username=null,this.password=null,this.passwordRevisionDate=null,this.totp=null,this.uris=null,e&&(this.passwordRevisionDate=e.passwordRevisionDate)}return Object.defineProperty(e.prototype,"uri",{get:function(){return this.hasUris?this.uris[0].uri:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maskedPassword",{get:function(){return null!=this.password?"••••••••":null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){return this.username},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canLaunch",{get:function(){return this.hasUris&&this.uris.some(function(e){return e.canLaunch})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasTotp",{get:function(){return!r.Utils.isNullOrWhitespace(this.totp)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"launchUri",{get:function(){if(this.hasUris){var e=this.uris.find(function(e){return e.canLaunch});if(null!=e)return e.launchUri}return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasUris",{get:function(){return null!=this.uris&&this.uris.length>0},enumerable:!0,configurable:!0}),e}();t.LoginView=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Text=0]="Text",e[e.File=1]="File"}(t.SendType||(t.SendType={}))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.TwoFactorAuthentication=0]="TwoFactorAuthentication",e[e.MasterPassword=1]="MasterPassword",e[e.PasswordGenerator=2]="PasswordGenerator",e[e.SingleOrg=3]="SingleOrg",e[e.RequireSso=4]="RequireSso",e[e.PersonalOwnership=5]="PersonalOwnership"}(t.PolicyType||(t.PolicyType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?(p=[],[4,this.attachments.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){p.push(e)})},Promise.resolve())]):[3,13];case 12:a.sent(),t.attachments=p,a.label=13;case 13:return null!=this.fields&&this.fields.length>0?(u=[],[4,this.fields.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){u.push(e)})},Promise.resolve())]):[3,15];case 14:a.sent(),t.fields=u,a.label=15;case 15:return null!=this.passwordHistory&&this.passwordHistory.length>0?(d=[],[4,this.passwordHistory.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){d.push(e)})},Promise.resolve())]):[3,17];case 16:a.sent(),t.passwordHistory=d,a.label=17;case 17:return[2,t]}})})},t.prototype.toCipherData=function(e){var t=new l.CipherData;switch(t.id=this.id,t.organizationId=this.organizationId,t.folderId=this.folderId,t.userId=null!=this.organizationId?e:null,t.edit=this.edit,t.viewPassword=this.viewPassword,t.organizationUseTotp=this.organizationUseTotp,t.favorite=this.favorite,t.revisionDate=null!=this.revisionDate?this.revisionDate.toISOString():null,t.type=this.type,t.collectionIds=this.collectionIds,t.deletedDate=null!=this.deletedDate?this.deletedDate.toISOString():null,this.buildDataModel(this,t,{name:null,notes:null}),t.type){case s.CipherType.Login:t.login=this.login.toLoginData();break;case s.CipherType.SecureNote:t.secureNote=this.secureNote.toSecureNoteData();break;case s.CipherType.Card:t.card=this.card.toCardData();break;case s.CipherType.Identity:t.identity=this.identity.toIdentityData()}return null!=this.fields&&(t.fields=this.fields.map(function(e){return e.toFieldData()})),null!=this.attachments&&(t.attachments=this.attachments.map(function(e){return e.toAttachmentData()})),null!=this.passwordHistory&&(t.passwordHistory=this.passwordHistory.map(function(e){return e.toPasswordHistoryData()})),t},t}(d.default);t.Cipher=g},,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.name=null,this.value=null,this.type=null,this.newField=!1,this.showValue=!1,e&&(this.type=e.type)}return Object.defineProperty(e.prototype,"maskedValue",{get:function(){return null!=this.value?"••••••••":null},enumerable:!0,configurable:!0}),e}();t.FieldView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(594),o=n(595),a=n(596),s=n(597),l=n(598),c=n(599),p=n(865),u=function(){return function(e){var t=this;switch(this.type=e.type,this.folderId=e.folderId,this.organizationId=e.organizationId,this.name=e.name?e.name.encryptedString:null,this.notes=e.notes?e.notes.encryptedString:null,this.favorite=e.favorite,this.lastKnownRevisionDate=e.revisionDate,this.type){case r.CipherType.Login:this.login=new s.LoginApi,this.login.uris=null,this.login.username=e.login.username?e.login.username.encryptedString:null,this.login.password=e.login.password?e.login.password.encryptedString:null,this.login.passwordRevisionDate=null!=e.login.passwordRevisionDate?e.login.passwordRevisionDate.toISOString():null,this.login.totp=e.login.totp?e.login.totp.encryptedString:null,null!=e.login.uris&&(this.login.uris=e.login.uris.map(function(e){var t=new l.LoginUriApi;return t.uri=null!=e.uri?e.uri.encryptedString:null,t.match=null!=e.match?e.match:null,t}));break;case r.CipherType.SecureNote:this.secureNote=new c.SecureNoteApi,this.secureNote.type=e.secureNote.type;break;case r.CipherType.Card:this.card=new i.CardApi,this.card.cardholderName=null!=e.card.cardholderName?e.card.cardholderName.encryptedString:null,this.card.brand=null!=e.card.brand?e.card.brand.encryptedString:null,this.card.number=null!=e.card.number?e.card.number.encryptedString:null,this.card.expMonth=null!=e.card.expMonth?e.card.expMonth.encryptedString:null,this.card.expYear=null!=e.card.expYear?e.card.expYear.encryptedString:null,this.card.code=null!=e.card.code?e.card.code.encryptedString:null;break;case r.CipherType.Identity:this.identity=new a.IdentityApi,this.identity.title=null!=e.identity.title?e.identity.title.encryptedString:null,this.identity.firstName=null!=e.identity.firstName?e.identity.firstName.encryptedString:null,this.identity.middleName=null!=e.identity.middleName?e.identity.middleName.encryptedString:null,this.identity.lastName=null!=e.identity.lastName?e.identity.lastName.encryptedString:null,this.identity.address1=null!=e.identity.address1?e.identity.address1.encryptedString:null,this.identity.address2=null!=e.identity.address2?e.identity.address2.encryptedString:null,this.identity.address3=null!=e.identity.address3?e.identity.address3.encryptedString:null,this.identity.city=null!=e.identity.city?e.identity.city.encryptedString:null,this.identity.state=null!=e.identity.state?e.identity.state.encryptedString:null,this.identity.postalCode=null!=e.identity.postalCode?e.identity.postalCode.encryptedString:null,this.identity.country=null!=e.identity.country?e.identity.country.encryptedString:null,this.identity.company=null!=e.identity.company?e.identity.company.encryptedString:null,this.identity.email=null!=e.identity.email?e.identity.email.encryptedString:null,this.identity.phone=null!=e.identity.phone?e.identity.phone.encryptedString:null,this.identity.ssn=null!=e.identity.ssn?e.identity.ssn.encryptedString:null,this.identity.username=null!=e.identity.username?e.identity.username.encryptedString:null,this.identity.passportNumber=null!=e.identity.passportNumber?e.identity.passportNumber.encryptedString:null,this.identity.licenseNumber=null!=e.identity.licenseNumber?e.identity.licenseNumber.encryptedString:null}null!=e.fields&&(this.fields=e.fields.map(function(e){var t=new o.FieldApi;return t.type=e.type,t.name=e.name?e.name.encryptedString:null,t.value=e.value?e.value.encryptedString:null,t})),null!=e.passwordHistory&&(this.passwordHistory=[],e.passwordHistory.forEach(function(e){t.passwordHistory.push({lastUsedDate:e.lastUsedDate,password:e.password?e.password.encryptedString:null})})),null!=e.attachments&&(this.attachments={},this.attachments2={},e.attachments.forEach(function(e){var n=e.fileName?e.fileName.encryptedString:null;t.attachments[e.id]=n;var r=new p.AttachmentRequest;r.fileName=n,null!=e.key&&(r.key=e.key.encryptedString),t.attachments2[e.id]=r}))}}();t.CipherRequest=u},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(72);var r=n(8),i=(n(3),n(0)),o=n(8),a=n(72),s=n(3),l=function(){function e(e,t,n,i){var o=this;this.router=e,this.activatedRoute=t,this.titleService=n,this.previousUrl=void 0,this.currentUrl=void 0,this.currentUrl=this.router.url,e.events.subscribe(function(e){if(e instanceof r.NavigationEnd){o.previousUrl=o.currentUrl,o.currentUrl=e.url;for(var t=i.t("pageTitle","Bitwarden"),n=null,a=null,s=o.activatedRoute.firstChild;null!=s;){if(null==s.firstChild){if(null!=s.snapshot.data&&null!=s.snapshot.data.title){a=s.snapshot.data.title;break}if(null!=s.snapshot.data&&null!=s.snapshot.data.titleId){n=s.snapshot.data.titleId;break}n=null,a=null;break}s=s.firstChild}if(null!=n||null!=a){var l=null!=a?a:i.t(n);null!=l&&""!==l&&(t=l+" | "+t)}o.titleService.setTitle(t)}})}return e.prototype.getPreviousUrl=function(){return this.previousUrl},e.prototype.setPreviousUrl=function(e){this.previousUrl=e},e.ɵfac=function(t){return new(t||e)(i.ɵɵinject(o.Router),i.ɵɵinject(o.ActivatedRoute),i.ɵɵinject(a.Title),i.ɵɵinject(s.I18nService))},e.ɵprov=i.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.RouterService=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.PBKDF2_SHA256=0]="PBKDF2_SHA256"}(t.KdfType||(t.KdfType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(3);var r=n(0),i=n(3),o=n(4);function a(e,t){if(1&e&&(r.ɵɵelementContainerStart(0),r.ɵɵtext(1),r.ɵɵelementContainerEnd()),2&e){var n=r.ɵɵnextContext();r.ɵɵadvance(1),r.ɵɵtextInterpolate1("\n ",n.text,"\n ")}}var s=function(e){return{width:e}},l=function(){function e(e){this.i18nService=e,this.showText=!1,this.scoreWidth=0,this.color="bg-danger"}return e.prototype.ngOnChanges=function(){switch(this.scoreWidth=null==this.score?0:20*(this.score+1),this.score){case 4:this.color="bg-success",this.text=this.i18nService.t("strong");break;case 3:this.color="bg-primary",this.text=this.i18nService.t("good");break;case 2:this.color="bg-warning",this.text=this.i18nService.t("weak");break;default:this.color="bg-danger",this.text=null!=this.score?this.i18nService.t("weak"):null}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(i.I18nService))},e.ɵcmp=r.ɵɵdefineComponent({type:e,selectors:[["app-password-strength"]],inputs:{score:"score",showText:"showText"},features:[r.ɵɵNgOnChangesFeature],decls:8,vars:8,consts:[[1,"progress"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",3,"ngStyle"],[4,"ngIf"]],template:function(e,t){1&e&&(r.ɵɵelementStart(0,"div",0),r.ɵɵtext(1,"\n "),r.ɵɵelementStart(2,"div",1),r.ɵɵtext(3,"\n "),r.ɵɵtemplate(4,a,2,1,"ng-container",2),r.ɵɵtext(5,"\n "),r.ɵɵelementEnd(),r.ɵɵtext(6,"\n"),r.ɵɵelementEnd(),r.ɵɵtext(7,"\n")),2&e&&(r.ɵɵadvance(2),r.ɵɵclassMapInterpolate1("progress-bar ",t.color,""),r.ɵɵproperty("ngStyle",r.ɵɵpureFunction1(6,s,t.scoreWidth+"%")),r.ɵɵattribute("aria-valuenow",t.scoreWidth),r.ɵɵadvance(2),r.ɵɵproperty("ngIf",t.showText&&t.text))},directives:[o.NgStyle,o.NgIf],encapsulation:2}),e}();t.PasswordStrengthComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Invited=0]="Invited",e[e.Accepted=1]="Accepted",e[e.Confirmed=2]="Confirmed"}(t.OrganizationUserStatusType||(t.OrganizationUserStatusType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e,t,n,r,i){return null==e||0===e.length?[]:null==t||t.length<2?e:(t=t.trim().toLowerCase(),e.filter(function(e){return null!=n&&null!=e[n]&&e[n].toString().toLowerCase().indexOf(t)>-1||(null!=r&&null!=e[r]&&e[r].toString().toLowerCase().indexOf(t)>-1||null!=i&&null!=e[i]&&e[i].toString().toLowerCase().indexOf(t)>-1)}))},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"search",type:e,pure:!0}),e}();t.SearchPipe=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(3);var r=n(277),i=n(251),o=n(0),a=n(3),s=function(){function e(e){this.i18nService=e}return e.prototype.getDefaultDateFilters=function(){var e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),23,59);e.setDate(e.getDate()-30);var n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0);return[this.toDateTimeLocalString(n),this.toDateTimeLocalString(t)]},e.prototype.formatDateFilters=function(e,t){var n=new Date(e),r=new Date(t+":59.999");if(isNaN(n.getTime())||isNaN(r.getTime())||r"+n+"";var r=this.makeAnchor(n);return r.setAttribute("href","#/organizations/"+e.organizationId+"/vault?search="+n+"&viewEvents="+e.cipherId),r.outerHTML},e.prototype.formatGroupId=function(e){var t=this.getShortId(e.groupId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/groups?search="+t),n.outerHTML},e.prototype.formatCollectionId=function(e){var t=this.getShortId(e.collectionId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/collections?search="+t),n.outerHTML},e.prototype.formatOrgUserId=function(e){var t=this.getShortId(e.organizationUserId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/people?search="+t+"&viewEvents="+e.organizationUserId),n.outerHTML},e.prototype.formatPolicyId=function(e){var t=this.getShortId(e.policyId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/policies?policyId="+e.policyId),n.outerHTML},e.prototype.makeAnchor=function(e){var t=document.createElement("a");return t.title=this.i18nService.t("view"),t.innerHTML=""+e+"",t},e.prototype.getShortId=function(e){return e.substring(0,8)},e.prototype.toDateTimeLocalString=function(e){return e.getFullYear()+"-"+this.pad(e.getMonth()+1)+"-"+this.pad(e.getDate())+"T"+this.pad(e.getHours())+":"+this.pad(e.getMinutes())},e.prototype.pad=function(e){var t=Math.floor(Math.abs(e));return(t<10?"0":"")+t},e.ɵfac=function(t){return new(t||e)(o.ɵɵinject(a.I18nService))},e.ɵprov=o.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.EventService=s;var l=function(){return function(){}}();t.EventInfo=l;var c=function(){return function(){this.cipherInfo=!0}}();t.EventOptions=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.User_LoggedIn=1e3]="User_LoggedIn",e[e.User_ChangedPassword=1001]="User_ChangedPassword",e[e.User_Updated2fa=1002]="User_Updated2fa",e[e.User_Disabled2fa=1003]="User_Disabled2fa",e[e.User_Recovered2fa=1004]="User_Recovered2fa",e[e.User_FailedLogIn=1005]="User_FailedLogIn",e[e.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",e[e.User_ClientExportedVault=1007]="User_ClientExportedVault",e[e.Cipher_Created=1100]="Cipher_Created",e[e.Cipher_Updated=1101]="Cipher_Updated",e[e.Cipher_Deleted=1102]="Cipher_Deleted",e[e.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",e[e.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",e[e.Cipher_Shared=1105]="Cipher_Shared",e[e.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",e[e.Cipher_ClientViewed=1107]="Cipher_ClientViewed",e[e.Cipher_ClientToggledPasswordVisible=1108]="Cipher_ClientToggledPasswordVisible",e[e.Cipher_ClientToggledHiddenFieldVisible=1109]="Cipher_ClientToggledHiddenFieldVisible",e[e.Cipher_ClientToggledCardCodeVisible=1110]="Cipher_ClientToggledCardCodeVisible",e[e.Cipher_ClientCopiedPassword=1111]="Cipher_ClientCopiedPassword",e[e.Cipher_ClientCopiedHiddenField=1112]="Cipher_ClientCopiedHiddenField",e[e.Cipher_ClientCopiedCardCode=1113]="Cipher_ClientCopiedCardCode",e[e.Cipher_ClientAutofilled=1114]="Cipher_ClientAutofilled",e[e.Cipher_SoftDeleted=1115]="Cipher_SoftDeleted",e[e.Cipher_Restored=1116]="Cipher_Restored",e[e.Collection_Created=1300]="Collection_Created",e[e.Collection_Updated=1301]="Collection_Updated",e[e.Collection_Deleted=1302]="Collection_Deleted",e[e.Group_Created=1400]="Group_Created",e[e.Group_Updated=1401]="Group_Updated",e[e.Group_Deleted=1402]="Group_Deleted",e[e.OrganizationUser_Invited=1500]="OrganizationUser_Invited",e[e.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",e[e.OrganizationUser_Updated=1502]="OrganizationUser_Updated",e[e.OrganizationUser_Removed=1503]="OrganizationUser_Removed",e[e.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",e[e.OrganizationUser_UnlinkedSso=1505]="OrganizationUser_UnlinkedSso",e[e.Organization_Updated=1600]="Organization_Updated",e[e.Organization_PurgedVault=1601]="Organization_PurgedVault",e[e.Policy_Updated=1700]="Policy_Updated"}(t.EventType||(t.EventType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Card=0]="Card",e[e.BankAccount=1]="BankAccount",e[e.PayPal=2]="PayPal",e[e.BitPay=3]="BitPay",e[e.Credit=4]="Credit",e[e.WireTransfer=5]="WireTransfer",e[e.AppleInApp=6]="AppleInApp",e[e.GoogleInApp=7]="GoogleInApp",e[e.Check=8]="Check"}(t.PaymentMethodType||(t.PaymentMethodType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]4?(t=Math.floor(this.totpCode.length/2),this.totpCodeFormatted=this.totpCode.substring(0,t)+" "+this.totpCode.substring(t)):this.totpCodeFormatted=this.totpCode:(this.totpCodeFormatted=null,this.totpInterval&&window.clearInterval(this.totpInterval)),[2]}})})},t.prototype.allowOwnershipAssignment=function(){return(!this.editMode||this.cloneMode)&&null!=this.ownershipOptions&&(this.ownershipOptions.length>1||!this.allowPersonal)},t.prototype.totpTick=function(e){return o(this,void 0,void 0,function(){var t,n;return a(this,function(r){switch(r.label){case 0:return t=Math.round((new Date).getTime()/1e3),n=t%e,this.totpSec=e-n,this.totpDash=+(Math.round(78.6/e*n+"e+2")+"e-2"),this.totpLow=this.totpSec<=7,0!==n?[3,2]:[4,this.totpUpdateCode()];case 1:r.sent(),r.label=2;case 2:return[2]}})})},t.ɵfac=function(e){return new(e||t)(p.ɵɵdirectiveInject(u.CipherService),p.ɵɵdirectiveInject(d.FolderService),p.ɵɵdirectiveInject(m.I18nService),p.ɵɵdirectiveInject(h.PlatformUtilsService),p.ɵɵdirectiveInject(f.AuditService),p.ɵɵdirectiveInject(v.StateService),p.ɵɵdirectiveInject(y.UserService),p.ɵɵdirectiveInject(g.CollectionService),p.ɵɵdirectiveInject(x.TotpService),p.ɵɵdirectiveInject(b.PasswordGenerationService),p.ɵɵdirectiveInject(S.MessagingService),p.ɵɵdirectiveInject(w.EventService),p.ɵɵdirectiveInject(C.PolicyService))},t.ɵcmp=p.ɵɵdefineComponent({type:t,selectors:[["app-vault-add-edit"]],features:[p.ɵɵInheritDefinitionFeature],decls:36,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","cipherAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","cipherAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit","class","btn btn-primary btn-submit",3,"disabled",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["type","info",4,"ngIf"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","col-6 form-group",4,"ngIf"],[4,"ngIf"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"mt-4"],["cdkDropList","",3,"cdkDropListDropped",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-2",3,"click",4,"ngIf"],["type","info"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","folder"],["id","folder","name","FolderId",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","loginUsername"],[1,"input-group"],["id","loginUsername","type","text","name","Login.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","input-group-append",4,"ngIf"],[1,"d-flex"],["for","loginPassword"],["class","ml-auto d-flex",4,"ngIf"],["id","loginPassword","name","Login.Password","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"input-group-append"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","disabled","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],["aria-hidden","true",1,"fa","fa-lg","fa-clone"],["for","loginTotp"],["id","loginTotp","name","Login.Totp","appInputVerbatim","",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-6","form-group","totp","d-flex","align-items-end",3,"ngClass"],["class","d-flex align-items-center",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-3",3,"click",4,"ngIf"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","click"],[1,"ml-auto","d-flex"],["href","#","class","d-block mr-2","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["href","#","appStopClick","",1,"d-block",3,"appA11yTitle","appApiAction","click"],["checkPasswordBtn",""],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-check-circle",3,"hidden"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-spinner","fa-spin",3,"hidden","title"],["href","#","appStopClick","",1,"d-block","mr-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-refresh"],["src","images/totp-countdown.png",1,"ml-2",3,"title"],["href","#","appStopClick","","class","badge badge-primary ml-3",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"badge","badge-primary","ml-3",3,"click"],[1,"d-flex","align-items-center"],[1,"totp-countdown","mr-3","ml-2"],[1,"totp-sec"],["r","12.6","cy","16","cx","16",1,"totp-circle","inner",3,"ngStyle"],["r","14","cy","16","cx","16",1,"totp-circle","outer"],[1,"totp-code","mr-2",3,"title"],["type","button",1,"btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-clone"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-7","form-group"],[3,"for"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","placeholder","ngModelChange"],["aria-hidden","true",1,"fa","fa-lg","fa-share"],[1,"col-5","form-group"],["href","https://help.bitwarden.com/article/uri-match-detection/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-control","overflow-hidden",3,"id","name","ngModel","disabled","ngModelChange","change"],["type","button","class","btn btn-link text-danger ml-2",3,"appA11yTitle","click",4,"ngIf"],["type","button",1,"btn","btn-link","text-danger","ml-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-minus-circle","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-fw"],["for","cardCardholderName"],["id","cardCardholderName","type","text","name","Card.CardCardholderName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardBrand"],["id","cardBrand","name","Card.Brand",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardNumber"],["id","cardNumber","type","text","name","Card.Number","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"col","form-group"],["for","cardExpMonth"],["id","cardExpMonth","name","Card.ExpMonth",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardExpYear"],["id","cardExpYear","type","text","name","Card.ExpYear",1,"form-control",3,"ngModel","placeholder","disabled","ngModelChange"],["for","cardCode"],["id","cardCode","name","Card.Code","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-4","form-group"],["for","idTitle"],["id","idTitle","name","Identity.Title",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idFirstName"],["id","idFirstName","type","text","name","Identity.FirstName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idMiddleName"],["id","idMiddleName","type","text","name","Identity.MiddleName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLastName"],["id","idLastName","type","text","name","Identity.LastName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idUsername"],["id","idUsername","type","text","name","Identity.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCompany"],["id","idCompany","type","text","name","Identity.Company",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idSsn"],["id","idSsn","type","text","name","Identity.SSN","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPassportNumber"],["id","idPassportNumber","type","text","name","Identity.PassportNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLicenseNumber"],["id","idLicenseNumber","type","text","name","Identity.LicenseNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idEmail"],["id","idEmail","type","text","name","Identity.Email","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPhone"],["id","idPhone","type","text","name","Identity.Phone",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress1"],["id","idAddress1","type","text","name","Identity.Address1",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress2"],["id","idAddress2","type","text","name","Identity.Address2",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress3"],["id","idAddress3","type","text","name","Identity.Address3",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCity"],["id","idCity","type","text","name","Identity.City",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idState"],["id","idState","type","text","name","Identity.State",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPostalCode"],["id","idPostalCode","type","text","name","Identity.PostalCode",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCountry"],["id","idCountry","type","text","name","Identity.Country",1,"form-control",3,"ngModel","disabled","ngModelChange"],["cdkDropList","",3,"cdkDropListDropped"],["class","row","cdkDrag","",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"row"],["href","https://help.bitwarden.com/article/custom-fields/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","ngModelChange"],["class","input-group",4,"ngIf"],[1,"flex-fill"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange",4,"ngIf"],["type","button","class","btn btn-link text-muted cursor-move",3,"appA11yTitle",4,"ngIf"],["appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"id","type","name","ngModel","disabled","ngModelChange"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-link","text-muted","cursor-move",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-bars","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-2",3,"click"],[1,"col-5"],["for","addFieldType",1,"sr-only"],["id","addFieldType","name","AddFieldType",1,"form-control",3,"ngModel","ngModelChange"],["for","organizationId"],["id","organizationId","name","OrganizationId",1,"form-control",3,"ngModel","disabled","ngModelChange","change"],["class","form-check",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"ngModel","id","name","disabled","ngModelChange"],[1,"form-check-label",3,"for"],[1,"small","text-muted","mt-4"],[1,"font-weight-semibold"],["class","ml-3",4,"ngIf"],["href","#","appStopClick","",3,"title","click"],[1,"ml-3"],[4,"ngFor","ngForOf"],[1,"password-wrapper","text-monospace","ml-2"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"ml-auto"],["type","button","class","btn btn-link",3,"appA11yTitle","click",4,"ngIf"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,_e,54,25,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵelementStart(22,"div",9),p.ɵɵtext(23,"\n "),p.ɵɵtemplate(24,Ae,9,7,"button",10),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",11),p.ɵɵtext(27),p.ɵɵpipe(28,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(29,"\n "),p.ɵɵtemplate(30,Be,6,2,"div",12),p.ɵɵtext(31,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(32,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(33,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n")),2&e&&(p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,7,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.cipher),p.ɵɵadvance(4),p.ɵɵproperty("ngIf",!t.viewOnly),p.ɵɵadvance(3),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(28,9,t.viewOnly?"close":"cancel"),"\n "),p.ɵɵadvance(3),p.ɵɵproperty("ngIf",t.cipher&&!t.viewOnly))},directives:[I.NgControlStatusGroup,I.NgForm,E.ApiActionDirective,P.A11yTitleDirective,k.NgIf,I.DefaultValueAccessor,I.RequiredValidator,I.NgControlStatus,I.NgModel,_.CalloutComponent,I.SelectControlValueAccessor,A.AutofocusDirective,k.NgForOf,I.NgSelectOption,I.ɵangular_packages_forms_forms_x,O.InputVerbatimDirective,k.NgClass,T.StopClickDirective,k.NgStyle,M.CdkDropList,M.CdkDrag,B.TrueFalseValueDirective,I.CheckboxControlValueAccessor],pipes:[D.I18nPipe,k.DatePipe],encapsulation:2}),t}(c.AddEditComponent);t.AddEditComponent=De},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.ImportService=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]500?500:this.ciphers.length,n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]r){if(o===a.TwoFactorProviderType.U2f&&!e)return;n=o,r=s.priority}}),n},e.prototype.makePreloginKey=function(e,t){return i(this,void 0,void 0,function(){var n,r,i,a;return o(this,function(o){switch(o.label){case 0:t=t.trim().toLowerCase(),n=null,r=null,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,this.apiService.postPrelogin(new p.PreloginRequest(t))];case 2:return null!=(i=o.sent())&&(n=i.kdf,r=i.kdfIterations),[3,4];case 3:if(null==(a=o.sent())||404!==a.statusCode)throw a;return[3,4];case 4:return[2,this.cryptoService.makeKey(e,t,n,r)]}})})},e.prototype.authingWithApiKey=function(){return null!=this.clientId&&null!=this.clientSecret},e.prototype.authingWithSso=function(){return null!=this.code&&null!=this.codeVerifier&&null!=this.ssoRedirectUrl},e.prototype.authingWithPassword=function(){return null!=this.email&&null!=this.masterPasswordHash},e.prototype.logInHelper=function(e,t,n,r,p,d,m,h,f,v,y){return i(this,void 0,void 0,function(){var i,g,x,b,S,w,C,I,E,P,k,_,A;return o(this,function(o){switch(o.label){case 0:return[4,this.tokenService.getTwoFactorToken(e)];case 1:return i=o.sent(),[4,this.appIdService.getAppId()];case 2:return g=o.sent(),x=new l.DeviceRequest(g,this.platformUtilsService),b=[],S=[],w=[],b=null!=e&&null!=t?[e,t]:null,S=null!=n&&null!=r&&null!=p?[n,r,p]:null,w=null!=d&&null!=m?[d,m]:null,C=null!=v&&null!=f?new u.TokenRequest(b,S,w,f,v,y,x):null!=i?new u.TokenRequest(b,S,w,a.TwoFactorProviderType.Remember,i,!1,x):new u.TokenRequest(b,S,w,null,null,!1,x),[4,this.apiService.postIdentityToken(C)];case 3:return I=o.sent(),this.clearState(),(E=new s.AuthResult).twoFactor=!I.accessToken,E.twoFactor?(P=I,this.email=e,this.masterPasswordHash=t,this.code=n,this.codeVerifier=r,this.ssoRedirectUrl=p,this.clientId=d,this.clientSecret=m,this.key=this.setCryptoKeys?h:null,this.twoFactorProvidersData=P.twoFactorProviders2,E.twoFactorProviders=P.twoFactorProviders2,[2,E]):(k=I,E.resetMasterPassword=k.resetMasterPassword,null==k.twoFactorToken?[3,5]:[4,this.tokenService.setTwoFactorToken(k.twoFactorToken,e)]);case 4:o.sent(),o.label=5;case 5:return[4,this.tokenService.setTokens(k.accessToken,k.refreshToken)];case 6:return o.sent(),[4,this.userService.setInformation(this.tokenService.getUserId(),this.tokenService.getEmail(),k.kdf,k.kdfIterations)];case 7:return o.sent(),this.setCryptoKeys?null==h?[3,9]:[4,this.cryptoService.setKey(h)]:[3,19];case 8:o.sent(),o.label=9;case 9:return null==t?[3,11]:[4,this.cryptoService.setKeyHash(t)];case 10:o.sent(),o.label=11;case 11:return null!=n&&null==k.key?[3,19]:[4,this.cryptoService.setEncKey(k.key)];case 12:if(o.sent(),null!=k.privateKey)return[3,17];o.label=13;case 13:return o.trys.push([13,16,,17]),[4,this.cryptoService.makeKeyPair()];case 14:return _=o.sent(),[4,this.apiService.postAccountKeys(new c.KeysRequest(_[0],_[1].encryptedString))];case 15:return o.sent(),k.privateKey=_[1].encryptedString,[3,17];case 16:return A=o.sent(),this.logService.error(A),[3,17];case 17:return[4,this.cryptoService.setEncPrivateKey(k.privateKey)];case 18:o.sent(),o.label=19;case 19:return null!=this.vaultTimeoutService&&(this.vaultTimeoutService.biometricLocked=!1),this.messagingService.send("loggedIn"),[2,E]}})})},e.prototype.clearState=function(){this.key=null,this.email=null,this.masterPasswordHash=null,this.code=null,this.codeVerifier=null,this.ssoRedirectUrl=null,this.clientId=null,this.clientSecret=null,this.twoFactorProvidersData=null,this.selectedTwoFactorProviderType=null},e}();t.AuthService=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.id=e,this.readOnly=t,this.hidePasswords=n}}();t.SelectionReadOnlyRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Owner=0]="Owner",e[e.Admin=1]="Admin",e[e.User=2]="User",e[e.Manager=3]="Manager",e[e.Custom=4]="Custom"}(t.OrganizationUserType||(t.OrganizationUserType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Android=0]="Android",e[e.iOS=1]="iOS",e[e.ChromeExtension=2]="ChromeExtension",e[e.FirefoxExtension=3]="FirefoxExtension",e[e.OperaExtension=4]="OperaExtension",e[e.EdgeExtension=5]="EdgeExtension",e[e.WindowsDesktop=6]="WindowsDesktop",e[e.MacOsDesktop=7]="MacOsDesktop",e[e.LinuxDesktop=8]="LinuxDesktop",e[e.ChromeBrowser=9]="ChromeBrowser",e[e.FirefoxBrowser=10]="FirefoxBrowser",e[e.OperaBrowser=11]="OperaBrowser",e[e.EdgeBrowser=12]="EdgeBrowser",e[e.IEBrowser=13]="IEBrowser",e[e.UnknownBrowser=14]="UnknownBrowser",e[e.AndroidAmazon=15]="AndroidAmazon",e[e.UWP=16]="UWP",e[e.SafariBrowser=17]="SafariBrowser",e[e.VivaldiBrowser=18]="VivaldiBrowser",e[e.VivaldiExtension=19]="VivaldiExtension",e[e.SafariExtension=20]="SafariExtension"}(t.DeviceType||(t.DeviceType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SettingsService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Free=0]="Free",e[e.FamiliesAnnually2019=1]="FamiliesAnnually2019",e[e.TeamsMonthly2019=2]="TeamsMonthly2019",e[e.TeamsAnnually2019=3]="TeamsAnnually2019",e[e.EnterpriseMonthly2019=4]="EnterpriseMonthly2019",e[e.EnterpriseAnnually2019=5]="EnterpriseAnnually2019",e[e.Custom=6]="Custom",e[e.FamiliesAnnually=7]="FamiliesAnnually",e[e.TeamsMonthly=8]="TeamsMonthly",e[e.TeamsAnnually=9]="TeamsAnnually",e[e.EnterpriseMonthly=10]="EnterpriseMonthly",e[e.EnterpriseAnnually=11]="EnterpriseAnnually"}(t.PlanType||(t.PlanType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(e.uris=[],this.uris.forEach(function(t){e.uris.push(t.toLoginUriData())})),e},t}(n(81).default);t.Login=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(484),a=n(255),s=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.match=t.match,r.buildDomainModel(r,t,{uri:null},n,[]),r)}return i(t,e),t.prototype.decrypt=function(e,t){return this.decryptObj(new a.LoginUriView(this),{uri:null},e,t)},t.prototype.toLoginUriData=function(){var e=new o.LoginUriData;return this.buildDataModel(this,e,{uri:null},["match"]),e},t}(n(81).default);t.LoginUri=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Domain=0]="Domain",e[e.Host=1]="Host",e[e.StartsWith=2]="StartsWith",e[e.Exact=3]="Exact",e[e.RegularExpression=4]="RegularExpression",e[e.Never=5]="Never"}(t.UriMatchType||(t.UriMatchType={}))},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(485),a=n(81),s=n(94),l=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.type=t.type,r)}return i(t,e),t.prototype.decrypt=function(e,t){return Promise.resolve(new s.SecureNoteView(this))},t.prototype.toSecureNoteData=function(){var e=new o.SecureNoteData;return e.type=this.type,e},t}(a.default);t.SecureNote=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),i=n(14),o=n(0),a=function(){function e(e,t){this.elementRef=e,this.renderer=t,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(e){}}return e.prototype.onHostChange=function(e){this.propagateChange(e.target.checked?this.trueValue:this.falseValue)},e.prototype.writeValue=function(e){e===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},e.prototype.registerOnChange=function(e){this.propagateChange=e},e.prototype.registerOnTouched=function(e){},e.prototype.setDisabledState=function(e){},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(o.ElementRef),o.ɵɵdirectiveInject(o.Renderer2))},e.ɵdir=o.ɵɵdefineDirective({type:e,selectors:[["input","type","checkbox","appTrueFalseValue",""]],hostBindings:function(e,t){1&e&&o.ɵɵlistener("change",function(e){return t.onHostChange(e)})},inputs:{trueValue:"trueValue",falseValue:"falseValue"},features:[o.ɵɵProvidersFeature([{provide:i.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return e}),multi:!0}])]}),e}();t.TrueFalseValueDirective=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(0),a=(n(41),n(48),n(42),n(7),n(870)),s=n(0),l=n(41),c=n(48),p=n(42),u=n(7),d=n(18),m=n(14),h=n(62),f=n(4),v=n(39),y=n(10),g=function(e){return{active:e}};function x(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"a",8),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext().selectFavorites()}),s.ɵɵtext(3,"\n "),s.ɵɵelement(4,"i",17),s.ɵɵtext(5),s.ɵɵpipe(6,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext();s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(4,g,r.selectedFavorites)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(6,2,"favorites"),"\n ")}}function b(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"a",8),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext().selectTrash()}),s.ɵɵtext(3,"\n "),s.ɵɵelement(4,"i",18),s.ɵɵtext(5),s.ɵɵpipe(6,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext();s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(4,g,r.selectedTrash)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(6,2,"trash"),"\n ")}}function S(e,t){1&e&&(s.ɵɵelementStart(0,"p",19),s.ɵɵtext(1,"\n "),s.ɵɵelement(2,"i",20),s.ɵɵpipe(3,"i18n"),s.ɵɵtext(4,"\n "),s.ɵɵelementStart(5,"span",21),s.ɵɵtext(6),s.ɵɵpipe(7,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(8,"\n "),s.ɵɵelementEnd()),2&e&&(s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(3,2,"loading")),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(7,4,"loading")))}var w=function(e,t){return{"fa-caret-right":e,"fa-caret-down":t}};function C(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"i",32),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).collapse(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext().$implicit,i=s.ɵɵnextContext(4);s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(1,2,"toggleCollapse")),s.ɵɵproperty("ngClass",s.ɵɵpureFunction2(4,w,i.isCollapsed(r.node),!i.isCollapsed(r.node)))}}function I(e,t){1&e&&s.ɵɵelement(0,"i",33)}function E(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"a",34),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).editFolder(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵtext(2,"\n "),s.ɵɵelement(3,"i",35),s.ɵɵtext(4,"\n "),s.ɵɵelementEnd()}2&e&&s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(1,1,"editFolder"))}function P(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}var k=function(e){return{$implicit:e}};function _(e,t){if(1&e&&(s.ɵɵelementStart(0,"ul",36),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,P,2,0,"ng-container",26),s.ɵɵtext(3,"\n "),s.ɵɵelementEnd()),2&e){var n=s.ɵɵnextContext().$implicit;s.ɵɵnextContext(2);var r=s.ɵɵreference(15);s.ɵɵadvance(2),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(2,k,n.children))}}function A(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"div",22),s.ɵɵtext(3,"\n "),s.ɵɵtemplate(4,C,2,7,"i",28),s.ɵɵtext(5,"\n "),s.ɵɵelementStart(6,"a",8),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).selectFolder(e.node)}),s.ɵɵtext(7,"\n "),s.ɵɵtemplate(8,I,1,0,"i",29),s.ɵɵtext(9),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵtemplate(11,E,5,3,"a",30),s.ɵɵtext(12,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(13,"\n "),s.ɵɵtemplate(14,_,4,4,"ul",31),s.ɵɵtext(15,"\n "),s.ɵɵelementEnd()}if(2&e){var r=t.$implicit,i=s.ɵɵnextContext(4);s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(6,g,i.selectedFolder&&r.node.id===i.selectedFolderId)),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",r.children.length),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",0===r.children.length),s.ɵɵadvance(1),s.ɵɵtextInterpolate1("",r.node.name,"\n "),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.node.id),s.ɵɵadvance(3),s.ɵɵproperty("ngIf",r.children.length&&!i.isCollapsed(r.node))}}function O(e,t){if(1&e&&(s.ɵɵtext(0,"\n "),s.ɵɵtemplate(1,A,16,8,"li",27),s.ɵɵtext(2,"\n ")),2&e){var n=t.$implicit;s.ɵɵadvance(1),s.ɵɵproperty("ngForOf",n)}}function T(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function M(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h3",22),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementStart(5,"a",23),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext(2).addFolder()}),s.ɵɵpipe(6,"i18n"),s.ɵɵtext(7,"\n "),s.ɵɵelement(8,"i",24),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"ul",6),s.ɵɵtext(13,"\n "),s.ɵɵtemplate(14,O,3,1,"ng-template",null,25,s.ɵɵtemplateRefExtractor),s.ɵɵtext(16,"\n "),s.ɵɵtemplate(17,T,2,0,"ng-container",26),s.ɵɵtext(18,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(19,"\n "),s.ɵɵelementContainerEnd()}if(2&e){var r=s.ɵɵreference(15),i=s.ɵɵnextContext(2);s.ɵɵadvance(3),s.ɵɵtextInterpolate1("\n ",s.ɵɵpipeBind1(4,4,"folders"),"\n "),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(6,6,"addFolder")),s.ɵɵadvance(12),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(8,k,i.nestedFolders))}}function B(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"i",32),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).collapse(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext().$implicit,i=s.ɵɵnextContext(4);s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(1,2,"toggleCollapse")),s.ɵɵproperty("ngClass",s.ɵɵpureFunction2(4,w,i.isCollapsed(r.node),!i.isCollapsed(r.node)))}}function D(e,t){1&e&&s.ɵɵelement(0,"i",39)}function V(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function j(e,t){if(1&e&&(s.ɵɵelementStart(0,"ul",36),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,V,2,0,"ng-container",26),s.ɵɵtext(3,"\n "),s.ɵɵelementEnd()),2&e){var n=s.ɵɵnextContext().$implicit;s.ɵɵnextContext(2);var r=s.ɵɵreference(9);s.ɵɵadvance(2),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(2,k,n.children))}}function R(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,B,2,7,"i",28),s.ɵɵtext(3,"\n "),s.ɵɵelementStart(4,"a",8),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).selectCollection(e.node)}),s.ɵɵtext(5,"\n "),s.ɵɵtemplate(6,D,1,0,"i",38),s.ɵɵtext(7),s.ɵɵelementEnd(),s.ɵɵtext(8,"\n "),s.ɵɵtemplate(9,j,4,4,"ul",31),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd()}if(2&e){var r=t.$implicit,i=s.ɵɵnextContext(4);s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(5,g,r.node.id===i.selectedCollectionId)),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.children.length),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",0===r.children.length),s.ɵɵadvance(1),s.ɵɵtextInterpolate1("",r.node.name,"\n "),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.children.length&&!i.isCollapsed(r.node))}}function U(e,t){if(1&e&&(s.ɵɵtext(0,"\n "),s.ɵɵtemplate(1,R,11,7,"li",27),s.ɵɵtext(2,"\n ")),2&e){var n=t.$implicit;s.ɵɵadvance(1),s.ɵɵproperty("ngForOf",n)}}function F(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function N(e,t){if(1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h3"),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(5,"\n "),s.ɵɵelementStart(6,"ul",6),s.ɵɵtext(7,"\n "),s.ɵɵtemplate(8,U,3,1,"ng-template",null,37,s.ɵɵtemplateRefExtractor),s.ɵɵtext(10,"\n "),s.ɵɵtemplate(11,F,2,0,"ng-container",26),s.ɵɵtext(12,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(13,"\n "),s.ɵɵelementContainerEnd()),2&e){var n=s.ɵɵreference(9),r=s.ɵɵnextContext(2);s.ɵɵadvance(3),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(4,3,"collections")),s.ɵɵadvance(8),s.ɵɵproperty("ngTemplateOutlet",n)("ngTemplateOutletContext",s.ɵɵpureFunction1(5,k,r.nestedCollections))}}function z(e,t){if(1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,M,20,10,"ng-container",16),s.ɵɵtext(3,"\n "),s.ɵɵtemplate(4,N,14,7,"ng-container",16),s.ɵɵtext(5,"\n "),s.ɵɵelementContainerEnd()),2&e){var n=s.ɵɵnextContext();s.ɵɵadvance(2),s.ɵɵproperty("ngIf",n.showFolders),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",n.showCollections&&n.collections&&n.collections.length)}}var L=function(e){function t(t,n,r,i){var a=e.call(this,t,n,r,i)||this;return a.onSearchTextChanged=new o.EventEmitter,a.searchText="",a.searchPlaceholder=null,a}return i(t,e),t.prototype.searchTextChanged=function(){this.onSearchTextChanged.emit(this.searchText)},t.ɵfac=function(e){return new(e||t)(s.ɵɵdirectiveInject(l.CollectionService),s.ɵɵdirectiveInject(c.FolderService),s.ɵɵdirectiveInject(p.StorageService),s.ɵɵdirectiveInject(u.UserService))},t.ɵcmp=s.ɵɵdefineComponent({type:t,selectors:[["app-vault-groupings"]],outputs:{onSearchTextChanged:"onSearchTextChanged"},features:[s.ɵɵInheritDefinitionFeature],decls:82,vars:47,consts:[[1,"card","vault-filters"],[1,"card-header","d-flex"],["href","https://help.bitwarden.com/article/searching-vault/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"card-body"],["type","search","id","search","autocomplete","off","appAutofocus","",1,"form-control",3,"placeholder","ngModel","ngModelChange","input"],[1,"fa-ul","card-ul"],[3,"ngClass"],["href","#","appStopClick","",3,"click"],[1,"fa-li","fa","fa-fw","fa-th"],[3,"ngClass",4,"ngIf"],[1,"fa-li","fa","fa-fw","fa-globe"],[1,"fa-li","fa","fa-fw","fa-credit-card"],[1,"fa-li","fa","fa-fw","fa-id-card-o"],[1,"fa-li","fa","fa-fw","fa-sticky-note-o"],["class","text-muted",4,"ngIf"],[4,"ngIf"],[1,"fa-li","fa","fa-fw","fa-star"],[1,"fa-li","fa","fa-fw","fa-trash-o"],[1,"text-muted"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"sr-only"],[1,"d-flex"],["href","#","appStopClick","",1,"text-muted","ml-auto",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],["recursiveFolders",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngClass",4,"ngFor","ngForOf"],["class","fa-li fa",3,"title","ngClass","click",4,"ngIf"],["class","fa-li fa fa-folder-o","aria-hidden","true",4,"ngIf"],["href","#","class","text-muted ml-auto show-active","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["class","fa-ul card-ul carets",4,"ngIf"],[1,"fa-li","fa",3,"title","ngClass","click"],["aria-hidden","true",1,"fa-li","fa","fa-folder-o"],["href","#","appStopClick","",1,"text-muted","ml-auto","show-active",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-pencil","fa-fw"],[1,"fa-ul","card-ul","carets"],["recursiveCollections",""],["class","fa-li fa fa-cube","aria-hidden","true",4,"ngIf"],["aria-hidden","true",1,"fa-li","fa","fa-cube"]],template:function(e,t){1&e&&(s.ɵɵelementStart(0,"div",0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"div",1),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementStart(5,"a",2),s.ɵɵpipe(6,"i18n"),s.ɵɵtext(7,"\n "),s.ɵɵelement(8,"i",3),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"div",4),s.ɵɵtext(13,"\n "),s.ɵɵelementStart(14,"input",5),s.ɵɵlistener("ngModelChange",function(e){return t.searchText=e})("input",function(){return t.searchTextChanged()}),s.ɵɵpipe(15,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(16,"\n "),s.ɵɵelementStart(17,"ul",6),s.ɵɵtext(18,"\n "),s.ɵɵelementStart(19,"li",7),s.ɵɵtext(20,"\n "),s.ɵɵelementStart(21,"a",8),s.ɵɵlistener("click",function(){return t.selectAll()}),s.ɵɵtext(22,"\n "),s.ɵɵelement(23,"i",9),s.ɵɵtext(24),s.ɵɵpipe(25,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(26,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(27,"\n "),s.ɵɵtemplate(28,x,8,6,"li",10),s.ɵɵtext(29,"\n "),s.ɵɵtemplate(30,b,8,6,"li",10),s.ɵɵtext(31,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(32,"\n "),s.ɵɵelementStart(33,"h3"),s.ɵɵtext(34),s.ɵɵpipe(35,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(36,"\n "),s.ɵɵelementStart(37,"ul",6),s.ɵɵtext(38,"\n "),s.ɵɵelementStart(39,"li",7),s.ɵɵtext(40,"\n "),s.ɵɵelementStart(41,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Login)}),s.ɵɵtext(42,"\n "),s.ɵɵelement(43,"i",11),s.ɵɵtext(44),s.ɵɵpipe(45,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(46,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(47,"\n "),s.ɵɵelementStart(48,"li",7),s.ɵɵtext(49,"\n "),s.ɵɵelementStart(50,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Card)}),s.ɵɵtext(51,"\n "),s.ɵɵelement(52,"i",12),s.ɵɵtext(53),s.ɵɵpipe(54,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(55,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(56,"\n "),s.ɵɵelementStart(57,"li",7),s.ɵɵtext(58,"\n "),s.ɵɵelementStart(59,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Identity)}),s.ɵɵtext(60,"\n "),s.ɵɵelement(61,"i",13),s.ɵɵtext(62),s.ɵɵpipe(63,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(64,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(65,"\n "),s.ɵɵelementStart(66,"li",7),s.ɵɵtext(67,"\n "),s.ɵɵelementStart(68,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.SecureNote)}),s.ɵɵtext(69,"\n "),s.ɵɵelement(70,"i",14),s.ɵɵtext(71),s.ɵɵpipe(72,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(73,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(74,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(75,"\n "),s.ɵɵtemplate(76,S,9,6,"p",15),s.ɵɵtext(77,"\n "),s.ɵɵtemplate(78,z,6,2,"ng-container",16),s.ɵɵtext(79,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(80,"\n"),s.ɵɵelementEnd(),s.ɵɵtext(81,"\n")),2&e&&(s.ɵɵadvance(3),s.ɵɵtextInterpolate1("\n ",s.ɵɵpipeBind1(4,19,"filters"),"\n "),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(6,21,"learnMore")),s.ɵɵadvance(9),s.ɵɵpropertyInterpolate("placeholder",t.searchPlaceholder||s.ɵɵpipeBind1(15,23,"searchVault")),s.ɵɵproperty("ngModel",t.searchText),s.ɵɵadvance(5),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(37,g,t.selectedAll)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(25,25,"allItems"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",t.showFavorites),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showTrash),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(35,27,"types")),s.ɵɵadvance(5),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(39,g,t.selectedType===t.cipherType.Login)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(45,29,"typeLogin"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(41,g,t.selectedType===t.cipherType.Card)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(54,31,"typeCard"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(43,g,t.selectedType===t.cipherType.Identity)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(63,33,"typeIdentity"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(45,g,t.selectedType===t.cipherType.SecureNote)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(72,35,"typeSecureNote"),"\n "),s.ɵɵadvance(5),s.ɵɵproperty("ngIf",!t.loaded),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.loaded))},directives:[d.A11yTitleDirective,m.DefaultValueAccessor,h.AutofocusDirective,m.NgControlStatus,m.NgModel,f.NgClass,v.StopClickDirective,f.NgIf,f.NgTemplateOutlet,f.NgForOf],pipes:[y.I18nPipe],encapsulation:2}),t}(a.GroupingsComponent);t.GroupingsComponent=L},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(248),i=n(276),o=function(){function e(e){null!=e&&(this.id=e.id,this.name=e.name,this.status=e.status,this.type=e.type,this.enabled=e.enabled,this.usePolicies=e.usePolicies,this.useGroups=e.useGroups,this.useDirectory=e.useDirectory,this.useEvents=e.useEvents,this.useTotp=e.useTotp,this.use2fa=e.use2fa,this.useApi=e.useApi,this.useBusinessPortal=e.useBusinessPortal,this.useSso=e.useSso,this.selfHost=e.selfHost,this.usersGetPremium=e.usersGetPremium,this.seats=e.seats,this.maxCollections=e.maxCollections,this.maxStorageGb=e.maxStorageGb,this.ssoBound=e.ssoBound,this.identifier=e.identifier,this.permissions=e.permissions)}return Object.defineProperty(e.prototype,"canAccess",{get:function(){return this.type===i.OrganizationUserType.Owner||this.enabled&&this.status===r.OrganizationUserStatusType.Confirmed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isManager",{get:function(){return this.type===i.OrganizationUserType.Manager||this.type===i.OrganizationUserType.Owner||this.type===i.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAdmin",{get:function(){return this.type===i.OrganizationUserType.Owner||this.type===i.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOwner",{get:function(){return this.type===i.OrganizationUserType.Owner},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessBusinessPortal",{get:function(){return this.isAdmin||this.permissions.accessBusinessPortal},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessEventLogs",{get:function(){return this.isAdmin||this.permissions.accessEventLogs},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessImportExport",{get:function(){return this.isAdmin||this.permissions.accessImportExport},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessReports",{get:function(){return this.isAdmin||this.permissions.accessReports},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageAllCollections",{get:function(){return this.isAdmin||this.permissions.manageAllCollections},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageAssignedCollections",{get:function(){return this.isManager||this.permissions.manageAssignedCollections},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageGroups",{get:function(){return this.isAdmin||this.permissions.manageGroups},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageSso",{get:function(){return this.isAdmin||this.permissions.manageSso},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManagePolicies",{get:function(){return this.isAdmin||this.permissions.managePolicies},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageUsers",{get:function(){return this.isAdmin||this.permissions.manageUsers},enumerable:!0,configurable:!0}),e}();t.Organization=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.id=null,this.url=null,this.size=null,this.sizeName=null,this.fileName=null,e&&(this.id=e.id,this.url=e.url,this.size=e.size,this.sizeName=e.sizeName)}return Object.defineProperty(e.prototype,"fileSize",{get:function(){try{if(null!=this.size)return parseInt(this.size,null)}catch(e){}return 0},enumerable:!0,configurable:!0}),e}();t.SendFileView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.text=null,e&&(this.hidden=e.hidden)}return Object.defineProperty(e.prototype,"maskedText",{get:function(){return null!=this.text?"••••••••":null},enumerable:!0,configurable:!0}),e}();t.SendTextView=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),n,{timeout:5e3*n.length}),n},e.ɵfac=function(t){return new(t||e)(r.ɵɵinject(i.I18nService),r.ɵɵinject(o.PlatformUtilsService))},e.ɵprov=r.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.ValidationService=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.AesCbc256_B64=0]="AesCbc256_B64",e[e.AesCbc128_HmacSha256_B64=1]="AesCbc128_HmacSha256_B64",e[e.AesCbc256_HmacSha256_B64=2]="AesCbc256_HmacSha256_B64",e[e.Rsa2048_OaepSha256_B64=3]="Rsa2048_OaepSha256_B64",e[e.Rsa2048_OaepSha1_B64=4]="Rsa2048_OaepSha1_B64",e[e.Rsa2048_OaepSha256_HmacSha256_B64=5]="Rsa2048_OaepSha256_HmacSha256_B64",e[e.Rsa2048_OaepSha1_HmacSha256_B64=6]="Rsa2048_OaepSha1_HmacSha256_B64"}(t.EncryptionType||(t.EncryptionType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.publicKey=e,this.encryptedPrivateKey=t}}();t.KeysRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.concat(this.email.substr(0,t).trim().toLowerCase().split(/[^A-Za-z0-9]/))),e},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.I18nService),o.ɵɵdirectiveInject(s.CryptoService),o.ɵɵdirectiveInject(l.MessagingService),o.ɵɵdirectiveInject(c.UserService),o.ɵɵdirectiveInject(p.PasswordGenerationService),o.ɵɵdirectiveInject(u.PlatformUtilsService),o.ɵɵdirectiveInject(d.PolicyService))},e.ɵdir=o.ɵɵdefineDirective({type:e}),e}();t.ChangePasswordComponent=m},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&t.forEach(function(t){var n=e.data.filter(function(e){return e.id===t});null!=n&&n.length>0&&(n[0].checked=!0)}),[3,5];case 3:return"collection"!==this.entity?[3,5]:[4,this.apiService.getCollectionUsers(this.organizationId,this.entityId)];case 4:null!=(t=r.sent())&&e.data.length>0&&t.forEach(function(t){var n=e.data.filter(function(e){return!e.accessAll&&e.id===t.id});null!=n&&n.length>0&&(n[0].checked=!0,n[0].readOnly=t.readOnly,n[0].hidePasswords=t.hidePasswords)}),r.label=5;case 5:return this.allUsers.forEach(function(e){"collection"===n.entity&&e.accessAll&&(e.checked=!0),e.checked&&n.selectedCount++}),[2]}})})},e.prototype.check=function(e){"collection"===this.entity&&e.accessAll||(e.checked=!e.checked,this.selectedChanged(e))},e.prototype.selectedChanged=function(e){e.checked?this.selectedCount++:("collection"===this.entity&&(e.readOnly=!1,e.hidePasswords=!1),this.selectedCount--)},e.prototype.filterSelected=function(e){this.showSelected=e},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),"group"===this.entity?(e=this.users.filter(function(e){return e.checked}).map(function(e){return e.id}),this.formPromise=this.apiService.putGroupUsers(this.organizationId,this.entityId,e)):(e=this.users.filter(function(e){return e.checked&&!e.accessAll}).map(function(e){return new l.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)}),this.formPromise=this.apiService.putCollectionUsers(this.organizationId,this.entityId,e)),[4,this.formPromise];case 1:return t.sent(),this.analytics.eventTrack.next({action:"group"===this.entity?"Edited Group Users":"Edited Collection Users"}),this.toasterService.popAsync("success",null,this.i18nService.t("updatedUsers")),this.onEditedUsers.emit(),[3,3];case 2:return t.sent(),[3,3];case 3:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-entity-users"]],inputs:{entity:"entity",entityId:"entityId",entityName:"entityName",organizationId:"organizationId"},outputs:{onEditedUsers:"onEditedUsers"},decls:49,vars:29,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAccessTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAccessTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"d-flex"],[1,"mr-3"],["for","search",1,"sr-only"],["type","search","id","search","name","SearchText",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["role","group",1,"btn-group","btn-group-sm"],["type","button",1,"btn","btn-outline-secondary",3,"ngClass","click"],["class","badge badge-pill badge-info",4,"ngIf"],[4,"ngIf"],[1,"badge","badge-pill","badge-info"],[1,"table","table-hover","table-list","mb-0"],["width","100","class","text-center",4,"ngIf"],[4,"ngFor","ngForOf"],["width","100",1,"text-center"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","disabled","ngModelChange","change"],["width","30",3,"click"],["size","25",3,"data","email","circle","fontSize"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],["class","text-center",4,"ngIf"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"text-muted","d-block"],["aria-hidden","true",1,"fa","fa-th",3,"title"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵpipe(11,"i18n"),p.ɵɵelementStart(12,"small"),p.ɵɵtext(13),p.ɵɵelementEnd(),p.ɵɵtext(14,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(15,"\n "),p.ɵɵelementStart(16,"button",6),p.ɵɵpipe(17,"i18n"),p.ɵɵtext(18,"\n "),p.ɵɵelementStart(19,"span",7),p.ɵɵtext(20,"×"),p.ɵɵelementEnd(),p.ɵɵtext(21,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(22,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(23,"\n "),p.ɵɵtemplate(24,C,9,6,"div",8),p.ɵɵtext(25,"\n "),p.ɵɵtemplate(26,K,32,22,"div",8),p.ɵɵpipe(27,"search"),p.ɵɵtext(28,"\n "),p.ɵɵelementStart(29,"div",9),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"button",10),p.ɵɵtext(32,"\n "),p.ɵɵelement(33,"i",11),p.ɵɵpipe(34,"i18n"),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"span"),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(40,"\n "),p.ɵɵelementStart(41,"button",12),p.ɵɵtext(42),p.ɵɵpipe(43,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(11,10,"userAccess"),"\n "),p.ɵɵadvance(3),p.ɵɵtextInterpolate(t.entityName),p.ɵɵadvance(3),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(17,12,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading||!t.users),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading&&t.users&&p.ɵɵpipeBindV(27,14,p.ɵɵpureFunction2(26,q,t.users,t.searchText))),p.ɵɵadvance(5),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(34,20,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,22,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(43,24,"close"))}},directives:[f.NgControlStatusGroup,f.NgForm,v.ApiActionDirective,y.A11yTitleDirective,g.NgIf,f.DefaultValueAccessor,f.NgControlStatus,f.NgModel,g.NgClass,g.NgForOf,f.CheckboxControlValueAccessor,x.StopPropDirective,b.AvatarComponent],pipes:[S.I18nPipe,w.SearchPipe],encapsulation:2}),e}();t.EntityUsersComponent=H},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.ApiService),o.ɵɵdirectiveInject(s.I18nService),o.ɵɵdirectiveInject(l.EventService),o.ɵɵdirectiveInject(c.ToasterService))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-entity-events"]],inputs:{name:"name",entity:"entity",entityId:"entityId",organizationId:"organizationId",showUser:"showUser"},decls:36,vars:12,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","eventLogsTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],["id","eventLogsTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"d-flex"],[1,"form-inline"],["for","start",1,"sr-only"],["type","datetime-local","id","start","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],[1,"mx-2"],["for","end",1,"sr-only"],["type","datetime-local","id","end","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"appApiAction","disabled","click"],["refreshBtn",""],["aria-hidden","true",1,"fa","fa-refresh","fa-fw",3,"ngClass"],[4,"ngIf"],["class","table table-hover mb-0",4,"ngIf"],["type","button","class","btn btn-block btn-link btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],[1,"table","table-hover","mb-0"],["width","210",1,"border-top-0"],["width","40",1,"border-top-0"],["class","border-top-0","width","150",4,"ngIf"],[1,"border-top-0"],[4,"ngFor","ngForOf"],["width","150",1,"border-top-0"],["aria-hidden","true",3,"title"],[3,"innerHTML"],[3,"appA11yTitle"],["type","button",1,"btn","btn-block","btn-link","btn-submit",3,"appApiAction","disabled","click"],["moreBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"]],template:function(e,t){1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",1),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"div",2),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"div",3),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"h2",4),o.ɵɵtext(9),o.ɵɵpipe(10,"i18n"),o.ɵɵtemplate(11,f,2,1,"small",5),o.ɵɵtext(12,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementStart(14,"button",6),o.ɵɵpipe(15,"i18n"),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"span",7),o.ɵɵtext(18,"×"),o.ɵɵelementEnd(),o.ɵɵtext(19,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(20,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(21,"\n "),o.ɵɵtemplate(22,v,9,6,"div",8),o.ɵɵtext(23,"\n "),o.ɵɵtemplate(24,I,40,25,"div",8),o.ɵɵtext(25,"\n "),o.ɵɵelementStart(26,"div",9),o.ɵɵtext(27,"\n "),o.ɵɵelementStart(28,"button",10),o.ɵɵtext(29),o.ɵɵpipe(30,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(31,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(32,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(33,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(34,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(35,"\n")),2&e&&(o.ɵɵadvance(9),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(10,6,"eventLogs"),"\n "),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.name),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(15,8,"close")),o.ɵɵadvance(8),o.ɵɵproperty("ngIf",!t.loaded),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.loaded),o.ɵɵadvance(5),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(30,10,"close")))},directives:[p.NgIf,u.A11yTitleDirective,d.DefaultValueAccessor,d.NgControlStatus,d.NgModel,m.ApiActionDirective,p.NgClass,p.NgForOf],pipes:[h.I18nPipe,p.DatePipe],encapsulation:2}),e}();t.EntityEventsComponent=E},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.accessBusinessPortal=n.getResponseProperty("AccessBusinessPortal"),n.accessEventLogs=n.getResponseProperty("AccessEventLogs"),n.accessImportExport=n.getResponseProperty("AccessImportExport"),n.accessReports=n.getResponseProperty("AccessReports"),n.manageAllCollections=n.getResponseProperty("ManageAllCollections"),n.manageAssignedCollections=n.getResponseProperty("ManageAssignedCollections"),n.manageCiphers=n.getResponseProperty("ManageCiphers"),n.manageGroups=n.getResponseProperty("ManageGroups"),n.manageSso=n.getResponseProperty("ManageSso"),n.managePolicies=n.getResponseProperty("ManagePolicies"),n.manageUsers=n.getResponseProperty("ManageUsers"),n)}return i(t,e),t}(n(25).BaseResponse);t.PermissionsApi=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)return void(this.creditAmount=parseFloat((Math.round(100*e)/100).toString()).toFixed(2).toString())}}catch(t){}this.creditAmount=""},Object.defineProperty(e.prototype,"creditAmountNumber",{get:function(){if(null!=this.creditAmount&&""!==this.creditAmount)try{return parseFloat(this.creditAmount)}catch(e){}return null},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.UserService),c.ɵɵdirectiveInject(u.ApiService),c.ɵɵdirectiveInject(d.Angulartics2),c.ɵɵdirectiveInject(m.ToasterService),c.ɵɵdirectiveInject(h.PlatformUtilsService))},e.ɵcmp=c.ɵɵdefineComponent({type:e,selectors:[["app-add-credit"]],viewQuery:function(e,t){var n;(1&e&&c.ɵɵstaticViewQuery(b,!0,o.ElementRef),2&e)&&(c.ɵɵqueryRefresh(n=c.ɵɵloadQuery())&&(t.ppButtonFormRef=n.first))},inputs:{creditAmount:"creditAmount",showOptions:"showOptions",method:"method",organizationId:"organizationId"},outputs:{onAdded:"onAdded",onCanceled:"onCanceled"},decls:92,vars:32,consts:[["ngNativeValidate","",1,"card",3,"appApiAction","ngSubmit"],["form",""],[1,"card-body"],["type","button",1,"close",3,"appA11yTitle","click"],["aria-hidden","true"],[1,"card-body-header"],["class","mb-4 text-lg",4,"ngIf"],[1,"form-group"],[1,"row"],[1,"col-4"],["for","creditAmount"],[1,"input-group"],[1,"input-group-prepend"],[1,"input-group-text"],["id","creditAmount","type","text","name","CreditAmount","required","",1,"form-control",3,"ngModel","ngModelChange","blur"],[1,"form-text","text-muted"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["method","post","target","_top",3,"action"],["ppButtonForm",""],["type","hidden","name","cmd","value","_xclick"],["type","hidden","name","business",3,"value"],["type","hidden","name","button_subtype","value","services"],["type","hidden","name","no_note","value","1"],["type","hidden","name","no_shipping","value","1"],["type","hidden","name","rm","value","1"],["type","hidden","name","return",3,"value"],["type","hidden","name","cancel_return",3,"value"],["type","hidden","name","currency_code","value","USD"],["type","hidden","name","image_url","value","https://bitwarden.com/images/paypal-banner.png"],["type","hidden","name","bn","value","PP-BuyNowBF:btn_buynow_LG.gif:NonHosted"],["type","hidden","name","amount",3,"value"],["type","hidden","name","custom",3,"value"],["type","hidden","name","item_name","value","Bitwarden Account Credit"],["type","hidden","name","item_number",3,"value"],[1,"mb-4","text-lg"],[1,"form-check","form-check-inline"],["type","radio","name","Method","id","credit-method-paypal",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","credit-method-paypal",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-paypal"],["type","radio","name","Method","id","credit-method-bitcoin",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","credit-method-bitcoin",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-bitcoin"]],template:function(e,t){if(1&e&&(c.ɵɵelementStart(0,"form",0,1),c.ɵɵlistener("ngSubmit",function(){return t.submit()}),c.ɵɵtext(2,"\n "),c.ɵɵelementStart(3,"div",2),c.ɵɵtext(4,"\n "),c.ɵɵelementStart(5,"button",3),c.ɵɵlistener("click",function(){return t.cancel()}),c.ɵɵpipe(6,"i18n"),c.ɵɵelementStart(7,"span",4),c.ɵɵtext(8,"×"),c.ɵɵelementEnd(),c.ɵɵelementEnd(),c.ɵɵtext(9,"\n "),c.ɵɵelementStart(10,"h3",5),c.ɵɵtext(11),c.ɵɵpipe(12,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(13,"\n "),c.ɵɵtemplate(14,S,22,4,"div",6),c.ɵɵtext(15,"\n "),c.ɵɵelementStart(16,"div",7),c.ɵɵtext(17,"\n "),c.ɵɵelementStart(18,"div",8),c.ɵɵtext(19,"\n "),c.ɵɵelementStart(20,"div",9),c.ɵɵtext(21,"\n "),c.ɵɵelementStart(22,"label",10),c.ɵɵtext(23),c.ɵɵpipe(24,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(25,"\n "),c.ɵɵelementStart(26,"div",11),c.ɵɵtext(27,"\n "),c.ɵɵelementStart(28,"div",12),c.ɵɵelementStart(29,"span",13),c.ɵɵtext(30,"$USD"),c.ɵɵelementEnd(),c.ɵɵelementEnd(),c.ɵɵtext(31,"\n "),c.ɵɵelementStart(32,"input",14),c.ɵɵlistener("ngModelChange",function(e){return t.creditAmount=e})("blur",function(){return t.formatAmount()}),c.ɵɵelementEnd(),c.ɵɵtext(33,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(34,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(35,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(36,"\n "),c.ɵɵelementStart(37,"small",15),c.ɵɵtext(38),c.ɵɵpipe(39,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(40,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(41,"\n "),c.ɵɵelementStart(42,"button",16),c.ɵɵtext(43,"\n "),c.ɵɵelement(44,"i",17),c.ɵɵpipe(45,"i18n"),c.ɵɵtext(46,"\n "),c.ɵɵelementStart(47,"span"),c.ɵɵtext(48),c.ɵɵpipe(49,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(50,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(51,"\n "),c.ɵɵelementStart(52,"button",18),c.ɵɵlistener("click",function(){return t.cancel()}),c.ɵɵtext(53),c.ɵɵpipe(54,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(55,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(56,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(57,"\n"),c.ɵɵelementStart(58,"form",19,20),c.ɵɵtext(60,"\n "),c.ɵɵelement(61,"input",21),c.ɵɵtext(62,"\n "),c.ɵɵelement(63,"input",22),c.ɵɵtext(64,"\n "),c.ɵɵelement(65,"input",23),c.ɵɵtext(66,"\n "),c.ɵɵelement(67,"input",24),c.ɵɵtext(68,"\n "),c.ɵɵelement(69,"input",25),c.ɵɵtext(70,"\n "),c.ɵɵelement(71,"input",26),c.ɵɵtext(72,"\n "),c.ɵɵelement(73,"input",27),c.ɵɵtext(74,"\n "),c.ɵɵelement(75,"input",28),c.ɵɵtext(76,"\n "),c.ɵɵelement(77,"input",29),c.ɵɵtext(78,"\n "),c.ɵɵelement(79,"input",30),c.ɵɵtext(80,"\n "),c.ɵɵelement(81,"input",31),c.ɵɵtext(82,"\n "),c.ɵɵelement(83,"input",32),c.ɵɵtext(84,"\n "),c.ɵɵelement(85,"input",33),c.ɵɵtext(86,"\n "),c.ɵɵelement(87,"input",34),c.ɵɵtext(88,"\n "),c.ɵɵelement(89,"input",35),c.ɵɵtext(90,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(91,"\n")),2&e){var n=c.ɵɵreference(1);c.ɵɵproperty("appApiAction",t.formPromise),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("appA11yTitle",c.ɵɵpipeBind1(6,18,"cancel")),c.ɵɵadvance(6),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(12,20,"addCredit")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",t.showOptions),c.ɵɵadvance(9),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(24,22,"amount")),c.ɵɵadvance(9),c.ɵɵproperty("ngModel",t.creditAmount),c.ɵɵadvance(6),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(39,24,"creditDelayed")),c.ɵɵadvance(4),c.ɵɵproperty("disabled",n.loading||t.ppLoading),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("title",c.ɵɵpipeBind1(45,26,"loading")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(49,28,"submit")),c.ɵɵadvance(5),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(54,30,"cancel"),"\n "),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("action",t.ppButtonFormAction,c.ɵɵsanitizeUrl),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("value",t.ppButtonBusinessId),c.ɵɵadvance(10),c.ɵɵpropertyInterpolate("value",t.returnUrl),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("value",t.returnUrl),c.ɵɵadvance(8),c.ɵɵpropertyInterpolate("value",t.creditAmount),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("value",t.ppButtonCustomField),c.ɵɵadvance(4),c.ɵɵpropertyInterpolate("value",t.subject)}},directives:[f.NgControlStatusGroup,f.NgForm,v.ApiActionDirective,y.A11yTitleDirective,g.NgIf,f.DefaultValueAccessor,f.RequiredValidator,f.NgControlStatus,f.NgModel,f.ɵangular_packages_forms_forms_y,f.RadioControlValueAccessor],pipes:[x.I18nPipe],encapsulation:2}),e}();t.AddCreditComponent=w},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t.push(e),r.exposedPasswordMap.set(e.id,n))});n.push(i)}}),[4,Promise.all(n)];case 2:return i.sent(),this.ciphers=t,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(u.AuditService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(d.MessagingService),c.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-exposed-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:26,vars:14,consts:[[1,"page-header"],["type","button",1,"btn","btn-primary","btn-submit",3,"disabled","click"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],[4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],[1,"badge","badge-warning"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],[1,"sr-only"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(5,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(6,"\n"),c.ɵɵelementStart(7,"p"),c.ɵɵtext(8),c.ɵɵpipe(9,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(10,"\n"),c.ɵɵelementStart(11,"button",1),c.ɵɵlistener("click",function(){return t.load()}),c.ɵɵtext(12,"\n "),c.ɵɵelement(13,"i",2),c.ɵɵpipe(14,"i18n"),c.ɵɵtext(15,"\n "),c.ɵɵelementStart(16,"span"),c.ɵɵtext(17),c.ɵɵpipe(18,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(19,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(20,"\n"),c.ɵɵtemplate(21,k,6,2,"div",3),c.ɵɵtext(22,"\n"),c.ɵɵtemplate(23,_,0,0,"ng-template",null,4,c.ɵɵtemplateRefExtractor),c.ɵɵtext(25,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(4,6,"exposedPasswordsReport")),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(9,8,"exposedPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("disabled",t.loading),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("title",c.ɵɵpipeBind1(14,10,"loading")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(18,12,"checkExposedPasswords")),c.ɵɵadvance(4),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.ExposedPasswordsReportComponent=A},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1||!this.allowPersonal)&&(null!=this.organization?this.cloneMode&&this.organization.canManageAllCollections:!this.editMode||this.cloneMode)},t.prototype.loadCollections=function(){return this.organization.canManageAllCollections?Promise.resolve(this.collections):e.prototype.loadCollections.call(this)},t.prototype.loadCipher=function(){return o(this,void 0,void 0,function(){var t,n;return a(this,function(r){switch(r.label){case 0:return this.organization.canManageAllCollections?[3,2]:[4,e.prototype.loadCipher.call(this)];case 1:return[2,r.sent()];case 2:return[4,this.apiService.getCipherAdmin(this.cipherId)];case 3:return t=r.sent(),n=new s.CipherData(t),this.originalCipher=new l.Cipher(n),[2,new l.Cipher(n)]}})})},t.prototype.encryptCipher=function(){return this.organization.canManageAllCollections?this.cipherService.encrypt(this.cipher,null,this.originalCipher):e.prototype.encryptCipher.call(this)},t.prototype.saveCipher=function(t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){return this.organization.canManageAllCollections&&null!=t.organizationId?this.editMode&&!this.cloneMode?(n=new p.CipherRequest(t),[2,this.apiService.putCipherAdmin(this.cipherId,n)]):(n=new c.CipherCreateRequest(t),[2,this.apiService.postCipherAdmin(n)]):[2,e.prototype.saveCipher.call(this,t)]})})},t.prototype.deleteCipher=function(){return o(this,void 0,void 0,function(){return a(this,function(t){return this.organization.canManageAllCollections?[2,this.cipher.isDeleted?this.apiService.deleteCipherAdmin(this.cipherId):this.apiService.putDeleteCipherAdmin(this.cipherId)]:[2,e.prototype.deleteCipher.call(this)]})})},t.ɵfac=function(e){return new(e||t)(d.ɵɵdirectiveInject(m.CipherService),d.ɵɵdirectiveInject(h.FolderService),d.ɵɵdirectiveInject(f.I18nService),d.ɵɵdirectiveInject(v.PlatformUtilsService),d.ɵɵdirectiveInject(y.AuditService),d.ɵɵdirectiveInject(g.StateService),d.ɵɵdirectiveInject(x.UserService),d.ɵɵdirectiveInject(b.CollectionService),d.ɵɵdirectiveInject(S.TotpService),d.ɵɵdirectiveInject(w.PasswordGenerationService),d.ɵɵdirectiveInject(C.ApiService),d.ɵɵdirectiveInject(I.MessagingService),d.ɵɵdirectiveInject(E.EventService),d.ɵɵdirectiveInject(P.PolicyService))},t.ɵcmp=d.ɵɵdefineComponent({type:t,selectors:[["app-org-vault-add-edit"]],features:[d.ɵɵInheritDefinitionFeature],decls:36,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","cipherAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","cipherAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit","class","btn btn-primary btn-submit",3,"disabled",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["type","info",4,"ngIf"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","col-6 form-group",4,"ngIf"],[4,"ngIf"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"mt-4"],["cdkDropList","",3,"cdkDropListDropped",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-2",3,"click",4,"ngIf"],["type","info"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","folder"],["id","folder","name","FolderId",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","loginUsername"],[1,"input-group"],["id","loginUsername","type","text","name","Login.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","input-group-append",4,"ngIf"],[1,"d-flex"],["for","loginPassword"],["class","ml-auto d-flex",4,"ngIf"],["id","loginPassword","name","Login.Password","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"input-group-append"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","disabled","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],["aria-hidden","true",1,"fa","fa-lg","fa-clone"],["for","loginTotp"],["id","loginTotp","name","Login.Totp","appInputVerbatim","",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-6","form-group","totp","d-flex","align-items-end",3,"ngClass"],["class","d-flex align-items-center",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-3",3,"click",4,"ngIf"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","click"],[1,"ml-auto","d-flex"],["href","#","class","d-block mr-2","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["href","#","appStopClick","",1,"d-block",3,"appA11yTitle","appApiAction","click"],["checkPasswordBtn",""],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-check-circle",3,"hidden"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-spinner","fa-spin",3,"hidden","title"],["href","#","appStopClick","",1,"d-block","mr-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-refresh"],["src","images/totp-countdown.png",1,"ml-2",3,"title"],["href","#","appStopClick","","class","badge badge-primary ml-3",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"badge","badge-primary","ml-3",3,"click"],[1,"d-flex","align-items-center"],[1,"totp-countdown","mr-3","ml-2"],[1,"totp-sec"],["r","12.6","cy","16","cx","16",1,"totp-circle","inner",3,"ngStyle"],["r","14","cy","16","cx","16",1,"totp-circle","outer"],[1,"totp-code","mr-2",3,"title"],["type","button",1,"btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-clone"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-7","form-group"],[3,"for"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","placeholder","ngModelChange"],["aria-hidden","true",1,"fa","fa-lg","fa-share"],[1,"col-5","form-group"],["href","https://help.bitwarden.com/article/uri-match-detection/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-control","overflow-hidden",3,"id","name","ngModel","disabled","ngModelChange","change"],["type","button","class","btn btn-link text-danger ml-2",3,"appA11yTitle","click",4,"ngIf"],["type","button",1,"btn","btn-link","text-danger","ml-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-minus-circle","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-fw"],["for","cardCardholderName"],["id","cardCardholderName","type","text","name","Card.CardCardholderName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardBrand"],["id","cardBrand","name","Card.Brand",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardNumber"],["id","cardNumber","type","text","name","Card.Number","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"col","form-group"],["for","cardExpMonth"],["id","cardExpMonth","name","Card.ExpMonth",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardExpYear"],["id","cardExpYear","type","text","name","Card.ExpYear",1,"form-control",3,"ngModel","placeholder","disabled","ngModelChange"],["for","cardCode"],["id","cardCode","name","Card.Code","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-4","form-group"],["for","idTitle"],["id","idTitle","name","Identity.Title",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idFirstName"],["id","idFirstName","type","text","name","Identity.FirstName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idMiddleName"],["id","idMiddleName","type","text","name","Identity.MiddleName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLastName"],["id","idLastName","type","text","name","Identity.LastName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idUsername"],["id","idUsername","type","text","name","Identity.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCompany"],["id","idCompany","type","text","name","Identity.Company",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idSsn"],["id","idSsn","type","text","name","Identity.SSN","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPassportNumber"],["id","idPassportNumber","type","text","name","Identity.PassportNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLicenseNumber"],["id","idLicenseNumber","type","text","name","Identity.LicenseNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idEmail"],["id","idEmail","type","text","name","Identity.Email","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPhone"],["id","idPhone","type","text","name","Identity.Phone",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress1"],["id","idAddress1","type","text","name","Identity.Address1",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress2"],["id","idAddress2","type","text","name","Identity.Address2",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress3"],["id","idAddress3","type","text","name","Identity.Address3",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCity"],["id","idCity","type","text","name","Identity.City",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idState"],["id","idState","type","text","name","Identity.State",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPostalCode"],["id","idPostalCode","type","text","name","Identity.PostalCode",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCountry"],["id","idCountry","type","text","name","Identity.Country",1,"form-control",3,"ngModel","disabled","ngModelChange"],["cdkDropList","",3,"cdkDropListDropped"],["class","row","cdkDrag","",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"row"],["href","https://help.bitwarden.com/article/custom-fields/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","ngModelChange"],["class","input-group",4,"ngIf"],[1,"flex-fill"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange",4,"ngIf"],["type","button","class","btn btn-link text-muted cursor-move",3,"appA11yTitle",4,"ngIf"],["appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"id","type","name","ngModel","disabled","ngModelChange"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-link","text-muted","cursor-move",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-bars","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-2",3,"click"],[1,"col-5"],["for","addFieldType",1,"sr-only"],["id","addFieldType","name","AddFieldType",1,"form-control",3,"ngModel","ngModelChange"],["for","organizationId"],["id","organizationId","name","OrganizationId",1,"form-control",3,"ngModel","disabled","ngModelChange","change"],["class","form-check",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"ngModel","id","name","disabled","ngModelChange"],[1,"form-check-label",3,"for"],[1,"small","text-muted","mt-4"],[1,"font-weight-semibold"],["class","ml-3",4,"ngIf"],["href","#","appStopClick","",3,"title","click"],[1,"ml-3"],[4,"ngFor","ngForOf"],[1,"password-wrapper","text-monospace","ml-2"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"ml-auto"],["type","button","class","btn btn-link",3,"appA11yTitle","click",4,"ngIf"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"form",2,3),d.ɵɵlistener("ngSubmit",function(){return t.submit()}),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"div",4),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"h2",5),d.ɵɵtext(10),d.ɵɵelementEnd(),d.ɵɵtext(11,"\n "),d.ɵɵelementStart(12,"button",6),d.ɵɵpipe(13,"i18n"),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"span",7),d.ɵɵtext(16,"×"),d.ɵɵelementEnd(),d.ɵɵtext(17,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵtemplate(20,Te,54,25,"div",8),d.ɵɵtext(21,"\n "),d.ɵɵelementStart(22,"div",9),d.ɵɵtext(23,"\n "),d.ɵɵtemplate(24,Me,9,7,"button",10),d.ɵɵtext(25,"\n "),d.ɵɵelementStart(26,"button",11),d.ɵɵtext(27),d.ɵɵpipe(28,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(29,"\n "),d.ɵɵtemplate(30,je,6,2,"div",12),d.ɵɵtext(31,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(32,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(34,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(35,"\n")),2&e&&(d.ɵɵadvance(4),d.ɵɵproperty("appApiAction",t.formPromise),d.ɵɵadvance(6),d.ɵɵtextInterpolate(t.title),d.ɵɵadvance(2),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(13,7,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",t.cipher),d.ɵɵadvance(4),d.ɵɵproperty("ngIf",!t.viewOnly),d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(28,9,t.viewOnly?"close":"cancel"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",t.cipher&&!t.viewOnly))},directives:[k.NgControlStatusGroup,k.NgForm,_.ApiActionDirective,A.A11yTitleDirective,O.NgIf,k.DefaultValueAccessor,k.RequiredValidator,k.NgControlStatus,k.NgModel,T.CalloutComponent,k.SelectControlValueAccessor,M.AutofocusDirective,O.NgForOf,k.NgSelectOption,k.ɵangular_packages_forms_forms_x,B.InputVerbatimDirective,O.NgClass,D.StopClickDirective,O.NgStyle,V.CdkDropList,V.CdkDrag,j.TrueFalseValueDirective,k.CheckboxControlValueAccessor],pipes:[R.I18nPipe,O.DatePipe],encapsulation:2}),t}(u.AddEditComponent);t.AddEditComponent=Re},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.id=e.id,this.url=e.url,this.fileName=e.fileName,this.key=e.key,this.size=e.size,this.sizeName=e.sizeName)}}();t.AttachmentData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.cardholderName=e.cardholderName,this.brand=e.brand,this.number=e.number,this.expMonth=e.expMonth,this.expYear=e.expYear,this.code=e.code)}}();t.CardData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.type=e.type,this.name=e.name,this.value=e.value)}}();t.FieldData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.title=e.title,this.firstName=e.firstName,this.middleName=e.middleName,this.lastName=e.lastName,this.address1=e.address1,this.address2=e.address2,this.address3=e.address3,this.city=e.city,this.state=e.state,this.postalCode=e.postalCode,this.country=e.country,this.company=e.company,this.email=e.email,this.phone=e.phone,this.ssn=e.ssn,this.username=e.username,this.passportNumber=e.passportNumber,this.licenseNumber=e.licenseNumber)}}();t.IdentityData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(484),i=function(){return function(e){null!=e&&(this.username=e.username,this.password=e.password,this.passwordRevisionDate=e.passwordRevisionDate,this.totp=e.totp,e.uris&&(this.uris=e.uris.map(function(e){return new r.LoginUriData(e)})))}}();t.LoginData=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.match=null,null!=e&&(this.uri=e.uri,this.match=e.match)}}();t.LoginUriData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.type=e.type)}}();t.SecureNoteData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0))return[3,4];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,this.getFileContents(n[0])];case 2:return null!=(o=i.sent())&&(r=o),[3,4];case 3:return i.sent(),[3,4];case 4:if(null==r||""===r)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2];i.label=5;case 5:return i.trys.push([5,7,,8]),this.formPromise=this.importService.import(e,r,this.organizationId),[4,this.formPromise];case 6:return null!=(a=i.sent())?(this.error(a),[2]):(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,8]);case 7:return i.sent(),[3,8];case 8:return[2]}})})},e.prototype.getFormatInstructionTitle=function(){var e=this;if(null==this.format)return null;var t=this.featuredImportOptions.concat(this.importOptions).filter(function(t){return t.id===e.format});return t.length>0?this.i18nService.t("instructionsFor",t[0].name):null},e.prototype.setImportOptions=function(){this.featuredImportOptions=o([{id:null,name:"-- "+this.i18nService.t("select")+" --"}],this.importService.featuredImportOptions),this.importOptions=this.importService.regularImportOptions},e.prototype.error=function(e){this.analytics.eventTrack.next({action:"Import Data Failed",properties:{label:this.format}}),this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),e.message)},e.prototype.getFileContents=function(e){var t=this;return new Promise(function(n,r){var i=new FileReader;i.readAsText(e,"utf-8"),i.onload=function(i){if("lastpasscsv"===t.format&&"text/html"===e.type){var o=(new DOMParser).parseFromString(i.target.result,"text/html").querySelector("pre");return null!=o?void n(o.textContent):void r()}n(i.target.result)},i.onerror=function(){r()}})},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.I18nService),a.ɵɵdirectiveInject(l.Angulartics2),a.ɵɵdirectiveInject(c.ToasterService),a.ɵɵdirectiveInject(p.ImportService),a.ɵɵdirectiveInject(u.Router))},e.ɵcmp=a.ɵɵdefineComponent({type:e,selectors:[["app-import"]],decls:67,vars:25,consts:[[1,"page-header"],["ngNativeValidate","",3,"appApiAction","ngSubmit"],["form",""],[1,"row"],[1,"col-6"],[1,"form-group"],["for","type"],["id","type","name","Format","required","",1,"form-control",3,"ngModel","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[4,"ngIf"],["type","info",3,"title",4,"ngIf"],["for","file"],["type","file","id","file","name","file",1,"form-control-file"],["for","fileContents"],["id","fileContents","name","FileContents",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[3,"ngValue"],["value","-","disabled",""],["type","info",3,"title"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/export-your-data/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-lastpass/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-chrome/"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/import-from-firefox/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-1password/"],["target","_blank","rel","noopener","href","https://bit.ly/2GpOMTg"]],template:function(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"h1"),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(6,"\n"),a.ɵɵelementStart(7,"form",1,2),a.ɵɵlistener("ngSubmit",function(){return t.submit()}),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"div",3),a.ɵɵtext(11,"\n "),a.ɵɵelementStart(12,"div",4),a.ɵɵtext(13,"\n "),a.ɵɵelementStart(14,"div",5),a.ɵɵtext(15,"\n "),a.ɵɵelementStart(16,"label",6),a.ɵɵtext(17),a.ɵɵpipe(18,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n "),a.ɵɵelementStart(20,"select",7),a.ɵɵlistener("ngModelChange",function(e){return t.format=e}),a.ɵɵtext(21,"\n "),a.ɵɵtemplate(22,y,2,2,"option",8),a.ɵɵtext(23,"\n "),a.ɵɵtemplate(24,x,6,1,"ng-container",9),a.ɵɵtext(25,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(26,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(27,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(28,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(29,"\n "),a.ɵɵtemplate(30,ve,100,50,"app-callout",10),a.ɵɵtext(31,"\n "),a.ɵɵelementStart(32,"div",3),a.ɵɵtext(33,"\n "),a.ɵɵelementStart(34,"div",4),a.ɵɵtext(35,"\n "),a.ɵɵelementStart(36,"div",5),a.ɵɵtext(37,"\n "),a.ɵɵelementStart(38,"label",11),a.ɵɵtext(39),a.ɵɵpipe(40,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(41,"\n "),a.ɵɵelement(42,"input",12),a.ɵɵtext(43,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(44,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(45,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(46,"\n "),a.ɵɵelementStart(47,"div",5),a.ɵɵtext(48,"\n "),a.ɵɵelementStart(49,"label",13),a.ɵɵtext(50),a.ɵɵpipe(51,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(52,"\n "),a.ɵɵelementStart(53,"textarea",14),a.ɵɵlistener("ngModelChange",function(e){return t.fileContents=e}),a.ɵɵelementEnd(),a.ɵɵtext(54,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(55,"\n "),a.ɵɵelementStart(56,"button",15),a.ɵɵtext(57,"\n "),a.ɵɵelement(58,"i",16),a.ɵɵpipe(59,"i18n"),a.ɵɵtext(60,"\n "),a.ɵɵelementStart(61,"span"),a.ɵɵtext(62),a.ɵɵpipe(63,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(64,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(65,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(66,"\n")),2&e){var n=a.ɵɵreference(8);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,13,"importData")),a.ɵɵadvance(4),a.ɵɵproperty("appApiAction",t.formPromise),a.ɵɵadvance(10),a.ɵɵtextInterpolate1("1. ",a.ɵɵpipeBind1(18,15,"selectFormat"),""),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",t.format),a.ɵɵadvance(2),a.ɵɵproperty("ngForOf",t.featuredImportOptions),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",t.importOptions&&t.importOptions.length),a.ɵɵadvance(6),a.ɵɵproperty("ngIf",t.format),a.ɵɵadvance(9),a.ɵɵtextInterpolate1("2. ",a.ɵɵpipeBind1(40,17,"selectImportFile"),""),a.ɵɵadvance(11),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(51,19,"orCopyPasteFileContents")),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",t.fileContents),a.ɵɵadvance(3),a.ɵɵproperty("disabled",n.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(59,21,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(63,23,"importData"))}},directives:[d.NgControlStatusGroup,d.NgForm,m.ApiActionDirective,d.SelectControlValueAccessor,d.RequiredValidator,d.NgControlStatus,d.NgModel,h.NgForOf,h.NgIf,d.DefaultValueAccessor,d.NgSelectOption,d.ɵangular_packages_forms_forms_x,f.CalloutComponent],pipes:[v.I18nPipe],encapsulation:2}),e}();t.ImportComponent=ye},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?[4,this.getAllCiphers()]:[3,6];case 4:return e=o.sent(),t=[],n=[],r=new Map,e.forEach(function(e){if(e.type===s.CipherType.Login&&(null==e.login.totp||""===e.login.totp)&&e.login.hasUris&&!e.isDeleted)for(var n=0;n0?[2]:[4,fetch(new Request("https://2fa.directory/api/v1/data.json"))];case 1:if(200!==(e=a.sent()).status)throw new Error;return[4,e.json()];case 2:for(n in t=a.sent())if(t.hasOwnProperty(n))for(i in r=t[n])r.hasOwnProperty(i)&&(o=r[i]).tfa&&o.software&&null!=o.url&&null!=(s=l.Utils.getHostname(o.url))&&this.services.set(s,o.doc);return[2]}})})},t.ɵfac=function(e){return new(e||t)(p.ɵɵdirectiveInject(u.CipherService),p.ɵɵdirectiveInject(p.ComponentFactoryResolver),p.ɵɵdirectiveInject(d.MessagingService),p.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=p.ɵɵdefineComponent({type:t,selectors:[["app-inactive-two-factor-report"]],features:[p.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],["href","#","appStopClick","",3,"title","click"],[1,"text-right"],["class","badge badge-primary","target","_blank","rel","noopener",3,"href",4,"ngIf"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"],["target","_blank","rel","noopener",1,"badge","badge-primary",3,"href"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"h1"),p.ɵɵtext(3),p.ɵɵpipe(4,"i18n"),p.ɵɵtemplate(5,b,9,6,"small",1),p.ɵɵtext(6,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(7,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(8,"\n"),p.ɵɵelementStart(9,"p"),p.ɵɵtext(10),p.ɵɵpipe(11,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(12,"\n"),p.ɵɵtemplate(13,S,9,6,"div",1),p.ɵɵtext(14,"\n"),p.ɵɵtemplate(15,_,6,2,"div",2),p.ɵɵtext(16,"\n"),p.ɵɵtemplate(17,A,0,0,"ng-template",null,3,p.ɵɵtemplateRefExtractor),p.ɵɵtext(19,"\n")),2&e&&(p.ɵɵadvance(3),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(4,5,"inactive2faReport"),"\n "),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(11,7,"inactive2faReportDesc")),p.ɵɵadvance(3),p.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(c.CipherReportComponent);t.InactiveTwoFactorReportComponent=O},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1}),this.ciphers=n,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(u.MessagingService),c.ɵɵdirectiveInject(d.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-reused-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],[1,"badge","badge-warning"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵtemplate(5,x,9,6,"small",1),c.ɵɵtext(6,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵelementStart(9,"p"),c.ɵɵtext(10),c.ɵɵpipe(11,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,b,9,6,"div",1),c.ɵɵtext(14,"\n"),c.ɵɵtemplate(15,_,6,2,"div",2),c.ɵɵtext(16,"\n"),c.ɵɵtemplate(17,A,0,0,"ng-template",null,3,c.ɵɵtemplateRefExtractor),c.ɵɵtext(19,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(4,5,"reusedPasswordsReport"),"\n "),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(11,7,"reusedPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[m.NgIf,h.CalloutComponent,m.NgForOf,f.IconComponent,v.StopClickDirective,y.StopPropDirective],pipes:[g.I18nPipe,m.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.ReusedPasswordsReportComponent=O},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?o.concat(e.login.username.substr(0,a).trim().toLowerCase().split(/[^A-Za-z0-9]/)).filter(function(e){return e.length>=3}):e.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/).filter(function(e){return e.length>=3})}var l=n.passwordGenerationService.passwordStrength(e.login.password,o.length>0?o:null);n.passwordStrengthCache.set(i,l.score)}var c=n.passwordStrengthCache.get(i);null!=c&&c<=2&&(n.passwordStrengthMap.set(e.id,n.scoreKey(c)),t.push(e))}}),this.ciphers=t,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.prototype.scoreKey=function(e){switch(e){case 4:return["strong","success"];case 3:return["good","primary"];case 2:return["weak","warning"];default:return["veryWeak","danger"]}},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(u.PasswordGenerationService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(d.MessagingService),c.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-weak-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵtemplate(5,b,9,6,"small",1),c.ɵɵtext(6,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵelementStart(9,"p"),c.ɵɵtext(10),c.ɵɵpipe(11,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,S,9,6,"div",1),c.ɵɵtext(14,"\n"),c.ɵɵtemplate(15,A,6,2,"div",2),c.ɵɵtext(16,"\n"),c.ɵɵtemplate(17,O,0,0,"ng-template",null,3,c.ɵɵtemplateRefExtractor),c.ɵɵtext(19,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(4,5,"weakPasswordsReport"),"\n "),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(11,7,"weakPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.WeakPasswordsReportComponent=T},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1)""===r.substr(o).trim()&&(i=o);e+=r.substring(0,i)}this.platformUtilsService.copyToClipboard(e,{window:window})}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef),r.ɵɵdirectiveInject(i.PlatformUtilsService))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appSelectCopy",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("copy",function(){return t.onCopy()})}}),e}();t.SelectCopyDirective=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e){for(var t="",n=0;n":r=">",i=!0;break;case" ":r=" ",i=!0}var o="letter";i||r.match(/[^\w ]/)?o="special":r.match(/\d/)&&(o="number"),t+=''+r+""}return t},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"colorPassword",type:e,pure:!0}),e}();t.ColorPasswordPipe=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=t,this.name=e.name,this.id=e.id,this.revisionDate=e.revisionDate}}();t.FolderData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(129),a=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.buildDomainModel(r,t,{id:null,name:null},n,["id"]),r.revisionDate=null!=t.revisionDate?new Date(t.revisionDate):null,r)}return i(t,e),t.prototype.decrypt=function(){return this.decryptObj(new o.FolderView(this),{name:null},null)},t}(n(81).default);t.Folder=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(882),a=n(25),s=n(883),l=n(594),c=n(595),p=n(596),u=n(597),d=n(599),m=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.folderId=n.getResponseProperty("FolderId")||null,n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.notes=n.getResponseProperty("Notes"),n.favorite=n.getResponseProperty("Favorite")||!1,n.edit=!!n.getResponseProperty("Edit"),null==n.getResponseProperty("ViewPassword")?n.viewPassword=!0:n.viewPassword=n.getResponseProperty("ViewPassword"),n.organizationUseTotp=n.getResponseProperty("OrganizationUseTotp"),n.revisionDate=n.getResponseProperty("RevisionDate"),n.collectionIds=n.getResponseProperty("CollectionIds"),n.deletedDate=n.getResponseProperty("DeletedDate");var r=n.getResponseProperty("Login");null!=r&&(n.login=new u.LoginApi(r));var i=n.getResponseProperty("Card");null!=i&&(n.card=new l.CardApi(i));var a=n.getResponseProperty("Identity");null!=a&&(n.identity=new p.IdentityApi(a));var m=n.getResponseProperty("SecureNote");null!=m&&(n.secureNote=new d.SecureNoteApi(m));var h=n.getResponseProperty("Fields");null!=h&&(n.fields=h.map(function(e){return new c.FieldApi(e)}));var f=n.getResponseProperty("Attachments");null!=f&&(n.attachments=f.map(function(e){return new o.AttachmentResponse(e)}));var v=n.getResponseProperty("PasswordHistory");return null!=v&&(n.passwordHistory=v.map(function(e){return new s.PasswordHistoryResponse(e)})),n}return i(t,e),t}(a.BaseResponse);t.CipherResponse=m},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(903),s=function(e){function t(t){var n=e.call(this,t)||this;n.organizations=[],n.id=n.getResponseProperty("Id"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.emailVerified=n.getResponseProperty("EmailVerified"),n.masterPasswordHint=n.getResponseProperty("MasterPasswordHint"),n.premium=n.getResponseProperty("Premium"),n.culture=n.getResponseProperty("Culture"),n.twoFactorEnabled=n.getResponseProperty("TwoFactorEnabled"),n.key=n.getResponseProperty("Key"),n.privateKey=n.getResponseProperty("PrivateKey"),n.securityStamp=n.getResponseProperty("SecurityStamp");var r=n.getResponseProperty("Organizations");return null!=r&&(n.organizations=r.map(function(e){return new a.ProfileOrganizationResponse(e)})),n}return i(t,e),t}(o.BaseResponse);t.ProfileResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.id=n.getResponseProperty("Id"),n.url=n.getResponseProperty("Url"),n.fileName=n.getResponseProperty("FileName"),n.key=n.getResponseProperty("Key"),n.size=n.getResponseProperty("Size"),n.sizeName=n.getResponseProperty("SizeName"),n)}return i(t,e),t}(n(25).BaseResponse);t.SendFileApi=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.text=n.getResponseProperty("Text"),n.hidden=n.getResponseProperty("Hidden")||!1,n)}return i(t,e),t}(n(25).BaseResponse);t.SendTextApi=o},,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(this.email=r.email),null!=r.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=r.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:r.org}}),[4,e.prototype.ngOnInit.call(this)];case 1:return n.sent(),null!=t&&t.unsubscribe(),[2]}})})}),[2]})})},t.prototype.goAfterLogIn=function(){return o(this,void 0,void 0,function(){var e,t,n;return a(this,function(r){switch(r.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return e=r.sent(),[4,this.stateService.get("emergencyInvitation")];case 2:return t=r.sent(),null==e?[3,3]:(this.router.navigate(["accept-organization"],{queryParams:e}),[3,8]);case 3:return null==t?[3,4]:(this.router.navigate(["accept-emergency"],{queryParams:t}),[3,8]);case 4:return[4,this.stateService.get("loginRedirect")];case 5:return null==(n=r.sent())?[3,7]:(this.router.navigate([n.route],{queryParams:n.qParams}),[4,this.stateService.remove("loginRedirect")]);case 6:return r.sent(),[3,8];case 7:this.router.navigate([this.successRoute]),r.label=8;case 8:return[2]}})})},t.ɵfac=function(e){return new(e||t)(l.ɵɵdirectiveInject(c.AuthService),l.ɵɵdirectiveInject(p.Router),l.ɵɵdirectiveInject(u.I18nService),l.ɵɵdirectiveInject(p.ActivatedRoute),l.ɵɵdirectiveInject(d.StorageService),l.ɵɵdirectiveInject(m.StateService),l.ɵɵdirectiveInject(h.PlatformUtilsService),l.ɵɵdirectiveInject(f.EnvironmentService),l.ɵɵdirectiveInject(v.PasswordGenerationService),l.ɵɵdirectiveInject(y.CryptoFunctionService))},t.ɵcmp=l.ɵɵdefineComponent({type:t,selectors:[["app-login"]],features:[l.ɵɵInheritDefinitionFeature],decls:97,vars:43,consts:[["ngNativeValidate","",1,"container",3,"appApiAction","ngSubmit"],["form",""],[1,"row","justify-content-md-center","mt-5"],[1,"col-5"],["src","images/logo-dark@2x.png","alt","Bitwarden",1,"logo","mb-2"],[1,"lead","text-center","mx-4","mb-4"],[1,"card","d-block"],[1,"card-body"],[1,"form-group"],["for","email"],["id","email","type","text","name","Email","required","","inputmode","email","appInputVerbatim","false",1,"form-control",3,"ngModel","ngModelChange"],["for","masterPassword"],[1,"d-flex"],["id","masterPassword","name","MasterPassword","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"form-text"],["routerLink","/hint"],[1,"form-check"],["type","checkbox","id","rememberEmail","name","RememberEmail",1,"form-check-input",3,"ngModel","ngModelChange"],["for","rememberEmail",1,"form-check-label"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-sign-in"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["routerLink","/register",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0",3,"queryParams"],["aria-hidden","true",1,"fa","fa-pencil-square-o"],["routerLink","/sso",1,"btn","btn-outline-secondary","btn-block","mt-2"],["aria-hidden","true",1,"fa","fa-bank"]],template:function(e,t){if(1&e&&(l.ɵɵelementStart(0,"form",0,1),l.ɵɵlistener("ngSubmit",function(){return t.submit()}),l.ɵɵtext(2,"\n "),l.ɵɵelementStart(3,"div",2),l.ɵɵtext(4,"\n "),l.ɵɵelementStart(5,"div",3),l.ɵɵtext(6,"\n "),l.ɵɵelement(7,"img",4),l.ɵɵtext(8,"\n "),l.ɵɵelementStart(9,"p",5),l.ɵɵtext(10),l.ɵɵpipe(11,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(12,"\n "),l.ɵɵelementStart(13,"div",6),l.ɵɵtext(14,"\n "),l.ɵɵelementStart(15,"div",7),l.ɵɵtext(16,"\n "),l.ɵɵelementStart(17,"div",8),l.ɵɵtext(18,"\n "),l.ɵɵelementStart(19,"label",9),l.ɵɵtext(20),l.ɵɵpipe(21,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(22,"\n "),l.ɵɵelementStart(23,"input",10),l.ɵɵlistener("ngModelChange",function(e){return t.email=e}),l.ɵɵelementEnd(),l.ɵɵtext(24,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(25,"\n "),l.ɵɵelementStart(26,"div",8),l.ɵɵtext(27,"\n "),l.ɵɵelementStart(28,"label",11),l.ɵɵtext(29),l.ɵɵpipe(30,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(31,"\n "),l.ɵɵelementStart(32,"div",12),l.ɵɵtext(33,"\n "),l.ɵɵelementStart(34,"input",13),l.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e}),l.ɵɵelementEnd(),l.ɵɵtext(35,"\n "),l.ɵɵelementStart(36,"button",14),l.ɵɵlistener("click",function(){return t.togglePassword()}),l.ɵɵpipe(37,"i18n"),l.ɵɵtext(38,"\n "),l.ɵɵelement(39,"i",15),l.ɵɵtext(40,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(41,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(42,"\n "),l.ɵɵelementStart(43,"small",16),l.ɵɵtext(44,"\n "),l.ɵɵelementStart(45,"a",17),l.ɵɵtext(46),l.ɵɵpipe(47,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(48,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(49,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(50,"\n "),l.ɵɵelementStart(51,"div",18),l.ɵɵtext(52,"\n "),l.ɵɵelementStart(53,"input",19),l.ɵɵlistener("ngModelChange",function(e){return t.rememberEmail=e}),l.ɵɵelementEnd(),l.ɵɵtext(54,"\n "),l.ɵɵelementStart(55,"label",20),l.ɵɵtext(56),l.ɵɵpipe(57,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(58,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(59,"\n "),l.ɵɵelement(60,"hr"),l.ɵɵtext(61,"\n "),l.ɵɵelementStart(62,"div",12),l.ɵɵtext(63,"\n "),l.ɵɵelementStart(64,"button",21),l.ɵɵtext(65,"\n "),l.ɵɵelementStart(66,"span"),l.ɵɵtext(67,"\n "),l.ɵɵelement(68,"i",22),l.ɵɵtext(69),l.ɵɵpipe(70,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(71,"\n "),l.ɵɵelement(72,"i",23),l.ɵɵpipe(73,"i18n"),l.ɵɵtext(74,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(75,"\n "),l.ɵɵelementStart(76,"a",24),l.ɵɵtext(77,"\n "),l.ɵɵelement(78,"i",25),l.ɵɵtext(79),l.ɵɵpipe(80,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(81,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(82,"\n "),l.ɵɵelementStart(83,"div",12),l.ɵɵtext(84,"\n "),l.ɵɵelementStart(85,"a",26),l.ɵɵtext(86,"\n "),l.ɵɵelement(87,"i",27),l.ɵɵtext(88),l.ɵɵpipe(89,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(90,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(91,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(92,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(93,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(94,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(95,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(96,"\n")),2&e){var n=l.ɵɵreference(1);l.ɵɵproperty("appApiAction",t.formPromise),l.ɵɵadvance(10),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(11,18,"loginOrCreateNewAccount")),l.ɵɵadvance(10),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(21,20,"emailAddress")),l.ɵɵadvance(3),l.ɵɵproperty("ngModel",t.email),l.ɵɵadvance(6),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(30,22,"masterPass")),l.ɵɵadvance(5),l.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),l.ɵɵproperty("ngModel",t.masterPassword),l.ɵɵadvance(2),l.ɵɵpropertyInterpolate("appA11yTitle",l.ɵɵpipeBind1(37,24,"toggleVisibility")),l.ɵɵadvance(3),l.ɵɵproperty("ngClass",l.ɵɵpureFunction2(38,I,!t.showPassword,t.showPassword)),l.ɵɵadvance(7),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(47,26,"getMasterPasswordHint")),l.ɵɵadvance(7),l.ɵɵproperty("ngModel",t.rememberEmail),l.ɵɵadvance(3),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(57,28,"rememberEmail")),l.ɵɵadvance(8),l.ɵɵproperty("disabled",n.loading),l.ɵɵadvance(5),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(70,30,"logIn"),"\n "),l.ɵɵadvance(3),l.ɵɵpropertyInterpolate("title",l.ɵɵpipeBind1(73,32,"loading")),l.ɵɵadvance(4),l.ɵɵproperty("queryParams",l.ɵɵpureFunction1(41,E,t.email)),l.ɵɵadvance(3),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(80,34,"createAccount"),"\n "),l.ɵɵadvance(9),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(89,36,"enterpriseSingleSignOn"),"\n ")}},directives:[g.NgControlStatusGroup,g.NgForm,x.ApiActionDirective,g.DefaultValueAccessor,g.RequiredValidator,b.InputVerbatimDirective,g.NgControlStatus,g.NgModel,S.A11yTitleDirective,w.NgClass,p.RouterLinkWithHref,g.CheckboxControlValueAccessor],pipes:[C.I18nPipe],encapsulation:2}),t}(s.LoginComponent);t.LoginComponent=P},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}function K(e,t){if(1&e){var n=u.ɵɵgetCurrentView();u.ɵɵelementStart(0,"div",12),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"div",48),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"input",49),u.ɵɵlistener("ngModelChange",function(e){return u.ɵɵrestoreView(n),u.ɵɵnextContext().acceptPolicies=e}),u.ɵɵelementEnd(),u.ɵɵtext(5,"\n "),u.ɵɵelementStart(6,"label",50),u.ɵɵtext(7),u.ɵɵpipe(8,"i18n"),u.ɵɵelement(9,"br"),u.ɵɵtext(10,"\n "),u.ɵɵelementStart(11,"a",51),u.ɵɵtext(12),u.ɵɵpipe(13,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(14,",\n "),u.ɵɵelementStart(15,"a",52),u.ɵɵtext(16),u.ɵɵpipe(17,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(18,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(19,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(20,"\n "),u.ɵɵelementEnd()}if(2&e){var r=u.ɵɵnextContext();u.ɵɵadvance(4),u.ɵɵproperty("ngModel",r.acceptPolicies),u.ɵɵadvance(3),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(8,4,"acceptPolicies"),""),u.ɵɵadvance(5),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(13,6,"termsOfService")),u.ɵɵadvance(4),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(17,8,"privacyPolicy"))}}var q=function(e){return["layout",e]},H=function(e,t){return{"col-5":e,"col-12":t}},W=function(e,t){return{"fa-eye":e,"fa-eye-slash":t}},$=function(e){function t(t,n,r,i,o,a,s,l,c,p){var u=e.call(this,t,n,r,i,o,s,l,c)||this;return u.route=a,u.policyService=p,u.showCreateOrgMessage=!1,u.layout="",u}return i(t,e),t.prototype.getPasswordScoreAlertDisplay=function(){if(null==this.enforcedPolicyOptions)return"";var e;switch(this.enforcedPolicyOptions.minComplexity){case 4:e=this.i18nService.t("strong");break;case 3:e=this.i18nService.t("good");break;default:e=this.i18nService.t("weak")}return e+" ("+this.enforcedPolicyOptions.minComplexity+")"},t.prototype.ngOnInit=function(){return o(this,void 0,void 0,function(){var e,t,n,r,i,o=this;return a(this,function(a){switch(a.label){case 0:return e=this.route.queryParams.subscribe(function(t){o.referenceData=new p.ReferenceEventRequest,null!=t.email&&t.email.indexOf("@")>-1&&(o.email=t.email),null!=t.premium?o.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=t.org&&(o.showCreateOrgMessage=!0,o.referenceData.flow=t.org,o.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:t.org}})),null!=t.layout&&(o.layout=o.referenceData.layout=t.layout),null!=t.reference?o.referenceData.id=t.reference:o.referenceData.id=("; "+document.cookie).split("; reference=").pop().split(";").shift(),""===o.referenceData.id&&(o.referenceData.id=null),null!=e&&e.unsubscribe()}),[4,this.stateService.get("orgInvitation")];case 1:if(null==(t=a.sent()))return[3,5];a.label=2;case 2:return a.trys.push([2,4,,5]),[4,this.apiService.getPoliciesByToken(t.organizationId,t.token,t.email,t.organizationUserId)];case 3:return null!=(n=a.sent()).data&&(r=n.data.map(function(e){return new c.PolicyData(e)}),this.policies=r.map(function(e){return new l.Policy(e)})),[3,5];case 4:return a.sent(),[3,5];case 5:return null==this.policies?[3,7]:(i=this,[4,this.policyService.getMasterPasswordPolicyOptions(this.policies)]);case 6:i.enforcedPolicyOptions=a.sent(),a.label=7;case 7:return[2]}})})},t.prototype.submit=function(){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return null==this.enforcedPolicyOptions||this.policyService.evaluateMasterPassword(this.masterPasswordScore,this.masterPassword,this.enforcedPolicyOptions)?[4,e.prototype.submit.call(this)]:(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("masterPasswordPolicyRequirementsNotMet")),[2]);case 1:return t.sent(),[2]}})})},t.ɵfac=function(e){return new(e||t)(u.ɵɵdirectiveInject(d.AuthService),u.ɵɵdirectiveInject(m.Router),u.ɵɵdirectiveInject(h.I18nService),u.ɵɵdirectiveInject(f.CryptoService),u.ɵɵdirectiveInject(v.ApiService),u.ɵɵdirectiveInject(m.ActivatedRoute),u.ɵɵdirectiveInject(y.StateService),u.ɵɵdirectiveInject(g.PlatformUtilsService),u.ɵɵdirectiveInject(x.PasswordGenerationService),u.ɵɵdirectiveInject(b.PolicyService))},t.ɵcmp=u.ɵɵdefineComponent({type:t,selectors:[["app-register"]],features:[u.ɵɵInheritDefinitionFeature],decls:146,vars:80,consts:[[1,"layout",3,"ngClass"],["class","header",4,"ngIf"],["ngNativeValidate","",1,"container",3,"appApiAction","ngSubmit"],["form",""],[1,"row"],["class","col-7",4,"ngIf"],[3,"ngClass"],[1,"row","justify-content-md-center","mt-5"],["class","lead text-center mb-4",4,"ngIf"],[1,"card","d-block"],[1,"card-body"],["type","info","icon","fa-thumb-tack",3,"title",4,"ngIf"],[1,"form-group"],["for","email"],["id","email","type","text","name","Email","required","","inputmode","email","appInputVerbatim","false",1,"form-control",3,"ngModel","appAutofocus","ngModelChange"],[1,"form-text","text-muted"],["for","name"],["id","name","type","text","name","Name",1,"form-control",3,"ngModel","appAutofocus","ngModelChange"],["type","info",4,"ngIf"],["for","masterPassword"],[1,"d-flex"],[1,"w-100"],["id","masterPassword","name","MasterPassword","required","","appInputVerbatim","",1,"text-monospace","form-control","mb-1",3,"type","ngModel","ngModelChange","input"],[3,"score","showText"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"progress-bar","invisible"],["for","masterPasswordRetype"],["id","masterPasswordRetype","name","MasterPasswordRetype","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["for","hint"],["id","hint","type","text","name","Hint",1,"form-control",3,"ngModel","ngModelChange"],["class","form-group",4,"ngIf"],[1,"d-flex","mb-2"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["routerLink","/",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0"],[1,"header"],[1,"container"],[1,"col-7"],["alt","Bitwarden","src","images/logo-horizontal-white.png",1,"logo","mb-2"],[1,"mt-5"],[4,"ngIf"],[1,"highlight"],["src","images/wired-logo.png","alt","Wired"],[1,"lead","text-center","mb-4"],["type","info","icon","fa-thumb-tack",3,"title"],["type","info"],[1,"mb-0"],[1,"form-check"],["type","checkbox","id","acceptPolicies","name","AcceptPolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","acceptPolicies",1,"form-check-label","small","text-muted"],["href","https://bitwarden.com/terms/","target","_blank","rel","noopener"],["href","https://bitwarden.com/privacy/","target","_blank","rel","noopener"]],template:function(e,t){if(1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵtemplate(2,O,13,0,"header",1),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"form",2,3),u.ɵɵlistener("ngSubmit",function(){return t.submit()}),u.ɵɵtext(6,"\n "),u.ɵɵelementStart(7,"div",4),u.ɵɵtext(8,"\n "),u.ɵɵtemplate(9,D,11,3,"div",5),u.ɵɵtext(10,"\n "),u.ɵɵelementStart(11,"div",6),u.ɵɵtext(12,"\n "),u.ɵɵelementStart(13,"div",7),u.ɵɵtext(14,"\n "),u.ɵɵelementStart(15,"div",6),u.ɵɵtext(16,"\n "),u.ɵɵtemplate(17,V,3,3,"p",8),u.ɵɵtext(18,"\n "),u.ɵɵelementStart(19,"div",9),u.ɵɵtext(20,"\n "),u.ɵɵelementStart(21,"div",10),u.ɵɵtext(22,"\n "),u.ɵɵtemplate(23,j,4,6,"app-callout",11),u.ɵɵtext(24,"\n "),u.ɵɵelementStart(25,"div",12),u.ɵɵtext(26,"\n "),u.ɵɵelementStart(27,"label",13),u.ɵɵtext(28),u.ɵɵpipe(29,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(30,"\n "),u.ɵɵelementStart(31,"input",14),u.ɵɵlistener("ngModelChange",function(e){return t.email=e}),u.ɵɵelementEnd(),u.ɵɵtext(32,"\n "),u.ɵɵelementStart(33,"small",15),u.ɵɵtext(34),u.ɵɵpipe(35,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(36,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(37,"\n "),u.ɵɵelementStart(38,"div",12),u.ɵɵtext(39,"\n "),u.ɵɵelementStart(40,"label",16),u.ɵɵtext(41),u.ɵɵpipe(42,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(43,"\n "),u.ɵɵelementStart(44,"input",17),u.ɵɵlistener("ngModelChange",function(e){return t.name=e}),u.ɵɵelementEnd(),u.ɵɵtext(45,"\n "),u.ɵɵelementStart(46,"small",15),u.ɵɵtext(47),u.ɵɵpipe(48,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(49,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(50,"\n "),u.ɵɵelementStart(51,"div",12),u.ɵɵtext(52,"\n "),u.ɵɵtemplate(53,G,18,9,"app-callout",18),u.ɵɵtext(54,"\n "),u.ɵɵelementStart(55,"label",19),u.ɵɵtext(56),u.ɵɵpipe(57,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(58,"\n "),u.ɵɵelementStart(59,"div",20),u.ɵɵtext(60,"\n "),u.ɵɵelementStart(61,"div",21),u.ɵɵtext(62,"\n "),u.ɵɵelementStart(63,"input",22),u.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e})("input",function(){return t.updatePasswordStrength()}),u.ɵɵelementEnd(),u.ɵɵtext(64,"\n "),u.ɵɵelementStart(65,"app-password-strength",23),u.ɵɵtext(66,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(67,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(68,"\n "),u.ɵɵelementStart(69,"div"),u.ɵɵtext(70,"\n "),u.ɵɵelementStart(71,"button",24),u.ɵɵlistener("click",function(){return t.togglePassword(!1)}),u.ɵɵpipe(72,"i18n"),u.ɵɵtext(73,"\n "),u.ɵɵelement(74,"i",25),u.ɵɵtext(75,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(76,"\n "),u.ɵɵelement(77,"div",26),u.ɵɵtext(78,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(79,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(80,"\n "),u.ɵɵelementStart(81,"small",15),u.ɵɵtext(82),u.ɵɵpipe(83,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(84,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(85,"\n "),u.ɵɵelementStart(86,"div",12),u.ɵɵtext(87,"\n "),u.ɵɵelementStart(88,"label",27),u.ɵɵtext(89),u.ɵɵpipe(90,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(91,"\n "),u.ɵɵelementStart(92,"div",20),u.ɵɵtext(93,"\n "),u.ɵɵelementStart(94,"input",28),u.ɵɵlistener("ngModelChange",function(e){return t.confirmMasterPassword=e}),u.ɵɵelementEnd(),u.ɵɵtext(95,"\n "),u.ɵɵelementStart(96,"button",24),u.ɵɵlistener("click",function(){return t.togglePassword(!0)}),u.ɵɵpipe(97,"i18n"),u.ɵɵtext(98,"\n "),u.ɵɵelement(99,"i",25),u.ɵɵtext(100,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(101,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(102,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(103,"\n "),u.ɵɵelementStart(104,"div",12),u.ɵɵtext(105,"\n "),u.ɵɵelementStart(106,"label",29),u.ɵɵtext(107),u.ɵɵpipe(108,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(109,"\n "),u.ɵɵelementStart(110,"input",30),u.ɵɵlistener("ngModelChange",function(e){return t.hint=e}),u.ɵɵelementEnd(),u.ɵɵtext(111,"\n "),u.ɵɵelementStart(112,"small",15),u.ɵɵtext(113),u.ɵɵpipe(114,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(115,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(116,"\n "),u.ɵɵtemplate(117,K,21,10,"div",31),u.ɵɵtext(118,"\n "),u.ɵɵelement(119,"hr"),u.ɵɵtext(120,"\n "),u.ɵɵelementStart(121,"div",32),u.ɵɵtext(122,"\n "),u.ɵɵelementStart(123,"button",33),u.ɵɵtext(124,"\n "),u.ɵɵelementStart(125,"span"),u.ɵɵtext(126),u.ɵɵpipe(127,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(128,"\n "),u.ɵɵelement(129,"i",34),u.ɵɵpipe(130,"i18n"),u.ɵɵtext(131,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(132,"\n "),u.ɵɵelementStart(133,"a",35),u.ɵɵtext(134),u.ɵɵpipe(135,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(136,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(137,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(138,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(139,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(140,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(141,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(142,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(143,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(144,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(145,"\n")),2&e){var n=u.ɵɵreference(5);u.ɵɵproperty("ngClass",u.ɵɵpureFunction1(66,q,t.layout)),u.ɵɵadvance(2),u.ɵɵproperty("ngIf","enterprise2"===t.layout),u.ɵɵadvance(2),u.ɵɵproperty("appApiAction",t.formPromise),u.ɵɵadvance(5),u.ɵɵproperty("ngIf",t.layout),u.ɵɵadvance(2),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(68,H,t.layout,!t.layout)),u.ɵɵadvance(4),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(71,H,!t.layout,t.layout)),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",!t.layout),u.ɵɵadvance(6),u.ɵɵproperty("ngIf",t.showCreateOrgMessage),u.ɵɵadvance(5),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(29,38,"emailAddress")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.email)("appAutofocus",""===t.email),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(35,40,"emailAddressDesc")),u.ɵɵadvance(7),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(42,42,"yourName")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.name)("appAutofocus",""!==t.email),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(48,44,"yourNameDesc")),u.ɵɵadvance(6),u.ɵɵproperty("ngIf",t.enforcedPolicyOptions),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(57,46,"masterPass")),u.ɵɵadvance(7),u.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),u.ɵɵproperty("ngModel",t.masterPassword),u.ɵɵadvance(2),u.ɵɵproperty("score",t.masterPasswordScore)("showText",!0),u.ɵɵadvance(6),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(72,48,"toggleVisibility")),u.ɵɵadvance(3),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(74,W,!t.showPassword,t.showPassword)),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(83,50,"masterPassDesc")),u.ɵɵadvance(7),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(90,52,"reTypeMasterPass")),u.ɵɵadvance(5),u.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),u.ɵɵproperty("ngModel",t.confirmMasterPassword),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(97,54,"toggleVisibility")),u.ɵɵadvance(3),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(77,W,!t.showPassword,t.showPassword)),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(108,56,"masterPassHint")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.hint),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(114,58,"masterPassHintDesc")),u.ɵɵadvance(4),u.ɵɵproperty("ngIf",t.showTerms),u.ɵɵadvance(6),u.ɵɵproperty("disabled",n.loading),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(127,60,"submit")),u.ɵɵadvance(3),u.ɵɵpropertyInterpolate("title",u.ɵɵpipeBind1(130,62,"loading")),u.ɵɵadvance(5),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(135,64,"cancel"),"\n ")}},directives:[S.NgClass,S.NgIf,w.NgControlStatusGroup,w.NgForm,C.ApiActionDirective,w.DefaultValueAccessor,w.RequiredValidator,I.InputVerbatimDirective,w.NgControlStatus,w.NgModel,E.AutofocusDirective,P.PasswordStrengthComponent,k.A11yTitleDirective,m.RouterLinkWithHref,_.CalloutComponent,w.CheckboxControlValueAccessor],pipes:[A.I18nPipe],encapsulation:2}),t}(s.RegisterComponent);t.RegisterComponent=$},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this)||this;return null==t?n:(n.id=t.id,n.organizationId=t.organizationId,n.type=t.type,n.data=t.data,n.enabled=t.enabled,n)}return i(t,e),t}(n(81).default);t.Policy=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.organizationId=e.organizationId,this.type=e.type,this.data=e.data,this.enabled=e.enabled}}();t.PolicyData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});n(0),n(8),n(5),n(19),n(3),n(15),n(36),n(6),n(50),n(63),n(7);var o=n(830),a=n(0),s=n(5),l=n(3),c=n(19),p=n(15),u=n(7),d=n(36),m=n(6),h=n(50),f=n(8),v=n(63),y=n(14),g=n(17),x=n(4),b=n(29),S=n(45),w=n(247),C=n(18),I=n(10);function E(e,t){1&e&&(a.ɵɵelementStart(0,"div",8),a.ɵɵtext(1,"\n "),a.ɵɵelement(2,"i",9),a.ɵɵpipe(3,"i18n"),a.ɵɵtext(4),a.ɵɵpipe(5,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(3,2,"loading")),a.ɵɵadvance(2),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(5,4,"loading"),"\n "))}function P(e,t){if(1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectMinComplexity",n.getPasswordScoreAlertDisplay()),"\n ")}}function k(e,t){if(1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectMinLength",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength.toString()),"\n ")}}function _(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectUppercase"),""))}function A(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectLowercase"),""))}function O(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectNumbers"),""))}function T(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectSpecial","!@#$%^&*"),""))}function M(e,t){if(1&e&&(a.ɵɵelementStart(0,"app-callout",11),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementStart(3,"ul",29),a.ɵɵtext(4,"\n "),a.ɵɵtemplate(5,P,3,4,"li",30),a.ɵɵtext(6,"\n "),a.ɵɵtemplate(7,k,3,4,"li",30),a.ɵɵtext(8,"\n "),a.ɵɵtemplate(9,_,3,3,"li",30),a.ɵɵtext(10,"\n "),a.ɵɵtemplate(11,A,3,3,"li",30),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,O,3,3,"li",30),a.ɵɵtext(14,"\n "),a.ɵɵtemplate(15,T,3,4,"li",30),a.ɵɵtext(16,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(17,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,7,"masterPasswordPolicyInEffect"),"\n "),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minComplexity)>0),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var B=function(e,t){return{"fa-eye":e,"fa-eye-slash":t}};function D(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",10),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"app-callout",11),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"div",12),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,M,18,9,"app-callout",13),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"label",14),a.ɵɵtext(11),a.ɵɵpipe(12,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementStart(14,"div",15),a.ɵɵtext(15,"\n "),a.ɵɵelementStart(16,"div",16),a.ɵɵtext(17,"\n "),a.ɵɵelementStart(18,"input",17),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().masterPassword=e})("input",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().updatePasswordStrength()}),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n "),a.ɵɵelementStart(20,"app-password-strength",18),a.ɵɵtext(21,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(22,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(23,"\n "),a.ɵɵelementStart(24,"div"),a.ɵɵtext(25,"\n "),a.ɵɵelementStart(26,"button",19),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().togglePassword(!1)}),a.ɵɵpipe(27,"i18n"),a.ɵɵtext(28,"\n "),a.ɵɵelement(29,"i",20),a.ɵɵtext(30,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(31,"\n "),a.ɵɵelement(32,"div",21),a.ɵɵtext(33,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(34,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(35,"\n "),a.ɵɵelementStart(36,"small",22),a.ɵɵtext(37),a.ɵɵpipe(38,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(39,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(40,"\n "),a.ɵɵelementStart(41,"div",12),a.ɵɵtext(42,"\n "),a.ɵɵelementStart(43,"label",23),a.ɵɵtext(44),a.ɵɵpipe(45,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(46,"\n "),a.ɵɵelementStart(47,"div",15),a.ɵɵtext(48,"\n "),a.ɵɵelementStart(49,"input",24),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().masterPasswordRetype=e}),a.ɵɵelementEnd(),a.ɵɵtext(50,"\n "),a.ɵɵelementStart(51,"button",19),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().togglePassword(!0)}),a.ɵɵpipe(52,"i18n"),a.ɵɵtext(53,"\n "),a.ɵɵelement(54,"i",20),a.ɵɵtext(55,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(56,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(57,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(58,"\n "),a.ɵɵelementStart(59,"div",12),a.ɵɵtext(60,"\n "),a.ɵɵelementStart(61,"label",25),a.ɵɵtext(62),a.ɵɵpipe(63,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(64,"\n "),a.ɵɵelementStart(65,"input",26),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().hint=e}),a.ɵɵelementEnd(),a.ɵɵtext(66,"\n "),a.ɵɵelementStart(67,"small",22),a.ɵɵtext(68),a.ɵɵpipe(69,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(70,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(71,"\n "),a.ɵɵelement(72,"hr"),a.ɵɵtext(73,"\n "),a.ɵɵelementStart(74,"div",15),a.ɵɵtext(75,"\n "),a.ɵɵelementStart(76,"button",27),a.ɵɵtext(77,"\n "),a.ɵɵelement(78,"i",9),a.ɵɵpipe(79,"i18n"),a.ɵɵtext(80,"\n "),a.ɵɵelementStart(81,"span"),a.ɵɵtext(82),a.ɵɵpipe(83,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(84,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(85,"\n "),a.ɵɵelementStart(86,"button",28),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().logOut()}),a.ɵɵtext(87),a.ɵɵpipe(88,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(89,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(90,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(),i=a.ɵɵreference(1);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,22,"ssoCompleteRegistration")),a.ɵɵadvance(5),a.ɵɵproperty("ngIf",r.enforcedPolicyOptions),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(12,24,"masterPass")),a.ɵɵadvance(7),a.ɵɵpropertyInterpolate("type",r.showPassword?"text":"password"),a.ɵɵproperty("ngModel",r.masterPassword),a.ɵɵadvance(2),a.ɵɵproperty("score",r.masterPasswordScore)("showText",!0),a.ɵɵadvance(6),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(27,26,"toggleVisibility")),a.ɵɵadvance(3),a.ɵɵproperty("ngClass",a.ɵɵpureFunction2(44,B,!r.showPassword,r.showPassword)),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(38,28,"masterPassDesc")),a.ɵɵadvance(7),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(45,30,"reTypeMasterPass")),a.ɵɵadvance(5),a.ɵɵpropertyInterpolate("type",r.showPassword?"text":"password"),a.ɵɵproperty("ngModel",r.masterPasswordRetype),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(52,32,"toggleVisibility")),a.ɵɵadvance(3),a.ɵɵproperty("ngClass",a.ɵɵpureFunction2(47,B,!r.showPassword,r.showPassword)),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(63,34,"masterPassHint")),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",r.hint),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(69,36,"masterPassHintDesc")),a.ɵɵadvance(8),a.ɵɵproperty("disabled",i.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(79,38,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(83,40,"submit")),a.ɵɵadvance(5),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(88,42,"logOut"),"\n ")}}var V=function(e){function t(t,n,r,i,o,a,s,l,c,p,u){return e.call(this,n,r,i,o,a,s,l,c,t,p,u)||this}return i(t,e),t.ɵfac=function(e){return new(e||t)(a.ɵɵdirectiveInject(s.ApiService),a.ɵɵdirectiveInject(l.I18nService),a.ɵɵdirectiveInject(c.CryptoService),a.ɵɵdirectiveInject(p.MessagingService),a.ɵɵdirectiveInject(u.UserService),a.ɵɵdirectiveInject(d.PasswordGenerationService),a.ɵɵdirectiveInject(m.PlatformUtilsService),a.ɵɵdirectiveInject(h.PolicyService),a.ɵɵdirectiveInject(f.Router),a.ɵɵdirectiveInject(v.SyncService),a.ɵɵdirectiveInject(f.ActivatedRoute))},t.ɵcmp=a.ɵɵdefineComponent({type:t,selectors:[["app-set-password"]],features:[a.ɵɵInheritDefinitionFeature],decls:21,vars:6,consts:[["ngNativeValidate","","autocomplete","off",3,"appApiAction","ngSubmit"],["form",""],[1,"row","justify-content-md-center","mt-5"],[1,"col-5"],[1,"lead","text-center","mb-4"],[1,"card","d-block"],["class","card-body text-center",4,"ngIf"],["class","card-body",4,"ngIf"],[1,"card-body","text-center"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"card-body"],["type","info"],[1,"form-group"],["type","info",4,"ngIf"],["for","masterPassword"],[1,"d-flex"],[1,"w-100"],["id","masterPassword","name","MasterPasswordHash","required","","appInputVerbatim","",1,"text-monospace","form-control","mb-1",3,"type","ngModel","ngModelChange","input"],[3,"score","showText"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"progress-bar","invisible"],[1,"form-text","text-muted"],["for","masterPasswordRetype"],["id","masterPasswordRetype","name","MasterPasswordRetype","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["for","hint"],["id","hint","type","text","name","Hint",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["type","button",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0",3,"click"],[1,"mb-0"],[4,"ngIf"]],template:function(e,t){1&e&&(a.ɵɵelementStart(0,"form",0,1),a.ɵɵlistener("ngSubmit",function(){return t.submit()}),a.ɵɵtext(2,"\n "),a.ɵɵelementStart(3,"div",2),a.ɵɵtext(4,"\n "),a.ɵɵelementStart(5,"div",3),a.ɵɵtext(6,"\n "),a.ɵɵelementStart(7,"p",4),a.ɵɵtext(8),a.ɵɵpipe(9,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(10,"\n "),a.ɵɵelementStart(11,"div",5),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,E,6,6,"div",6),a.ɵɵtext(14,"\n "),a.ɵɵtemplate(15,D,91,50,"div",7),a.ɵɵtext(16,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(17,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(18,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(20,"\n")),2&e&&(a.ɵɵproperty("appApiAction",t.formPromise),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(9,4,"setMasterPassword")),a.ɵɵadvance(5),a.ɵɵproperty("ngIf",t.syncLoading),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!t.syncLoading))},directives:[y.NgControlStatusGroup,y.NgForm,g.ApiActionDirective,x.NgIf,b.CalloutComponent,y.DefaultValueAccessor,y.RequiredValidator,S.InputVerbatimDirective,y.NgControlStatus,y.NgModel,w.PasswordStrengthComponent,C.A11yTitleDirective,x.NgClass],pipes:[I.I18nPipe],encapsulation:2}),t}(o.SetPasswordComponent);t.SetPasswordComponent=V},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?t[1]:null},e.prototype.checkState=function(e,t){if(null==e)return!1;if(null==t)return!1;var n=e.split("_identifier="),r=t.split("_identifier=");return n[0]===r[0]},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.AuthService),s.ɵɵdirectiveInject(c.Router),s.ɵɵdirectiveInject(p.I18nService),s.ɵɵdirectiveInject(c.ActivatedRoute),s.ɵɵdirectiveInject(u.StorageService),s.ɵɵdirectiveInject(d.StateService),s.ɵɵdirectiveInject(m.PlatformUtilsService),s.ɵɵdirectiveInject(h.ApiService),s.ɵɵdirectiveInject(f.CryptoFunctionService),s.ɵɵdirectiveInject(v.PasswordGenerationService))},e.ɵdir=s.ɵɵdefineDirective({type:e}),e}();t.SsoComponent=y},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]this.pageSize&&(t=this.pagedCollectionsCount),this.collections.length>e&&(this.pagedCollections=this.pagedCollections.concat(this.collections.slice(e,e+t))),this.pagedCollectionsCount=this.pagedCollections.length,this.didScroll=this.pagedCollections.length>this.pageSize}},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(l.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(c.CollectionAddEditComponent,this.addEditModalRef);r.organizationId=this.organizationId,r.collectionId=null!=e?e.id:null,r.onSavedCollection.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedCollection.subscribe(function(){t.modal.close(),t.removeCollection(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.add=function(){this.edit(null)},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),e.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteCollection(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",e.name)),this.removeCollection(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.users=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(l.ModalComponent);this.modal=this.usersModalRef.createComponent(n).instance;var r=this.modal.show(p.EntityUsersComponent,this.usersModalRef);r.organizationId=this.organizationId,r.entity="collection",r.entityId=e.id,r.entityName=e.name,r.onEditedUsers.subscribe(function(){t.load(),t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedCollections=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.collections&&this.collections.length>this.pageSize},e.prototype.removeCollection=function(e){var t=this.collections.indexOf(e);t>-1&&(this.collections.splice(t,1),this.resetPaging())},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.ApiService),u.ɵɵdirectiveInject(m.ActivatedRoute),u.ɵɵdirectiveInject(h.CollectionService),u.ɵɵdirectiveInject(u.ComponentFactoryResolver),u.ɵɵdirectiveInject(f.Angulartics2),u.ɵɵdirectiveInject(v.ToasterService),u.ɵɵdirectiveInject(y.I18nService),u.ɵɵdirectiveInject(g.PlatformUtilsService),u.ɵɵdirectiveInject(x.UserService),u.ɵɵdirectiveInject(b.SearchService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-org-manage-collections"]],viewQuery:function(e,t){var n;(1&e&&(u.ɵɵstaticViewQuery(_,!0,o.ViewContainerRef),u.ɵɵstaticViewQuery(A,!0,o.ViewContainerRef)),2&e)&&(u.ɵɵqueryRefresh(n=u.ɵɵloadQuery())&&(t.addEditModalRef=n.first),u.ɵɵqueryRefresh(n=u.ɵɵloadQuery())&&(t.usersModalRef=n.first))},decls:37,vars:20,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["usersTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover table-list","infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-users"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-trash-o"]],template:function(e,t){1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"h1"),u.ɵɵtext(3),u.ɵɵpipe(4,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(5,"\n "),u.ɵɵelementStart(6,"div",1),u.ɵɵtext(7,"\n "),u.ɵɵelementStart(8,"div"),u.ɵɵtext(9,"\n "),u.ɵɵelementStart(10,"label",2),u.ɵɵtext(11),u.ɵɵpipe(12,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(13,"\n "),u.ɵɵelementStart(14,"input",3),u.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),u.ɵɵpipe(15,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(16,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(17,"\n "),u.ɵɵelementStart(18,"button",4),u.ɵɵlistener("click",function(){return t.add()}),u.ɵɵtext(19,"\n "),u.ɵɵelement(20,"i",5),u.ɵɵtext(21),u.ɵɵpipe(22,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(23,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(24,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(25,"\n"),u.ɵɵtemplate(26,O,9,6,"ng-container",6),u.ɵɵtext(27,"\n"),u.ɵɵtemplate(28,D,6,2,"ng-container",6),u.ɵɵpipe(29,"search"),u.ɵɵtext(30,"\n"),u.ɵɵtemplate(31,V,0,0,"ng-template",null,7,u.ɵɵtemplateRefExtractor),u.ɵɵtext(33,"\n"),u.ɵɵtemplate(34,j,0,0,"ng-template",null,8,u.ɵɵtemplateRefExtractor),u.ɵɵtext(36,"\n")),2&e&&(u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(4,7,"collections")),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(12,9,"search")),u.ɵɵadvance(3),u.ɵɵpropertyInterpolate("placeholder",u.ɵɵpipeBind1(15,11,"search")),u.ɵɵproperty("ngModel",t.searchText),u.ɵɵadvance(7),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(22,13,"newCollection"),"\n "),u.ɵɵadvance(5),u.ɵɵproperty("ngIf",t.loading),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedCollections:u.ɵɵpipeBind4(29,15,t.collections,t.searchText,"name","id"))))},directives:[S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,w.NgIf,C.InfiniteScrollDirective,w.NgForOf,I.StopClickDirective,E.A11yTitleDirective],pipes:[P.I18nPipe,k.SearchPipe],encapsulation:2}),e}();t.CollectionsComponent=R},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&r.groups.forEach(function(e){var t=s.groups.filter(function(t){return!t.accessAll&&t.id===e.id});null!=t&&t.length>0&&(t[0].checked=!0,t[0].readOnly=e.readOnly,t[0].hidePasswords=e.hidePasswords)}),[3,9];case 8:return i.sent(),[3,9];case 9:return[3,11];case 10:this.title=this.i18nService.t("addCollection"),i.label=11;case 11:return this.groups.forEach(function(e){e.accessAll&&(e.checked=!0)}),this.loading=!1,[2]}})})},e.prototype.check=function(e,t){e.accessAll||(e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1,e.hidePasswords=!1))},e.prototype.selectAll=function(e){var t=this;this.groups.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null==this.orgKey)throw new Error("No encryption key for this organization.");return e=new s.CollectionRequest,t=e,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:t.name=n.sent().encryptedString,e.externalId=this.externalId,e.groups=this.groups.filter(function(e){return e.checked&&!e.accessAll}).map(function(e){return new l.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)}),n.label=2;case 2:return n.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,e):this.formPromise=this.apiService.postCollection(this.organizationId,e),[4,this.formPromise];case 3:return n.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 n.sent(),[3,5];case 5:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return e.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 e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService),p.ɵɵdirectiveInject(f.PlatformUtilsService),p.ɵɵdirectiveInject(v.CryptoService),p.ɵɵdirectiveInject(y.UserService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-collection-add-edit"]],inputs:{collectionId:"collectionId",organizationId:"organizationId"},outputs:{onSavedCollection:"onSavedCollection",onDeletedCollection:"onDeletedCollection"},decls:49,vars:18,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","collectionAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","collectionAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"form-group"],["for","name"],["id","name","type","text","name","Name","required","","appAutofocus","",1,"form-control",3,"ngModel","ngModelChange"],["for","externalId"],["id","externalId","type","text","name","ExternalId",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-text","text-muted"],[4,"ngIf"],[1,"mt-4","d-flex","mb-0"],["class","ml-auto",4,"ngIf"],["class","table table-hover table-list mb-0",4,"ngIf"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","disabled","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["aria-hidden","true",1,"fa","fa-th","text-muted","fa-fw",3,"title"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,E,9,6,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵtemplate(22,M,26,12,"div",8),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"div",9),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",10),p.ɵɵtext(27,"\n "),p.ɵɵelement(28,"i",11),p.ɵɵpipe(29,"i18n"),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"span"),p.ɵɵtext(32),p.ɵɵpipe(33,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"button",12),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementStart(40,"div",13),p.ɵɵtext(41,"\n "),p.ɵɵtemplate(42,B,9,10,"button",14),p.ɵɵtext(43,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,10,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(29,12,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(33,14,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,16,"cancel")),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.editMode)}},directives:[g.NgControlStatusGroup,g.NgForm,x.ApiActionDirective,b.A11yTitleDirective,S.NgIf,g.DefaultValueAccessor,g.RequiredValidator,w.AutofocusDirective,g.NgControlStatus,g.NgModel,S.NgForOf,g.CheckboxControlValueAccessor,C.StopPropDirective],pipes:[I.I18nPipe],encapsulation:2}),e}();t.CollectionAddEditComponent=D},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.groups=[],null!=e&&(this.name=e.name?e.name.encryptedString:null,this.externalId=e.externalId)}}();t.CollectionRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.ApiService),o.ɵɵdirectiveInject(s.ActivatedRoute),o.ɵɵdirectiveInject(l.EventService),o.ɵɵdirectiveInject(c.I18nService),o.ɵɵdirectiveInject(p.ToasterService),o.ɵɵdirectiveInject(u.UserService),o.ɵɵdirectiveInject(s.Router))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-org-events"]],decls:41,vars:27,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],[1,"form-inline"],["for","start",1,"sr-only"],["type","datetime-local","id","start","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],[1,"mx-2"],["for","end",1,"sr-only"],["type","datetime-local","id","end","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"appApiAction","disabled","click"],["refreshBtn",""],["aria-hidden","true",1,"fa","fa-refresh","fa-fw",3,"ngClass"],[4,"ngIf"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover",4,"ngIf"],["type","button","class","btn btn-block btn-link btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],[1,"table","table-hover"],["width","210",1,"border-top-0"],["width","40",1,"border-top-0"],["width","150",1,"border-top-0"],[1,"border-top-0"],[4,"ngFor","ngForOf"],["aria-hidden","true",3,"title"],[3,"title"],[3,"innerHTML"],["type","button",1,"btn","btn-block","btn-link","btn-submit",3,"appApiAction","disabled","click"],["moreBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"]],template:function(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"h1"),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"div",1),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"div",2),o.ɵɵtext(9,"\n "),o.ɵɵelementStart(10,"label",3),o.ɵɵtext(11),o.ɵɵpipe(12,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementStart(14,"input",4),o.ɵɵlistener("ngModelChange",function(e){return t.start=e}),o.ɵɵpipe(15,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"span",5),o.ɵɵtext(18,"-"),o.ɵɵelementEnd(),o.ɵɵtext(19,"\n "),o.ɵɵelementStart(20,"label",6),o.ɵɵtext(21),o.ɵɵpipe(22,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(23,"\n "),o.ɵɵelementStart(24,"input",7),o.ɵɵlistener("ngModelChange",function(e){return t.end=e}),o.ɵɵpipe(25,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(26,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(27,"\n "),o.ɵɵelementStart(28,"button",8,9),o.ɵɵlistener("click",function(){return t.loadEvents(!0)}),o.ɵɵtext(30,"\n "),o.ɵɵelement(31,"i",10),o.ɵɵtext(32),o.ɵɵpipe(33,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(34,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(35,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(36,"\n"),o.ɵɵtemplate(37,v,9,6,"ng-container",11),o.ɵɵtext(38,"\n"),o.ɵɵtemplate(39,S,8,3,"ng-container",11),o.ɵɵtext(40,"\n")),2&e){var n=o.ɵɵreference(29);o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(4,13,"eventLogs")),o.ɵɵadvance(8),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(12,15,"startDate")),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("placeholder",o.ɵɵpipeBind1(15,17,"startDate")),o.ɵɵproperty("ngModel",t.start),o.ɵɵadvance(7),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(22,19,"endDate")),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("placeholder",o.ɵɵpipeBind1(25,21,"endDate")),o.ɵɵproperty("ngModel",t.end),o.ɵɵadvance(4),o.ɵɵproperty("appApiAction",t.refreshPromise)("disabled",t.loaded&&n.loading),o.ɵɵadvance(3),o.ɵɵproperty("ngClass",o.ɵɵpureFunction1(25,w,t.loaded&&n.loading)),o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(33,23,"refresh"),"\n "),o.ɵɵadvance(5),o.ɵɵproperty("ngIf",!t.loaded),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.loaded)}},directives:[d.DefaultValueAccessor,d.NgControlStatus,d.NgModel,m.ApiActionDirective,h.NgClass,h.NgIf,h.NgForOf],pipes:[f.I18nPipe,h.DatePipe],encapsulation:2}),e}();t.EventsComponent=C},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?e.data:[]).sort(a.Utils.getSortFunction(this.i18nService,"name")),this.groups=t,this.resetPaging(),this.loading=!1,[2]}})})},e.prototype.loadMore=function(){if(this.groups&&!(this.groups.length<=this.pageSize)){var e=this.pagedGroups.length,t=this.pageSize;0===e&&this.pagedGroupsCount>this.pageSize&&(t=this.pagedGroupsCount),this.groups.length>e&&(this.pagedGroups=this.pagedGroups.concat(this.groups.slice(e,e+t))),this.pagedGroupsCount=this.pagedGroups.length,this.didScroll=this.pagedGroups.length>this.pageSize}},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(c.GroupAddEditComponent,this.addEditModalRef);r.organizationId=this.organizationId,r.groupId=null!=e?e.id:null,r.onSavedGroup.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedGroup.subscribe(function(){t.modal.close(),t.removeGroup(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.add=function(){this.edit(null)},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),e.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",e.name)),this.removeGroup(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.users=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.usersModalRef.createComponent(n).instance;var r=this.modal.show(l.EntityUsersComponent,this.usersModalRef);r.organizationId=this.organizationId,r.entity="group",r.entityId=e.id,r.entityName=e.name,r.onEditedUsers.subscribe(function(){t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedGroups=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.groups&&this.groups.length>this.pageSize},e.prototype.removeGroup=function(e){var t=this.groups.indexOf(e);t>-1&&(this.groups.splice(t,1),this.resetPaging())},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.ActivatedRoute),p.ɵɵdirectiveInject(m.I18nService),p.ɵɵdirectiveInject(p.ComponentFactoryResolver),p.ɵɵdirectiveInject(h.Angulartics2),p.ɵɵdirectiveInject(f.ToasterService),p.ɵɵdirectiveInject(v.PlatformUtilsService),p.ɵɵdirectiveInject(y.UserService),p.ɵɵdirectiveInject(d.Router),p.ɵɵdirectiveInject(g.SearchService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-org-groups"]],viewQuery:function(e,t){var n;(1&e&&(p.ɵɵstaticViewQuery(P,!0,o.ViewContainerRef),p.ɵɵstaticViewQuery(k,!0,o.ViewContainerRef)),2&e)&&(p.ɵɵqueryRefresh(n=p.ɵɵloadQuery())&&(t.addEditModalRef=n.first),p.ɵɵqueryRefresh(n=p.ɵɵloadQuery())&&(t.usersModalRef=n.first))},decls:37,vars:20,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["usersTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover table-list","infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-users"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-trash-o"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"h1"),p.ɵɵtext(3),p.ɵɵpipe(4,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(5,"\n "),p.ɵɵelementStart(6,"div",1),p.ɵɵtext(7,"\n "),p.ɵɵelementStart(8,"div"),p.ɵɵtext(9,"\n "),p.ɵɵelementStart(10,"label",2),p.ɵɵtext(11),p.ɵɵpipe(12,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(13,"\n "),p.ɵɵelementStart(14,"input",3),p.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),p.ɵɵpipe(15,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(16,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementStart(18,"button",4),p.ɵɵlistener("click",function(){return t.add()}),p.ɵɵtext(19,"\n "),p.ɵɵelement(20,"i",5),p.ɵɵtext(21),p.ɵɵpipe(22,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(23,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(24,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(25,"\n"),p.ɵɵtemplate(26,_,9,6,"ng-container",6),p.ɵɵtext(27,"\n"),p.ɵɵtemplate(28,M,6,2,"ng-container",6),p.ɵɵpipe(29,"search"),p.ɵɵtext(30,"\n"),p.ɵɵtemplate(31,B,0,0,"ng-template",null,7,p.ɵɵtemplateRefExtractor),p.ɵɵtext(33,"\n"),p.ɵɵtemplate(34,D,0,0,"ng-template",null,8,p.ɵɵtemplateRefExtractor),p.ɵɵtext(36,"\n")),2&e&&(p.ɵɵadvance(3),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(4,7,"groups")),p.ɵɵadvance(8),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(12,9,"search")),p.ɵɵadvance(3),p.ɵɵpropertyInterpolate("placeholder",p.ɵɵpipeBind1(15,11,"search")),p.ɵɵproperty("ngModel",t.searchText),p.ɵɵadvance(7),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(22,13,"newGroup"),"\n "),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedGroups:p.ɵɵpipeBind4(29,15,t.groups,t.searchText,"name","id"))))},directives:[x.DefaultValueAccessor,x.NgControlStatus,x.NgModel,b.NgIf,S.InfiniteScrollDirective,b.NgForOf,w.StopClickDirective,C.A11yTitleDirective],pipes:[I.I18nPipe,E.SearchPipe],encapsulation:2}),e}();t.GroupsComponent=V},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(n[0].checked=!0,n[0].readOnly=e.readOnly,n[0].hidePasswords=e.hidePasswords)}),[3,5];case 4:return n.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),n.label=7;case 7:return this.loading=!1,[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return e=r.sent(),t=e.data.map(function(e){return new s.Collection(new a.CollectionData(e))}),n=this,[4,this.collectionService.decryptMany(t)];case 2:return n.collections=r.sent(),[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.collections.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:(e=new l.GroupRequest).name=this.name,e.externalId=this.externalId,e.accessAll="all"===this.access,e.accessAll||(e.collections=this.collections.filter(function(e){return e.checked}).map(function(e){return new c.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)})),t.label=1;case 1:return t.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,e):this.formPromise=this.apiService.postGroup(this.organizationId,e),[4,this.formPromise];case 2:return t.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 t.sent(),[3,4];case 4:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return e.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 e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService),p.ɵɵdirectiveInject(f.CollectionService),p.ɵɵdirectiveInject(v.PlatformUtilsService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-group-add-edit"]],inputs:{groupId:"groupId",organizationId:"organizationId"},outputs:{onSavedGroup:"onSavedGroup",onDeletedGroup:"onDeletedGroup"},decls:49,vars:18,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","groupAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","groupAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","externalId"],["id","externalId","type","text","name","ExternalId",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-text","text-muted"],[1,"mt-4","d-flex"],[1,"mb-2"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#access-control",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],["class","ml-auto",4,"ngIf"],[1,"form-group",3,"ngClass"],[1,"form-check"],["type","radio","name","access","id","accessAll","value","all",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessAll",1,"form-check-label"],["type","radio","name","access","id","accessSelected","value","selected",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessSelected",1,"form-check-label"],[4,"ngIf"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,C,9,6,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵtemplate(22,O,62,30,"div",8),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"div",9),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",10),p.ɵɵtext(27,"\n "),p.ɵɵelement(28,"i",11),p.ɵɵpipe(29,"i18n"),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"span"),p.ɵɵtext(32),p.ɵɵpipe(33,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"button",12),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementStart(40,"div",13),p.ɵɵtext(41,"\n "),p.ɵɵtemplate(42,T,9,10,"button",14),p.ɵɵtext(43,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,10,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(29,12,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(33,14,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,16,"cancel")),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.editMode)}},directives:[y.NgControlStatusGroup,y.NgForm,g.ApiActionDirective,x.A11yTitleDirective,b.NgIf,y.DefaultValueAccessor,y.RequiredValidator,y.NgControlStatus,y.NgModel,b.NgClass,y.RadioControlValueAccessor,b.NgForOf,y.CheckboxControlValueAccessor,S.StopPropDirective],pipes:[w.I18nPipe],encapsulation:2}),e}();t.GroupAddEditComponent=M},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&t[0].status===l.OrganizationUserStatusType.Confirmed&&this.events(t[0]),null!=n&&n.unsubscribe(),[2]})})}),[2]}})})}),[2]})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return e=n.sent(),this.statusMap.clear(),this.allUsers=null!=e.data&&e.data.length>0?e.data:[],this.allUsers.sort(p.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(e){t.statusMap.has(e.status)?t.statusMap.get(e.status).push(e):t.statusMap.set(e.status,[e])}),this.filter(this.status),this.loading=!1,[2]}})})},e.prototype.filter=function(e){this.status=e,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers,this.resetPaging()},e.prototype.loadMore=function(){if(this.users&&!(this.users.length<=this.pageSize)){var e=this.pagedUsers.length,t=this.pageSize;0===e&&this.pagedUsersCount>this.pageSize&&(t=this.pagedUsersCount),this.users.length>e&&(this.pagedUsers=this.pagedUsers.concat(this.users.slice(e,e+t))),this.pagedUsersCount=this.pagedUsers.length,this.didScroll=this.pagedUsers.length>this.pageSize}},Object.defineProperty(e.prototype,"allCount",{get:function(){return null!=this.allUsers?this.allUsers.length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"invitedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Invited)?this.statusMap.get(l.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"acceptedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Accepted)?this.statusMap.get(l.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"confirmedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Confirmed)?this.statusMap.get(l.OrganizationUserStatusType.Confirmed).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"showConfirmUsers",{get:function(){return null!=this.allUsers&&null!=this.statusMap&&this.allUsers.length>1&&this.confirmedCount>0&&this.confirmedCount<3&&this.acceptedCount>0},enumerable:!0,configurable:!0}),e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(m.UserAddEditComponent,this.addEditModalRef);r.name=null!=e?e.name||e.email:null,r.organizationId=this.organizationId,r.organizationUserId=null!=e?e.id:null,r.onSavedUser.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedUser.subscribe(function(){t.modal.close(),t.removeUser(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.invite=function(){this.edit(null)},e.prototype.groups=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent);this.modal=this.groupsModalRef.createComponent(n).instance;var r=this.modal.show(f.UserGroupsComponent,this.groupsModalRef);r.name=null!=e?e.name||e.email:null,r.organizationId=this.organizationId,r.organizationUserId=null!=e?e.id:null,r.onSavedUser.subscribe(function(){t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.remove=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),e.name||e.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",e.name||e.email)),this.removeUser(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.reinvite=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,e.id),[4,this.actionPromise]);case 1:return t.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",e.name||e.email)),this.actionPromise=null,[2]}})})},e.prototype.confirm=function(e){return r(this,void 0,void 0,function(){function t(t){e.status=l.OrganizationUserStatusType.Confirmed;var n=t.statusMap.get(l.OrganizationUserStatusType.Accepted).indexOf(e);n>-1&&(t.statusMap.get(l.OrganizationUserStatusType.Accepted).splice(n,1),t.statusMap.get(l.OrganizationUserStatusType.Confirmed).push(e))}var n,r,o,s=this;return i(this,function(i){switch(i.label){case 0:return null!=this.actionPromise?[2]:[4,this.storageService.get(a.ConstantsService.autoConfirmFingerprints)];case 1:return null!=(n=i.sent())&&n?(this.actionPromise=this.doConfirmation(e),[4,this.actionPromise]):(null!=this.modal&&this.modal.close(),r=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent),this.modal=this.confirmModalRef.createComponent(r).instance,(o=this.modal.show(h.UserConfirmComponent,this.confirmModalRef)).name=null!=e?e.name||e.email:null,o.organizationId=this.organizationId,o.organizationUserId=null!=e?e.id:null,o.userId=null!=e?e.userId:null,o.onConfirmedUser.subscribe(function(){s.modal.close(),t(s)}),this.modal.onClosed.subscribe(function(){s.modal=null}),[2]);case 2:return i.sent(),t(this),this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",e.name||e.email)),this.actionPromise=null,[2]}})})},e.prototype.events=function(e){return r(this,void 0,void 0,function(){var t,n,r=this;return i(this,function(i){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent),this.modal=this.eventsModalRef.createComponent(t).instance,(n=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=e.name||e.email,n.organizationId=this.organizationId,n.entityId=e.id,n.showUser=!1,n.entity="user",this.modal.onClosed.subscribe(function(){r.modal=null}),[2]})})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedUsers=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.users&&this.users.length>this.pageSize},e.prototype.doConfirmation=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,l,c,u;return i(this,function(i){switch(i.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return t=i.sent(),[4,this.apiService.getUserPublicKey(e.userId)];case 2:n=i.sent(),r=p.Utils.fromB64ToArray(n.publicKey),i.label=3;case 3:return i.trys.push([3,5,,6]),a=(o=console).log,l="User's fingerprint: ",[4,this.cryptoService.getFingerprint(e.userId,r.buffer)];case 4:return a.apply(o,[l+i.sent().join("-")]),[3,6];case 5:return i.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(t.key,r.buffer)];case 7:return c=i.sent(),(u=new s.OrganizationUserConfirmRequest).key=c.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,e.id,u)];case 8:return i.sent(),[2]}})})},e.prototype.removeUser=function(e){var t=this.users.indexOf(e);t>-1&&(this.users.splice(t,1),this.resetPaging()),this.statusMap.has(l.OrganizationUserStatusType.Accepted)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Accepted).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Accepted).splice(t,1),this.statusMap.has(l.OrganizationUserStatusType.Invited)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Invited).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Invited).splice(t,1),this.statusMap.has(l.OrganizationUserStatusType.Confirmed)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Confirmed).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Confirmed).splice(t,1)},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.ApiService),v.ɵɵdirectiveInject(g.ActivatedRoute),v.ɵɵdirectiveInject(x.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(b.PlatformUtilsService),v.ɵɵdirectiveInject(S.Angulartics2),v.ɵɵdirectiveInject(w.ToasterService),v.ɵɵdirectiveInject(C.CryptoService),v.ɵɵdirectiveInject(I.UserService),v.ɵɵdirectiveInject(g.Router),v.ɵɵdirectiveInject(E.StorageService),v.ɵɵdirectiveInject(P.SearchService))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["app-org-people"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(j,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(R,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(U,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(F,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.addEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.groupsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.eventsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.confirmModalRef=n.first))},decls:64,vars:45,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["role","group",1,"btn-group","btn-group-sm"],["type","button",1,"btn","btn-outline-secondary",3,"ngClass","click"],["class","badge badge-pill badge-info",4,"ngIf"],["class","badge badge-pill badge-warning",4,"ngIf"],[1,"ml-3"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["groupsTemplate",""],["eventsTemplate",""],["confirmTemplate",""],[1,"badge","badge-pill","badge-info"],[1,"badge","badge-pill","badge-warning"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","info","icon","fa-check-circle",3,"title",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["type","info","icon","fa-check-circle",3,"title"],["width","30"],["size","25",3,"data","email","circle","fontSize"],["href","#","appStopClick","",3,"click"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-success","href","#","appStopClick","",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-remove"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"text-muted","d-block"],["aria-hidden","true",1,"fa","fa-lock",3,"title"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-envelope-o"],["href","#","appStopClick","",1,"dropdown-item","text-success",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-check"],["aria-hidden","true",1,"fa","fa-fw","fa-sitemap"],["aria-hidden","true",1,"fa","fa-fw","fa-file-text-o"]],template:function(e,t){1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"h1"),v.ɵɵtext(3),v.ɵɵpipe(4,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(5,"\n "),v.ɵɵelementStart(6,"div",1),v.ɵɵtext(7,"\n "),v.ɵɵelementStart(8,"div",2),v.ɵɵtext(9,"\n "),v.ɵɵelementStart(10,"button",3),v.ɵɵlistener("click",function(){return t.filter(null)}),v.ɵɵtext(11),v.ɵɵpipe(12,"i18n"),v.ɵɵtemplate(13,N,2,1,"span",4),v.ɵɵtext(14,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(15,"\n "),v.ɵɵelementStart(16,"button",3),v.ɵɵlistener("click",function(){return t.filter(t.organizationUserStatusType.Invited)}),v.ɵɵtext(17),v.ɵɵpipe(18,"i18n"),v.ɵɵtemplate(19,z,2,1,"span",4),v.ɵɵtext(20,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(21,"\n "),v.ɵɵelementStart(22,"button",3),v.ɵɵlistener("click",function(){return t.filter(t.organizationUserStatusType.Accepted)}),v.ɵɵtext(23),v.ɵɵpipe(24,"i18n"),v.ɵɵtemplate(25,L,2,1,"span",5),v.ɵɵtext(26,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(27,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(28,"\n "),v.ɵɵelementStart(29,"div",6),v.ɵɵtext(30,"\n "),v.ɵɵelementStart(31,"label",7),v.ɵɵtext(32),v.ɵɵpipe(33,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(34,"\n "),v.ɵɵelementStart(35,"input",8),v.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),v.ɵɵpipe(36,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(37,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(38,"\n "),v.ɵɵelementStart(39,"button",9),v.ɵɵlistener("click",function(){return t.invite()}),v.ɵɵtext(40,"\n "),v.ɵɵelement(41,"i",10),v.ɵɵtext(42),v.ɵɵpipe(43,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(44,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(45,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(46,"\n"),v.ɵɵtemplate(47,G,9,6,"ng-container",11),v.ɵɵtext(48,"\n"),v.ɵɵtemplate(49,se,6,2,"ng-container",11),v.ɵɵpipe(50,"search"),v.ɵɵtext(51,"\n"),v.ɵɵtemplate(52,le,0,0,"ng-template",null,12,v.ɵɵtemplateRefExtractor),v.ɵɵtext(54,"\n"),v.ɵɵtemplate(55,ce,0,0,"ng-template",null,13,v.ɵɵtemplateRefExtractor),v.ɵɵtext(57,"\n"),v.ɵɵtemplate(58,pe,0,0,"ng-template",null,14,v.ɵɵtemplateRefExtractor),v.ɵɵtext(60,"\n"),v.ɵɵtemplate(61,ue,0,0,"ng-template",null,15,v.ɵɵtemplateRefExtractor),v.ɵɵtext(63,"\n")),2&e&&(v.ɵɵadvance(3),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(4,16,"people")),v.ɵɵadvance(7),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(36,de,null==t.status)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(12,18,"all"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.allCount),v.ɵɵadvance(3),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(38,de,t.status==t.organizationUserStatusType.Invited)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(18,20,"invited"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.invitedCount),v.ɵɵadvance(3),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(40,de,t.status==t.organizationUserStatusType.Accepted)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(24,22,"accepted"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.acceptedCount),v.ɵɵadvance(7),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(33,24,"search")),v.ɵɵadvance(3),v.ɵɵpropertyInterpolate("placeholder",v.ɵɵpipeBind1(36,26,"search")),v.ɵɵproperty("ngModel",t.searchText),v.ɵɵadvance(7),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(43,28,"inviteUser"),"\n "),v.ɵɵadvance(5),v.ɵɵproperty("ngIf",t.loading),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedUsers:v.ɵɵpipeBindV(50,30,v.ɵɵpureFunction2(42,me,t.users,t.searchText)))))},directives:[k.NgClass,k.NgIf,_.DefaultValueAccessor,_.NgControlStatus,_.NgModel,A.InfiniteScrollDirective,k.NgForOf,O.CalloutComponent,T.AvatarComponent,M.StopClickDirective,B.A11yTitleDirective],pipes:[D.I18nPipe,V.SearchPipe],encapsulation:2}),e}();t.PeopleComponent=he},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUserConfirmRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(n[0].checked=!0,n[0].readOnly=e.readOnly,n[0].hidePasswords=e.hidePasswords)}),[3,5];case 4:return n.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),n.label=7;case 7:return this.loading=!1,[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return e=r.sent(),t=e.data.map(function(e){return new s.Collection(new a.CollectionData(e))}),n=this,[4,this.collectionService.decryptMany(t)];case 2:return n.collections=r.sent(),[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.collections.forEach(function(n){return t.check(n,e)})},e.prototype.setRequestPermissions=function(e,t){return e.accessBusinessPortal=!t&&this.permissions.accessBusinessPortal,e.accessEventLogs=this.permissions.accessEventLogs=!t&&this.permissions.accessEventLogs,e.accessImportExport=!t&&this.permissions.accessImportExport,e.accessReports=!t&&this.permissions.accessReports,e.manageAllCollections=!t&&this.permissions.manageAllCollections,e.manageAssignedCollections=!t&&this.permissions.manageAssignedCollections,e.manageGroups=!t&&this.permissions.manageGroups,e.manageSso=!t&&this.permissions.manageSso,e.managePolicies=!t&&this.permissions.managePolicies,e.manageUsers=!t&&this.permissions.manageUsers,e},e.prototype.submit=function(){var e,t;return r(this,void 0,void 0,function(){var n,r;return i(this,function(i){switch(i.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(e){return e.checked}).map(function(e){return new p.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)})),i.label=1;case 1:return i.trys.push([1,3,,4]),this.editMode?((r=new c.OrganizationUserUpdateRequest).accessAll="all"===this.access,r.type=this.type,r.collections=n,r.permissions=this.setRequestPermissions(null!==(e=r.permissions)&&void 0!==e?e:new d.PermissionsApi,r.type!==u.OrganizationUserType.Custom),this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,r)):((r=new l.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),r.accessAll="all"===this.access,r.type=this.type,r.permissions=this.setRequestPermissions(null!==(t=r.permissions)&&void 0!==t?t:new d.PermissionsApi,r.type!==u.OrganizationUserType.Custom),r.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,r)),[4,this.formPromise];case 2:return i.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 i.sent(),[3,4];case 4:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return e.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 e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(m.ɵɵdirectiveInject(h.ApiService),m.ɵɵdirectiveInject(f.I18nService),m.ɵɵdirectiveInject(v.Angulartics2),m.ɵɵdirectiveInject(y.ToasterService),m.ɵɵdirectiveInject(g.CollectionService),m.ɵɵdirectiveInject(x.PlatformUtilsService))},e.ɵcmp=m.ɵɵdefineComponent({type:e,selectors:[["app-user-add-edit"]],inputs:{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},outputs:{onSavedUser:"onSavedUser",onDeletedUser:"onDeletedUser"},decls:51,vars:19,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAddEditTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[4,"ngIf"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#user-types",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-check","mt-2","form-check-block"],["type","radio","name","userType","id","userTypeUser",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeUser",1,"form-check-label"],["type","radio","name","userType","id","userTypeManager",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeManager",1,"form-check-label"],["type","radio","name","userType","id","userTypeAdmin",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeAdmin",1,"form-check-label"],["type","radio","name","userType","id","userTypeOwner",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeOwner",1,"form-check-label"],["type","radio","name","userType","id","userTypeCustom",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeCustom",1,"form-check-label"],[1,"mt-4","d-flex"],[1,"mb-3"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#access-control",3,"appA11yTitle"],["class","ml-auto",4,"ngIf"],[1,"form-group",3,"ngClass"],[1,"form-check"],["type","radio","name","access","id","accessAll","value","all",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessAll",1,"form-check-label"],["type","radio","name","access","id","accessSelected","value","selected",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessSelected",1,"form-check-label"],[1,"form-group","mb-4"],["for","emails"],["id","emails","type","text","name","Emails","required","","appAutoFocus","",1,"form-control",3,"ngModel","ngModelChange"],[1,"row"],[1,"col-6"],[1,"font-weight-bold","mb-0"],[1,"my-0","mr-2"],[1,"form-group","mb-0"],[1,"form-check","mt-1","form-check-block"],["type","checkbox","name","manageAssignedCollections","id","manageAssignedCollections",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageAssignedCollections",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessBusinessPortal","id","accessBusinessPortal",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessBusinessPortal",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessEventLogs","id","accessEventLogs",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessEventLogs",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessImportExport","id","accessImportExport",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessImportExport",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessReports","id","accessReports",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessReports",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageAllCollections","id","manageAllCollections",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageAllCollections",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageGroups","id","manageGroups",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageGroups",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageSso","id","managePolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageSso",1,"form-check-label","font-weight-normal"],["type","checkbox","name","managePolicies","id","managePolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","managePolicies",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageUsers","id","manageUsers",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageUsers",1,"form-check-label","font-weight-normal"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(m.ɵɵelementStart(0,"div",0),m.ɵɵtext(1,"\n "),m.ɵɵelementStart(2,"div",1),m.ɵɵtext(3,"\n "),m.ɵɵelementStart(4,"form",2,3),m.ɵɵlistener("ngSubmit",function(){return t.submit()}),m.ɵɵtext(6,"\n "),m.ɵɵelementStart(7,"div",4),m.ɵɵtext(8,"\n "),m.ɵɵelementStart(9,"h2",5),m.ɵɵtext(10),m.ɵɵtemplate(11,P,2,1,"small",6),m.ɵɵtext(12,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(13,"\n "),m.ɵɵelementStart(14,"button",7),m.ɵɵpipe(15,"i18n"),m.ɵɵtext(16,"\n "),m.ɵɵelementStart(17,"span",8),m.ɵɵtext(18,"×"),m.ɵɵelementEnd(),m.ɵɵtext(19,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(20,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(21,"\n "),m.ɵɵtemplate(22,k,9,6,"div",9),m.ɵɵtext(23,"\n "),m.ɵɵtemplate(24,j,119,67,"div",9),m.ɵɵtext(25,"\n "),m.ɵɵelementStart(26,"div",10),m.ɵɵtext(27,"\n "),m.ɵɵelementStart(28,"button",11),m.ɵɵtext(29,"\n "),m.ɵɵelement(30,"i",12),m.ɵɵpipe(31,"i18n"),m.ɵɵtext(32,"\n "),m.ɵɵelementStart(33,"span"),m.ɵɵtext(34),m.ɵɵpipe(35,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(36,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(37,"\n "),m.ɵɵelementStart(38,"button",13),m.ɵɵtext(39),m.ɵɵpipe(40,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(41,"\n "),m.ɵɵelementStart(42,"div",14),m.ɵɵtext(43,"\n "),m.ɵɵtemplate(44,R,9,10,"button",15),m.ɵɵtext(45,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(46,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(47,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(48,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(49,"\n"),m.ɵɵelementEnd(),m.ɵɵtext(50,"\n")),2&e){var n=m.ɵɵreference(5);m.ɵɵadvance(4),m.ɵɵproperty("appApiAction",t.formPromise),m.ɵɵadvance(6),m.ɵɵtextInterpolate1("\n ",t.title,"\n "),m.ɵɵadvance(1),m.ɵɵproperty("ngIf",t.name),m.ɵɵadvance(3),m.ɵɵpropertyInterpolate("appA11yTitle",m.ɵɵpipeBind1(15,11,"close")),m.ɵɵadvance(8),m.ɵɵproperty("ngIf",t.loading),m.ɵɵadvance(2),m.ɵɵproperty("ngIf",!t.loading),m.ɵɵadvance(4),m.ɵɵproperty("disabled",n.loading),m.ɵɵadvance(2),m.ɵɵpropertyInterpolate("title",m.ɵɵpipeBind1(31,13,"loading")),m.ɵɵadvance(4),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(35,15,"save")),m.ɵɵadvance(5),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(40,17,"cancel")),m.ɵɵadvance(5),m.ɵɵproperty("ngIf",t.editMode)}},directives:[b.NgControlStatusGroup,b.NgForm,S.ApiActionDirective,w.NgIf,C.A11yTitleDirective,b.RadioControlValueAccessor,b.DefaultValueAccessor,b.NgControlStatus,b.NgModel,w.NgClass,b.RequiredValidator,b.CheckboxControlValueAccessor,w.NgForOf,I.StopPropDirective],pipes:[E.I18nPipe],encapsulation:2}),e}();t.UserAddEditComponent=U},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t[0].checked=!0)}),[3,5];case 4:return i.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.groups.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:(e=new a.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(e){return e.checked}).map(function(e){return e.id}),t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,e),[4,this.formPromise];case 2:return t.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 t.sent(),[3,4];case 4:return[2]}})})},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(c.ApiService),l.ɵɵdirectiveInject(p.I18nService),l.ɵɵdirectiveInject(u.Angulartics2),l.ɵɵdirectiveInject(d.ToasterService))},e.ɵcmp=l.ɵɵdefineComponent({type:e,selectors:[["app-user-groups"]],inputs:{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},outputs:{onSavedUser:"onSavedUser"},decls:47,vars:20,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","groupAccessTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],[1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","groupAccessTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[4,"ngIf"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"]],template:function(e,t){if(1&e&&(l.ɵɵelementStart(0,"div",0),l.ɵɵtext(1,"\n "),l.ɵɵelementStart(2,"div",1),l.ɵɵtext(3,"\n "),l.ɵɵelementStart(4,"form",2,3),l.ɵɵlistener("ngSubmit",function(){return t.submit()}),l.ɵɵtext(6,"\n "),l.ɵɵelementStart(7,"div",4),l.ɵɵtext(8,"\n "),l.ɵɵelementStart(9,"h2",5),l.ɵɵtext(10),l.ɵɵpipe(11,"i18n"),l.ɵɵtemplate(12,x,2,1,"small",6),l.ɵɵtext(13,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(14,"\n "),l.ɵɵelementStart(15,"button",7),l.ɵɵpipe(16,"i18n"),l.ɵɵtext(17,"\n "),l.ɵɵelementStart(18,"span",8),l.ɵɵtext(19,"×"),l.ɵɵelementEnd(),l.ɵɵtext(20,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(21,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(22,"\n "),l.ɵɵtemplate(23,b,9,6,"div",9),l.ɵɵtext(24,"\n "),l.ɵɵtemplate(25,I,10,5,"div",9),l.ɵɵtext(26,"\n "),l.ɵɵelementStart(27,"div",10),l.ɵɵtext(28,"\n "),l.ɵɵelementStart(29,"button",11),l.ɵɵtext(30,"\n "),l.ɵɵelement(31,"i",12),l.ɵɵpipe(32,"i18n"),l.ɵɵtext(33,"\n "),l.ɵɵelementStart(34,"span"),l.ɵɵtext(35),l.ɵɵpipe(36,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(37,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(38,"\n "),l.ɵɵelementStart(39,"button",13),l.ɵɵtext(40),l.ɵɵpipe(41,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(42,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(43,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(44,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(45,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(46,"\n")),2&e){var n=l.ɵɵreference(5);l.ɵɵadvance(4),l.ɵɵproperty("appApiAction",t.formPromise),l.ɵɵadvance(6),l.ɵɵtextInterpolate1("\n ",l.ɵɵpipeBind1(11,10,"groupAccess"),"\n "),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",t.name),l.ɵɵadvance(3),l.ɵɵpropertyInterpolate("appA11yTitle",l.ɵɵpipeBind1(16,12,"close")),l.ɵɵadvance(8),l.ɵɵproperty("ngIf",t.loading),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",!t.loading),l.ɵɵadvance(4),l.ɵɵproperty("disabled",n.loading),l.ɵɵadvance(2),l.ɵɵpropertyInterpolate("title",l.ɵɵpipeBind1(32,14,"loading")),l.ɵɵadvance(4),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(36,16,"save")),l.ɵɵadvance(5),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(41,18,"cancel"))}},directives:[m.ɵangular_packages_forms_forms_y,m.NgControlStatusGroup,m.NgForm,h.ApiActionDirective,f.NgIf,v.A11yTitleDirective,f.NgForOf,m.CheckboxControlValueAccessor,y.StopPropDirective,m.NgControlStatus,m.NgModel],pipes:[g.I18nPipe],encapsulation:2}),e}();t.UserGroupsComponent=E},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?e.data:[],this.orgPolicies.forEach(function(e){t.policiesEnabledMap.set(e.type,e.enabled)}),this.policies.forEach(function(e){e.enabled=t.policiesEnabledMap.has(e.type)&&t.policiesEnabledMap.get(e.type)}),this.loading=!1,[2]}})})},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.editModalRef.createComponent(n).instance;var r=this.modal.show(l.PolicyEditComponent,this.editModalRef);r.name=e.name,r.description=e.description,r.type=e.type,r.organizationId=this.organizationId,r.policiesEnabledMap=this.policiesEnabledMap,r.onSavedPolicy.subscribe(function(){t.modal.close(),t.load()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.goToEnterprisePortal=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null!=this.enterpriseTokenPromise)return[2];n.label=1;case 1:return n.trys.push([1,5,,6]),this.enterpriseTokenPromise=this.apiService.getEnterprisePortalSignInToken(),[4,this.enterpriseTokenPromise];case 2:return null==(e=n.sent())?[3,4]:[4,this.userService.getUserId()];case 3:t=n.sent(),this.platformUtilsService.launchUri(this.enterpriseUrl+"/login?userId="+t+"&token="+window.encodeURIComponent(e)+"&organizationId="+this.organizationId),n.label=4;case 4:return[3,6];case 5:return n.sent(),[3,6];case 6:return this.enterpriseTokenPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.ApiService),c.ɵɵdirectiveInject(u.ActivatedRoute),c.ɵɵdirectiveInject(d.I18nService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(m.PlatformUtilsService),c.ɵɵdirectiveInject(h.UserService),c.ɵɵdirectiveInject(u.Router),c.ɵɵdirectiveInject(f.EnvironmentService))},e.ɵcmp=c.ɵɵdefineComponent({type:e,selectors:[["app-org-policies"]],viewQuery:function(e,t){var n;(1&e&&c.ɵɵstaticViewQuery(b,!0,o.ViewContainerRef),2&e)&&(c.ɵɵqueryRefresh(n=c.ɵɵloadQuery())&&(t.editModalRef=n.first))},decls:16,vars:6,consts:[[3,"type",4,"ngIf"],[1,"page-header","d-flex"],[4,"ngIf"],["class","table table-hover table-list",4,"ngIf"],["editTemplate",""],[3,"type"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"table","table-hover","table-list"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],["class","badge badge-success",4,"ngIf"],[1,"text-muted","d-block"],[1,"badge","badge-success"]],template:function(e,t){1&e&&(c.ɵɵtemplate(0,S,10,7,"app-callout",0),c.ɵɵtext(1,"\n"),c.ɵɵelementStart(2,"div",1),c.ɵɵtext(3,"\n "),c.ɵɵelementStart(4,"h1"),c.ɵɵtext(5),c.ɵɵpipe(6,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵtemplate(9,w,9,6,"ng-container",2),c.ɵɵtext(10,"\n"),c.ɵɵtemplate(11,P,7,1,"table",3),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,k,0,0,"ng-template",null,4,c.ɵɵtemplateRefExtractor),c.ɵɵtext(15,"\n")),2&e&&(c.ɵɵproperty("ngIf",t.userCanAccessBusinessPortal),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(6,4,"policies")),c.ɵɵadvance(4),c.ɵɵproperty("ngIf",t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",!t.loading))},directives:[v.NgIf,y.CalloutComponent,v.NgForOf,g.StopClickDirective],pipes:[x.I18nPipe],encapsulation:2}),e}();t.PoliciesComponent=_},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5);t.ApiService=r.ApiService;var i=n(845);t.AppIdService=i.AppIdService;var o=n(88);t.AuditService=o.AuditService;var a=n(59);t.AuthService=a.AuthService;var s=n(20);t.CipherService=s.CipherService;var l=n(41);t.CollectionService=l.CollectionService;var c=n(19);t.CryptoService=c.CryptoService;var p=n(73);t.EnvironmentService=p.EnvironmentService;var u=n(48);t.FolderService=u.FolderService;var d=n(3);t.I18nService=d.I18nService;var m=n(846);t.LogService=m.LogService;var h=n(15);t.MessagingService=h.MessagingService;var f=n(36);t.PasswordGenerationService=f.PasswordGenerationService;var v=n(6);t.PlatformUtilsService=v.PlatformUtilsService;var y=n(87);t.SearchService=y.SearchService;var g=n(278);t.SettingsService=g.SettingsService;var x=n(42);t.StorageService=x.StorageService;var b=n(38);t.StateService=b.StateService;var S=n(63);t.SyncService=S.SyncService;var w=n(101);t.TokenService=w.TokenService;var C=n(114);t.TotpService=C.TotpService;var I=n(7);t.UserService=I.UserService;var E=n(111);t.VaultTimeoutService=E.VaultTimeoutService},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?"×"+n.quantity:""," @ ",a.ɵɵpipeBind2(4,5,n.amount,"$"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate2("\n ",a.ɵɵpipeBind2(8,8,n.quantity*n.amount,"$")," /",a.ɵɵpipeBind1(9,11,n.interval),"\n ")}}function V(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",20),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"strong",21),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"table",22),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"tbody"),a.ɵɵtext(9,"\n "),a.ɵɵtemplate(10,D,11,13,"tr",23),a.ɵɵtext(11,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,2,"details")),a.ɵɵadvance(7),a.ɵɵproperty("ngForOf",n.subscription.items)}}function j(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",14),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",15),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"dl"),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"dt"),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"dd"),a.ɵɵtext(11),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,B,23,15,"ng-container",1),a.ɵɵtext(14,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(15,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(16,"\n "),a.ɵɵtemplate(17,V,14,4,"div",16),a.ɵɵtext(18,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(7),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(8,4,"billingPlan")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(n.sub.plan.name),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",n.subscription)}}function R(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",27),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",28),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"button",29),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!1)}),a.ɵɵpipe(5,"i18n"),a.ɵɵelementStart(6,"span",30),a.ɵɵtext(7,"×"),a.ɵɵelementEnd(),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementStart(9,"h3",31),a.ɵɵtext(10),a.ɵɵpipe(11,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementStart(13,"app-update-license",32),a.ɵɵlistener("onUpdated",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!1)}),a.ɵɵelementEnd(),a.ɵɵtext(14,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(15,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(5,3,"cancel")),a.ɵɵadvance(6),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(11,5,"updateLicense")),a.ɵɵadvance(3),a.ɵɵproperty("organizationId",r.organizationId)}}function U(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div"),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(2).updateLicense()}),a.ɵɵtext(5),a.ɵɵpipe(6,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"a",25),a.ɵɵtext(9),a.ɵɵpipe(10,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(11,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,R,16,7,"div",26),a.ɵɵtext(14,"\n "),a.ɵɵelementContainerEnd()}if(2&e){var r=a.ɵɵnextContext(2);a.ɵɵadvance(5),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(6,3,"updateLicense"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(10,5,"manageSubscription"),"\n "),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",r.showUpdateLicense)}}function F(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).changePlan()}),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"changeBillingPlan"),"\n "))}function N(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",42),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).downloadLicense()}),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵproperty("disabled",r.showDownloadLicense),a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,2,"downloadLicense"),"\n ")}}function z(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",43,44),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).cancel()}),a.ɵɵtext(2,"\n "),a.ɵɵelement(3,"i",10),a.ɵɵpipe(4,"i18n"),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"span"),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵreference(1),i=a.ɵɵnextContext(3);a.ɵɵproperty("appApiAction",i.cancelPromise)("disabled",r.loading),a.ɵɵadvance(3),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(4,4,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(8,6,"cancelSubscription"))}}function L(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-change-plan",45),a.ɵɵlistener("onChanged",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeChangePlan(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeChangePlan(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵproperty("organizationId",r.organizationId)}}function G(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",46),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"app-download-license",47),a.ɵɵlistener("onDownloaded",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeDownloadLicense()})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeDownloadLicense()}),a.ɵɵelementEnd(),a.ɵɵtext(3,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵadvance(2),a.ɵɵproperty("organizationId",r.organizationId)}}function K(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",33),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustSeats(!0)}),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"button",50),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustSeats(!1)}),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(3),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(4,2,"addSeats"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(8,4,"removeSeats"),"\n "))}function q(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-adjust-seats",51),a.ɵɵlistener("onAdjusted",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeSeats(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeSeats(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(4);a.ɵɵproperty("seatPrice",r.seatPrice)("add",r.adjustSeatsAdd)("organizationId",r.organizationId)("interval",r.billingInterval)}}function H(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",46),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,K,10,6,"div",48),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,q,1,4,"app-adjust-seats",49),a.ɵɵtext(7,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showAdjustSeats),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showAdjustSeats)}}function W(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",33),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustStorage(!0)}),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"button",50),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustStorage(!1)}),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(3),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(4,2,"addStorage"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(8,4,"removeStorage"),"\n "))}function $(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-adjust-storage",53),a.ɵɵlistener("onAdjusted",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeStorage(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeStorage(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(4);a.ɵɵproperty("storageGbPrice",r.storageGbPrice)("add",r.adjustStorageAdd)("organizationId",r.organizationId)("interval",r.billingInterval)}}function Y(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",46),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,W,10,6,"div",48),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,$,1,4,"app-adjust-storage",52),a.ɵɵtext(7,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showAdjustStorage),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showAdjustStorage)}}var Q=function(e){return{width:e}};function J(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",33),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,F,3,3,"button",34),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,N,3,4,"button",35),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,z,10,8,"button",36),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(10,"\n "),a.ɵɵtemplate(11,L,1,1,"app-change-plan",37),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,G,4,1,"div",38),a.ɵɵtext(14,"\n "),a.ɵɵelementStart(15,"h2",39),a.ɵɵtext(16),a.ɵɵpipe(17,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(18,"\n "),a.ɵɵelementStart(19,"p"),a.ɵɵtext(20),a.ɵɵpipe(21,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(22,"\n "),a.ɵɵtemplate(23,H,9,2,"ng-container",1),a.ɵɵtext(24,"\n "),a.ɵɵelementStart(25,"h2",39),a.ɵɵtext(26),a.ɵɵpipe(27,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(28,"\n "),a.ɵɵelementStart(29,"p"),a.ɵɵtext(30),a.ɵɵpipe(31,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(32,"\n "),a.ɵɵelementStart(33,"div",40),a.ɵɵtext(34,"\n "),a.ɵɵelementStart(35,"div",41),a.ɵɵtext(36),a.ɵɵpipe(37,"percent"),a.ɵɵelementEnd(),a.ɵɵtext(38,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(39,"\n "),a.ɵɵtemplate(40,Y,9,2,"ng-container",1),a.ɵɵtext(41,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showChangePlan),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.canDownloadLicense),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),a.ɵɵadvance(3),a.ɵɵproperty("ngIf",n.showChangePlan),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showDownloadLicense),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(17,14,"userSeats")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind2(21,16,"subscriptionUserSeats",n.sub.seats)),a.ɵɵadvance(3),a.ɵɵproperty("ngIf",n.subscription&&n.canAdjustSeats&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(27,19,"storage")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind3(31,21,"subscriptionStorage",n.sub.maxStorageGb||0,n.sub.storageName||"0 MB")),a.ɵɵadvance(5),a.ɵɵproperty("ngStyle",a.ɵɵpureFunction1(27,Q,n.storageProgressWidth+"%")),a.ɵɵattribute("aria-valuenow",n.storagePercentage),a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(37,25,n.storagePercentage/100),""),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel)}}function X(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵtemplate(2,P,4,6,"app-callout",5),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,k,18,14,"app-callout",5),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,T,17,9,"dl",1),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,j,19,6,"div",6),a.ɵɵtext(9,"\n "),a.ɵɵtemplate(10,U,15,7,"ng-container",1),a.ɵɵtext(11,"\n "),a.ɵɵtemplate(12,J,42,29,"ng-container",1),a.ɵɵtext(13,"\n"),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext();a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription&&n.subscription.cancelled),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!n.selfHosted)}}var Z=function(){function e(e,t,n,r,i,o,a){this.apiService=e,this.platformUtilsService=t,this.i18nService=n,this.analytics=r,this.toasterService=i,this.messagingService=o,this.route=a,this.loading=!1,this.firstLoaded=!1,this.adjustSeatsAdd=!0,this.showAdjustSeats=!1,this.adjustStorageAdd=!0,this.showAdjustStorage=!1,this.showUpdateLicense=!1,this.showDownloadLicense=!1,this.showChangePlan=!1,this.selfHosted=!1,this.selfHosted=t.isSelfHost()}return e.prototype.ngOnInit=function(){return r(this,void 0,void 0,function(){var e=this;return i(this,function(t){return this.route.parent.parent.params.subscribe(function(t){return r(e,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.organizationId=t.organizationId,[4,this.load()];case 1:return e.sent(),this.firstLoaded=!0,[2]}})})}),[2]})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.loading?[2]:(this.loading=!0,e=this,[4,this.apiService.getOrganizationSubscription(this.organizationId)]);case 1:return e.sub=t.sent(),this.loading=!1,[2]}})})},e.prototype.reinstate=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("reinstateConfirmation"),this.i18nService.t("reinstateSubscription"),this.i18nService.t("yes"),this.i18nService.t("cancel"))];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.reinstatePromise=this.apiService.postOrganizationReinstate(this.organizationId),[4,this.reinstatePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Reinstated Plan"}),this.toasterService.popAsync("success",null,this.i18nService.t("reinstated")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.cancel=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("cancelConfirmation"),this.i18nService.t("cancelSubscription"),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.cancelPromise=this.apiService.postOrganizationCancel(this.organizationId),[4,this.cancelPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Canceled Plan"}),this.toasterService.popAsync("success",null,this.i18nService.t("canceledSubscription")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.changePlan=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null==this.subscription&&this.sub.planType===o.PlanType.Free?(this.showChangePlan=!this.showChangePlan,[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("changeBillingPlanDesc"),this.i18nService.t("changeBillingPlan"),this.i18nService.t("contactSupport"),this.i18nService.t("close"))];case 1:return e.sent()&&this.platformUtilsService.launchUri("https://bitwarden.com/contact"),[2]}})})},e.prototype.closeChangePlan=function(e){this.showChangePlan=!1},e.prototype.downloadLicense=function(){this.showDownloadLicense=!this.showDownloadLicense},e.prototype.closeDownloadLicense=function(){this.showDownloadLicense=!1},e.prototype.updateLicense=function(){this.loading||(this.showUpdateLicense=!0)},e.prototype.closeUpdateLicense=function(e){this.showUpdateLicense=!1,e&&(this.load(),this.messagingService.send("updatedOrgLicense"))},e.prototype.adjustSeats=function(e){this.adjustSeatsAdd=e,this.showAdjustSeats=!0},e.prototype.closeSeats=function(e){this.showAdjustSeats=!1,e&&this.load()},e.prototype.adjustStorage=function(e){this.adjustStorageAdd=e,this.showAdjustStorage=!0},e.prototype.closeStorage=function(e){this.showAdjustStorage=!1,e&&this.load()},Object.defineProperty(e.prototype,"isExpired",{get:function(){return null!=this.sub&&null!=this.sub.expiration&&new Date(this.sub.expiration)0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]

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

"+this.code+'

'+new Date+"

"),e.onafterprint=function(){return e.close()},e.print()},e.prototype.formatString=function(e){return null==e?null:e.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},e.prototype.processResponse=function(e){this.code=this.formatString(e.code)},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(o.I18nService))},e.ɵcmp=i.ɵɵdefineComponent({type:e,selectors:[["app-two-factor-recovery"]],decls:31,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","2faRecoveryTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],[1,"modal-content"],[1,"modal-header"],["id","2faRecoveryTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[3,"organizationId","type","onAuthed",4,"ngIf"],[4,"ngIf"],[3,"organizationId","type","onAuthed"],[1,"modal-body","text-center"],[1,"modal-footer"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-lg"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(e,t){1&e&&(i.ɵɵelementStart(0,"div",0),i.ɵɵtext(1,"\n "),i.ɵɵelementStart(2,"div",1),i.ɵɵtext(3,"\n "),i.ɵɵelementStart(4,"div",2),i.ɵɵtext(5,"\n "),i.ɵɵelementStart(6,"div",3),i.ɵɵtext(7,"\n "),i.ɵɵelementStart(8,"h2",4),i.ɵɵtext(9),i.ɵɵpipe(10,"i18n"),i.ɵɵelementStart(11,"small"),i.ɵɵtext(12),i.ɵɵpipe(13,"i18n"),i.ɵɵelementEnd(),i.ɵɵtext(14,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(15,"\n "),i.ɵɵelementStart(16,"button",5),i.ɵɵpipe(17,"i18n"),i.ɵɵtext(18,"\n "),i.ɵɵelementStart(19,"span",6),i.ɵɵtext(20,"×"),i.ɵɵelementEnd(),i.ɵɵtext(21,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(22,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(23,"\n "),i.ɵɵtemplate(24,p,2,2,"app-two-factor-verify",7),i.ɵɵtext(25,"\n "),i.ɵɵtemplate(26,h,18,6,"ng-container",8),i.ɵɵtext(27,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(28,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(29,"\n"),i.ɵɵelementEnd(),i.ɵɵtext(30,"\n")),2&e&&(i.ɵɵadvance(9),i.ɵɵtextInterpolate1("\n ",i.ɵɵpipeBind1(10,5,"twoStepLogin"),"\n "),i.ɵɵadvance(3),i.ɵɵtextInterpolate(i.ɵɵpipeBind1(13,7,"recoveryCodeTitle")),i.ɵɵadvance(4),i.ɵɵpropertyInterpolate("appA11yTitle",i.ɵɵpipeBind1(17,9,"close")),i.ɵɵadvance(8),i.ɵɵproperty("ngIf",!t.authed),i.ɵɵadvance(2),i.ɵɵproperty("ngIf",t.authed))},directives:[a.A11yTitleDirective,s.NgIf,l.TwoFactorVerifyComponent],pipes:[c.I18nPipe],encapsulation:2}),e}();t.TwoFactorRecoveryComponent=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&n.configured)}}function j(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",41),d.ɵɵtext(3,"\n "),d.ɵɵelementContainerEnd())}function R(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",41),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fWaiting"),"...\n "))}function U(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",42),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fClickSave"),"\n "))}function F(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",43),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fProblemReadingTryAgain"),"\n "))}function N(e,t){if(1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵtemplate(2,R,5,3,"ng-container",25),d.ɵɵtext(3,"\n "),d.ɵɵtemplate(4,U,5,3,"ng-container",25),d.ɵɵtext(5,"\n "),d.ɵɵtemplate(6,F,5,3,"ng-container",25),d.ɵɵtext(7,"\n "),d.ɵɵelementContainerEnd()),2&e){var n=d.ɵɵnextContext(2);d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fListening),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fResponse),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fError)}}function z(e,t){1&e&&(d.ɵɵelement(0,"i",44),d.ɵɵpipe(1,"i18n")),2&e&&d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(1,1,"loading"))}function L(e,t){1&e&&(d.ɵɵelementStart(0,"span"),d.ɵɵtext(1),d.ɵɵpipe(2,"i18n"),d.ɵɵelementEnd()),2&e&&(d.ɵɵadvance(1),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(2,1,"save")))}function G(e,t){if(1&e){var n=d.ɵɵgetCurrentView();d.ɵɵelementStart(0,"button",45,46),d.ɵɵlistener("click",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext(2).disable()}),d.ɵɵtext(2,"\n "),d.ɵɵelement(3,"i",44),d.ɵɵpipe(4,"i18n"),d.ɵɵtext(5,"\n "),d.ɵɵelementStart(6,"span"),d.ɵɵtext(7),d.ɵɵpipe(8,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(9,"\n "),d.ɵɵelementEnd()}if(2&e){var r=d.ɵɵreference(1),i=d.ɵɵnextContext(2);d.ɵɵproperty("appApiAction",i.disablePromise)("disabled",r.loading),d.ɵɵadvance(3),d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(4,4,"loading")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(8,6,"disableAllKeys"))}}function K(e,t){if(1&e){var n=d.ɵɵgetCurrentView();d.ɵɵelementStart(0,"form",10,11),d.ɵɵlistener("ngSubmit",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext().submit()}),d.ɵɵtext(2,"\n "),d.ɵɵelementStart(3,"div",12),d.ɵɵtext(4,"\n "),d.ɵɵtemplate(5,k,4,6,"app-callout",13),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"app-callout",14),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"p"),d.ɵɵtext(10),d.ɵɵpipe(11,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(12,"\n "),d.ɵɵelementStart(13,"ul",15),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"li"),d.ɵɵtext(16),d.ɵɵpipe(17,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelement(21,"img",16),d.ɵɵtext(22,"\n "),d.ɵɵelementStart(23,"ul",17),d.ɵɵtext(24,"\n "),d.ɵɵtemplate(25,V,13,5,"li",18),d.ɵɵtext(26,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(27,"\n "),d.ɵɵelement(28,"hr"),d.ɵɵtext(29,"\n "),d.ɵɵelementStart(30,"p"),d.ɵɵtext(31),d.ɵɵpipe(32,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementStart(34,"ol"),d.ɵɵtext(35,"\n "),d.ɵɵelementStart(36,"li"),d.ɵɵtext(37),d.ɵɵpipe(38,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(39,"\n "),d.ɵɵelementStart(40,"li"),d.ɵɵtext(41),d.ɵɵpipe(42,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(43,"\n "),d.ɵɵelementStart(44,"li"),d.ɵɵtext(45),d.ɵɵpipe(46,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(47,"\n "),d.ɵɵelementStart(48,"li"),d.ɵɵtext(49),d.ɵɵpipe(50,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(51,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(52,"\n "),d.ɵɵelementStart(53,"div",19),d.ɵɵtext(54,"\n "),d.ɵɵelementStart(55,"div",20),d.ɵɵtext(56,"\n "),d.ɵɵelementStart(57,"label",21),d.ɵɵtext(58),d.ɵɵpipe(59,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(60,"\n "),d.ɵɵelementStart(61,"input",22),d.ɵɵlistener("ngModelChange",function(e){return d.ɵɵrestoreView(n),d.ɵɵnextContext().name=e}),d.ɵɵelementEnd(),d.ɵɵtext(62,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(63,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(64,"\n "),d.ɵɵelementStart(65,"button",23,24),d.ɵɵlistener("click",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext().readKey()}),d.ɵɵtext(67),d.ɵɵpipe(68,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(69,"\n "),d.ɵɵtemplate(70,j,4,0,"ng-container",25),d.ɵɵtext(71,"\n "),d.ɵɵtemplate(72,N,8,3,"ng-container",25),d.ɵɵtext(73,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(74,"\n "),d.ɵɵelementStart(75,"div",26),d.ɵɵtext(76,"\n "),d.ɵɵelementStart(77,"button",27),d.ɵɵtext(78,"\n "),d.ɵɵtemplate(79,z,2,3,"i",28),d.ɵɵtext(80,"\n "),d.ɵɵtemplate(81,L,3,3,"span",25),d.ɵɵtext(82,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(83,"\n "),d.ɵɵtemplate(84,G,10,8,"button",29),d.ɵɵtext(85,"\n "),d.ɵɵelementStart(86,"button",30),d.ɵɵtext(87),d.ɵɵpipe(88,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(89,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(90,"\n "),d.ɵɵelementEnd()}if(2&e){var r=d.ɵɵreference(1),i=d.ɵɵreference(66),o=d.ɵɵnextContext();d.ɵɵproperty("appApiAction",o.formPromise),d.ɵɵadvance(5),d.ɵɵproperty("ngIf",o.enabled),d.ɵɵadvance(5),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(11,23,"twoFactorU2fWarning")),d.ɵɵadvance(6),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(17,25,"twoFactorU2fSupportWeb")),d.ɵɵadvance(9),d.ɵɵproperty("ngForOf",o.keys),d.ɵɵadvance(6),d.ɵɵtextInterpolate1("",d.ɵɵpipeBind1(32,27,"twoFactorU2fAdd"),":"),d.ɵɵadvance(6),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(38,29,"twoFactorU2fGiveName")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(42,31,"twoFactorU2fPlugInReadKey")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(46,33,"twoFactorU2fTouchButton")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(50,35,"twoFactorU2fSaveForm")),d.ɵɵadvance(9),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(59,37,"name")),d.ɵɵadvance(3),d.ɵɵproperty("ngModel",o.name)("disabled",!o.keyIdAvailable),d.ɵɵadvance(4),d.ɵɵproperty("disabled",i.loading||o.u2fListening||!o.keyIdAvailable)("appApiAction",o.challengePromise),d.ɵɵadvance(2),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(68,39,"readKey"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",i.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!i.loading),d.ɵɵadvance(5),d.ɵɵproperty("disabled",r.loading||!o.u2fResponse),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",r.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!r.loading),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",o.enabled),d.ɵɵadvance(3),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(88,41,"close"))}}var q=function(e){function t(t,n,r,i,o,a){var l=e.call(this,t,n,r,i,o)||this;return l.ngZone=a,l.type=s.TwoFactorProviderType.U2f,l.keyIdAvailable=null,l.keysConfiguredCount=0,l.u2fScript=window.document.createElement("script"),l.u2fScript.src="scripts/u2f.js",l.u2fScript.async=!0,l}return i(t,e),t.prototype.ngOnInit=function(){window.document.body.appendChild(this.u2fScript)},t.prototype.ngOnDestroy=function(){window.document.body.removeChild(this.u2fScript)},t.prototype.auth=function(t){e.prototype.auth.call(this,t),this.processResponse(t.response)},t.prototype.submit=function(){var t=this;if(null==this.u2fResponse||null==this.keyIdAvailable)return Promise.reject();var n=new p.UpdateTwoFactorU2fRequest;return n.masterPasswordHash=this.masterPasswordHash,n.deviceResponse=this.u2fResponse,n.id=this.keyIdAvailable,n.name=this.name,e.prototype.enable.call(this,function(){return o(t,void 0,void 0,function(){var e;return a(this,function(t){switch(t.label){case 0:return this.formPromise=this.apiService.putTwoFactorU2f(n),[4,this.formPromise];case 1:return e=t.sent(),[4,this.processResponse(e)];case 2:return t.sent(),[2]}})})})},t.prototype.disable=function(){return e.prototype.disable.call(this,this.formPromise)},t.prototype.remove=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return this.keysConfiguredCount<=1||null!=e.removePromise?[2]:(t=null!=e.name?e.name:this.i18nService.t("u2fkeyX",e.id),[4,this.platformUtilsService.showDialog(this.i18nService.t("removeU2fConfirmation"),t,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]);case 1:if(!i.sent())return[2];(n=new c.UpdateTwoFactorU2fDeleteRequest).id=e.id,n.masterPasswordHash=this.masterPasswordHash,i.label=2;case 2:return i.trys.push([2,5,,6]),e.removePromise=this.apiService.deleteTwoFactorU2f(n),[4,e.removePromise];case 3:return r=i.sent(),e.removePromise=null,[4,this.processResponse(r)];case 4:return i.sent(),[3,6];case 5:return i.sent(),[3,6];case 6:return[2]}})})},t.prototype.readKey=function(){return o(this,void 0,void 0,function(){var e,t;return a(this,function(n){switch(n.label){case 0:if(null==this.keyIdAvailable)return[2];(e=new l.PasswordVerificationRequest).masterPasswordHash=this.masterPasswordHash,n.label=1;case 1:return n.trys.push([1,3,,4]),this.challengePromise=this.apiService.getTwoFactorU2fChallenge(e),[4,this.challengePromise];case 2:return t=n.sent(),this.readDevice(t),[3,4];case 3:return n.sent(),[3,4];case 4:return[2]}})})},t.prototype.readDevice=function(e){var t=this;console.log("listening for key..."),this.resetU2f(!0),window.u2f.register(e.appId,[{version:e.version,challenge:e.challenge}],[],function(e){t.ngZone.run(function(){if(t.u2fListening=!1,e.errorCode)return t.u2fError=!0,void console.log("error: "+e.errorCode);t.u2fResponse=JSON.stringify(e)})},15)},t.prototype.resetU2f=function(e){void 0===e&&(e=!1),this.u2fResponse=null,this.u2fError=!1,this.u2fListening=e},t.prototype.processResponse=function(e){this.resetU2f(),this.keys=[],this.keyIdAvailable=null,this.name=null,this.keysConfiguredCount=0;for(var t=function(t){if(null!=e.keys){var r=e.keys.filter(function(e){return e.id===t});if(r.length>0)return n.keysConfiguredCount++,n.keys.push({id:t,name:r[0].name,configured:!0,compromised:r[0].compromised,removePromise:null}),"continue"}n.keys.push({id:t,name:null,configured:!1,compromised:!1,removePromise:null}),null==n.keyIdAvailable&&(n.keyIdAvailable=t)},n=this,r=1;r<=5;r++)t(r);this.enabled=e.enabled},t.ɵfac=function(e){return new(e||t)(d.ɵɵdirectiveInject(m.ApiService),d.ɵɵdirectiveInject(h.I18nService),d.ɵɵdirectiveInject(f.Angulartics2),d.ɵɵdirectiveInject(v.ToasterService),d.ɵɵdirectiveInject(y.PlatformUtilsService),d.ɵɵdirectiveInject(d.NgZone))},t.ɵcmp=d.ɵɵdefineComponent({type:t,selectors:[["app-two-factor-u2f"]],features:[d.ɵɵInheritDefinitionFeature],decls:30,vars:8,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","2faU2fTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],["id","2faU2fTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[3,"organizationId","type","onAuthed",4,"ngIf"],["ngNativeValidate","",3,"appApiAction","ngSubmit",4,"ngIf"],[3,"organizationId","type","onAuthed"],["ngNativeValidate","",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-body"],["type","success","icon","fa-check-circle",3,"title",4,"ngIf"],["type","warning"],[1,"mb-0"],["src","images/4.png","alt","",1,"float-right","ml-5"],[1,"fa-ul"],[3,"appApiAction",4,"ngFor","ngForOf"],[1,"row"],[1,"form-group","col-6"],["for","name"],["id","name","type","text","name","Name",1,"form-control",3,"ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-secondary","mr-2",3,"disabled","appApiAction","click"],["readKeyBtn",""],[4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fa fa-spinner fa-spin","aria-hidden","true",3,"title",4,"ngIf"],["type","button","class","btn btn-outline-secondary btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["type","success","icon","fa-check-circle",3,"title"],[3,"appApiAction"],["removeKeyBtn",""],[1,"fa-li","fa","fa-key"],["aria-hidden","true",1,"fa","fa-fw","fa-exclamation-triangle","text-warning",3,"title"],[1,"sr-only"],["aria-hidden","true",1,"fa","fa-fw","fa-check","text-success",3,"title"],["class","fa fa-spin fa-spinner text-muted fa-fw","aria-hidden","true",3,"title",4,"ngIf"],["href","#","appStopClick","",3,"click"],["aria-hidden","true",1,"fa","fa-spin","fa-spinner","text-muted","fa-fw",3,"title"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted"],["aria-hidden","true",1,"fa","fa-check-circle","text-success"],["aria-hidden","true",1,"fa","fa-warning","text-danger"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button",1,"btn","btn-outline-secondary","btn-submit",3,"appApiAction","disabled","click"],["disableBtn",""]],template:function(e,t){1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"div",2),d.ɵɵtext(5,"\n "),d.ɵɵelementStart(6,"div",3),d.ɵɵtext(7,"\n "),d.ɵɵelementStart(8,"h2",4),d.ɵɵtext(9),d.ɵɵpipe(10,"i18n"),d.ɵɵelementStart(11,"small"),d.ɵɵtext(12,"FIDO U2F"),d.ɵɵelementEnd(),d.ɵɵtext(13,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"button",5),d.ɵɵpipe(16,"i18n"),d.ɵɵtext(17,"\n "),d.ɵɵelementStart(18,"span",6),d.ɵɵtext(19,"×"),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(21,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(22,"\n "),d.ɵɵtemplate(23,P,2,2,"app-two-factor-verify",7),d.ɵɵtext(24,"\n "),d.ɵɵtemplate(25,K,91,43,"form",8),d.ɵɵtext(26,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(27,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(28,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(29,"\n")),2&e&&(d.ɵɵadvance(9),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(10,4,"twoStepLogin"),"\n "),d.ɵɵadvance(6),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(16,6,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",!t.authed),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",t.authed))},directives:[g.A11yTitleDirective,x.NgIf,b.TwoFactorVerifyComponent,S.NgControlStatusGroup,S.NgForm,w.ApiActionDirective,C.CalloutComponent,x.NgForOf,S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,I.StopClickDirective],pipes:[E.I18nPipe],encapsulation:2}),t}(u.TwoFactorBaseComponent);t.TwoFactorU2fComponent=q},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.keys[0].key:null,n.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,n.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,n.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,n.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,n.nfc=this.nfc,e.prototype.enable.call(this,function(){return o(t,void 0,void 0,function(){var e;return a(this,function(t){switch(t.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(n),[4,this.formPromise];case 1:return e=t.sent(),[4,this.processResponse(e)];case 2:return t.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},t.prototype.disable=function(){return e.prototype.disable.call(this,this.disablePromise)},t.prototype.remove=function(e){e.existingKey=null,e.key=null},t.prototype.processResponse=function(e){this.enabled=e.enabled,this.keys=[{key:e.key1,existingKey:this.padRight(e.key1)},{key:e.key2,existingKey:this.padRight(e.key2)},{key:e.key3,existingKey:this.padRight(e.key3)},{key:e.key4,existingKey:this.padRight(e.key4)},{key:e.key5,existingKey:this.padRight(e.key5)}],this.nfc=e.nfc||!e.enabled},t.prototype.padRight=function(e,t,n){if(void 0===t&&(t="•"),void 0===n&&(n=44),null==e||null==t||e.length>=n)return e;for(var r=(n-e.length)/t.length,i=0;i0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.viewEvents(n[0]),null!=o&&o.unsubscribe(),[2]}})})}),null!=t&&t.unsubscribe(),[2]}})})})},e.prototype.ngOnDestroy=function(){this.broadcasterService.unsubscribe("OrgVaultComponent")},e.prototype.clearGroupingFilters=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return e.sent(),this.clearFilters(),this.go(),[2]}})})},e.prototype.filterCipherType=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),n=function(t){return t.type===e},t?[4,this.ciphersComponent.reload(n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(n)];case 3:r.sent(),r.label=4;case 4:return this.clearFilters(),this.type=e,this.go(),[2]}})})},e.prototype.filterCollection=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),n=function(t){return"unassigned"===e?null==t.collectionIds||0===t.collectionIds.length:null!=t.collectionIds&&t.collectionIds.indexOf(e)>-1},t?[4,this.ciphersComponent.reload(n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(n)];case 3:r.sent(),r.label=4;case 4:return this.clearFilters(),this.collectionId=e,this.go(),[2]}})})},e.prototype.filterDeleted=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.ciphersComponent.deleted=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchTrash"),e?[4,this.ciphersComponent.reload(null,!0)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(null)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.deleted=!0,this.go(),[2]}})})},e.prototype.filterSearchText=function(e){this.ciphersComponent.searchText=e,this.ciphersComponent.search(200)},e.prototype.editCipherAttachments=function(e){var t=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(n).instance;var o=this.modal.show(c.AttachmentsComponent,this.attachmentsModalRef);o.organization=this.organization,o.cipherId=e.id;var s=!1;o.onUploadedAttachment.subscribe(function(){return s=!0}),o.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:e.sent(),e.label=2;case 2:return s=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:e.organizationId})},e.prototype.editCipherCollections=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.collectionsModalRef.createComponent(n).instance;var o=this.modal.show(u.CollectionsComponent,this.collectionsModalRef);this.organization.canManageAllCollections&&(o.collectionIds=e.collectionIds,o.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),o.organization=this.organization,o.cipherId=e.id,o.onSavedCollections.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.addCipher=function(){var e=this.editCipher(null);e.organizationId=this.organization.id,e.type=this.type,this.organization.canManageAllCollections&&(e.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),null!=this.collectionId&&(e.collectionIds=[this.collectionId])},e.prototype.editCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(n).instance;var o=this.modal.show(l.AddEditComponent,this.cipherAddEditModalRef);return o.organization=this.organization,o.cipherId=null==e?null:e.id,o.onSavedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onRestoredCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){t.modal=null}),o},e.prototype.cloneCipher=function(e){var t=this.editCipher(e);t.cloneMode=!0,t.organizationId=this.organization.id,this.organization.canManageAllCollections&&(t.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),t.collectionIds=e.collectionIds},e.prototype.viewEvents=function(e){return r(this,void 0,void 0,function(){var t,n,r=this;return i(this,function(i){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.eventsModalRef.createComponent(t).instance,(n=this.modal.show(s.EntityEventsComponent,this.eventsModalRef)).name=e.name,n.organizationId=this.organization.id,n.entityId=e.id,n.showUser=!0,n.entity="cipher",this.modal.onClosed.subscribe(function(){r.modal=null}),[2]})})},e.prototype.clearFilters=function(){this.collectionId=null,this.type=null,this.deleted=!1},e.prototype.go=function(e){void 0===e&&(e=null),null==e&&(e={type:this.type,collectionId:this.collectionId,deleted:!!this.deleted||null}),this.router.navigate([],{relativeTo:this.route,queryParams:e,replaceUrl:!0})},e.ɵfac=function(t){return new(t||e)(m.ɵɵdirectiveInject(h.ActivatedRoute),m.ɵɵdirectiveInject(f.UserService),m.ɵɵdirectiveInject(h.Router),m.ɵɵdirectiveInject(m.ChangeDetectorRef),m.ɵɵdirectiveInject(v.SyncService),m.ɵɵdirectiveInject(y.I18nService),m.ɵɵdirectiveInject(m.ComponentFactoryResolver),m.ɵɵdirectiveInject(g.MessagingService),m.ɵɵdirectiveInject(x.BroadcasterService),m.ɵɵdirectiveInject(m.NgZone))},e.ɵcmp=m.ɵɵdefineComponent({type:e,selectors:[["app-org-vault"]],viewQuery:function(e,t){var n;(1&e&&(m.ɵɵstaticViewQuery(d.GroupingsComponent,!0),m.ɵɵstaticViewQuery(p.CiphersComponent,!0),m.ɵɵstaticViewQuery(P,!0,o.ViewContainerRef),m.ɵɵstaticViewQuery(k,!0,o.ViewContainerRef),m.ɵɵstaticViewQuery(_,!0,o.ViewContainerRef),m.ɵɵstaticViewQuery(A,!0,o.ViewContainerRef)),2&e)&&(m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.groupingsComponent=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.ciphersComponent=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.attachmentsModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.cipherAddEditModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.collectionsModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.eventsModalRef=n.first))},decls:51,vars:13,consts:[[1,"container","page-content"],[1,"row"],[1,"col-3"],[3,"showFolders","showFavorites","showTrash","onAllClicked","onCipherTypeClicked","onCollectionClicked","onSearchTextChanged","onTrashClicked"],[1,"col-9"],[1,"page-header","d-flex"],[3,"appApiAction"],["actionSpinner",""],[4,"ngIf"],[1,"ml-auto","d-flex"],[3,"ciphersComponent","modal","deleted","organization"],["type","button","class","btn btn-outline-primary btn-sm ml-auto",3,"click",4,"ngIf"],[3,"onCipherClicked","onAttachmentsClicked","onAddCipher","onCollectionsClicked","onEventsClicked","onCloneClicked"],["attachments",""],["cipherAddEdit",""],["collections",""],["eventsTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","button",1,"btn","btn-outline-primary","btn-sm","ml-auto",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"]],template:function(e,t){if(1&e&&(m.ɵɵelementStart(0,"div",0),m.ɵɵtext(1,"\n "),m.ɵɵelementStart(2,"div",1),m.ɵɵtext(3,"\n "),m.ɵɵelementStart(4,"div",2),m.ɵɵtext(5,"\n "),m.ɵɵelementStart(6,"app-org-vault-groupings",3),m.ɵɵlistener("onAllClicked",function(){return t.clearGroupingFilters()})("onCipherTypeClicked",function(e){return t.filterCipherType(e)})("onCollectionClicked",function(e){return t.filterCollection(e.id)})("onSearchTextChanged",function(e){return t.filterSearchText(e)})("onTrashClicked",function(){return t.filterDeleted()}),m.ɵɵtext(7,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(8,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(9,"\n "),m.ɵɵelementStart(10,"div",4),m.ɵɵtext(11,"\n "),m.ɵɵelementStart(12,"div",5),m.ɵɵtext(13,"\n "),m.ɵɵelementStart(14,"h1"),m.ɵɵtext(15),m.ɵɵpipe(16,"i18n"),m.ɵɵelementStart(17,"small",6,7),m.ɵɵtext(19,"\n "),m.ɵɵtemplate(20,O,9,6,"ng-container",8),m.ɵɵtext(21,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(22,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(23,"\n "),m.ɵɵelementStart(24,"div",9),m.ɵɵtext(25,"\n "),m.ɵɵelementStart(26,"app-vault-bulk-actions",10),m.ɵɵtext(27,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(28,"\n "),m.ɵɵtemplate(29,T,5,3,"button",11),m.ɵɵtext(30,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(31,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(32,"\n "),m.ɵɵelementStart(33,"app-org-vault-ciphers",12),m.ɵɵlistener("onCipherClicked",function(e){return t.editCipher(e)})("onAttachmentsClicked",function(e){return t.editCipherAttachments(e)})("onAddCipher",function(){return t.addCipher()})("onCollectionsClicked",function(e){return t.editCipherCollections(e)})("onEventsClicked",function(e){return t.viewEvents(e)})("onCloneClicked",function(e){return t.cloneCipher(e)}),m.ɵɵtext(34,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(35,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(36,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(37,"\n"),m.ɵɵelementEnd(),m.ɵɵtext(38,"\n"),m.ɵɵtemplate(39,M,0,0,"ng-template",null,13,m.ɵɵtemplateRefExtractor),m.ɵɵtext(41,"\n"),m.ɵɵtemplate(42,B,0,0,"ng-template",null,14,m.ɵɵtemplateRefExtractor),m.ɵɵtext(44,"\n"),m.ɵɵtemplate(45,D,0,0,"ng-template",null,15,m.ɵɵtemplateRefExtractor),m.ɵɵtext(47,"\n"),m.ɵɵtemplate(48,V,0,0,"ng-template",null,16,m.ɵɵtemplateRefExtractor),m.ɵɵtext(50,"\n")),2&e){var n=m.ɵɵreference(18);m.ɵɵadvance(6),m.ɵɵproperty("showFolders",!1)("showFavorites",!1)("showTrash",!0),m.ɵɵadvance(9),m.ɵɵtextInterpolate1("\n ",m.ɵɵpipeBind1(16,11,"vault"),"\n "),m.ɵɵadvance(2),m.ɵɵproperty("appApiAction",t.ciphersComponent.actionPromise),m.ɵɵadvance(3),m.ɵɵproperty("ngIf",n.loading),m.ɵɵadvance(6),m.ɵɵproperty("ciphersComponent",t.ciphersComponent)("modal",t.modal)("deleted",t.deleted)("organization",t.organization),m.ɵɵadvance(3),m.ɵɵproperty("ngIf",!t.deleted)}},directives:[b.GroupingsComponent,S.ApiActionDirective,w.NgIf,C.BulkActionsComponent,I.CiphersComponent],pipes:[E.I18nPipe],encapsulation:2}),e}();t.VaultComponent=j},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},e.prototype.ngOnDestroy=function(){this.selectAll(!1)},e.prototype.filterCollections=function(){var e=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(t){return t.organizationId===e.organizationId})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:e=this.collections.filter(function(e){return e.checked}).map(function(e){return e.id}),t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,e),[4,this.formPromise];case 2:return t.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t},e.prototype.selectAll=function(e){var t=this;(e?this.collections:this.writeableCollections).forEach(function(n){return t.check(n,e)})},Object.defineProperty(e.prototype,"canSave",{get:function(){if(null!=this.shareableCiphers&&this.shareableCiphers.length>0&&null!=this.collections)for(var e=0;e0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2]}return this.editMode||(r=new Date,this.deletionDateSelect>0&&((o=new Date).setHours(r.getHours()+this.deletionDateSelect),this.deletionDate=this.dateToString(o)),null!=this.expirationDateSelect&&this.expirationDateSelect>0&&((o=new Date).setHours(r.getHours()+this.expirationDateSelect),this.expirationDate=this.dateToString(o))),[4,this.encryptSend(e)];case 1:a=i.sent(),i.label=2;case 2:return i.trys.push([2,4,,5]),this.formPromise=this.sendService.saveWithServer(a),[4,this.formPromise];case 3:return i.sent(),this.send.id=a[0].id,this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode?"editedSend":"createdSend")),this.onSavedSend.emit(this.send),[2,!0];case 4:return i.sent(),[3,5];case 5:return[2,!1]}})})},e.prototype.clearExpiration=function(){this.expirationDate=null},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null!=this.deletePromise?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteSendConfirmation"),this.i18nService.t("deleteSend"),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,5,,6]),this.deletePromise=this.sendService.deleteWithServer(this.send.id),[4,this.deletePromise];case 3:return e.sent(),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedSend")),[4,this.load()];case 4:return e.sent(),this.onDeletedSend.emit(this.send),[3,6];case 5:return e.sent(),[3,6];case 6:return[2]}})})},e.prototype.typeChanged=function(){this.canAccessPremium||this.send.type!==s.SendType.File||this.premiumRequiredAlertShown||(this.premiumRequiredAlertShown=!0,this.messagingService.send("premiumRequired"))},e.prototype.loadSend=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return[2,this.sendService.get(this.sendId)]})})},e.prototype.encryptSend=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.sendService.encrypt(this.send,e,this.password,null)];case 1:t=n.sent();try{t[0].deletionDate=null==this.deletionDate?null:new Date(this.deletionDate)}catch(r){t[0].deletionDate=null}try{t[0].expirationDate=null==this.expirationDate?null:new Date(this.expirationDate)}catch(i){t[0].expirationDate=null}return[2,t]}})})},e.prototype.dateToString=function(e){return null==e?null:this.datePipe.transform(e,"yyyy-MM-ddTHH:mm")},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.I18nService),u.ɵɵdirectiveInject(m.PlatformUtilsService),u.ɵɵdirectiveInject(h.EnvironmentService),u.ɵɵdirectiveInject(f.DatePipe),u.ɵɵdirectiveInject(v.SendService),u.ɵɵdirectiveInject(y.UserService),u.ɵɵdirectiveInject(g.MessagingService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-send-add-edit"]],inputs:{sendId:"sendId",type:"type"},outputs:{onSavedSend:"onSavedSend",onDeletedSend:"onDeletedSend",onCancelled:"onCancelled"},decls:44,vars:17,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","sendAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","sendAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],[4,"ngIf"],[1,"mt-5"],["for","deletionDate"],[1,"form-text","text-muted","small"],[1,"d-flex"],["for","expirationDate"],["href","#","appStopClick","","class","ml-auto",3,"click",4,"ngIf"],["for","maxAccessCount"],["id","maxAccessCount","type","number","name","MaxAccessCount","min","1",1,"form-control",3,"ngModel","ngModelChange"],["class","col-6 form-group",4,"ngIf"],["for","password",4,"ngIf"],["id","password","type","password","name","Password",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-check"],["type","checkbox","id","disabled","name","Disabled",1,"form-check-input",3,"ngModel","ngModelChange"],["for","disabled",1,"form-check-label"],["class","mt-5",4,"ngIf"],["class","form-group",4,"ngIf"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","ngModelChange","change"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","text"],["id","text","name","Text.Text","rows","6",1,"form-control",3,"ngModel","ngModelChange"],["type","checkbox","id","text-hidden","name","Text.Hidden",1,"form-check-input",3,"ngModel","ngModelChange"],["for","text-hidden",1,"form-check-label"],[1,"d-block"],["for","file"],["type","file","id","file","name","file","required","",1,"form-control-file"],[1,"form-text","text-muted"],["id","deletionDate","name","DeletionDateSelect","required","",1,"form-control",3,"ngModel","ngModelChange"],["id","deletionDateCustom","class","form-control mt-1","type","datetime-local","name","DeletionDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",3,"ngModel","ngModelChange",4,"ngIf"],["id","deletionDateCustom","type","datetime-local","name","DeletionDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control","mt-1",3,"ngModel","ngModelChange"],["id","deletionDate","type","datetime-local","name","DeletionDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control",3,"ngModel","ngModelChange"],["href","#","appStopClick","",1,"ml-auto",3,"click"],["id","expirationDate","name","ExpirationDateSelect","required","",1,"form-control",3,"ngModel","ngModelChange"],["id","expirationDateCustom","class","form-control mt-1","type","datetime-local","name","ExpirationDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",3,"ngModel","ngModelChange",4,"ngIf"],["id","expirationDateCustom","type","datetime-local","name","ExpirationDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control","mt-1",3,"ngModel","ngModelChange"],["id","expirationDate","type","datetime-local","name","ExpirationDate","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control",3,"ngModel","ngModelChange"],["for","accessCount"],["id","accessCount","type","number","name","AccessCount","readonly","",1,"form-control",3,"ngModel","ngModelChange"],["for","password"],["for","link"],["type","text","readonly","","id","link","name","Link",1,"form-control",3,"ngModel","ngModelChange"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"div",1),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"form",2,3),u.ɵɵlistener("ngSubmit",function(){return t.submit()}),u.ɵɵtext(6,"\n "),u.ɵɵelementStart(7,"div",4),u.ɵɵtext(8,"\n "),u.ɵɵelementStart(9,"h2",5),u.ɵɵtext(10),u.ɵɵelementEnd(),u.ɵɵtext(11,"\n "),u.ɵɵelementStart(12,"button",6),u.ɵɵpipe(13,"i18n"),u.ɵɵtext(14,"\n "),u.ɵɵelementStart(15,"span",7),u.ɵɵtext(16,"×"),u.ɵɵelementEnd(),u.ɵɵtext(17,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(18,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(19,"\n "),u.ɵɵtemplate(20,q,127,54,"div",8),u.ɵɵtext(21,"\n "),u.ɵɵelementStart(22,"div",9),u.ɵɵtext(23,"\n "),u.ɵɵelementStart(24,"button",10),u.ɵɵtext(25,"\n "),u.ɵɵelement(26,"i",11),u.ɵɵpipe(27,"i18n"),u.ɵɵtext(28,"\n "),u.ɵɵelementStart(29,"span"),u.ɵɵtext(30),u.ɵɵpipe(31,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(32,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(33,"\n "),u.ɵɵelementStart(34,"button",12),u.ɵɵtext(35),u.ɵɵpipe(36,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(37,"\n "),u.ɵɵtemplate(38,W,4,1,"div",13),u.ɵɵtext(39,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(40,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(41,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(42,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(43,"\n")),2&e){var n=u.ɵɵreference(5);u.ɵɵadvance(4),u.ɵɵproperty("appApiAction",t.formPromise),u.ɵɵadvance(6),u.ɵɵtextInterpolate(t.title),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(13,9,"close")),u.ɵɵadvance(8),u.ɵɵproperty("ngIf",t.send),u.ɵɵadvance(4),u.ɵɵproperty("disabled",n.loading),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("title",u.ɵɵpipeBind1(27,11,"loading")),u.ɵɵadvance(4),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(31,13,"save")),u.ɵɵadvance(5),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(36,15,"cancel"),"\n "),u.ɵɵadvance(3),u.ɵɵproperty("ngIf",t.send)}},directives:[x.NgControlStatusGroup,x.NgForm,b.ApiActionDirective,S.A11yTitleDirective,f.NgIf,x.DefaultValueAccessor,x.RequiredValidator,x.NgControlStatus,x.NgModel,x.NumberValueAccessor,x.CheckboxControlValueAccessor,x.SelectControlValueAccessor,w.AutofocusDirective,f.NgForOf,x.NgSelectOption,x.ɵangular_packages_forms_forms_x,C.StopClickDirective],pipes:[I.I18nPipe],encapsulation:2}),e}();t.AddEditComponent=$},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(34),i=n(292),o=n(293),a=function(){function e(e){this.id=null,this.accessId=null,this.name=null,this.notes=null,this.type=null,this.text=new o.SendTextView,this.file=new i.SendFileView,this.maxAccessCount=null,this.accessCount=0,this.revisionDate=null,this.deletionDate=null,this.expirationDate=null,this.password=null,this.disabled=!1,e&&(this.id=e.id,this.accessId=e.accessId,this.type=e.type,this.maxAccessCount=e.maxAccessCount,this.accessCount=e.accessCount,this.revisionDate=e.revisionDate,this.deletionDate=e.deletionDate,this.expirationDate=e.expirationDate,this.disabled=e.disabled,this.password=e.password)}return Object.defineProperty(e.prototype,"urlB64Key",{get:function(){return r.Utils.fromBufferToUrlB64(this.key)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxAccessCountReached",{get:function(){return null!=this.maxAccessCount&&this.accessCount>=this.maxAccessCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expired",{get:function(){return null!=this.expirationDate&&this.expirationDate<=new Date},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pendingDelete",{get:function(){return this.deletionDate<=new Date},enumerable:!0,configurable:!0}),e}();t.SendView=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var L=function(e){function t(t,n,r,i,o,a,s,l,c,p,u){var d=e.call(this,t,n,r,i,o,a,s)||this;return d.folderService=l,d.cipherService=c,d.syncService=p,d.apiService=u,d.rotateEncKey=!1,d}return i(t,e),t.prototype.rotateEncKeyClicked=function(){return o(this,void 0,void 0,function(){var e,t,n;return a(this,function(r){switch(r.label){case 0:return this.rotateEncKey?[4,this.cipherService.getAllDecrypted()]:[3,5];case 1:if(e=r.sent(),t=!1,null!=e)for(n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),a.ɵɵadvance(2),a.ɵɵproperty("disabled",n.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(43,27,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(47,29,"save"))}},directives:[u.NgControlStatusGroup,u.NgForm,d.ApiActionDirective,m.NgIf,m.NgForOf,u.DefaultValueAccessor,u.RequiredValidator,u.NgControlStatus,u.NgModel,h.A11yTitleDirective,m.NgClass,f.StopClickDirective],pipes:[v.I18nPipe],encapsulation:2}),e}();t.DomainRulesComponent=P},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?"×"+n.quantity:""," @ ",o.ɵɵpipeBind2(4,5,n.amount,"$"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate2("\n ",o.ɵɵpipeBind2(8,8,n.quantity*n.amount,"$")," /",o.ɵɵpipeBind1(9,11,n.interval),"\n ")}}function A(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",16),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"strong",17),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"table",18),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"tbody"),o.ɵɵtext(9,"\n "),o.ɵɵtemplate(10,_,11,13,"tr",19),o.ɵɵtext(11,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(4,2,"details")),o.ɵɵadvance(7),o.ɵɵproperty("ngForOf",n.subscription.items)}}function O(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",10),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",11),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"dl"),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"dt"),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementStart(10,"dd"),o.ɵɵtext(11,"\n "),o.ɵɵelementStart(12,"span",12),o.ɵɵtext(13),o.ɵɵelementEnd(),o.ɵɵtext(14,"\n "),o.ɵɵtemplate(15,k,3,3,"span",13),o.ɵɵtext(16,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(17,"\n "),o.ɵɵelementStart(18,"dt"),o.ɵɵtext(19),o.ɵɵpipe(20,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(21,"\n "),o.ɵɵelementStart(22,"dd"),o.ɵɵtext(23),o.ɵɵpipe(24,"date"),o.ɵɵpipe(25,"currency"),o.ɵɵelementEnd(),o.ɵɵtext(26,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(27,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(28,"\n "),o.ɵɵtemplate(29,A,14,4,"div",14),o.ɵɵtext(30,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(7),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(8,6,"status")),o.ɵɵadvance(6),o.ɵɵtextInterpolate(n.subscription&&n.subscription.status||"-"),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(20,8,"nextCharge")),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("",n.nextInvoice?o.ɵɵpipeBind2(24,10,n.nextInvoice.date,"mediumDate")+", "+o.ɵɵpipeBind2(25,13,n.nextInvoice.amount,"$"):"-","\n "),o.ɵɵadvance(6),o.ɵɵproperty("ngIf",n.subscription)}}function T(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",23),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",24),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"button",25),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!1)}),o.ɵɵpipe(5,"i18n"),o.ɵɵelementStart(6,"span",26),o.ɵɵtext(7,"×"),o.ɵɵelementEnd(),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementStart(9,"h3",27),o.ɵɵtext(10),o.ɵɵpipe(11,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementStart(13,"app-update-license",28),o.ɵɵlistener("onUpdated",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!1)}),o.ɵɵtext(14,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(15,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(4),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(5,2,"cancel")),o.ɵɵadvance(6),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(11,4,"updateLicense")))}function M(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div"),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(2).updateLicense()}),o.ɵɵtext(5),o.ɵɵpipe(6,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"a",21),o.ɵɵtext(9),o.ɵɵpipe(10,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(11,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵtemplate(13,T,17,6,"div",22),o.ɵɵtext(14,"\n "),o.ɵɵelementContainerEnd()}if(2&e){var r=o.ɵɵnextContext(2);o.ɵɵadvance(5),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(6,3,"updateLicense"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(10,5,"manageSubscription"),"\n "),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",r.showUpdateLicense)}}function B(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).downloadLicense()}),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(2,1,"downloadLicense"),"\n "))}function D(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",35,36),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).cancel()}),o.ɵɵtext(2,"\n "),o.ɵɵelement(3,"i",9),o.ɵɵpipe(4,"i18n"),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"span"),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵreference(1),i=o.ɵɵnextContext(3);o.ɵɵproperty("appApiAction",i.cancelPromise)("disabled",r.loading),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("title",o.ɵɵpipeBind1(4,4,"loading")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(8,6,"cancelSubscription"))}}function V(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",29),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustStorage(!0)}),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"button",40),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustStorage(!1)}),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(3),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(4,2,"addStorage"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(8,4,"removeStorage"),"\n "))}function j(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"app-adjust-storage",41),o.ɵɵlistener("onAdjusted",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeStorage(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeStorage(!1)}),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(4);o.ɵɵproperty("storageGbPrice",4)("add",r.adjustStorageAdd)}}function R(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",37),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,V,10,6,"div",38),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,j,1,2,"app-adjust-storage",39),o.ɵɵtext(7,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.showAdjustStorage),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.showAdjustStorage)}}var U=function(e){return{width:e}};function F(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",29),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,B,3,3,"button",30),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,D,10,8,"button",31),o.ɵɵtext(7,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementStart(9,"h2",32),o.ɵɵtext(10),o.ɵɵpipe(11,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementStart(13,"p"),o.ɵɵtext(14),o.ɵɵpipe(15,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"div",33),o.ɵɵtext(18,"\n "),o.ɵɵelementStart(19,"div",34),o.ɵɵtext(20),o.ɵɵpipe(21,"percent"),o.ɵɵelementEnd(),o.ɵɵtext(22,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(23,"\n "),o.ɵɵtemplate(24,R,9,2,"ng-container",1),o.ɵɵtext(25,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.subscription||!n.subscription.cancelled),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(11,8,"storage")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind3(15,10,"subscriptionStorage",n.sub.maxStorageGb||0,n.sub.storageName||"0 MB")),o.ɵɵadvance(5),o.ɵɵproperty("ngStyle",o.ɵɵpureFunction1(16,U,n.storageProgressWidth+"%")),o.ɵɵattribute("aria-valuenow",n.storagePercentage),o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(21,14,n.storagePercentage/100),""),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel)}}function N(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵtemplate(2,w,4,6,"app-callout",4),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,C,18,14,"app-callout",4),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,P,10,5,"dl",1),o.ɵɵtext(7,"\n "),o.ɵɵtemplate(8,O,31,16,"div",5),o.ɵɵtext(9,"\n "),o.ɵɵtemplate(10,M,15,7,"ng-container",1),o.ɵɵtext(11,"\n "),o.ɵɵtemplate(12,F,26,18,"ng-container",1),o.ɵɵtext(13,"\n"),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext();o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription&&n.subscription.cancelled),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!n.selfHosted)}}var z=function(){function e(e,t,n,r,i,o,a){this.tokenService=e,this.apiService=t,this.platformUtilsService=n,this.i18nService=r,this.analytics=i,this.toasterService=o,this.router=a,this.loading=!1,this.firstLoaded=!1,this.adjustStorageAdd=!0,this.showAdjustStorage=!1,this.showUpdateLicense=!1,this.selfHosted=!1,this.selfHosted=n.isSelfHost()}return e.prototype.ngOnInit=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.load()];case 1:return e.sent(),this.firstLoaded=!0,[2]}})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.loading?[2]:this.tokenService.getPremium()?(this.loading=!0,e=this,[4,this.apiService.getUserSubscription()]):[3,2];case 1:return e.sub=t.sent(),[3,3];case 2:return this.router.navigate(["/settings/premium"]),[2];case 3:return this.loading=!1,[2]}})})},e.prototype.reinstate=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:this.usingInAppPurchase?(this.platformUtilsService.showDialog(this.i18nService.t("manageSubscriptionFromStore"),this.i18nService.t("cancelSubscription"),null,null,"warning"),[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("reinstateConfirmation"),this.i18nService.t("reinstateSubscription"),this.i18nService.t("yes"),this.i18nService.t("cancel"))];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.reinstatePromise=this.apiService.postReinstatePremium(),[4,this.reinstatePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Reinstated Premium"}),this.toasterService.popAsync("success",null,this.i18nService.t("reinstated")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.cancel=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:this.usingInAppPurchase?(this.platformUtilsService.showDialog(this.i18nService.t("manageSubscriptionFromStore"),this.i18nService.t("cancelSubscription"),null,null,"warning"),[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("cancelConfirmation"),this.i18nService.t("cancelSubscription"),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.cancelPromise=this.apiService.postCancelPremium(),[4,this.cancelPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Canceled Premium"}),this.toasterService.popAsync("success",null,this.i18nService.t("canceledSubscription")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.downloadLicense=function(){if(!this.loading){var e=JSON.stringify(this.sub.license,null,2);this.platformUtilsService.saveFile(window,e,null,"bitwarden_premium_license.json")}},e.prototype.updateLicense=function(){this.loading||(this.showUpdateLicense=!0)},e.prototype.closeUpdateLicense=function(e){this.showUpdateLicense=!1,e&&this.load()},e.prototype.adjustStorage=function(e){this.usingInAppPurchase?this.platformUtilsService.showDialog(this.i18nService.t("cannotPerformInAppPurchase"),this.i18nService.t(e?"addStorage":"removeStorage"),null,null,"warning"):(this.adjustStorageAdd=e,this.showAdjustStorage=!0)},e.prototype.closeStorage=function(e){this.showAdjustStorage=!1,e&&this.load()},Object.defineProperty(e.prototype,"subscriptionMarkedForCancel",{get:function(){return null!=this.subscription&&!this.subscription.cancelled&&this.subscription.cancelAtEndDate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subscription",{get:function(){return null!=this.sub?this.sub.subscription:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"nextInvoice",{get:function(){return null!=this.sub?this.sub.upcomingInvoice:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storagePercentage",{get:function(){return null!=this.sub&&this.sub.maxStorageGb?+(this.sub.storageGb/this.sub.maxStorageGb*100).toFixed(2):0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storageProgressWidth",{get:function(){return this.storagePercentage<5?5:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"usingInAppPurchase",{get:function(){return null!=this.sub&&this.sub.usingInAppPurchase},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.TokenService),o.ɵɵdirectiveInject(s.ApiService),o.ɵɵdirectiveInject(l.PlatformUtilsService),o.ɵɵdirectiveInject(c.I18nService),o.ɵɵdirectiveInject(p.Angulartics2),o.ɵɵdirectiveInject(u.ToasterService),o.ɵɵdirectiveInject(d.Router))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-user-subscription"]],decls:13,vars:6,consts:[[1,"page-header"],[4,"ngIf"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","warning",3,"title",4,"ngIf"],["class","row",4,"ngIf"],["type","warning",3,"title"],["type","button",1,"btn","btn-outline-secondary","btn-submit",3,"appApiAction","disabled","click"],["reinstateBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"row"],[1,"col-4"],[1,"text-capitalize"],["class","badge badge-warning",4,"ngIf"],["class","col-8",4,"ngIf"],[1,"badge","badge-warning"],[1,"col-8"],[1,"d-block","mb-1"],[1,"table"],[4,"ngFor","ngForOf"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["href","https://vault.bitwarden.com/#/settings/subscription","target","_blank","rel","noopener",1,"btn","btn-outline-secondary"],["class","card mt-3",4,"ngIf"],[1,"card","mt-3"],[1,"card-body"],["type","button",1,"close",3,"appA11yTitle","click"],["aria-hidden","true"],[1,"card-body-header"],[3,"onUpdated","onCanceled"],[1,"d-flex"],["type","button","class","btn btn-outline-secondary",3,"click",4,"ngIf"],["type","button","class","btn btn-outline-danger btn-submit ml-auto",3,"appApiAction","disabled","click",4,"ngIf"],[1,"spaced-header"],[1,"progress"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",1,"progress-bar","bg-success",3,"ngStyle"],["type","button",1,"btn","btn-outline-danger","btn-submit","ml-auto",3,"appApiAction","disabled","click"],["cancelBtn",""],[1,"mt-3"],["class","d-flex",4,"ngIf"],[3,"storageGbPrice","add","onAdjusted","onCanceled",4,"ngIf"],["type","button",1,"ml-1","btn","btn-outline-secondary",3,"click"],[3,"storageGbPrice","add","onAdjusted","onCanceled"]],template:function(e,t){1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"h1"),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵtemplate(5,b,9,6,"small",1),o.ɵɵtext(6,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(7,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n"),o.ɵɵtemplate(9,S,9,6,"ng-container",1),o.ɵɵtext(10,"\n"),o.ɵɵtemplate(11,N,14,6,"ng-container",1),o.ɵɵtext(12,"\n")),2&e&&(o.ɵɵadvance(3),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(4,4,"premiumMembership"),"\n "),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.firstLoaded&&t.loading),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!t.firstLoaded&&t.loading),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.sub))},directives:[m.NgIf,h.CalloutComponent,f.ApiActionDirective,m.NgForOf,v.A11yTitleDirective,y.UpdateLicenseComponent,m.NgStyle,g.AdjustStorageComponent],pipes:[x.I18nPipe,m.DatePipe,m.CurrencyPipe,m.PercentPipe],encapsulation:2}),e}();t.UserSubscriptionComponent=z},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1})];case 1:return t.sent(),this.clearFilters(),this.collectionId=e,this.go(),[2]}})})},e.prototype.filterSearchText=function(e){this.ciphersComponent.searchText=e,this.ciphersComponent.search(200)},e.prototype.editCipherAttachments=function(e){return r(this,void 0,void 0,function(){var t,n,o,s,l,c=this;return i(this,function(u){switch(u.label){case 0:return[4,this.userService.canAccessPremium()];case 1:return t=u.sent(),null!=e.organizationId||t?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==e.organizationId?[3,4]:[4,this.userService.getOrganization(e.organizationId)];case 3:if(null!=(n=u.sent())&&(null==n.maxStorageGb||0===n.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:e.organizationId}),[2];u.label=4;case 4:return null!=this.modal&&this.modal.close(),o=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(o).instance,(s=this.modal.show(p.AttachmentsComponent,this.attachmentsModalRef)).cipherId=e.id,l=!1,s.onUploadedAttachment.subscribe(function(){return l=!0}),s.onDeletedAttachment.subscribe(function(){return l=!0}),s.onReuploadedAttachment.subscribe(function(){return l=!0}),this.modal.onClosed.subscribe(function(){return r(c,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal=null,l?[4,this.ciphersComponent.refresh()]:[3,2];case 1:e.sent(),e.label=2;case 2:return l=!1,[2]}})})}),[2]}})})},e.prototype.shareCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.shareModalRef.createComponent(n).instance;var o=this.modal.show(f.ShareComponent,this.shareModalRef);o.cipherId=e.id,o.onSharedCipher.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.editCipherCollections=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.collectionsModalRef.createComponent(n).instance;var o=this.modal.show(d.CollectionsComponent,this.collectionsModalRef);o.cipherId=e.id,o.onSavedCollections.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.addFolder=function(){return r(this,void 0,void 0,function(){var e,t,n=this;return i(this,function(o){return null!=this.modal&&this.modal.close(),e=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(e).instance,(t=this.modal.show(m.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,t.onSavedFolder.subscribe(function(){return r(n,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null}),[2]})})},e.prototype.editFolder=function(e){return r(this,void 0,void 0,function(){var t,n,o=this;return i(this,function(s){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(t).instance,(n=this.modal.show(m.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=e,n.onSavedFolder.subscribe(function(){return r(o,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[2]}})})}),n.onDeletedFolder.subscribe(function(){return r(o,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[4,this.filterFolder("none")];case 2:return e.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){o.modal=null}),[2]})})},e.prototype.addCipher=function(){var e=this,t=this.editCipher(null);if(t.type=this.type,t.folderId="none"===this.folderId?null:this.folderId,null!=this.collectionId){var n=this.groupingsComponent.collections.filter(function(t){return t.id===e.collectionId});n.length>0&&(t.organizationId=n[0].organizationId,t.collectionIds=[this.collectionId])}},e.prototype.editCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(n).instance;var o=this.modal.show(c.AddEditComponent,this.cipherAddEditModalRef);return o.cipherId=null==e?null:e.id,o.onSavedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onRestoredCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){t.modal=null}),o},e.prototype.cloneCipher=function(e){this.editCipher(e).cloneMode=!0},e.prototype.updateKey=function(){var e=this;null!=this.modal&&this.modal.close();var t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(t).instance,this.modal.show(l.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){e.modal=null})},e.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null,this.deleted=!1},e.prototype.go=function(e){void 0===e&&(e=null),null==e&&(e={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId,deleted:!!this.deleted||null}),this.router.navigate([],{relativeTo:this.route,queryParams:e,replaceUrl:!0})},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.SyncService),v.ɵɵdirectiveInject(g.ActivatedRoute),v.ɵɵdirectiveInject(g.Router),v.ɵɵdirectiveInject(v.ChangeDetectorRef),v.ɵɵdirectiveInject(x.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(b.TokenService),v.ɵɵdirectiveInject(S.CryptoService),v.ɵɵdirectiveInject(w.MessagingService),v.ɵɵdirectiveInject(C.UserService),v.ɵɵdirectiveInject(I.PlatformUtilsService),v.ɵɵdirectiveInject(E.BroadcasterService),v.ɵɵdirectiveInject(v.NgZone))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["app-vault"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(h.GroupingsComponent,!0),v.ɵɵstaticViewQuery(u.CiphersComponent,!0),v.ɵɵstaticViewQuery(s.OrganizationsComponent,!0),v.ɵɵstaticViewQuery(V,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(j,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(R,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(U,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(F,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(N,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.groupingsComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.ciphersComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.organizationsComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.attachmentsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.folderAddEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.cipherAddEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.shareModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.collectionsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.updateKeyModalRef=n.first))},decls:86,vars:20,consts:[[1,"container","page-content"],[1,"row"],[1,"col-3"],[3,"onAllClicked","onFavoritesClicked","onCipherTypeClicked","onFolderClicked","onAddFolder","onEditFolder","onCollectionClicked","onSearchTextChanged","onTrashClicked"],[1,"col-6"],[1,"page-header","d-flex"],[3,"appApiAction"],["actionSpinner",""],[4,"ngIf"],[1,"ml-auto","d-flex"],[3,"ciphersComponent","modal","deleted"],["type","button","class","btn btn-outline-primary btn-sm",3,"click",4,"ngIf"],[3,"onCipherClicked","onAttachmentsClicked","onAddCipher","onShareClicked","onCollectionsClicked","onCloneClicked"],["class","card border-warning mb-4",4,"ngIf"],["class","d-block mb-4",4,"ngIf"],["class","card border-success mb-4",4,"ngIf"],[1,"card"],[1,"card-header","d-flex"],["href","https://help.bitwarden.com/article/what-is-an-organization/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"card-body"],[3,"vault"],["attachments",""],["folderAddEdit",""],["cipherAddEdit",""],["share",""],["collections",""],["updateKeyTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","button",1,"btn","btn-outline-primary","btn-sm",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[1,"card","border-warning","mb-4"],[1,"card-header","bg-warning","text-white"],["aria-hidden","true",1,"fa","fa-warning","fa-fw"],["type","button",1,"btn","btn-block","btn-outline-secondary",3,"click"],[1,"d-block","mb-4"],["target","_blank","href","https://browser-update.org/update-browser.html","rel","noopener",1,"btn","btn-block","btn-outline-secondary"],[1,"card","border-success","mb-4"],[1,"card-header","bg-success","text-white"],["aria-hidden","true",1,"fa","fa-star","fa-fw"],["routerLink","/settings/premium",1,"btn","btn-block","btn-outline-secondary"]],template:function(e,t){if(1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"div",1),v.ɵɵtext(3,"\n "),v.ɵɵelementStart(4,"div",2),v.ɵɵtext(5,"\n "),v.ɵɵelementStart(6,"app-vault-groupings",3),v.ɵɵlistener("onAllClicked",function(){return t.clearGroupingFilters()})("onFavoritesClicked",function(){return t.filterFavorites()})("onCipherTypeClicked",function(e){return t.filterCipherType(e)})("onFolderClicked",function(e){return t.filterFolder(e.id)})("onAddFolder",function(){return t.addFolder()})("onEditFolder",function(e){return t.editFolder(e.id)})("onCollectionClicked",function(e){return t.filterCollection(e.id)})("onSearchTextChanged",function(e){return t.filterSearchText(e)})("onTrashClicked",function(){return t.filterDeleted()}),v.ɵɵtext(7,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(8,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(9,"\n "),v.ɵɵelementStart(10,"div",4),v.ɵɵtext(11,"\n "),v.ɵɵelementStart(12,"div",5),v.ɵɵtext(13,"\n "),v.ɵɵelementStart(14,"h1"),v.ɵɵtext(15),v.ɵɵpipe(16,"i18n"),v.ɵɵelementStart(17,"small",6,7),v.ɵɵtext(19,"\n "),v.ɵɵtemplate(20,z,9,6,"ng-container",8),v.ɵɵtext(21,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(22,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(23,"\n "),v.ɵɵelementStart(24,"div",9),v.ɵɵtext(25,"\n "),v.ɵɵelementStart(26,"app-vault-bulk-actions",10),v.ɵɵtext(27,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(28,"\n "),v.ɵɵtemplate(29,L,5,3,"button",11),v.ɵɵtext(30,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(31,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(32,"\n "),v.ɵɵelementStart(33,"app-vault-ciphers",12),v.ɵɵlistener("onCipherClicked",function(e){return t.editCipher(e)})("onAttachmentsClicked",function(e){return t.editCipherAttachments(e)})("onAddCipher",function(){return t.addCipher()})("onShareClicked",function(e){return t.shareCipher(e)})("onCollectionsClicked",function(e){return t.editCipherCollections(e)})("onCloneClicked",function(e){return t.cloneCipher(e)}),v.ɵɵtext(34,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(35,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(36,"\n "),v.ɵɵelementStart(37,"div",2),v.ɵɵtext(38,"\n "),v.ɵɵtemplate(39,G,19,9,"div",13),v.ɵɵtext(40,"\n "),v.ɵɵtemplate(41,K,1,0,"app-verify-email",14),v.ɵɵtext(42,"\n "),v.ɵɵtemplate(43,q,19,9,"div",13),v.ɵɵtext(44,"\n "),v.ɵɵtemplate(45,H,19,9,"div",15),v.ɵɵtext(46,"\n "),v.ɵɵelementStart(47,"div",16),v.ɵɵtext(48,"\n "),v.ɵɵelementStart(49,"div",17),v.ɵɵtext(50),v.ɵɵpipe(51,"i18n"),v.ɵɵelementStart(52,"a",18),v.ɵɵpipe(53,"i18n"),v.ɵɵtext(54,"\n "),v.ɵɵelement(55,"i",19),v.ɵɵtext(56,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(57,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(58,"\n "),v.ɵɵelementStart(59,"div",20),v.ɵɵtext(60,"\n "),v.ɵɵelement(61,"app-organizations",21),v.ɵɵtext(62,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(63,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(64,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(65,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(66,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(67,"\n"),v.ɵɵtemplate(68,W,0,0,"ng-template",null,22,v.ɵɵtemplateRefExtractor),v.ɵɵtext(70,"\n"),v.ɵɵtemplate(71,$,0,0,"ng-template",null,23,v.ɵɵtemplateRefExtractor),v.ɵɵtext(73,"\n"),v.ɵɵtemplate(74,Y,0,0,"ng-template",null,24,v.ɵɵtemplateRefExtractor),v.ɵɵtext(76,"\n"),v.ɵɵtemplate(77,Q,0,0,"ng-template",null,25,v.ɵɵtemplateRefExtractor),v.ɵɵtext(79,"\n"),v.ɵɵtemplate(80,J,0,0,"ng-template",null,26,v.ɵɵtemplateRefExtractor),v.ɵɵtext(82,"\n"),v.ɵɵtemplate(83,X,0,0,"ng-template",null,27,v.ɵɵtemplateRefExtractor),v.ɵɵtext(85,"\n")),2&e){var n=v.ɵɵreference(18);v.ɵɵadvance(15),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(16,14,"myVault"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("appApiAction",t.ciphersComponent.actionPromise),v.ɵɵadvance(3),v.ɵɵproperty("ngIf",n.loading),v.ɵɵadvance(6),v.ɵɵproperty("ciphersComponent",t.ciphersComponent)("modal",t.modal)("deleted",t.deleted),v.ɵɵadvance(3),v.ɵɵproperty("ngIf",!t.deleted),v.ɵɵadvance(10),v.ɵɵproperty("ngIf",t.showUpdateKey),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showVerifyEmail),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showBrowserOutdated),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showPremiumCallout),v.ɵɵadvance(5),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(51,16,"organizations"),"\n "),v.ɵɵadvance(2),v.ɵɵpropertyInterpolate("appA11yTitle",v.ɵɵpipeBind1(53,18,"learnMore")),v.ɵɵadvance(9),v.ɵɵproperty("vault",!0)}},directives:[P.GroupingsComponent,k.ApiActionDirective,_.NgIf,A.BulkActionsComponent,O.CiphersComponent,T.A11yTitleDirective,M.OrganizationsComponent,B.VerifyEmailComponent,g.RouterLinkWithHref],pipes:[D.I18nPipe],encapsulation:2}),e}();t.VaultComponent=Z},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&this.trustedContacts.splice(t,1)},e.prototype.removeGrantor=function(e){var t=this.grantedContacts.indexOf(e);t>-1&&this.grantedContacts.splice(t,1)},e.prototype.doConfirmation=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,s,p,u;return i(this,function(i){switch(i.label){case 0:return[4,this.cryptoService.getEncKey()];case 1:return t=i.sent(),[4,this.apiService.getUserPublicKey(e.granteeId)];case 2:n=i.sent(),r=l.Utils.fromB64ToArray(n.publicKey),i.label=3;case 3:return i.trys.push([3,5,,6]),a=(o=console).log,s="User's fingerprint: ",[4,this.cryptoService.getFingerprint(e.granteeId,r.buffer)];case 4:return a.apply(o,[s+i.sent().join("-")]),[3,6];case 5:return i.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(t.key,r.buffer)];case 7:return p=i.sent(),(u=new c.EmergencyAccessConfirmRequest).key=p.encryptedString,[4,this.apiService.postEmergencyAccessConfirm(e.id,u)];case 8:return i.sent(),[2]}})})},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.ApiService),v.ɵɵdirectiveInject(g.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(x.PlatformUtilsService),v.ɵɵdirectiveInject(b.ToasterService),v.ɵɵdirectiveInject(S.CryptoService),v.ɵɵdirectiveInject(w.StorageService),v.ɵɵdirectiveInject(C.UserService),v.ɵɵdirectiveInject(I.MessagingService))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["emergency-access"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(T,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(M,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(B,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.addEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.takeoverModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.confirmModalRef=n.first))},decls:57,vars:24,consts:[[1,"page-header"],["href","https://bitwarden.com/help/article/emergency-access/","target","_blank","rel","noopener"],[1,"page-header","d-flex"],["href","#","appStopClick","","class","badge badge-primary",3,"click",4,"ngIf"],[1,"ml-auto","d-flex"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"disabled","click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],["class","table table-hover table-list mb-0",4,"ngIf"],[4,"ngIf"],[1,"page-header","spaced-header"],["addEdit",""],["takeoverTemplate",""],["confirmTemplate",""],["href","#","appStopClick","",1,"badge","badge-primary",3,"click"],[1,"table","table-hover","table-list","mb-0"],[4,"ngFor","ngForOf"],["width","30"],["size","25",3,"data","email","circle","fontSize"],["href","#","appStopClick","",3,"click"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","badge badge-success",4,"ngIf"],["class","badge badge-primary",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-success","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-warning","href","#","appStopClick","",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-remove"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"badge","badge-success"],[1,"badge","badge-primary"],[1,"text-muted","d-block"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-envelope-o"],["href","#","appStopClick","",1,"dropdown-item","text-success",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-check"],["href","#","appStopClick","",1,"dropdown-item","text-warning",3,"click"],["class","dropdown-item",3,"routerLink",4,"ngIf"],["aria-hidden","true",1,"fa","fa-fw","fa-key"],[1,"dropdown-item",3,"routerLink"],["aria-hidden","true",1,"fa","fa-fw","fa-eye"]],template:function(e,t){1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"h1"),v.ɵɵtext(3),v.ɵɵpipe(4,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(5,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(6,"\n"),v.ɵɵelementStart(7,"p"),v.ɵɵtext(8),v.ɵɵpipe(9,"i18n"),v.ɵɵelementStart(10,"a",1),v.ɵɵtext(11),v.ɵɵpipe(12,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(13,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(14,"\n\n"),v.ɵɵelementStart(15,"div",2),v.ɵɵtext(16,"\n "),v.ɵɵelementStart(17,"h2"),v.ɵɵtext(18),v.ɵɵpipe(19,"i18n"),v.ɵɵtemplate(20,D,3,3,"a",3),v.ɵɵtext(21,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(22,"\n "),v.ɵɵelementStart(23,"div",4),v.ɵɵtext(24,"\n "),v.ɵɵelementStart(25,"button",5),v.ɵɵlistener("click",function(){return t.invite()}),v.ɵɵtext(26,"\n "),v.ɵɵelement(27,"i",6),v.ɵɵtext(28),v.ɵɵpipe(29,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(30,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(31,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(32,"\n\n"),v.ɵɵtemplate(33,W,7,1,"table",7),v.ɵɵtext(34,"\n\n"),v.ɵɵtemplate(35,$,3,3,"p",8),v.ɵɵtext(36,"\n\n"),v.ɵɵelementStart(37,"div",9),v.ɵɵtext(38,"\n "),v.ɵɵelementStart(39,"h2"),v.ɵɵtext(40),v.ɵɵpipe(41,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(42,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(43,"\n\n"),v.ɵɵtemplate(44,ae,7,1,"table",7),v.ɵɵtext(45,"\n\n"),v.ɵɵtemplate(46,se,3,3,"p",8),v.ɵɵtext(47,"\n\n"),v.ɵɵtemplate(48,le,0,0,"ng-template",null,10,v.ɵɵtemplateRefExtractor),v.ɵɵtext(50,"\n"),v.ɵɵtemplate(51,ce,0,0,"ng-template",null,11,v.ɵɵtemplateRefExtractor),v.ɵɵtext(53,"\n"),v.ɵɵtemplate(54,pe,0,0,"ng-template",null,12,v.ɵɵtemplateRefExtractor),v.ɵɵtext(56,"\n")),2&e&&(v.ɵɵadvance(3),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(4,12,"emergencyAccess")),v.ɵɵadvance(5),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(9,14,"emergencyAccessDesc"),"\n "),v.ɵɵadvance(3),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(12,16,"learnMore"),".\n "),v.ɵɵadvance(7),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(19,18,"trustedEmergencyContacts"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.canAccessPremium),v.ɵɵadvance(5),v.ɵɵproperty("disabled",!t.canAccessPremium),v.ɵɵadvance(3),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(29,20,"addEmergencyContact"),"\n "),v.ɵɵadvance(5),v.ɵɵproperty("ngIf",t.trustedContacts&&t.trustedContacts.length),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.trustedContacts||!t.trustedContacts.length),v.ɵɵadvance(5),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(41,22,"designatedEmergencyContacts")),v.ɵɵadvance(4),v.ɵɵproperty("ngIf",t.grantedContacts&&t.grantedContacts.length),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.grantedContacts||!t.grantedContacts.length))},directives:[E.NgIf,P.StopClickDirective,E.NgForOf,k.AvatarComponent,_.A11yTitleDirective,A.RouterLinkWithHref],pipes:[O.I18nPipe],encapsulation:2}),e}();t.EmergencyAccessComponent=ue},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.View=0]="View",e[e.Takeover=1]="Takeover"}(t.EmergencyAccessType||(t.EmergencyAccessType={}))},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(504),s=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.granteeId=n.getResponseProperty("GranteeId"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.type=n.getResponseProperty("Type"),n.status=n.getResponseProperty("Status"),n.waitTimeDays=n.getResponseProperty("WaitTimeDays"),n.creationDate=n.getResponseProperty("CreationDate"),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessGranteeDetailsResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.grantorId=n.getResponseProperty("GrantorId"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.type=n.getResponseProperty("Type"),n.status=n.getResponseProperty("Status"),n.waitTimeDays=n.getResponseProperty("WaitTimeDays"),n.creationDate=n.getResponseProperty("CreationDate"),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessGrantorDetailsResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;return n.keyEncrypted=n.getResponseProperty("KeyEncrypted"),n.kdf=n.getResponseProperty("Kdf"),n.kdfIterations=n.getResponseProperty("KdfIterations"),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessTakeoverResponse=c;var p=function(e){function t(t){var n=e.call(this,t)||this;n.ciphers=[],n.keyEncrypted=n.getResponseProperty("KeyEncrypted");var r=n.getResponseProperty("Ciphers");return null!=r&&(n.ciphers=r.map(function(e){return new a.CipherResponse(e)})),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessViewResponse=p},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?"&":"?",e+="end="+n),null!=r&&(e+=e.indexOf("?")>-1?"&":"?",e+="continuationToken="+r),e},e.prototype.isJsonResponse=function(e){var t=e.headers.get("content-type");return null!=t&&t.indexOf("application/json")>-1},e}();t.ApiService=G},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(295),s=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.name=n.getResponseProperty("Name"),n.externalId=n.getResponseProperty("ExternalId"),n}return i(t,e),t}(o.BaseResponse);t.CollectionResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.readOnly=n.getResponseProperty("ReadOnly")||!1,n}return i(t,e),t}(s);t.CollectionDetailsResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;n.groups=[];var r=n.getResponseProperty("Groups");return null!=r&&(n.groups=r.map(function(e){return new a.SelectionReadOnlyResponse(e)})),n}return i(t,e),t}(s);t.CollectionGroupDetailsResponse=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(894),s=function(e){function t(t){var n=e.call(this,t)||this;n.globalEquivalentDomains=[],n.equivalentDomains=n.getResponseProperty("EquivalentDomains");var r=n.getResponseProperty("GlobalEquivalentDomains");return n.globalEquivalentDomains=null!=r?r.map(function(e){return new a.GlobalDomainResponse(e)}):[],n}return i(t,e),t}(o.BaseResponse);t.DomainsResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,n,r){var i=e.call(this,t)||this,o=null;if(null!=t){var a=i.getResponseProperty("ErrorModel");o=a&&r?a:t}return o?(i.message=i.getResponseProperty("Message",o),i.validationErrors=i.getResponseProperty("ValidationErrors",o)):429===n&&(i.message="Rate limit exceeded. Try again later."),i.statusCode=n,i}return i(t,e),t.prototype.getSingleMessage=function(){if(null==this.validationErrors)return this.message;for(var e in this.validationErrors)if(this.validationErrors.hasOwnProperty(e)&&this.validationErrors[e].length)return this.validationErrors[e][0];return this.message},t.prototype.getAllMessages=function(){var e=[];if(null==this.validationErrors)return e;var t=function(t){if(!n.validationErrors.hasOwnProperty(t))return"continue";n.validationErrors[t].forEach(function(n){var r="";if(t.indexOf("[")>-1&&t.indexOf("]")>-1){var i=t.lastIndexOf(".");r=t.substr(0,i>-1?i:t.length)+": "}e.push(r+n)})},n=this;for(var r in this.validationErrors)t(r);return e},t}(n(25).BaseResponse);t.ErrorResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.name=n.getResponseProperty("Name"),n.revisionDate=n.getResponseProperty("RevisionDate"),n}return i(t,e),t}(n(25).BaseResponse);t.FolderResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(670),s=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.identifier=n.getResponseProperty("Identifier"),n.name=n.getResponseProperty("Name"),n.businessName=n.getResponseProperty("BusinessName"),n.businessAddress1=n.getResponseProperty("BusinessAddress1"),n.businessAddress2=n.getResponseProperty("BusinessAddress2"),n.businessAddress3=n.getResponseProperty("BusinessAddress3"),n.businessCountry=n.getResponseProperty("BusinessCountry"),n.businessTaxNumber=n.getResponseProperty("BusinessTaxNumber"),n.billingEmail=n.getResponseProperty("BillingEmail");var r=n.getResponseProperty("Plan");return n.plan=null==r?null:new a.PlanResponse(r),n.planType=n.getResponseProperty("PlanType"),n.seats=n.getResponseProperty("Seats"),n.maxCollections=n.getResponseProperty("MaxCollections"),n.maxStorageGb=n.getResponseProperty("MaxStorageGb"),n.useGroups=n.getResponseProperty("UseGroups"),n.useDirectory=n.getResponseProperty("UseDirectory"),n.useEvents=n.getResponseProperty("UseEvents"),n.useTotp=n.getResponseProperty("UseTotp"),n.use2fa=n.getResponseProperty("Use2fa"),n.useApi=n.getResponseProperty("UseApi"),n}return i(t,e),t}(o.BaseResponse);t.OrganizationResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.type=n.getResponseProperty("Type"),n.product=n.getResponseProperty("Product"),n.name=n.getResponseProperty("Name"),n.isAnnual=n.getResponseProperty("IsAnnual"),n.nameLocalizationKey=n.getResponseProperty("NameLocalizationKey"),n.descriptionLocalizationKey=n.getResponseProperty("DescriptionLocalizationKey"),n.canBeUsedByBusiness=n.getResponseProperty("CanBeUsedByBusiness"),n.baseSeats=n.getResponseProperty("BaseSeats"),n.baseStorageGb=n.getResponseProperty("BaseStorageGb"),n.maxCollections=n.getResponseProperty("MaxCollections"),n.maxUsers=n.getResponseProperty("MaxUsers"),n.hasAdditionalSeatsOption=n.getResponseProperty("HasAdditionalSeatsOption"),n.maxAdditionalSeats=n.getResponseProperty("MaxAdditionalSeats"),n.hasAdditionalStorageOption=n.getResponseProperty("HasAdditionalStorageOption"),n.maxAdditionalStorage=n.getResponseProperty("MaxAdditionalStorage"),n.hasPremiumAccessOption=n.getResponseProperty("HasPremiumAccessOption"),n.trialPeriodDays=n.getResponseProperty("TrialPeriodDays"),n.hasSelfHost=n.getResponseProperty("HasSelfHost"),n.hasPolicies=n.getResponseProperty("HasPolicies"),n.hasGroups=n.getResponseProperty("HasGroups"),n.hasDirectory=n.getResponseProperty("HasDirectory"),n.hasEvents=n.getResponseProperty("HasEvents"),n.hasTotp=n.getResponseProperty("HasTotp"),n.has2fa=n.getResponseProperty("Has2fa"),n.hasApi=n.getResponseProperty("HasApi"),n.hasSso=n.getResponseProperty("HasSso"),n.usersGetPremium=n.getResponseProperty("UsersGetPremium"),n.upgradeSortOrder=n.getResponseProperty("UpgradeSortOrder"),n.displaySortOrder=n.getResponseProperty("SortOrder"),n.legacyYear=n.getResponseProperty("LegacyYear"),n.disabled=n.getResponseProperty("Disabled"),n.stripePlanId=n.getResponseProperty("StripePlanId"),n.stripeSeatPlanId=n.getResponseProperty("StripeSeatPlanId"),n.stripeStoragePlanId=n.getResponseProperty("StripeStoragePlanId"),n.stripePremiumAccessPlanId=n.getResponseProperty("StripePremiumAccessPlanId"),n.basePrice=n.getResponseProperty("BasePrice"),n.seatPrice=n.getResponseProperty("SeatPrice"),n.additionalStoragePricePerGb=n.getResponseProperty("AdditionalStoragePricePerGb"),n.premiumAccessOptionPrice=n.getResponseProperty("PremiumAccessOptionPrice"),n}return i(t,e),t}(n(25).BaseResponse);t.PlanResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=function(e){function t(t){var n=e.call(this,t)||this;n.storageName=n.getResponseProperty("StorageName"),n.storageGb=n.getResponseProperty("StorageGb"),n.maxStorageGb=n.getResponseProperty("MaxStorageGb"),n.license=n.getResponseProperty("License"),n.expiration=n.getResponseProperty("Expiration"),n.usingInAppPurchase=n.getResponseProperty("UsingInAppPurchase");var r=n.getResponseProperty("Subscription"),i=n.getResponseProperty("UpcomingInvoice");return n.subscription=null==r?null:new s(r),n.upcomingInvoice=null==i?null:new c(i),n}return i(t,e),t}(o.BaseResponse);t.SubscriptionResponse=a;var s=function(e){function t(t){var n=e.call(this,t)||this;n.items=[],n.trialEndDate=n.getResponseProperty("TrialStartDate"),n.trialEndDate=n.getResponseProperty("TrialEndDate"),n.periodStartDate=n.getResponseProperty("PeriodStartDate"),n.periodEndDate=n.getResponseProperty("PeriodEndDate"),n.cancelledDate=n.getResponseProperty("CancelledDate"),n.cancelAtEndDate=n.getResponseProperty("CancelAtEndDate"),n.status=n.getResponseProperty("Status"),n.cancelled=n.getResponseProperty("Cancelled");var r=n.getResponseProperty("Items");return null!=r&&(n.items=r.map(function(e){return new l(e)})),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.name=n.getResponseProperty("Name"),n.amount=n.getResponseProperty("Amount"),n.quantity=n.getResponseProperty("Quantity"),n.interval=n.getResponseProperty("Interval"),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionItemResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;return n.date=n.getResponseProperty("Date"),n.amount=n.getResponseProperty("Amount"),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionUpcomingInvoiceResponse=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.type=n.getResponseProperty("Type"),n.data=n.getResponseProperty("Data"),n.enabled=n.getResponseProperty("Enabled"),n}return i(t,e),t}(n(25).BaseResponse);t.PolicyResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(506),s=n(507),l=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.accessId=n.getResponseProperty("AccessId"),n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.notes=n.getResponseProperty("Notes"),n.key=n.getResponseProperty("Key"),n.maxAccessCount=n.getResponseProperty("MaxAccessCount"),n.accessCount=n.getResponseProperty("AccessCount"),n.revisionDate=n.getResponseProperty("RevisionDate"),n.expirationDate=n.getResponseProperty("ExpirationDate"),n.deletionDate=n.getResponseProperty("DeletionDate"),n.password=n.getResponseProperty("Password"),n.disable=n.getResponseProperty("Disabled")||!1;var r=n.getResponseProperty("Text");null!=r&&(n.text=new s.SendTextApi(r));var i=n.getResponseProperty("File");return null!=i&&(n.file=new a.SendFileApi(i)),n}return i(t,e),t}(o.BaseResponse);t.SendResponse=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]5&&(e.passwordHistory=e.passwordHistory.slice(0,5)),a.label=5;case 5:return(p=new m.Cipher).id=e.id,p.folderId=e.folderId,p.favorite=e.favorite,p.organizationId=e.organizationId,p.type=e.type,p.collectionIds=e.collectionIds,p.revisionDate=e.revisionDate,null!=t||null==p.organizationId?[3,7]:[4,this.cryptoService.getOrgKey(p.organizationId)];case 6:if(null==(t=a.sent()))throw new Error("Cannot encrypt cipher for organization. No key.");a.label=7;case 7:return[4,Promise.all([this.encryptObjProperty(e,p,{name:null,notes:null},t),this.encryptCipherData(p,e,t),this.encryptFields(e.fields,t).then(function(e){p.fields=e}),this.encryptPasswordHistories(e.passwordHistory,t).then(function(e){p.passwordHistory=e}),this.encryptAttachments(e.attachments,t).then(function(e){p.attachments=e})])];case 8:return a.sent(),[2,p]}})})},t.prototype.encryptAttachments=function(e,t){return o(this,void 0,void 0,function(){var n,r,i=this;return a(this,function(s){switch(s.label){case 0:return null==e||0===e.length?[2,null]:(n=[],r=[],e.forEach(function(e){return o(i,void 0,void 0,function(){var i,s,l=this;return a(this,function(c){return(i=new u.Attachment).id=e.id,i.size=e.size,i.sizeName=e.sizeName,i.url=e.url,s=this.encryptObjProperty(e,i,{fileName:null},t).then(function(){return o(l,void 0,void 0,function(){var n;return a(this,function(o){switch(o.label){case 0:return null==e.key?[3,2]:(n=i,[4,this.cryptoService.encrypt(e.key.key,t)]);case 1:n.key=o.sent(),o.label=2;case 2:return r.push(i),[2]}})})}),n.push(s),[2]})})}),[4,Promise.all(n)]);case 1:return s.sent(),[2,r]}})})},t.prototype.encryptFields=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return e&&e.length?(n=this,r=[],[4,e.reduce(function(e,i){return e.then(function(){return n.encryptField(i,t)}).then(function(e){r.push(e)})},Promise.resolve())]):[2,null];case 1:return i.sent(),[2,r]}})})},t.prototype.encryptField=function(e,t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){switch(r.label){case 0:return(n=new h.Field).type=e.type,e.type===l.FieldType.Boolean&&"true"!==e.value&&(e.value="false"),[4,this.encryptObjProperty(e,n,{name:null,value:null},t)];case 1:return r.sent(),[2,n]}})})},t.prototype.encryptPasswordHistories=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return e&&e.length?(n=this,r=[],[4,e.reduce(function(e,i){return e.then(function(){return n.encryptPasswordHistory(i,t)}).then(function(e){r.push(e)})},Promise.resolve())]):[2,null];case 1:return i.sent(),[2,r]}})})},t.prototype.encryptPasswordHistory=function(e,t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){switch(r.label){case 0:return(n=new g.Password).lastUsedDate=e.lastUsedDate,[4,this.encryptObjProperty(e,n,{password:null},t)];case 1:return r.sent(),[2,n]}})})},t.prototype.get=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(D)];case 2:return n=i.sent(),[4,this.storageService.get(B+t)];case 3:return null!=(r=i.sent())&&r.hasOwnProperty(e)?[2,new m.Cipher(r[e],!1,n?n[e]:null)]:[2,null]}})})},t.prototype.getAll=function(){return o(this,void 0,void 0,function(){var e,t,n,r,i;return a(this,function(o){switch(o.label){case 0:return[4,this.userService.getUserId()];case 1:return e=o.sent(),[4,this.storageService.get(D)];case 2:return t=o.sent(),[4,this.storageService.get(B+e)];case 3:for(i in n=o.sent(),r=[],n)n.hasOwnProperty(i)&&r.push(new m.Cipher(n[i],!1,t?t[i]:null));return[2,r]}})})},t.prototype.getAllDecrypted=function(){return o(this,void 0,void 0,function(){var e,t;return a(this,function(n){switch(n.label){case 0:return null!=this.decryptedCipherCache?[2,this.decryptedCipherCache]:(e=[],[4,this.cryptoService.hasKey()]);case 1:if(!n.sent())throw new Error("No key.");return t=[],[4,this.getAll()];case 2:return n.sent().forEach(function(n){t.push(n.decrypt().then(function(t){return e.push(t)}))}),[4,Promise.all(t)];case 3:return n.sent(),e.sort(this.getLocaleSortingFunction()),this.decryptedCipherCache=e,[2,this.decryptedCipherCache]}})})},t.prototype.getAllDecryptedForGrouping=function(e,t){return void 0===t&&(t=!0),o(this,void 0,void 0,function(){return a(this,function(n){switch(n.label){case 0:return[4,this.getAllDecrypted()];case 1:return[2,n.sent().filter(function(n){return!n.isDeleted&&(!(!t||n.folderId!==e)||!t&&null!=n.collectionIds&&n.collectionIds.indexOf(e)>-1)})]}})})},t.prototype.getAllDecryptedForUrl=function(e,t,n){return void 0===n&&(n=null),o(this,void 0,void 0,function(){var r,i,o,l,p;return a(this,function(a){switch(a.label){case 0:return null==e&&null==t?[2,Promise.resolve([])]:(r=M.Utils.getDomain(e),i=null==r?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(e){var t=[];return e.forEach(function(e){e.length&&e.indexOf(r)>=0&&(t=t.concat(e))}),t.length||t.push(r),t}),[4,Promise.all([i,this.getAllDecrypted()])]);case 1:return o=a.sent(),l=o[0],p=o[1],null!=n?[3,3]:[4,this.storageService.get(O.ConstantsService.defaultUriMatch)];case 2:null==(n=a.sent())&&(n=c.UriMatchType.Domain),a.label=3;case 3:return[2,p.filter(function(i){if(null!=i.deletedDate)return!1;if(null!=t&&t.indexOf(i.type)>-1)return!0;if(null!=e&&i.type===s.CipherType.Login&&null!=i.login.uris)for(var o=0;o-1){if(!j.has(p.domain))return!0;var u=M.Utils.getHost(e);if(!j.get(p.domain).has(u))return!0}break;case c.UriMatchType.Host:var d=M.Utils.getHost(e);if(null!=d&&d===M.Utils.getHost(p.uri))return!0;break;case c.UriMatchType.Exact:if(e===p.uri)return!0;break;case c.UriMatchType.StartsWith:if(e.startsWith(p.uri))return!0;break;case c.UriMatchType.RegularExpression:try{if(new RegExp(p.uri,"i").test(e))return!0}catch(a){}break;case c.UriMatchType.Never:}}return!1})]}})})},t.prototype.getAllFromApiForOrganization=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.apiService.getCiphersOrganization(e)];case 1:return null!=(t=i.sent())&&null!=t.data&&t.data.length?(n=[],r=[],t.data.forEach(function(e){var t=new p.CipherData(e),i=new m.Cipher(t);r.push(i.decrypt().then(function(e){return n.push(e)}))}),[4,Promise.all(r)]):[3,3];case 2:return i.sent(),n.sort(this.getLocaleSortingFunction()),[2,n];case 3:return[2,[]]}})})},t.prototype.getLastUsedForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!0,!1)]})})},t.prototype.getLastLaunchedForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!1,!0)]})})},t.prototype.getNextCipherForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!1,!1)]})})},t.prototype.updateLastUsedIndexForUrl=function(e){this.sortedCiphersCache.updateLastUsedIndex(e)},t.prototype.updateLastUsedDate=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.storageService.get(D)];case 1:return(t=i.sent())||(t={}),t[e]?t[e].lastUsedDate=(new Date).getTime():t[e]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(D,t)];case 2:if(i.sent(),null==this.decryptedCipherCache)return[2];for(n=0;nr?-1:null!=r&&null==n?1:0},t.prototype.sortCiphersByLastUsedThenName=function(e,t){var n=this.sortCiphersByLastUsed(e,t);return 0!==n?n:this.getLocaleSortingFunction()(e,t)},t.prototype.getLocaleSortingFunction=function(){var e=this;return function(t,n){var r=t.name,i=n.name;if(null==r&&null!=i)return-1;if(null!=r&&null==i)return 1;if(null==r&&null==i)return 0;var o=e.i18nService.collator?e.i18nService.collator.compare(r,i):r.localeCompare(i);return 0!==o||t.type!==s.CipherType.Login||n.type!==s.CipherType.Login?o:(null!=t.login.username&&(r+=t.login.username),null!=n.login.username&&(i+=n.login.username),e.i18nService.collator?e.i18nService.collator.compare(r,i):r.localeCompare(i))}},t.prototype.softDelete=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(B+t)];case 2:return null==(n=i.sent())?[2]:(r=function(e){null!=n[e]&&(n[e].deletedDate=(new Date).toISOString())},"string"==typeof e?r(e):e.forEach(r),[4,this.storageService.save(B+t,n)]);case 3:return i.sent(),this.decryptedCipherCache=null,[2]}})})},t.prototype.softDeleteWithServer=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return[4,this.apiService.putDeleteCipher(e)];case 1:return t.sent(),[4,this.softDelete(e)];case 2:return t.sent(),[2]}})})},t.prototype.softDeleteManyWithServer=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return[4,this.apiService.putDeleteManyCiphers(new b.CipherBulkDeleteRequest(e))];case 1:return t.sent(),[4,this.softDelete(e)];case 2:return t.sent(),[2]}})})},t.prototype.restore=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(B+t)];case 2:return null==(n=i.sent())?[2]:(r=function(e){null!=n[e.id]&&(n[e.id].deletedDate=null,n[e.id].revisionDate=e.revisionDate)},"Array"===e.constructor.name?e.forEach(r):r(e),[4,this.storageService.save(B+t,n)]);case 3:return i.sent(),this.decryptedCipherCache=null,[2]}})})},t.prototype.restoreWithServer=function(e){return o(this,void 0,void 0,function(){var t;return a(this,function(n){switch(n.label){case 0:return[4,this.apiService.putRestoreCipher(e)];case 1:return t=n.sent(),[4,this.restore({id:e,revisionDate:t.revisionDate})];case 2:return n.sent(),[2]}})})},t.prototype.restoreManyWithServer=function(e){return o(this,void 0,void 0,function(){var t,n,r,i,o;return a(this,function(a){switch(a.label){case 0:return[4,this.apiService.putRestoreManyCiphers(new w.CipherBulkRestoreRequest(e))];case 1:for(t=a.sent(),n=[],r=0,i=t.data;r0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?[2,this.orgKeys]:[4,this.storageService.get(g)];case 1:if(null==(e=a.sent()))return[2,null];for(i in t=new Map,n=!1,r=[],e)r.push(i);o=0,a.label=2;case 2:return o53)throw new Error("We cannot generate numbers larger than 53 bits.");return o=Math.ceil(i/8),s=Math.pow(2,i)-1,c=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(o)];case 1:for(l=new(c.apply(Uint8Array,[void 0,a.sent()])),p=8*(o-1),u=0;u=r?[2,this.randomNumber(e,t)]:[2,e+n]}})})},e.prototype.aesEncrypt=function(e,t){return o(this,void 0,void 0,function(){var n,r,i,o,s,l;return a(this,function(a){switch(a.label){case 0:return n=new u.EncryptedObject,r=n,[4,this.getKeyForEncryption(t)];case 1:return r.key=a.sent(),i=n,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return i.iv=a.sent(),o=n,[4,this.cryptoFunctionService.aesEncrypt(e,n.iv,n.key.encKey)];case 3:return o.data=a.sent(),null==n.key.macKey?[3,5]:((s=new Uint8Array(n.iv.byteLength+n.data.byteLength)).set(new Uint8Array(n.iv),0),s.set(new Uint8Array(n.data),n.iv.byteLength),l=n,[4,this.cryptoFunctionService.hmac(s.buffer,n.key.macKey,"sha256")]);case 4:l.mac=a.sent(),a.label=5;case 5:return[2,n]}})})},e.prototype.aesDecryptToUtf8=function(e,t,n,r,i){return o(this,void 0,void 0,function(){var o,s,l,c;return a(this,function(a){switch(a.label){case 0:return[4,this.getKeyForEncryption(i)];case 1:return o=a.sent(),null!=(s=this.resolveLegacyKey(e,o)).macKey&&null==r?(this.logService.error("mac required."),[2,null]):s.encType!==e?(this.logService.error("encType unavailable."),[2,null]):null==(l=this.cryptoFunctionService.aesDecryptFastParameters(t,n,r,s)).macKey||null==l.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(l.macData,l.macKey,"sha256")];case 2:return c=a.sent(),[4,this.cryptoFunctionService.compareFast(l.mac,c)];case 3:if(!a.sent())return this.logService.error("mac failed."),[2,null];a.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(l)]}})})},e.prototype.aesDecryptToBytes=function(e,t,n,r,i){return o(this,void 0,void 0,function(){var o,s,l,c;return a(this,function(a){switch(a.label){case 0:return[4,this.getKeyForEncryption(i)];case 1:return o=a.sent(),null!=(s=this.resolveLegacyKey(e,o)).macKey&&null==r?[2,null]:s.encType!==e?[2,null]:null==s.macKey||null==r?[3,4]:((l=new Uint8Array(n.byteLength+t.byteLength)).set(new Uint8Array(n),0),l.set(new Uint8Array(t),n.byteLength),[4,this.cryptoFunctionService.hmac(l.buffer,s.macKey,"sha256")]);case 2:return null===(c=a.sent())?[2,null]:[4,this.cryptoFunctionService.compare(r,c)];case 3:if(!a.sent())return this.logService.error("mac failed."),[2,null];a.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(t,n,s.encKey)];case 5:return[2,a.sent()]}})})},e.prototype.getKeyForEncryption=function(e){return o(this,void 0,void 0,function(){var t;return a(this,function(n){switch(n.label){case 0:return null!=e?[2,e]:[4,this.getEncKey()];case 1:return null!=(t=n.sent())?[2,t]:[4,this.getKey()];case 2:return[2,n.sent()]}})})},e.prototype.resolveLegacyKey=function(e,t){return e===l.EncryptionType.AesCbc128_HmacSha256_B64&&t.encType===l.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(t.key,l.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):t},e.prototype.stretchKey=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return t=new Uint8Array(64),[4,this.cryptoFunctionService.hkdfExpand(e.key,"enc",32,"sha256")];case 1:return n=i.sent(),[4,this.cryptoFunctionService.hkdfExpand(e.key,"mac",32,"sha256")];case 2:return r=i.sent(),t.set(new Uint8Array(n)),t.set(new Uint8Array(r),32),[2,new d.SymmetricCryptoKey(t.buffer)]}})})},e.prototype.hashPhrase=function(e,t){return void 0===t&&(t=64),o(this,void 0,void 0,function(){var n,r,i,o,l,c,p;return a(this,function(a){if(n=Math.log(v.EEFLongWordList.length)/Math.log(2),r=Math.ceil(t/n),i=Array.from(new Uint8Array(e)),o=4*i.length,r*n>o)throw new Error("Output entropy of hash function is too small");for(l=[],c=s.fromArray(i,256);r--;)p=c.mod(v.EEFLongWordList.length),c=c.divide(v.EEFLongWordList.length),l.push(v.EEFLongWordList[p]);return[2,l]})})},e.prototype.buildEncKey=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return n=null,32!==e.key.byteLength?[3,3]:[4,this.stretchKey(e)];case 1:return r=i.sent(),[4,this.encrypt(t,r)];case 2:return n=i.sent(),[3,6];case 3:return 64!==e.key.byteLength?[3,5]:[4,this.encrypt(t,e)];case 4:return n=i.sent(),[3,6];case 5:throw new Error("Invalid key size.");case 6:return[2,[new d.SymmetricCryptoKey(t),n]]}})})},r([h.sequentialize(function(){return"getEncKey"}),i("design:type",Function),i("design:paramtypes",[d.SymmetricCryptoKey]),i("design:returntype",Promise)],e.prototype,"getEncKey",null),r([h.sequentialize(function(){return"getOrgKeys"}),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Promise)],e.prototype,"getOrgKeys",null),e}();t.CryptoService=w},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EEFLongWordList=["abacus","abdomen","abdominal","abide","abiding","ability","ablaze","able","abnormal","abrasion","abrasive","abreast","abridge","abroad","abruptly","absence","absentee","absently","absinthe","absolute","absolve","abstain","abstract","absurd","accent","acclaim","acclimate","accompany","account","accuracy","accurate","accustom","acetone","achiness","aching","acid","acorn","acquaint","acquire","acre","acrobat","acronym","acting","action","activate","activator","active","activism","activist","activity","actress","acts","acutely","acuteness","aeration","aerobics","aerosol","aerospace","afar","affair","affected","affecting","affection","affidavit","affiliate","affirm","affix","afflicted","affluent","afford","affront","aflame","afloat","aflutter","afoot","afraid","afterglow","afterlife","aftermath","aftermost","afternoon","aged","ageless","agency","agenda","agent","aggregate","aghast","agile","agility","aging","agnostic","agonize","agonizing","agony","agreeable","agreeably","agreed","agreeing","agreement","aground","ahead","ahoy","aide","aids","aim","ajar","alabaster","alarm","albatross","album","alfalfa","algebra","algorithm","alias","alibi","alienable","alienate","aliens","alike","alive","alkaline","alkalize","almanac","almighty","almost","aloe","aloft","aloha","alone","alongside","aloof","alphabet","alright","although","altitude","alto","aluminum","alumni","always","amaretto","amaze","amazingly","amber","ambiance","ambiguity","ambiguous","ambition","ambitious","ambulance","ambush","amendable","amendment","amends","amenity","amiable","amicably","amid","amigo","amino","amiss","ammonia","ammonium","amnesty","amniotic","among","amount","amperage","ample","amplifier","amplify","amply","amuck","amulet","amusable","amused","amusement","amuser","amusing","anaconda","anaerobic","anagram","anatomist","anatomy","anchor","anchovy","ancient","android","anemia","anemic","aneurism","anew","angelfish","angelic","anger","angled","angler","angles","angling","angrily","angriness","anguished","angular","animal","animate","animating","animation","animator","anime","animosity","ankle","annex","annotate","announcer","annoying","annually","annuity","anointer","another","answering","antacid","antarctic","anteater","antelope","antennae","anthem","anthill","anthology","antibody","antics","antidote","antihero","antiquely","antiques","antiquity","antirust","antitoxic","antitrust","antiviral","antivirus","antler","antonym","antsy","anvil","anybody","anyhow","anymore","anyone","anyplace","anything","anytime","anyway","anywhere","aorta","apache","apostle","appealing","appear","appease","appeasing","appendage","appendix","appetite","appetizer","applaud","applause","apple","appliance","applicant","applied","apply","appointee","appraisal","appraiser","apprehend","approach","approval","approve","apricot","april","apron","aptitude","aptly","aqua","aqueduct","arbitrary","arbitrate","ardently","area","arena","arguable","arguably","argue","arise","armadillo","armband","armchair","armed","armful","armhole","arming","armless","armoire","armored","armory","armrest","army","aroma","arose","around","arousal","arrange","array","arrest","arrival","arrive","arrogance","arrogant","arson","art","ascend","ascension","ascent","ascertain","ashamed","ashen","ashes","ashy","aside","askew","asleep","asparagus","aspect","aspirate","aspire","aspirin","astonish","astound","astride","astrology","astronaut","astronomy","astute","atlantic","atlas","atom","atonable","atop","atrium","atrocious","atrophy","attach","attain","attempt","attendant","attendee","attention","attentive","attest","attic","attire","attitude","attractor","attribute","atypical","auction","audacious","audacity","audible","audibly","audience","audio","audition","augmented","august","authentic","author","autism","autistic","autograph","automaker","automated","automatic","autopilot","available","avalanche","avatar","avenge","avenging","avenue","average","aversion","avert","aviation","aviator","avid","avoid","await","awaken","award","aware","awhile","awkward","awning","awoke","awry","axis","babble","babbling","babied","baboon","backache","backboard","backboned","backdrop","backed","backer","backfield","backfire","backhand","backing","backlands","backlash","backless","backlight","backlit","backlog","backpack","backpedal","backrest","backroom","backshift","backside","backslid","backspace","backspin","backstab","backstage","backtalk","backtrack","backup","backward","backwash","backwater","backyard","bacon","bacteria","bacterium","badass","badge","badland","badly","badness","baffle","baffling","bagel","bagful","baggage","bagged","baggie","bagginess","bagging","baggy","bagpipe","baguette","baked","bakery","bakeshop","baking","balance","balancing","balcony","balmy","balsamic","bamboo","banana","banish","banister","banjo","bankable","bankbook","banked","banker","banking","banknote","bankroll","banner","bannister","banshee","banter","barbecue","barbed","barbell","barber","barcode","barge","bargraph","barista","baritone","barley","barmaid","barman","barn","barometer","barrack","barracuda","barrel","barrette","barricade","barrier","barstool","bartender","barterer","bash","basically","basics","basil","basin","basis","basket","batboy","batch","bath","baton","bats","battalion","battered","battering","battery","batting","battle","bauble","bazooka","blabber","bladder","blade","blah","blame","blaming","blanching","blandness","blank","blaspheme","blasphemy","blast","blatancy","blatantly","blazer","blazing","bleach","bleak","bleep","blemish","blend","bless","blighted","blimp","bling","blinked","blinker","blinking","blinks","blip","blissful","blitz","blizzard","bloated","bloating","blob","blog","bloomers","blooming","blooper","blot","blouse","blubber","bluff","bluish","blunderer","blunt","blurb","blurred","blurry","blurt","blush","blustery","boaster","boastful","boasting","boat","bobbed","bobbing","bobble","bobcat","bobsled","bobtail","bodacious","body","bogged","boggle","bogus","boil","bok","bolster","bolt","bonanza","bonded","bonding","bondless","boned","bonehead","boneless","bonelike","boney","bonfire","bonnet","bonsai","bonus","bony","boogeyman","boogieman","book","boondocks","booted","booth","bootie","booting","bootlace","bootleg","boots","boozy","borax","boring","borough","borrower","borrowing","boss","botanical","botanist","botany","botch","both","bottle","bottling","bottom","bounce","bouncing","bouncy","bounding","boundless","bountiful","bovine","boxcar","boxer","boxing","boxlike","boxy","breach","breath","breeches","breeching","breeder","breeding","breeze","breezy","brethren","brewery","brewing","briar","bribe","brick","bride","bridged","brigade","bright","brilliant","brim","bring","brink","brisket","briskly","briskness","bristle","brittle","broadband","broadcast","broaden","broadly","broadness","broadside","broadways","broiler","broiling","broken","broker","bronchial","bronco","bronze","bronzing","brook","broom","brought","browbeat","brownnose","browse","browsing","bruising","brunch","brunette","brunt","brush","brussels","brute","brutishly","bubble","bubbling","bubbly","buccaneer","bucked","bucket","buckle","buckshot","buckskin","bucktooth","buckwheat","buddhism","buddhist","budding","buddy","budget","buffalo","buffed","buffer","buffing","buffoon","buggy","bulb","bulge","bulginess","bulgur","bulk","bulldog","bulldozer","bullfight","bullfrog","bullhorn","bullion","bullish","bullpen","bullring","bullseye","bullwhip","bully","bunch","bundle","bungee","bunion","bunkbed","bunkhouse","bunkmate","bunny","bunt","busboy","bush","busily","busload","bust","busybody","buzz","cabana","cabbage","cabbie","cabdriver","cable","caboose","cache","cackle","cacti","cactus","caddie","caddy","cadet","cadillac","cadmium","cage","cahoots","cake","calamari","calamity","calcium","calculate","calculus","caliber","calibrate","calm","caloric","calorie","calzone","camcorder","cameo","camera","camisole","camper","campfire","camping","campsite","campus","canal","canary","cancel","candied","candle","candy","cane","canine","canister","cannabis","canned","canning","cannon","cannot","canola","canon","canopener","canopy","canteen","canyon","capable","capably","capacity","cape","capillary","capital","capitol","capped","capricorn","capsize","capsule","caption","captivate","captive","captivity","capture","caramel","carat","caravan","carbon","cardboard","carded","cardiac","cardigan","cardinal","cardstock","carefully","caregiver","careless","caress","caretaker","cargo","caring","carless","carload","carmaker","carnage","carnation","carnival","carnivore","carol","carpenter","carpentry","carpool","carport","carried","carrot","carrousel","carry","cartel","cartload","carton","cartoon","cartridge","cartwheel","carve","carving","carwash","cascade","case","cash","casing","casino","casket","cassette","casually","casualty","catacomb","catalog","catalyst","catalyze","catapult","cataract","catatonic","catcall","catchable","catcher","catching","catchy","caterer","catering","catfight","catfish","cathedral","cathouse","catlike","catnap","catnip","catsup","cattail","cattishly","cattle","catty","catwalk","caucasian","caucus","causal","causation","cause","causing","cauterize","caution","cautious","cavalier","cavalry","caviar","cavity","cedar","celery","celestial","celibacy","celibate","celtic","cement","census","ceramics","ceremony","certainly","certainty","certified","certify","cesarean","cesspool","chafe","chaffing","chain","chair","chalice","challenge","chamber","chamomile","champion","chance","change","channel","chant","chaos","chaperone","chaplain","chapped","chaps","chapter","character","charbroil","charcoal","charger","charging","chariot","charity","charm","charred","charter","charting","chase","chasing","chaste","chastise","chastity","chatroom","chatter","chatting","chatty","cheating","cheddar","cheek","cheer","cheese","cheesy","chef","chemicals","chemist","chemo","cherisher","cherub","chess","chest","chevron","chevy","chewable","chewer","chewing","chewy","chief","chihuahua","childcare","childhood","childish","childless","childlike","chili","chill","chimp","chip","chirping","chirpy","chitchat","chivalry","chive","chloride","chlorine","choice","chokehold","choking","chomp","chooser","choosing","choosy","chop","chosen","chowder","chowtime","chrome","chubby","chuck","chug","chummy","chump","chunk","churn","chute","cider","cilantro","cinch","cinema","cinnamon","circle","circling","circular","circulate","circus","citable","citadel","citation","citizen","citric","citrus","city","civic","civil","clad","claim","clambake","clammy","clamor","clamp","clamshell","clang","clanking","clapped","clapper","clapping","clarify","clarinet","clarity","clash","clasp","class","clatter","clause","clavicle","claw","clay","clean","clear","cleat","cleaver","cleft","clench","clergyman","clerical","clerk","clever","clicker","client","climate","climatic","cling","clinic","clinking","clip","clique","cloak","clobber","clock","clone","cloning","closable","closure","clothes","clothing","cloud","clover","clubbed","clubbing","clubhouse","clump","clumsily","clumsy","clunky","clustered","clutch","clutter","coach","coagulant","coastal","coaster","coasting","coastland","coastline","coat","coauthor","cobalt","cobbler","cobweb","cocoa","coconut","cod","coeditor","coerce","coexist","coffee","cofounder","cognition","cognitive","cogwheel","coherence","coherent","cohesive","coil","coke","cola","cold","coleslaw","coliseum","collage","collapse","collar","collected","collector","collide","collie","collision","colonial","colonist","colonize","colony","colossal","colt","coma","come","comfort","comfy","comic","coming","comma","commence","commend","comment","commerce","commode","commodity","commodore","common","commotion","commute","commuting","compacted","compacter","compactly","compactor","companion","company","compare","compel","compile","comply","component","composed","composer","composite","compost","composure","compound","compress","comprised","computer","computing","comrade","concave","conceal","conceded","concept","concerned","concert","conch","concierge","concise","conclude","concrete","concur","condense","condiment","condition","condone","conducive","conductor","conduit","cone","confess","confetti","confidant","confident","confider","confiding","configure","confined","confining","confirm","conflict","conform","confound","confront","confused","confusing","confusion","congenial","congested","congrats","congress","conical","conjoined","conjure","conjuror","connected","connector","consensus","consent","console","consoling","consonant","constable","constant","constrain","constrict","construct","consult","consumer","consuming","contact","container","contempt","contend","contented","contently","contents","contest","context","contort","contour","contrite","control","contusion","convene","convent","copartner","cope","copied","copier","copilot","coping","copious","copper","copy","coral","cork","cornball","cornbread","corncob","cornea","corned","corner","cornfield","cornflake","cornhusk","cornmeal","cornstalk","corny","coronary","coroner","corporal","corporate","corral","correct","corridor","corrode","corroding","corrosive","corsage","corset","cortex","cosigner","cosmetics","cosmic","cosmos","cosponsor","cost","cottage","cotton","couch","cough","could","countable","countdown","counting","countless","country","county","courier","covenant","cover","coveted","coveting","coyness","cozily","coziness","cozy","crabbing","crabgrass","crablike","crabmeat","cradle","cradling","crafter","craftily","craftsman","craftwork","crafty","cramp","cranberry","crane","cranial","cranium","crank","crate","crave","craving","crawfish","crawlers","crawling","crayfish","crayon","crazed","crazily","craziness","crazy","creamed","creamer","creamlike","crease","creasing","creatable","create","creation","creative","creature","credible","credibly","credit","creed","creme","creole","crepe","crept","crescent","crested","cresting","crestless","crevice","crewless","crewman","crewmate","crib","cricket","cried","crier","crimp","crimson","cringe","cringing","crinkle","crinkly","crisped","crisping","crisply","crispness","crispy","criteria","critter","croak","crock","crook","croon","crop","cross","crouch","crouton","crowbar","crowd","crown","crucial","crudely","crudeness","cruelly","cruelness","cruelty","crumb","crummiest","crummy","crumpet","crumpled","cruncher","crunching","crunchy","crusader","crushable","crushed","crusher","crushing","crust","crux","crying","cryptic","crystal","cubbyhole","cube","cubical","cubicle","cucumber","cuddle","cuddly","cufflink","culinary","culminate","culpable","culprit","cultivate","cultural","culture","cupbearer","cupcake","cupid","cupped","cupping","curable","curator","curdle","cure","curfew","curing","curled","curler","curliness","curling","curly","curry","curse","cursive","cursor","curtain","curtly","curtsy","curvature","curve","curvy","cushy","cusp","cussed","custard","custodian","custody","customary","customer","customize","customs","cut","cycle","cyclic","cycling","cyclist","cylinder","cymbal","cytoplasm","cytoplast","dab","dad","daffodil","dagger","daily","daintily","dainty","dairy","daisy","dallying","dance","dancing","dandelion","dander","dandruff","dandy","danger","dangle","dangling","daredevil","dares","daringly","darkened","darkening","darkish","darkness","darkroom","darling","darn","dart","darwinism","dash","dastardly","data","datebook","dating","daughter","daunting","dawdler","dawn","daybed","daybreak","daycare","daydream","daylight","daylong","dayroom","daytime","dazzler","dazzling","deacon","deafening","deafness","dealer","dealing","dealmaker","dealt","dean","debatable","debate","debating","debit","debrief","debtless","debtor","debug","debunk","decade","decaf","decal","decathlon","decay","deceased","deceit","deceiver","deceiving","december","decency","decent","deception","deceptive","decibel","decidable","decimal","decimeter","decipher","deck","declared","decline","decode","decompose","decorated","decorator","decoy","decrease","decree","dedicate","dedicator","deduce","deduct","deed","deem","deepen","deeply","deepness","deface","defacing","defame","default","defeat","defection","defective","defendant","defender","defense","defensive","deferral","deferred","defiance","defiant","defile","defiling","define","definite","deflate","deflation","deflator","deflected","deflector","defog","deforest","defraud","defrost","deftly","defuse","defy","degraded","degrading","degrease","degree","dehydrate","deity","dejected","delay","delegate","delegator","delete","deletion","delicacy","delicate","delicious","delighted","delirious","delirium","deliverer","delivery","delouse","delta","deluge","delusion","deluxe","demanding","demeaning","demeanor","demise","democracy","democrat","demote","demotion","demystify","denatured","deniable","denial","denim","denote","dense","density","dental","dentist","denture","deny","deodorant","deodorize","departed","departure","depict","deplete","depletion","deplored","deploy","deport","depose","depraved","depravity","deprecate","depress","deprive","depth","deputize","deputy","derail","deranged","derby","derived","desecrate","deserve","deserving","designate","designed","designer","designing","deskbound","desktop","deskwork","desolate","despair","despise","despite","destiny","destitute","destruct","detached","detail","detection","detective","detector","detention","detergent","detest","detonate","detonator","detoxify","detract","deuce","devalue","deviancy","deviant","deviate","deviation","deviator","device","devious","devotedly","devotee","devotion","devourer","devouring","devoutly","dexterity","dexterous","diabetes","diabetic","diabolic","diagnoses","diagnosis","diagram","dial","diameter","diaper","diaphragm","diary","dice","dicing","dictate","dictation","dictator","difficult","diffused","diffuser","diffusion","diffusive","dig","dilation","diligence","diligent","dill","dilute","dime","diminish","dimly","dimmed","dimmer","dimness","dimple","diner","dingbat","dinghy","dinginess","dingo","dingy","dining","dinner","diocese","dioxide","diploma","dipped","dipper","dipping","directed","direction","directive","directly","directory","direness","dirtiness","disabled","disagree","disallow","disarm","disarray","disaster","disband","disbelief","disburse","discard","discern","discharge","disclose","discolor","discount","discourse","discover","discuss","disdain","disengage","disfigure","disgrace","dish","disinfect","disjoin","disk","dislike","disliking","dislocate","dislodge","disloyal","dismantle","dismay","dismiss","dismount","disobey","disorder","disown","disparate","disparity","dispatch","dispense","dispersal","dispersed","disperser","displace","display","displease","disposal","dispose","disprove","dispute","disregard","disrupt","dissuade","distance","distant","distaste","distill","distinct","distort","distract","distress","district","distrust","ditch","ditto","ditzy","dividable","divided","dividend","dividers","dividing","divinely","diving","divinity","divisible","divisibly","division","divisive","divorcee","dizziness","dizzy","doable","docile","dock","doctrine","document","dodge","dodgy","doily","doing","dole","dollar","dollhouse","dollop","dolly","dolphin","domain","domelike","domestic","dominion","dominoes","donated","donation","donator","donor","donut","doodle","doorbell","doorframe","doorknob","doorman","doormat","doornail","doorpost","doorstep","doorstop","doorway","doozy","dork","dormitory","dorsal","dosage","dose","dotted","doubling","douche","dove","down","dowry","doze","drab","dragging","dragonfly","dragonish","dragster","drainable","drainage","drained","drainer","drainpipe","dramatic","dramatize","drank","drapery","drastic","draw","dreaded","dreadful","dreadlock","dreamboat","dreamily","dreamland","dreamless","dreamlike","dreamt","dreamy","drearily","dreary","drench","dress","drew","dribble","dried","drier","drift","driller","drilling","drinkable","drinking","dripping","drippy","drivable","driven","driver","driveway","driving","drizzle","drizzly","drone","drool","droop","drop-down","dropbox","dropkick","droplet","dropout","dropper","drove","drown","drowsily","drudge","drum","dry","dubbed","dubiously","duchess","duckbill","ducking","duckling","ducktail","ducky","duct","dude","duffel","dugout","duh","duke","duller","dullness","duly","dumping","dumpling","dumpster","duo","dupe","duplex","duplicate","duplicity","durable","durably","duration","duress","during","dusk","dust","dutiful","duty","duvet","dwarf","dweeb","dwelled","dweller","dwelling","dwindle","dwindling","dynamic","dynamite","dynasty","dyslexia","dyslexic","each","eagle","earache","eardrum","earflap","earful","earlobe","early","earmark","earmuff","earphone","earpiece","earplugs","earring","earshot","earthen","earthlike","earthling","earthly","earthworm","earthy","earwig","easeful","easel","easiest","easily","easiness","easing","eastbound","eastcoast","easter","eastward","eatable","eaten","eatery","eating","eats","ebay","ebony","ebook","ecard","eccentric","echo","eclair","eclipse","ecologist","ecology","economic","economist","economy","ecosphere","ecosystem","edge","edginess","edging","edgy","edition","editor","educated","education","educator","eel","effective","effects","efficient","effort","eggbeater","egging","eggnog","eggplant","eggshell","egomaniac","egotism","egotistic","either","eject","elaborate","elastic","elated","elbow","eldercare","elderly","eldest","electable","election","elective","elephant","elevate","elevating","elevation","elevator","eleven","elf","eligible","eligibly","eliminate","elite","elitism","elixir","elk","ellipse","elliptic","elm","elongated","elope","eloquence","eloquent","elsewhere","elude","elusive","elves","email","embargo","embark","embassy","embattled","embellish","ember","embezzle","emblaze","emblem","embody","embolism","emboss","embroider","emcee","emerald","emergency","emission","emit","emote","emoticon","emotion","empathic","empathy","emperor","emphases","emphasis","emphasize","emphatic","empirical","employed","employee","employer","emporium","empower","emptier","emptiness","empty","emu","enable","enactment","enamel","enchanted","enchilada","encircle","enclose","enclosure","encode","encore","encounter","encourage","encroach","encrust","encrypt","endanger","endeared","endearing","ended","ending","endless","endnote","endocrine","endorphin","endorse","endowment","endpoint","endurable","endurance","enduring","energetic","energize","energy","enforced","enforcer","engaged","engaging","engine","engorge","engraved","engraver","engraving","engross","engulf","enhance","enigmatic","enjoyable","enjoyably","enjoyer","enjoying","enjoyment","enlarged","enlarging","enlighten","enlisted","enquirer","enrage","enrich","enroll","enslave","ensnare","ensure","entail","entangled","entering","entertain","enticing","entire","entitle","entity","entomb","entourage","entrap","entree","entrench","entrust","entryway","entwine","enunciate","envelope","enviable","enviably","envious","envision","envoy","envy","enzyme","epic","epidemic","epidermal","epidermis","epidural","epilepsy","epileptic","epilogue","epiphany","episode","equal","equate","equation","equator","equinox","equipment","equity","equivocal","eradicate","erasable","erased","eraser","erasure","ergonomic","errand","errant","erratic","error","erupt","escalate","escalator","escapable","escapade","escapist","escargot","eskimo","esophagus","espionage","espresso","esquire","essay","essence","essential","establish","estate","esteemed","estimate","estimator","estranged","estrogen","etching","eternal","eternity","ethanol","ether","ethically","ethics","euphemism","evacuate","evacuee","evade","evaluate","evaluator","evaporate","evasion","evasive","even","everglade","evergreen","everybody","everyday","everyone","evict","evidence","evident","evil","evoke","evolution","evolve","exact","exalted","example","excavate","excavator","exceeding","exception","excess","exchange","excitable","exciting","exclaim","exclude","excluding","exclusion","exclusive","excretion","excretory","excursion","excusable","excusably","excuse","exemplary","exemplify","exemption","exerciser","exert","exes","exfoliate","exhale","exhaust","exhume","exile","existing","exit","exodus","exonerate","exorcism","exorcist","expand","expanse","expansion","expansive","expectant","expedited","expediter","expel","expend","expenses","expensive","expert","expire","expiring","explain","expletive","explicit","explode","exploit","explore","exploring","exponent","exporter","exposable","expose","exposure","express","expulsion","exquisite","extended","extending","extent","extenuate","exterior","external","extinct","extortion","extradite","extras","extrovert","extrude","extruding","exuberant","fable","fabric","fabulous","facebook","facecloth","facedown","faceless","facelift","faceplate","faceted","facial","facility","facing","facsimile","faction","factoid","factor","factsheet","factual","faculty","fade","fading","failing","falcon","fall","false","falsify","fame","familiar","family","famine","famished","fanatic","fancied","fanciness","fancy","fanfare","fang","fanning","fantasize","fantastic","fantasy","fascism","fastball","faster","fasting","fastness","faucet","favorable","favorably","favored","favoring","favorite","fax","feast","federal","fedora","feeble","feed","feel","feisty","feline","felt-tip","feminine","feminism","feminist","feminize","femur","fence","fencing","fender","ferment","fernlike","ferocious","ferocity","ferret","ferris","ferry","fervor","fester","festival","festive","festivity","fetal","fetch","fever","fiber","fiction","fiddle","fiddling","fidelity","fidgeting","fidgety","fifteen","fifth","fiftieth","fifty","figment","figure","figurine","filing","filled","filler","filling","film","filter","filth","filtrate","finale","finalist","finalize","finally","finance","financial","finch","fineness","finer","finicky","finished","finisher","finishing","finite","finless","finlike","fiscally","fit","five","flaccid","flagman","flagpole","flagship","flagstick","flagstone","flail","flakily","flaky","flame","flammable","flanked","flanking","flannels","flap","flaring","flashback","flashbulb","flashcard","flashily","flashing","flashy","flask","flatbed","flatfoot","flatly","flatness","flatten","flattered","flatterer","flattery","flattop","flatware","flatworm","flavored","flavorful","flavoring","flaxseed","fled","fleshed","fleshy","flick","flier","flight","flinch","fling","flint","flip","flirt","float","flock","flogging","flop","floral","florist","floss","flounder","flyable","flyaway","flyer","flying","flyover","flypaper","foam","foe","fog","foil","folic","folk","follicle","follow","fondling","fondly","fondness","fondue","font","food","fool","footage","football","footbath","footboard","footer","footgear","foothill","foothold","footing","footless","footman","footnote","footpad","footpath","footprint","footrest","footsie","footsore","footwear","footwork","fossil","foster","founder","founding","fountain","fox","foyer","fraction","fracture","fragile","fragility","fragment","fragrance","fragrant","frail","frame","framing","frantic","fraternal","frayed","fraying","frays","freckled","freckles","freebase","freebee","freebie","freedom","freefall","freehand","freeing","freeload","freely","freemason","freeness","freestyle","freeware","freeway","freewill","freezable","freezing","freight","french","frenzied","frenzy","frequency","frequent","fresh","fretful","fretted","friction","friday","fridge","fried","friend","frighten","frightful","frigidity","frigidly","frill","fringe","frisbee","frisk","fritter","frivolous","frolic","from","front","frostbite","frosted","frostily","frosting","frostlike","frosty","froth","frown","frozen","fructose","frugality","frugally","fruit","frustrate","frying","gab","gaffe","gag","gainfully","gaining","gains","gala","gallantly","galleria","gallery","galley","gallon","gallows","gallstone","galore","galvanize","gambling","game","gaming","gamma","gander","gangly","gangrene","gangway","gap","garage","garbage","garden","gargle","garland","garlic","garment","garnet","garnish","garter","gas","gatherer","gathering","gating","gauging","gauntlet","gauze","gave","gawk","gazing","gear","gecko","geek","geiger","gem","gender","generic","generous","genetics","genre","gentile","gentleman","gently","gents","geography","geologic","geologist","geology","geometric","geometry","geranium","gerbil","geriatric","germicide","germinate","germless","germproof","gestate","gestation","gesture","getaway","getting","getup","giant","gibberish","giblet","giddily","giddiness","giddy","gift","gigabyte","gigahertz","gigantic","giggle","giggling","giggly","gigolo","gilled","gills","gimmick","girdle","giveaway","given","giver","giving","gizmo","gizzard","glacial","glacier","glade","gladiator","gladly","glamorous","glamour","glance","glancing","glandular","glare","glaring","glass","glaucoma","glazing","gleaming","gleeful","glider","gliding","glimmer","glimpse","glisten","glitch","glitter","glitzy","gloater","gloating","gloomily","gloomy","glorified","glorifier","glorify","glorious","glory","gloss","glove","glowing","glowworm","glucose","glue","gluten","glutinous","glutton","gnarly","gnat","goal","goatskin","goes","goggles","going","goldfish","goldmine","goldsmith","golf","goliath","gonad","gondola","gone","gong","good","gooey","goofball","goofiness","goofy","google","goon","gopher","gore","gorged","gorgeous","gory","gosling","gossip","gothic","gotten","gout","gown","grab","graceful","graceless","gracious","gradation","graded","grader","gradient","grading","gradually","graduate","graffiti","grafted","grafting","grain","granddad","grandkid","grandly","grandma","grandpa","grandson","granite","granny","granola","grant","granular","grape","graph","grapple","grappling","grasp","grass","gratified","gratify","grating","gratitude","gratuity","gravel","graveness","graves","graveyard","gravitate","gravity","gravy","gray","grazing","greasily","greedily","greedless","greedy","green","greeter","greeting","grew","greyhound","grid","grief","grievance","grieving","grievous","grill","grimace","grimacing","grime","griminess","grimy","grinch","grinning","grip","gristle","grit","groggily","groggy","groin","groom","groove","grooving","groovy","grope","ground","grouped","grout","grove","grower","growing","growl","grub","grudge","grudging","grueling","gruffly","grumble","grumbling","grumbly","grumpily","grunge","grunt","guacamole","guidable","guidance","guide","guiding","guileless","guise","gulf","gullible","gully","gulp","gumball","gumdrop","gumminess","gumming","gummy","gurgle","gurgling","guru","gush","gusto","gusty","gutless","guts","gutter","guy","guzzler","gyration","habitable","habitant","habitat","habitual","hacked","hacker","hacking","hacksaw","had","haggler","haiku","half","halogen","halt","halved","halves","hamburger","hamlet","hammock","hamper","hamster","hamstring","handbag","handball","handbook","handbrake","handcart","handclap","handclasp","handcraft","handcuff","handed","handful","handgrip","handgun","handheld","handiness","handiwork","handlebar","handled","handler","handling","handmade","handoff","handpick","handprint","handrail","handsaw","handset","handsfree","handshake","handstand","handwash","handwork","handwoven","handwrite","handyman","hangnail","hangout","hangover","hangup","hankering","hankie","hanky","haphazard","happening","happier","happiest","happily","happiness","happy","harbor","hardcopy","hardcore","hardcover","harddisk","hardened","hardener","hardening","hardhat","hardhead","hardiness","hardly","hardness","hardship","hardware","hardwired","hardwood","hardy","harmful","harmless","harmonica","harmonics","harmonize","harmony","harness","harpist","harsh","harvest","hash","hassle","haste","hastily","hastiness","hasty","hatbox","hatchback","hatchery","hatchet","hatching","hatchling","hate","hatless","hatred","haunt","haven","hazard","hazelnut","hazily","haziness","hazing","hazy","headache","headband","headboard","headcount","headdress","headed","header","headfirst","headgear","heading","headlamp","headless","headlock","headphone","headpiece","headrest","headroom","headscarf","headset","headsman","headstand","headstone","headway","headwear","heap","heat","heave","heavily","heaviness","heaving","hedge","hedging","heftiness","hefty","helium","helmet","helper","helpful","helping","helpless","helpline","hemlock","hemstitch","hence","henchman","henna","herald","herbal","herbicide","herbs","heritage","hermit","heroics","heroism","herring","herself","hertz","hesitancy","hesitant","hesitate","hexagon","hexagram","hubcap","huddle","huddling","huff","hug","hula","hulk","hull","human","humble","humbling","humbly","humid","humiliate","humility","humming","hummus","humongous","humorist","humorless","humorous","humpback","humped","humvee","hunchback","hundredth","hunger","hungrily","hungry","hunk","hunter","hunting","huntress","huntsman","hurdle","hurled","hurler","hurling","hurray","hurricane","hurried","hurry","hurt","husband","hush","husked","huskiness","hut","hybrid","hydrant","hydrated","hydration","hydrogen","hydroxide","hyperlink","hypertext","hyphen","hypnoses","hypnosis","hypnotic","hypnotism","hypnotist","hypnotize","hypocrisy","hypocrite","ibuprofen","ice","iciness","icing","icky","icon","icy","idealism","idealist","idealize","ideally","idealness","identical","identify","identity","ideology","idiocy","idiom","idly","igloo","ignition","ignore","iguana","illicitly","illusion","illusive","image","imaginary","imagines","imaging","imbecile","imitate","imitation","immature","immerse","immersion","imminent","immobile","immodest","immorally","immortal","immovable","immovably","immunity","immunize","impaired","impale","impart","impatient","impeach","impeding","impending","imperfect","imperial","impish","implant","implement","implicate","implicit","implode","implosion","implosive","imply","impolite","important","importer","impose","imposing","impotence","impotency","impotent","impound","imprecise","imprint","imprison","impromptu","improper","improve","improving","improvise","imprudent","impulse","impulsive","impure","impurity","iodine","iodize","ion","ipad","iphone","ipod","irate","irk","iron","irregular","irrigate","irritable","irritably","irritant","irritate","islamic","islamist","isolated","isolating","isolation","isotope","issue","issuing","italicize","italics","item","itinerary","itunes","ivory","ivy","jab","jackal","jacket","jackknife","jackpot","jailbird","jailbreak","jailer","jailhouse","jalapeno","jam","janitor","january","jargon","jarring","jasmine","jaundice","jaunt","java","jawed","jawless","jawline","jaws","jaybird","jaywalker","jazz","jeep","jeeringly","jellied","jelly","jersey","jester","jet","jiffy","jigsaw","jimmy","jingle","jingling","jinx","jitters","jittery","job","jockey","jockstrap","jogger","jogging","john","joining","jokester","jokingly","jolliness","jolly","jolt","jot","jovial","joyfully","joylessly","joyous","joyride","joystick","jubilance","jubilant","judge","judgingly","judicial","judiciary","judo","juggle","juggling","jugular","juice","juiciness","juicy","jujitsu","jukebox","july","jumble","jumbo","jump","junction","juncture","june","junior","juniper","junkie","junkman","junkyard","jurist","juror","jury","justice","justifier","justify","justly","justness","juvenile","kabob","kangaroo","karaoke","karate","karma","kebab","keenly","keenness","keep","keg","kelp","kennel","kept","kerchief","kerosene","kettle","kick","kiln","kilobyte","kilogram","kilometer","kilowatt","kilt","kimono","kindle","kindling","kindly","kindness","kindred","kinetic","kinfolk","king","kinship","kinsman","kinswoman","kissable","kisser","kissing","kitchen","kite","kitten","kitty","kiwi","kleenex","knapsack","knee","knelt","knickers","knoll","koala","kooky","kosher","krypton","kudos","kung","labored","laborer","laboring","laborious","labrador","ladder","ladies","ladle","ladybug","ladylike","lagged","lagging","lagoon","lair","lake","lance","landed","landfall","landfill","landing","landlady","landless","landline","landlord","landmark","landmass","landmine","landowner","landscape","landside","landslide","language","lankiness","lanky","lantern","lapdog","lapel","lapped","lapping","laptop","lard","large","lark","lash","lasso","last","latch","late","lather","latitude","latrine","latter","latticed","launch","launder","laundry","laurel","lavender","lavish","laxative","lazily","laziness","lazy","lecturer","left","legacy","legal","legend","legged","leggings","legible","legibly","legislate","lego","legroom","legume","legwarmer","legwork","lemon","lend","length","lens","lent","leotard","lesser","letdown","lethargic","lethargy","letter","lettuce","level","leverage","levers","levitate","levitator","liability","liable","liberty","librarian","library","licking","licorice","lid","life","lifter","lifting","liftoff","ligament","likely","likeness","likewise","liking","lilac","lilly","lily","limb","limeade","limelight","limes","limit","limping","limpness","line","lingo","linguini","linguist","lining","linked","linoleum","linseed","lint","lion","lip","liquefy","liqueur","liquid","lisp","list","litigate","litigator","litmus","litter","little","livable","lived","lively","liver","livestock","lividly","living","lizard","lubricant","lubricate","lucid","luckily","luckiness","luckless","lucrative","ludicrous","lugged","lukewarm","lullaby","lumber","luminance","luminous","lumpiness","lumping","lumpish","lunacy","lunar","lunchbox","luncheon","lunchroom","lunchtime","lung","lurch","lure","luridness","lurk","lushly","lushness","luster","lustfully","lustily","lustiness","lustrous","lusty","luxurious","luxury","lying","lyrically","lyricism","lyricist","lyrics","macarena","macaroni","macaw","mace","machine","machinist","magazine","magenta","maggot","magical","magician","magma","magnesium","magnetic","magnetism","magnetize","magnifier","magnify","magnitude","magnolia","mahogany","maimed","majestic","majesty","majorette","majority","makeover","maker","makeshift","making","malformed","malt","mama","mammal","mammary","mammogram","manager","managing","manatee","mandarin","mandate","mandatory","mandolin","manger","mangle","mango","mangy","manhandle","manhole","manhood","manhunt","manicotti","manicure","manifesto","manila","mankind","manlike","manliness","manly","manmade","manned","mannish","manor","manpower","mantis","mantra","manual","many","map","marathon","marauding","marbled","marbles","marbling","march","mardi","margarine","margarita","margin","marigold","marina","marine","marital","maritime","marlin","marmalade","maroon","married","marrow","marry","marshland","marshy","marsupial","marvelous","marxism","mascot","masculine","mashed","mashing","massager","masses","massive","mastiff","matador","matchbook","matchbox","matcher","matching","matchless","material","maternal","maternity","math","mating","matriarch","matrimony","matrix","matron","matted","matter","maturely","maturing","maturity","mauve","maverick","maximize","maximum","maybe","mayday","mayflower","moaner","moaning","mobile","mobility","mobilize","mobster","mocha","mocker","mockup","modified","modify","modular","modulator","module","moisten","moistness","moisture","molar","molasses","mold","molecular","molecule","molehill","mollusk","mom","monastery","monday","monetary","monetize","moneybags","moneyless","moneywise","mongoose","mongrel","monitor","monkhood","monogamy","monogram","monologue","monopoly","monorail","monotone","monotype","monoxide","monsieur","monsoon","monstrous","monthly","monument","moocher","moodiness","moody","mooing","moonbeam","mooned","moonlight","moonlike","moonlit","moonrise","moonscape","moonshine","moonstone","moonwalk","mop","morale","morality","morally","morbidity","morbidly","morphine","morphing","morse","mortality","mortally","mortician","mortified","mortify","mortuary","mosaic","mossy","most","mothball","mothproof","motion","motivate","motivator","motive","motocross","motor","motto","mountable","mountain","mounted","mounting","mourner","mournful","mouse","mousiness","moustache","mousy","mouth","movable","move","movie","moving","mower","mowing","much","muck","mud","mug","mulberry","mulch","mule","mulled","mullets","multiple","multiply","multitask","multitude","mumble","mumbling","mumbo","mummified","mummify","mummy","mumps","munchkin","mundane","municipal","muppet","mural","murkiness","murky","murmuring","muscular","museum","mushily","mushiness","mushroom","mushy","music","musket","muskiness","musky","mustang","mustard","muster","mustiness","musty","mutable","mutate","mutation","mute","mutilated","mutilator","mutiny","mutt","mutual","muzzle","myself","myspace","mystified","mystify","myth","nacho","nag","nail","name","naming","nanny","nanometer","nape","napkin","napped","napping","nappy","narrow","nastily","nastiness","national","native","nativity","natural","nature","naturist","nautical","navigate","navigator","navy","nearby","nearest","nearly","nearness","neatly","neatness","nebula","nebulizer","nectar","negate","negation","negative","neglector","negligee","negligent","negotiate","nemeses","nemesis","neon","nephew","nerd","nervous","nervy","nest","net","neurology","neuron","neurosis","neurotic","neuter","neutron","never","next","nibble","nickname","nicotine","niece","nifty","nimble","nimbly","nineteen","ninetieth","ninja","nintendo","ninth","nuclear","nuclei","nucleus","nugget","nullify","number","numbing","numbly","numbness","numeral","numerate","numerator","numeric","numerous","nuptials","nursery","nursing","nurture","nutcase","nutlike","nutmeg","nutrient","nutshell","nuttiness","nutty","nuzzle","nylon","oaf","oak","oasis","oat","obedience","obedient","obituary","object","obligate","obliged","oblivion","oblivious","oblong","obnoxious","oboe","obscure","obscurity","observant","observer","observing","obsessed","obsession","obsessive","obsolete","obstacle","obstinate","obstruct","obtain","obtrusive","obtuse","obvious","occultist","occupancy","occupant","occupier","occupy","ocean","ocelot","octagon","octane","october","octopus","ogle","oil","oink","ointment","okay","old","olive","olympics","omega","omen","ominous","omission","omit","omnivore","onboard","oncoming","ongoing","onion","online","onlooker","only","onscreen","onset","onshore","onslaught","onstage","onto","onward","onyx","oops","ooze","oozy","opacity","opal","open","operable","operate","operating","operation","operative","operator","opium","opossum","opponent","oppose","opposing","opposite","oppressed","oppressor","opt","opulently","osmosis","other","otter","ouch","ought","ounce","outage","outback","outbid","outboard","outbound","outbreak","outburst","outcast","outclass","outcome","outdated","outdoors","outer","outfield","outfit","outflank","outgoing","outgrow","outhouse","outing","outlast","outlet","outline","outlook","outlying","outmatch","outmost","outnumber","outplayed","outpost","outpour","output","outrage","outrank","outreach","outright","outscore","outsell","outshine","outshoot","outsider","outskirts","outsmart","outsource","outspoken","outtakes","outthink","outward","outweigh","outwit","oval","ovary","oven","overact","overall","overarch","overbid","overbill","overbite","overblown","overboard","overbook","overbuilt","overcast","overcoat","overcome","overcook","overcrowd","overdraft","overdrawn","overdress","overdrive","overdue","overeager","overeater","overexert","overfed","overfeed","overfill","overflow","overfull","overgrown","overhand","overhang","overhaul","overhead","overhear","overheat","overhung","overjoyed","overkill","overlabor","overlaid","overlap","overlay","overload","overlook","overlord","overlying","overnight","overpass","overpay","overplant","overplay","overpower","overprice","overrate","overreach","overreact","override","overripe","overrule","overrun","overshoot","overshot","oversight","oversized","oversleep","oversold","overspend","overstate","overstay","overstep","overstock","overstuff","oversweet","overtake","overthrow","overtime","overtly","overtone","overture","overturn","overuse","overvalue","overview","overwrite","owl","oxford","oxidant","oxidation","oxidize","oxidizing","oxygen","oxymoron","oyster","ozone","paced","pacemaker","pacific","pacifier","pacifism","pacifist","pacify","padded","padding","paddle","paddling","padlock","pagan","pager","paging","pajamas","palace","palatable","palm","palpable","palpitate","paltry","pampered","pamperer","pampers","pamphlet","panama","pancake","pancreas","panda","pandemic","pang","panhandle","panic","panning","panorama","panoramic","panther","pantomime","pantry","pants","pantyhose","paparazzi","papaya","paper","paprika","papyrus","parabola","parachute","parade","paradox","paragraph","parakeet","paralegal","paralyses","paralysis","paralyze","paramedic","parameter","paramount","parasail","parasite","parasitic","parcel","parched","parchment","pardon","parish","parka","parking","parkway","parlor","parmesan","parole","parrot","parsley","parsnip","partake","parted","parting","partition","partly","partner","partridge","party","passable","passably","passage","passcode","passenger","passerby","passing","passion","passive","passivism","passover","passport","password","pasta","pasted","pastel","pastime","pastor","pastrami","pasture","pasty","patchwork","patchy","paternal","paternity","path","patience","patient","patio","patriarch","patriot","patrol","patronage","patronize","pauper","pavement","paver","pavestone","pavilion","paving","pawing","payable","payback","paycheck","payday","payee","payer","paying","payment","payphone","payroll","pebble","pebbly","pecan","pectin","peculiar","peddling","pediatric","pedicure","pedigree","pedometer","pegboard","pelican","pellet","pelt","pelvis","penalize","penalty","pencil","pendant","pending","penholder","penknife","pennant","penniless","penny","penpal","pension","pentagon","pentagram","pep","perceive","percent","perch","percolate","perennial","perfected","perfectly","perfume","periscope","perish","perjurer","perjury","perkiness","perky","perm","peroxide","perpetual","perplexed","persecute","persevere","persuaded","persuader","pesky","peso","pessimism","pessimist","pester","pesticide","petal","petite","petition","petri","petroleum","petted","petticoat","pettiness","petty","petunia","phantom","phobia","phoenix","phonebook","phoney","phonics","phoniness","phony","phosphate","photo","phrase","phrasing","placard","placate","placidly","plank","planner","plant","plasma","plaster","plastic","plated","platform","plating","platinum","platonic","platter","platypus","plausible","plausibly","playable","playback","player","playful","playgroup","playhouse","playing","playlist","playmaker","playmate","playoff","playpen","playroom","playset","plaything","playtime","plaza","pleading","pleat","pledge","plentiful","plenty","plethora","plexiglas","pliable","plod","plop","plot","plow","ploy","pluck","plug","plunder","plunging","plural","plus","plutonium","plywood","poach","pod","poem","poet","pogo","pointed","pointer","pointing","pointless","pointy","poise","poison","poker","poking","polar","police","policy","polio","polish","politely","polka","polo","polyester","polygon","polygraph","polymer","poncho","pond","pony","popcorn","pope","poplar","popper","poppy","popsicle","populace","popular","populate","porcupine","pork","porous","porridge","portable","portal","portfolio","porthole","portion","portly","portside","poser","posh","posing","possible","possibly","possum","postage","postal","postbox","postcard","posted","poster","posting","postnasal","posture","postwar","pouch","pounce","pouncing","pound","pouring","pout","powdered","powdering","powdery","power","powwow","pox","praising","prance","prancing","pranker","prankish","prankster","prayer","praying","preacher","preaching","preachy","preamble","precinct","precise","precision","precook","precut","predator","predefine","predict","preface","prefix","preflight","preformed","pregame","pregnancy","pregnant","preheated","prelaunch","prelaw","prelude","premiere","premises","premium","prenatal","preoccupy","preorder","prepaid","prepay","preplan","preppy","preschool","prescribe","preseason","preset","preshow","president","presoak","press","presume","presuming","preteen","pretended","pretender","pretense","pretext","pretty","pretzel","prevail","prevalent","prevent","preview","previous","prewar","prewashed","prideful","pried","primal","primarily","primary","primate","primer","primp","princess","print","prior","prism","prison","prissy","pristine","privacy","private","privatize","prize","proactive","probable","probably","probation","probe","probing","probiotic","problem","procedure","process","proclaim","procreate","procurer","prodigal","prodigy","produce","product","profane","profanity","professed","professor","profile","profound","profusely","progeny","prognosis","program","progress","projector","prologue","prolonged","promenade","prominent","promoter","promotion","prompter","promptly","prone","prong","pronounce","pronto","proofing","proofread","proofs","propeller","properly","property","proponent","proposal","propose","props","prorate","protector","protegee","proton","prototype","protozoan","protract","protrude","proud","provable","proved","proven","provided","provider","providing","province","proving","provoke","provoking","provolone","prowess","prowler","prowling","proximity","proxy","prozac","prude","prudishly","prune","pruning","pry","psychic","public","publisher","pucker","pueblo","pug","pull","pulmonary","pulp","pulsate","pulse","pulverize","puma","pumice","pummel","punch","punctual","punctuate","punctured","pungent","punisher","punk","pupil","puppet","puppy","purchase","pureblood","purebred","purely","pureness","purgatory","purge","purging","purifier","purify","purist","puritan","purity","purple","purplish","purposely","purr","purse","pursuable","pursuant","pursuit","purveyor","pushcart","pushchair","pusher","pushiness","pushing","pushover","pushpin","pushup","pushy","putdown","putt","puzzle","puzzling","pyramid","pyromania","python","quack","quadrant","quail","quaintly","quake","quaking","qualified","qualifier","qualify","quality","qualm","quantum","quarrel","quarry","quartered","quarterly","quarters","quartet","quench","query","quicken","quickly","quickness","quicksand","quickstep","quiet","quill","quilt","quintet","quintuple","quirk","quit","quiver","quizzical","quotable","quotation","quote","rabid","race","racing","racism","rack","racoon","radar","radial","radiance","radiantly","radiated","radiation","radiator","radio","radish","raffle","raft","rage","ragged","raging","ragweed","raider","railcar","railing","railroad","railway","raisin","rake","raking","rally","ramble","rambling","ramp","ramrod","ranch","rancidity","random","ranged","ranger","ranging","ranked","ranking","ransack","ranting","rants","rare","rarity","rascal","rash","rasping","ravage","raven","ravine","raving","ravioli","ravishing","reabsorb","reach","reacquire","reaction","reactive","reactor","reaffirm","ream","reanalyze","reappear","reapply","reappoint","reapprove","rearrange","rearview","reason","reassign","reassure","reattach","reawake","rebalance","rebate","rebel","rebirth","reboot","reborn","rebound","rebuff","rebuild","rebuilt","reburial","rebuttal","recall","recant","recapture","recast","recede","recent","recess","recharger","recipient","recital","recite","reckless","reclaim","recliner","reclining","recluse","reclusive","recognize","recoil","recollect","recolor","reconcile","reconfirm","reconvene","recopy","record","recount","recoup","recovery","recreate","rectal","rectangle","rectified","rectify","recycled","recycler","recycling","reemerge","reenact","reenter","reentry","reexamine","referable","referee","reference","refill","refinance","refined","refinery","refining","refinish","reflected","reflector","reflex","reflux","refocus","refold","reforest","reformat","reformed","reformer","reformist","refract","refrain","refreeze","refresh","refried","refueling","refund","refurbish","refurnish","refusal","refuse","refusing","refutable","refute","regain","regalia","regally","reggae","regime","region","register","registrar","registry","regress","regretful","regroup","regular","regulate","regulator","rehab","reheat","rehire","rehydrate","reimburse","reissue","reiterate","rejoice","rejoicing","rejoin","rekindle","relapse","relapsing","relatable","related","relation","relative","relax","relay","relearn","release","relenting","reliable","reliably","reliance","reliant","relic","relieve","relieving","relight","relish","relive","reload","relocate","relock","reluctant","rely","remake","remark","remarry","rematch","remedial","remedy","remember","reminder","remindful","remission","remix","remnant","remodeler","remold","remorse","remote","removable","removal","removed","remover","removing","rename","renderer","rendering","rendition","renegade","renewable","renewably","renewal","renewed","renounce","renovate","renovator","rentable","rental","rented","renter","reoccupy","reoccur","reopen","reorder","repackage","repacking","repaint","repair","repave","repaying","repayment","repeal","repeated","repeater","repent","rephrase","replace","replay","replica","reply","reporter","repose","repossess","repost","repressed","reprimand","reprint","reprise","reproach","reprocess","reproduce","reprogram","reps","reptile","reptilian","repugnant","repulsion","repulsive","repurpose","reputable","reputably","request","require","requisite","reroute","rerun","resale","resample","rescuer","reseal","research","reselect","reseller","resemble","resend","resent","reset","reshape","reshoot","reshuffle","residence","residency","resident","residual","residue","resigned","resilient","resistant","resisting","resize","resolute","resolved","resonant","resonate","resort","resource","respect","resubmit","result","resume","resupply","resurface","resurrect","retail","retainer","retaining","retake","retaliate","retention","rethink","retinal","retired","retiree","retiring","retold","retool","retorted","retouch","retrace","retract","retrain","retread","retreat","retrial","retrieval","retriever","retry","return","retying","retype","reunion","reunite","reusable","reuse","reveal","reveler","revenge","revenue","reverb","revered","reverence","reverend","reversal","reverse","reversing","reversion","revert","revisable","revise","revision","revisit","revivable","revival","reviver","reviving","revocable","revoke","revolt","revolver","revolving","reward","rewash","rewind","rewire","reword","rework","rewrap","rewrite","rhyme","ribbon","ribcage","rice","riches","richly","richness","rickety","ricotta","riddance","ridden","ride","riding","rifling","rift","rigging","rigid","rigor","rimless","rimmed","rind","rink","rinse","rinsing","riot","ripcord","ripeness","ripening","ripping","ripple","rippling","riptide","rise","rising","risk","risotto","ritalin","ritzy","rival","riverbank","riverbed","riverboat","riverside","riveter","riveting","roamer","roaming","roast","robbing","robe","robin","robotics","robust","rockband","rocker","rocket","rockfish","rockiness","rocking","rocklike","rockslide","rockstar","rocky","rogue","roman","romp","rope","roping","roster","rosy","rotten","rotting","rotunda","roulette","rounding","roundish","roundness","roundup","roundworm","routine","routing","rover","roving","royal","rubbed","rubber","rubbing","rubble","rubdown","ruby","ruckus","rudder","rug","ruined","rule","rumble","rumbling","rummage","rumor","runaround","rundown","runner","running","runny","runt","runway","rupture","rural","ruse","rush","rust","rut","sabbath","sabotage","sacrament","sacred","sacrifice","sadden","saddlebag","saddled","saddling","sadly","sadness","safari","safeguard","safehouse","safely","safeness","saffron","saga","sage","sagging","saggy","said","saint","sake","salad","salami","salaried","salary","saline","salon","saloon","salsa","salt","salutary","salute","salvage","salvaging","salvation","same","sample","sampling","sanction","sanctity","sanctuary","sandal","sandbag","sandbank","sandbar","sandblast","sandbox","sanded","sandfish","sanding","sandlot","sandpaper","sandpit","sandstone","sandstorm","sandworm","sandy","sanitary","sanitizer","sank","santa","sapling","sappiness","sappy","sarcasm","sarcastic","sardine","sash","sasquatch","sassy","satchel","satiable","satin","satirical","satisfied","satisfy","saturate","saturday","sauciness","saucy","sauna","savage","savanna","saved","savings","savior","savor","saxophone","say","scabbed","scabby","scalded","scalding","scale","scaling","scallion","scallop","scalping","scam","scandal","scanner","scanning","scant","scapegoat","scarce","scarcity","scarecrow","scared","scarf","scarily","scariness","scarring","scary","scavenger","scenic","schedule","schematic","scheme","scheming","schilling","schnapps","scholar","science","scientist","scion","scoff","scolding","scone","scoop","scooter","scope","scorch","scorebook","scorecard","scored","scoreless","scorer","scoring","scorn","scorpion","scotch","scoundrel","scoured","scouring","scouting","scouts","scowling","scrabble","scraggly","scrambled","scrambler","scrap","scratch","scrawny","screen","scribble","scribe","scribing","scrimmage","script","scroll","scrooge","scrounger","scrubbed","scrubber","scruffy","scrunch","scrutiny","scuba","scuff","sculptor","sculpture","scurvy","scuttle","secluded","secluding","seclusion","second","secrecy","secret","sectional","sector","secular","securely","security","sedan","sedate","sedation","sedative","sediment","seduce","seducing","segment","seismic","seizing","seldom","selected","selection","selective","selector","self","seltzer","semantic","semester","semicolon","semifinal","seminar","semisoft","semisweet","senate","senator","send","senior","senorita","sensation","sensitive","sensitize","sensually","sensuous","sepia","september","septic","septum","sequel","sequence","sequester","series","sermon","serotonin","serpent","serrated","serve","service","serving","sesame","sessions","setback","setting","settle","settling","setup","sevenfold","seventeen","seventh","seventy","severity","shabby","shack","shaded","shadily","shadiness","shading","shadow","shady","shaft","shakable","shakily","shakiness","shaking","shaky","shale","shallot","shallow","shame","shampoo","shamrock","shank","shanty","shape","shaping","share","sharpener","sharper","sharpie","sharply","sharpness","shawl","sheath","shed","sheep","sheet","shelf","shell","shelter","shelve","shelving","sherry","shield","shifter","shifting","shiftless","shifty","shimmer","shimmy","shindig","shine","shingle","shininess","shining","shiny","ship","shirt","shivering","shock","shone","shoplift","shopper","shopping","shoptalk","shore","shortage","shortcake","shortcut","shorten","shorter","shorthand","shortlist","shortly","shortness","shorts","shortwave","shorty","shout","shove","showbiz","showcase","showdown","shower","showgirl","showing","showman","shown","showoff","showpiece","showplace","showroom","showy","shrank","shrapnel","shredder","shredding","shrewdly","shriek","shrill","shrimp","shrine","shrink","shrivel","shrouded","shrubbery","shrubs","shrug","shrunk","shucking","shudder","shuffle","shuffling","shun","shush","shut","shy","siamese","siberian","sibling","siding","sierra","siesta","sift","sighing","silenced","silencer","silent","silica","silicon","silk","silliness","silly","silo","silt","silver","similarly","simile","simmering","simple","simplify","simply","sincere","sincerity","singer","singing","single","singular","sinister","sinless","sinner","sinuous","sip","siren","sister","sitcom","sitter","sitting","situated","situation","sixfold","sixteen","sixth","sixties","sixtieth","sixtyfold","sizable","sizably","size","sizing","sizzle","sizzling","skater","skating","skedaddle","skeletal","skeleton","skeptic","sketch","skewed","skewer","skid","skied","skier","skies","skiing","skilled","skillet","skillful","skimmed","skimmer","skimming","skimpily","skincare","skinhead","skinless","skinning","skinny","skintight","skipper","skipping","skirmish","skirt","skittle","skydiver","skylight","skyline","skype","skyrocket","skyward","slab","slacked","slacker","slacking","slackness","slacks","slain","slam","slander","slang","slapping","slapstick","slashed","slashing","slate","slather","slaw","sled","sleek","sleep","sleet","sleeve","slept","sliceable","sliced","slicer","slicing","slick","slider","slideshow","sliding","slighted","slighting","slightly","slimness","slimy","slinging","slingshot","slinky","slip","slit","sliver","slobbery","slogan","sloped","sloping","sloppily","sloppy","slot","slouching","slouchy","sludge","slug","slum","slurp","slush","sly","small","smartly","smartness","smasher","smashing","smashup","smell","smelting","smile","smilingly","smirk","smite","smith","smitten","smock","smog","smoked","smokeless","smokiness","smoking","smoky","smolder","smooth","smother","smudge","smudgy","smuggler","smuggling","smugly","smugness","snack","snagged","snaking","snap","snare","snarl","snazzy","sneak","sneer","sneeze","sneezing","snide","sniff","snippet","snipping","snitch","snooper","snooze","snore","snoring","snorkel","snort","snout","snowbird","snowboard","snowbound","snowcap","snowdrift","snowdrop","snowfall","snowfield","snowflake","snowiness","snowless","snowman","snowplow","snowshoe","snowstorm","snowsuit","snowy","snub","snuff","snuggle","snugly","snugness","speak","spearfish","spearhead","spearman","spearmint","species","specimen","specked","speckled","specks","spectacle","spectator","spectrum","speculate","speech","speed","spellbind","speller","spelling","spendable","spender","spending","spent","spew","sphere","spherical","sphinx","spider","spied","spiffy","spill","spilt","spinach","spinal","spindle","spinner","spinning","spinout","spinster","spiny","spiral","spirited","spiritism","spirits","spiritual","splashed","splashing","splashy","splatter","spleen","splendid","splendor","splice","splicing","splinter","splotchy","splurge","spoilage","spoiled","spoiler","spoiling","spoils","spoken","spokesman","sponge","spongy","sponsor","spoof","spookily","spooky","spool","spoon","spore","sporting","sports","sporty","spotless","spotlight","spotted","spotter","spotting","spotty","spousal","spouse","spout","sprain","sprang","sprawl","spray","spree","sprig","spring","sprinkled","sprinkler","sprint","sprite","sprout","spruce","sprung","spry","spud","spur","sputter","spyglass","squabble","squad","squall","squander","squash","squatted","squatter","squatting","squeak","squealer","squealing","squeamish","squeegee","squeeze","squeezing","squid","squiggle","squiggly","squint","squire","squirt","squishier","squishy","stability","stabilize","stable","stack","stadium","staff","stage","staging","stagnant","stagnate","stainable","stained","staining","stainless","stalemate","staleness","stalling","stallion","stamina","stammer","stamp","stand","stank","staple","stapling","starboard","starch","stardom","stardust","starfish","stargazer","staring","stark","starless","starlet","starlight","starlit","starring","starry","starship","starter","starting","startle","startling","startup","starved","starving","stash","state","static","statistic","statue","stature","status","statute","statutory","staunch","stays","steadfast","steadier","steadily","steadying","steam","steed","steep","steerable","steering","steersman","stegosaur","stellar","stem","stench","stencil","step","stereo","sterile","sterility","sterilize","sterling","sternness","sternum","stew","stick","stiffen","stiffly","stiffness","stifle","stifling","stillness","stilt","stimulant","stimulate","stimuli","stimulus","stinger","stingily","stinging","stingray","stingy","stinking","stinky","stipend","stipulate","stir","stitch","stock","stoic","stoke","stole","stomp","stonewall","stoneware","stonework","stoning","stony","stood","stooge","stool","stoop","stoplight","stoppable","stoppage","stopped","stopper","stopping","stopwatch","storable","storage","storeroom","storewide","storm","stout","stove","stowaway","stowing","straddle","straggler","strained","strainer","straining","strangely","stranger","strangle","strategic","strategy","stratus","straw","stray","streak","stream","street","strength","strenuous","strep","stress","stretch","strewn","stricken","strict","stride","strife","strike","striking","strive","striving","strobe","strode","stroller","strongbox","strongly","strongman","struck","structure","strudel","struggle","strum","strung","strut","stubbed","stubble","stubbly","stubborn","stucco","stuck","student","studied","studio","study","stuffed","stuffing","stuffy","stumble","stumbling","stump","stung","stunned","stunner","stunning","stunt","stupor","sturdily","sturdy","styling","stylishly","stylist","stylized","stylus","suave","subarctic","subatomic","subdivide","subdued","subduing","subfloor","subgroup","subheader","subject","sublease","sublet","sublevel","sublime","submarine","submerge","submersed","submitter","subpanel","subpar","subplot","subprime","subscribe","subscript","subsector","subside","subsiding","subsidize","subsidy","subsoil","subsonic","substance","subsystem","subtext","subtitle","subtly","subtotal","subtract","subtype","suburb","subway","subwoofer","subzero","succulent","such","suction","sudden","sudoku","suds","sufferer","suffering","suffice","suffix","suffocate","suffrage","sugar","suggest","suing","suitable","suitably","suitcase","suitor","sulfate","sulfide","sulfite","sulfur","sulk","sullen","sulphate","sulphuric","sultry","superbowl","superglue","superhero","superior","superjet","superman","supermom","supernova","supervise","supper","supplier","supply","support","supremacy","supreme","surcharge","surely","sureness","surface","surfacing","surfboard","surfer","surgery","surgical","surging","surname","surpass","surplus","surprise","surreal","surrender","surrogate","surround","survey","survival","survive","surviving","survivor","sushi","suspect","suspend","suspense","sustained","sustainer","swab","swaddling","swagger","swampland","swan","swapping","swarm","sway","swear","sweat","sweep","swell","swept","swerve","swifter","swiftly","swiftness","swimmable","swimmer","swimming","swimsuit","swimwear","swinger","swinging","swipe","swirl","switch","swivel","swizzle","swooned","swoop","swoosh","swore","sworn","swung","sycamore","sympathy","symphonic","symphony","symptom","synapse","syndrome","synergy","synopses","synopsis","synthesis","synthetic","syrup","system","t-shirt","tabasco","tabby","tableful","tables","tablet","tableware","tabloid","tackiness","tacking","tackle","tackling","tacky","taco","tactful","tactical","tactics","tactile","tactless","tadpole","taekwondo","tag","tainted","take","taking","talcum","talisman","tall","talon","tamale","tameness","tamer","tamper","tank","tanned","tannery","tanning","tantrum","tapeless","tapered","tapering","tapestry","tapioca","tapping","taps","tarantula","target","tarmac","tarnish","tarot","tartar","tartly","tartness","task","tassel","taste","tastiness","tasting","tasty","tattered","tattle","tattling","tattoo","taunt","tavern","thank","that","thaw","theater","theatrics","thee","theft","theme","theology","theorize","thermal","thermos","thesaurus","these","thesis","thespian","thicken","thicket","thickness","thieving","thievish","thigh","thimble","thing","think","thinly","thinner","thinness","thinning","thirstily","thirsting","thirsty","thirteen","thirty","thong","thorn","those","thousand","thrash","thread","threaten","threefold","thrift","thrill","thrive","thriving","throat","throbbing","throng","throttle","throwaway","throwback","thrower","throwing","thud","thumb","thumping","thursday","thus","thwarting","thyself","tiara","tibia","tidal","tidbit","tidiness","tidings","tidy","tiger","tighten","tightly","tightness","tightrope","tightwad","tigress","tile","tiling","till","tilt","timid","timing","timothy","tinderbox","tinfoil","tingle","tingling","tingly","tinker","tinkling","tinsel","tinsmith","tint","tinwork","tiny","tipoff","tipped","tipper","tipping","tiptoeing","tiptop","tiring","tissue","trace","tracing","track","traction","tractor","trade","trading","tradition","traffic","tragedy","trailing","trailside","train","traitor","trance","tranquil","transfer","transform","translate","transpire","transport","transpose","trapdoor","trapeze","trapezoid","trapped","trapper","trapping","traps","trash","travel","traverse","travesty","tray","treachery","treading","treadmill","treason","treat","treble","tree","trekker","tremble","trembling","tremor","trench","trend","trespass","triage","trial","triangle","tribesman","tribunal","tribune","tributary","tribute","triceps","trickery","trickily","tricking","trickle","trickster","tricky","tricolor","tricycle","trident","tried","trifle","trifocals","trillion","trilogy","trimester","trimmer","trimming","trimness","trinity","trio","tripod","tripping","triumph","trivial","trodden","trolling","trombone","trophy","tropical","tropics","trouble","troubling","trough","trousers","trout","trowel","truce","truck","truffle","trump","trunks","trustable","trustee","trustful","trusting","trustless","truth","try","tubby","tubeless","tubular","tucking","tuesday","tug","tuition","tulip","tumble","tumbling","tummy","turban","turbine","turbofan","turbojet","turbulent","turf","turkey","turmoil","turret","turtle","tusk","tutor","tutu","tux","tweak","tweed","tweet","tweezers","twelve","twentieth","twenty","twerp","twice","twiddle","twiddling","twig","twilight","twine","twins","twirl","twistable","twisted","twister","twisting","twisty","twitch","twitter","tycoon","tying","tyke","udder","ultimate","ultimatum","ultra","umbilical","umbrella","umpire","unabashed","unable","unadorned","unadvised","unafraid","unaired","unaligned","unaltered","unarmored","unashamed","unaudited","unawake","unaware","unbaked","unbalance","unbeaten","unbend","unbent","unbiased","unbitten","unblended","unblessed","unblock","unbolted","unbounded","unboxed","unbraided","unbridle","unbroken","unbuckled","unbundle","unburned","unbutton","uncanny","uncapped","uncaring","uncertain","unchain","unchanged","uncharted","uncheck","uncivil","unclad","unclaimed","unclamped","unclasp","uncle","unclip","uncloak","unclog","unclothed","uncoated","uncoiled","uncolored","uncombed","uncommon","uncooked","uncork","uncorrupt","uncounted","uncouple","uncouth","uncover","uncross","uncrown","uncrushed","uncured","uncurious","uncurled","uncut","undamaged","undated","undaunted","undead","undecided","undefined","underage","underarm","undercoat","undercook","undercut","underdog","underdone","underfed","underfeed","underfoot","undergo","undergrad","underhand","underline","underling","undermine","undermost","underpaid","underpass","underpay","underrate","undertake","undertone","undertook","undertow","underuse","underwear","underwent","underwire","undesired","undiluted","undivided","undocked","undoing","undone","undrafted","undress","undrilled","undusted","undying","unearned","unearth","unease","uneasily","uneasy","uneatable","uneaten","unedited","unelected","unending","unengaged","unenvied","unequal","unethical","uneven","unexpired","unexposed","unfailing","unfair","unfasten","unfazed","unfeeling","unfiled","unfilled","unfitted","unfitting","unfixable","unfixed","unflawed","unfocused","unfold","unfounded","unframed","unfreeze","unfrosted","unfrozen","unfunded","unglazed","ungloved","unglue","ungodly","ungraded","ungreased","unguarded","unguided","unhappily","unhappy","unharmed","unhealthy","unheard","unhearing","unheated","unhelpful","unhidden","unhinge","unhitched","unholy","unhook","unicorn","unicycle","unified","unifier","uniformed","uniformly","unify","unimpeded","uninjured","uninstall","uninsured","uninvited","union","uniquely","unisexual","unison","unissued","unit","universal","universe","unjustly","unkempt","unkind","unknotted","unknowing","unknown","unlaced","unlatch","unlawful","unleaded","unlearned","unleash","unless","unleveled","unlighted","unlikable","unlimited","unlined","unlinked","unlisted","unlit","unlivable","unloaded","unloader","unlocked","unlocking","unlovable","unloved","unlovely","unloving","unluckily","unlucky","unmade","unmanaged","unmanned","unmapped","unmarked","unmasked","unmasking","unmatched","unmindful","unmixable","unmixed","unmolded","unmoral","unmovable","unmoved","unmoving","unnamable","unnamed","unnatural","unneeded","unnerve","unnerving","unnoticed","unopened","unopposed","unpack","unpadded","unpaid","unpainted","unpaired","unpaved","unpeeled","unpicked","unpiloted","unpinned","unplanned","unplanted","unpleased","unpledged","unplowed","unplug","unpopular","unproven","unquote","unranked","unrated","unraveled","unreached","unread","unreal","unreeling","unrefined","unrelated","unrented","unrest","unretired","unrevised","unrigged","unripe","unrivaled","unroasted","unrobed","unroll","unruffled","unruly","unrushed","unsaddle","unsafe","unsaid","unsalted","unsaved","unsavory","unscathed","unscented","unscrew","unsealed","unseated","unsecured","unseeing","unseemly","unseen","unselect","unselfish","unsent","unsettled","unshackle","unshaken","unshaved","unshaven","unsheathe","unshipped","unsightly","unsigned","unskilled","unsliced","unsmooth","unsnap","unsocial","unsoiled","unsold","unsolved","unsorted","unspoiled","unspoken","unstable","unstaffed","unstamped","unsteady","unsterile","unstirred","unstitch","unstopped","unstuck","unstuffed","unstylish","unsubtle","unsubtly","unsuited","unsure","unsworn","untagged","untainted","untaken","untamed","untangled","untapped","untaxed","unthawed","unthread","untidy","untie","until","untimed","untimely","untitled","untoasted","untold","untouched","untracked","untrained","untreated","untried","untrimmed","untrue","untruth","unturned","untwist","untying","unusable","unused","unusual","unvalued","unvaried","unvarying","unveiled","unveiling","unvented","unviable","unvisited","unvocal","unwanted","unwarlike","unwary","unwashed","unwatched","unweave","unwed","unwelcome","unwell","unwieldy","unwilling","unwind","unwired","unwitting","unwomanly","unworldly","unworn","unworried","unworthy","unwound","unwoven","unwrapped","unwritten","unzip","upbeat","upchuck","upcoming","upcountry","update","upfront","upgrade","upheaval","upheld","uphill","uphold","uplifted","uplifting","upload","upon","upper","upright","uprising","upriver","uproar","uproot","upscale","upside","upstage","upstairs","upstart","upstate","upstream","upstroke","upswing","uptake","uptight","uptown","upturned","upward","upwind","uranium","urban","urchin","urethane","urgency","urgent","urging","urologist","urology","usable","usage","useable","used","uselessly","user","usher","usual","utensil","utility","utilize","utmost","utopia","utter","vacancy","vacant","vacate","vacation","vagabond","vagrancy","vagrantly","vaguely","vagueness","valiant","valid","valium","valley","valuables","value","vanilla","vanish","vanity","vanquish","vantage","vaporizer","variable","variably","varied","variety","various","varmint","varnish","varsity","varying","vascular","vaseline","vastly","vastness","veal","vegan","veggie","vehicular","velcro","velocity","velvet","vendetta","vending","vendor","veneering","vengeful","venomous","ventricle","venture","venue","venus","verbalize","verbally","verbose","verdict","verify","verse","version","versus","vertebrae","vertical","vertigo","very","vessel","vest","veteran","veto","vexingly","viability","viable","vibes","vice","vicinity","victory","video","viewable","viewer","viewing","viewless","viewpoint","vigorous","village","villain","vindicate","vineyard","vintage","violate","violation","violator","violet","violin","viper","viral","virtual","virtuous","virus","visa","viscosity","viscous","viselike","visible","visibly","vision","visiting","visitor","visor","vista","vitality","vitalize","vitally","vitamins","vivacious","vividly","vividness","vixen","vocalist","vocalize","vocally","vocation","voice","voicing","void","volatile","volley","voltage","volumes","voter","voting","voucher","vowed","vowel","voyage","wackiness","wad","wafer","waffle","waged","wager","wages","waggle","wagon","wake","waking","walk","walmart","walnut","walrus","waltz","wand","wannabe","wanted","wanting","wasabi","washable","washbasin","washboard","washbowl","washcloth","washday","washed","washer","washhouse","washing","washout","washroom","washstand","washtub","wasp","wasting","watch","water","waviness","waving","wavy","whacking","whacky","wham","wharf","wheat","whenever","whiff","whimsical","whinny","whiny","whisking","whoever","whole","whomever","whoopee","whooping","whoops","why","wick","widely","widen","widget","widow","width","wieldable","wielder","wife","wifi","wikipedia","wildcard","wildcat","wilder","wildfire","wildfowl","wildland","wildlife","wildly","wildness","willed","willfully","willing","willow","willpower","wilt","wimp","wince","wincing","wind","wing","winking","winner","winnings","winter","wipe","wired","wireless","wiring","wiry","wisdom","wise","wish","wisplike","wispy","wistful","wizard","wobble","wobbling","wobbly","wok","wolf","wolverine","womanhood","womankind","womanless","womanlike","womanly","womb","woof","wooing","wool","woozy","word","work","worried","worrier","worrisome","worry","worsening","worshiper","worst","wound","woven","wow","wrangle","wrath","wreath","wreckage","wrecker","wrecking","wrench","wriggle","wriggly","wrinkle","wrinkly","wrist","writing","written","wrongdoer","wronged","wrongful","wrongly","wrongness","wrought","xbox","xerox","yahoo","yam","yanking","yapping","yard","yarn","yeah","yearbook","yearling","yearly","yearning","yeast","yelling","yelp","yen","yesterday","yiddish","yield","yin","yippee","yo-yo","yodel","yoga","yogurt","yonder","yoyo","yummy","zap","zealous","zebra","zen","zeppelin","zero","zestfully","zesty","zigzagged","zipfile","zipping","zippy","zips","zit","zodiac","zombie","zone","zoning","zookeeper","zoologist","zoology","zoom"]},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.cipherService.upsert(o)}return[2]}})})},e.prototype.deleteWithServer=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.apiService.deleteFolder(e)];case 1:return t.sent(),[4,this.delete(e)];case 2:return t.sent(),[2]}})})},e}();t.FolderService=m},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)for(d=0;d0)for(d=0;d0)for(d=0;d0)for(d=0;d1)&&(t.wordSeparator=" "),null==t.capitalize&&(t.capitalize=!1),null==t.includeNumber&&(t.includeNumber=!1),n=c.EEFLongWordList.length-1,r=new Array(t.numWords),o=0,i.label=1;case 1:return oe.length&&(e.minSpecial=e.length-e.minNumber),e.numWordsn.minLength&&(n.minLength=e.data.minLength),e.data.useUpper&&(n.useUppercase=!0),e.data.useLower&&(n.useLowercase=!0),e.data.useNumbers&&(n.useNumbers=!0),null!=e.data.minNumbers&&e.data.minNumbers>n.numberCount&&(n.numberCount=e.data.minNumbers),e.data.useSpecial&&(n.useSpecial=!0),null!=e.data.minSpecial&&e.data.minSpecial>n.specialCount&&(n.specialCount=e.data.minSpecial),null!=e.data.minNumberWords&&e.data.minNumberWords>n.minNumberWords&&(n.minNumberWords=e.data.minNumberWords),e.data.capitalize&&(n.capitalize=!0),e.data.includeNumber&&(n.includeNumber=!0))}),[2,n])}})})},e.prototype.saveOptions=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.storageService.save(d,e)];case 1:return t.sent(),this.optionsCache=e,[2]}})})},e.prototype.getHistory=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.hasKey()];case 1:return n.sent()?this.history?[3,4]:[4,this.storageService.get(m)]:[2,new Array];case 2:return e=n.sent(),t=this,[4,this.decryptHistory(e)];case 3:t.history=n.sent(),n.label=4;case 4:return[2,this.history||new Array]}})})},e.prototype.addHistory=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.cryptoService.hasKey()];case 1:return r.sent()?[4,this.getHistory()]:[2];case 2:return t=r.sent(),this.matchesPrevious(e,t)?[2]:(t.unshift(new s.GeneratedPasswordHistory(e,Date.now())),t.length>100&&t.pop(),[4,this.encryptHistory(t)]);case 3:return n=r.sent(),[4,this.storageService.save(m,n)];case 4:return[2,r.sent()]}})})},e.prototype.clear=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.history=[],[4,this.storageService.remove(m)];case 1:return[2,e.sent()]}})})},e.prototype.passwordStrength=function(e,t){if(void 0===t&&(t=null),null==e||0===e.length)return null;var n=["bitwarden","bit","warden"];null!=t&&t.length>0&&(n=n.concat(t));var r=Array.from(new Set(n));return o(e,r)},e.prototype.normalizeOptions=function(e,t){e.minLowercase=0,e.minUppercase=0,!e.length||e.length<5?e.length=5:e.length>128&&(e.length=128),e.lengthe.length?e.minNumber=e.length:e.minNumber>9&&(e.minNumber=9):e.minNumber=0,e.minNumbere.length?e.minSpecial=e.length:e.minSpecial>9&&(e.minSpecial=9):e.minSpecial=0,e.minSpeciale.length&&(e.minSpecial=e.length-e.minNumber),null==e.numWords||e.length<3?e.numWords=3:e.numWords>20&&(e.numWords=20),e.numWords1&&(e.wordSeparator=e.wordSeparator[0]),this.sanitizePasswordLength(e,!1)},e.prototype.capitalize=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.prototype.appendRandomNumberToRandomWord=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return null==e||e.length<=0?[2]:[4,this.cryptoService.randomNumber(0,e.length-1)];case 1:return t=r.sent(),[4,this.cryptoService.randomNumber(0,9)];case 2:return n=r.sent(),e[t]=e[t]+n,[2]}})})},e.prototype.encryptHistory=function(e){return r(this,void 0,void 0,function(){var t,n=this;return i(this,function(o){switch(o.label){case 0:return null==e||0===e.length?[2,Promise.resolve([])]:(t=e.map(function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.encrypt(e.password)];case 1:return t=n.sent(),[2,new s.GeneratedPasswordHistory(t.encryptedString,e.date)]}})})}),[4,Promise.all(t)]);case 1:return[2,o.sent()]}})})},e.prototype.decryptHistory=function(e){return r(this,void 0,void 0,function(){var t,n=this;return i(this,function(o){switch(o.label){case 0:return null==e||0===e.length?[2,Promise.resolve([])]:(t=e.map(function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.decryptToUtf8(new a.CipherString(e.password))];case 1:return t=n.sent(),[2,new s.GeneratedPasswordHistory(t,e.date)]}})})}),[4,Promise.all(t)]);case 1:return[2,o.sent()]}})})},e.prototype.matchesPrevious=function(e,t){return null!=t&&0!==t.length&&t[t.length-1].password===e},e.prototype.shuffleArray=function(e){return r(this,void 0,void 0,function(){var t,n,r;return i(this,function(i){switch(i.label){case 0:t=e.length-1,i.label=1;case 1:return t>0?[4,this.cryptoService.randomNumber(0,t)]:[3,4];case 2:n=i.sent(),r=[e[n],e[t]],e[t]=r[0],e[n]=r[1],i.label=3;case 3:return t--,[3,1];case 4:return[2]}})})},e.prototype.sanitizePasswordLength=function(e,t){var n=0,r=0,i=e.minNumber,o=e.minSpecial;e.uppercase&&e.minUppercase<=0?n=1:e.uppercase||(n=0),e.lowercase&&e.minLowercase<=0?r=1:e.lowercase||(r=0),e.number&&e.minNumber<=0?i=1:e.number||(i=0),e.special&&e.minSpecial<=0?o=1:e.special||(o=0),(!e.length||e.length<1)&&(e.length=10);var a=n+r+i+o;e.length0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.revisionDate&&(n=!1),a=!1,n&&(t?(n=null!=r,a=!0):null==e.collectionIds||null==e.organizationId?n=null==r:(n=!1,a=!0)),!n&&a&&null!=e.organizationId&&null!=e.collectionIds&&e.collectionIds.length>0?[4,this.collectionService.getAll()]:[3,5];case 4:if(null!=(s=i.sent()))for(l=0;l-1){n=!0;break}i.label=5;case 5:return n?[4,this.apiService.getCipher(e.id)]:[3,9];case 6:return null==(c=i.sent())?[3,9]:[4,this.userService.getUserId()];case 7:return p=i.sent(),[4,this.cipherService.upsert(new o.CipherData(c,p))];case 8:return i.sent(),this.messagingService.send("syncedUpsertedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 9:return[3,13];case 10:return null!=(u=i.sent())&&404===u.statusCode&&t?[4,this.cipherService.delete(e.id)]:[3,12];case 11:return i.sent(),this.messagingService.send("syncedDeletedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 12:return[3,13];case 13:return[2,this.syncCompleted(!1)]}})})},e.prototype.syncDeleteCipher=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.syncStarted(),[4,this.userService.isAuthenticated()];case 1:return t.sent()?[4,this.cipherService.delete(e.id)]:[3,3];case 2:return t.sent(),this.messagingService.send("syncedDeletedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 3:return[2,this.syncCompleted(!1)]}})})},e.prototype.syncUpsertSend=function(e,t){return r(this,void 0,void 0,function(){var n,r,o;return i(this,function(i){switch(i.label){case 0:return this.syncStarted(),[4,this.userService.isAuthenticated()];case 1:if(!i.sent())return[3,9];i.label=2;case 2:return i.trys.push([2,8,,9]),[4,this.sendService.get(e.id)];case 3:return n=i.sent(),!t&&null==n||t&&null!=n&&n.revisionDate0&&e.push(t.domains)}),[2,this.settingsService.setEquivalentDomains(e)]})})},e.prototype.syncPolicies=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return t={},null!=e&&e.forEach(function(e){t[e.id]=new c.PolicyData(e)}),[4,this.policyService.replace(t)];case 1:return[2,n.sent()]}})})},e}();t.SyncService=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(160),i=n(932),o=n(933),a=function(){return function(e,t){if(null!=e)switch(this.id=e.id,this.accessId=e.accessId,this.userId=t,this.type=e.type,this.name=e.name,this.notes=e.notes,this.key=e.key,this.maxAccessCount=e.maxAccessCount,this.accessCount=e.accessCount,this.revisionDate=e.revisionDate,this.expirationDate=e.expirationDate,this.deletionDate=e.deletionDate,this.password=e.password,this.disabled=e.disable,this.type){case r.SendType.Text:this.text=new o.SendTextData(e.text);break;case r.SendType.File:this.file=new i.SendFileData(e.file)}}}();t.SendData=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]10?r=10:u>0&&(r=u)}catch(I){}if(p.has("period")&&null!=p.get("period"))try{(d=parseInt(p.get("period").trim(),null))>0&&(t=d)}catch(E){}p.has("secret")&&null!=p.get("secret")&&(o=p.get("secret")),p.has("algorithm")&&null!=p.get("algorithm")&&("sha1"!==(m=p.get("algorithm").toLowerCase())&&"sha256"!==m&&"sha512"!==m||(n=m))}else c&&(o=e.substr("steam://".length),r=5);return h=Math.round((new Date).getTime()/1e3),f=this.leftPad(this.decToHex(Math.floor(h/t)),16,"0"),v=a.Utils.fromHexToArray(f),(y=this.b32ToBytes(o)).length&&v.length?[4,this.sign(y,v,n)]:[2,null];case 1:if(0===(g=i.sent()).length)return[2,null];if(x=15&g[g.length-1],b=(127&g[x])<<24|(255&g[x+1])<<16|(255&g[x+2])<<8|255&g[x+3],S="",c)for(w=2147483647&b,C=0;C=e.length&&(e=Array(t+1-e.length).join(n)+e),e},e.prototype.decToHex=function(e){return(e<15.5?"0":"")+Math.round(e).toString(16)},e.prototype.b32ToHex=function(e){e=e.toUpperCase();for(var t="",n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=n?[4,this.storageService.get(o.ConstantsService.vaultTimeoutActionKey)]:[3,12]);case 7:return"logOut"!==r.sent()?[3,9]:[4,this.logOut()];case 8:return r.sent(),[3,11];case 9:return[4,this.lock(!0)];case 10:r.sent(),r.label=11;case 11:r.label=12;case 12:return[2]}})})},e.prototype.lock=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.userService.isAuthenticated()];case 1:return t.sent()?(this.biometricLocked=!0,e?[4,this.isBiometricLockSet()]:[3,5]):[2];case 2:return t.sent()&&this.platformUtilsService.supportsSecureStorage()?(this.messagingService.send("locked"),null==this.lockedCallback?[3,4]:[4,this.lockedCallback()]):[3,5];case 3:t.sent(),t.label=4;case 4:return[2];case 5:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 6:return t.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.searchService.clearIndex(),this.messagingService.send("locked"),null==this.lockedCallback?[3,8]:[4,this.lockedCallback()];case 7:t.sent(),t.label=8;case 8:return[2]}})})},e.prototype.logOut=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null==this.loggedOutCallback?[3,2]:[4,this.loggedOutCallback()];case 1:e.sent(),e.label=2;case 2:return[2]}})})},e.prototype.setVaultTimeoutOptions=function(e,t){return r(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return[4,this.storageService.save(o.ConstantsService.vaultTimeoutKey,e)];case 1:return n.sent(),[4,this.storageService.save(o.ConstantsService.vaultTimeoutActionKey,t)];case 2:return n.sent(),[4,this.cryptoService.toggleKey()];case 3:return n.sent(),[4,this.tokenService.toggleTokens()];case 4:return n.sent(),[2]}})})},e.prototype.isPinLockSet=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.storageService.get(o.ConstantsService.protectedPin)];case 1:return e=n.sent(),[4,this.storageService.get(o.ConstantsService.pinProtectedKey)];case 2:return t=n.sent(),[2,[null!=e,null!=t]]}})})},e.prototype.isBiometricLockSet=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.storageService.get(o.ConstantsService.biometricUnlockKey)];case 1:return[2,e.sent()]}})})},e.prototype.clear=function(){return this.pinProtectedKey=null,this.storageService.remove(o.ConstantsService.protectedPin)},e}();t.VaultTimeoutService=a},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(938),i=n(939),o=function(){function e(e,t){void 0===t&&(t=null),this.isDev=e,this.filter=t,this.timersMap=new Map}return e.prototype.debug=function(e){this.isDev&&this.write(r.LogLevelType.Debug,e)},e.prototype.info=function(e){this.write(r.LogLevelType.Info,e)},e.prototype.warning=function(e){this.write(r.LogLevelType.Warning,e)},e.prototype.error=function(e){this.write(r.LogLevelType.Error,e)},e.prototype.write=function(e,t){if(null==this.filter||!this.filter(e))switch(e){case r.LogLevelType.Debug:case r.LogLevelType.Info:console.log(t);break;case r.LogLevelType.Warning:console.warn(t);break;case r.LogLevelType.Error:console.error(t)}},e.prototype.time=function(e){void 0===e&&(e="default"),this.timersMap.has(e)||this.timersMap.set(e,i())},e.prototype.timeEnd=function(e){void 0===e&&(e="default");var t=i(this.timersMap.get(e));return this.timersMap.delete(e),this.write(r.LogLevelType.Info,e+": "+(1e3*t[0]+t[1]/1e7)+"ms"),t},e}();t.ConsoleLogService=o},,,,,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t),this.collectionIds=t.collectionIds},t}(n(955).Cipher);t.CipherWithIds=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t)},t}(n(962).Collection);t.CollectionWithId=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t)},t}(n(963).Folder);t.FolderWithId=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(27),a=n(26),s=n(40),l=n(128),c=n(998);t.IgnoredProperties=["ainfo","autosubmit","notesplain","ps","scope","tags","title","uuid","notes"];var p=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.loginPropertyParsers=[t.setLoginUsername,t.setLoginPassword,t.setLoginUris],t.creditCardPropertyParsers=[t.setCreditCardNumber,t.setCreditCardVerification,t.setCreditCardCardholderName,t.setCreditCardExpiry],t.identityPropertyParsers=[t.setIdentityFirstName,t.setIdentityInitial,t.setIdentityLastName,t.setIdentityUserName,t.setIdentityEmail,t.setIdentityPhone,t.setIdentityCompany],t}return i(n,e),n.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0,{quoteChar:'"',escapeChar:"\\"});return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(t.getProp(e,"title"))){var r=t.initLoginCipher();r.name=t.getValueOrDefault(t.getProp(e,"title"),"--"),t.setNotes(e,r),t.setCipherType(e,r);var i=null;for(var o in e)if(e.hasOwnProperty(o)&&!t.isNullOrWhitespace(e[o])){var a=new c.CipherImportContext(e,o,r);r.type===s.CipherType.Login&&t.setKnownLoginValue(a)||r.type===s.CipherType.Card&&t.setKnownCreditCardValue(a)||r.type===s.CipherType.Identity&&t.setKnownIdentityValue(a)||(i=t.setUnknownValue(a,i))}r.type===s.CipherType.Login&&!t.isNullOrWhitespace(i)&&t.isNullOrWhitespace(r.login.username)&&-1===i.indexOf("://")&&(r.login.username=i),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},n.prototype.getProp=function(e,t){return Object.entries(e).reduce(function(e,t){return e[t[0].toLowerCase()]=t[1],e},{})[t.toLowerCase()]},n.prototype.getPropByRegexp=function(e,t){var n=Object.keys(e).reduce(function(e,n){return n.match(t)&&e.push(n),e},[]);return 0===n.length?null:e[n[0]]},n.prototype.getPropIncluding=function(e,t){var n=Object.keys(e).reduce(function(e,n){return n.toLowerCase().includes(t.toLowerCase())&&e.push(n),e},[]);return 0===n.length?null:e[n[0]]},n.prototype.setNotes=function(e,t){t.notes=this.getValueOrDefault(this.getProp(e,"notesPlain"),"")+"\n"+this.getValueOrDefault(this.getProp(e,"notes"),"")+"\n",t.notes.trim()},n.prototype.setKnownLoginValue=function(e){var t=this;return this.loginPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setKnownCreditCardValue=function(e){var t=this;return this.creditCardPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setKnownIdentityValue=function(e){var t=this;return this.identityPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setUnknownValue=function(e,n){if(-1===t.IgnoredProperties.indexOf(e.lowerProperty)&&!e.lowerProperty.startsWith("section:")&&!e.lowerProperty.startsWith("section ")){if(null==n&&"email"===e.lowerProperty)return e.importRecord[e.property];if("created date"===e.lowerProperty||"modified date"===e.lowerProperty){var r=new Date(1e3*parseInt(e.importRecord[e.property],10)).toUTCString();return this.processKvp(e.cipher,"1Password "+e.property,r),null}e.lowerProperty.includes("password")||e.lowerProperty.includes("key")||e.lowerProperty.includes("secret")?this.processKvp(e.cipher,e.property,e.importRecord[e.property],l.FieldType.Hidden):this.processKvp(e.cipher,e.property,e.importRecord[e.property])}return null},n.prototype.setIdentityFirstName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.firstName)||!e.lowerProperty.includes("first name"))&&(e.cipher.identity.firstName=e.importRecord[e.property],!0)},n.prototype.setIdentityInitial=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.middleName)||!e.lowerProperty.includes("initial"))&&(e.cipher.identity.middleName=e.importRecord[e.property],!0)},n.prototype.setIdentityLastName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.lastName)||!e.lowerProperty.includes("last name"))&&(e.cipher.identity.lastName=e.importRecord[e.property],!0)},n.prototype.setIdentityUserName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.username)||!e.lowerProperty.includes("username"))&&(e.cipher.identity.username=e.importRecord[e.property],!0)},n.prototype.setIdentityCompany=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.company)||!e.lowerProperty.includes("company"))&&(e.cipher.identity.company=e.importRecord[e.property],!0)},n.prototype.setIdentityPhone=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.phone)||!e.lowerProperty.includes("default phone"))&&(e.cipher.identity.phone=e.importRecord[e.property],!0)},n.prototype.setIdentityEmail=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.email)||!e.lowerProperty.includes("email"))&&(e.cipher.identity.email=e.importRecord[e.property],!0)},n.prototype.setCreditCardNumber=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.number)||!e.lowerProperty.includes("number"))&&(e.cipher.card.number=e.importRecord[e.property],e.cipher.card.brand=this.getCardBrand(e.cipher.card.number),!0)},n.prototype.setCreditCardVerification=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.code)||!e.lowerProperty.includes("verification number"))&&(e.cipher.card.code=e.importRecord[e.property],!0)},n.prototype.setCreditCardCardholderName=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.cardholderName)||!e.lowerProperty.includes("cardholder name"))&&(e.cipher.card.cardholderName=e.importRecord[e.property],!0)},n.prototype.setCreditCardExpiry=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.expiration)||!e.lowerProperty.includes("expiry date")||7!==e.importRecord[e.property].length)&&(e.cipher.card.expMonth=e.importRecord[e.property].substr(0,2),"0"===e.cipher.card.expMonth[0]&&(e.cipher.card.expMonth=e.cipher.card.expMonth.substr(1,1)),e.cipher.card.expYear=e.importRecord[e.property].substr(3,4),!0)},n.prototype.setLoginPassword=function(e){return!(!this.isNullOrWhitespace(e.cipher.login.password)||"password"!==e.lowerProperty)&&(e.cipher.login.password=e.importRecord[e.property],!0)},n.prototype.setLoginUsername=function(e){return!(!this.isNullOrWhitespace(e.cipher.login.username)||"username"!==e.lowerProperty)&&(e.cipher.login.username=e.importRecord[e.property],!0)},n.prototype.setLoginUris=function(e){if((null==e.cipher.login.uris||0===e.cipher.login.uris.length)&&"urls"===e.lowerProperty){var t=e.importRecord[e.property].split(this.newLineRegex);return e.cipher.login.uris=this.makeUriArray(t),!0}return"url"===e.lowerProperty&&(null==e.cipher.login.uris&&(e.cipher.login.uris=[]),e.cipher.login.uris.concat(this.makeUriArray(e.importRecord[e.property])),!0)},n}(a.BaseImporter);t.OnePasswordCsvImporter=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(591);t.AttachmentView=r.AttachmentView;var i=n(89);t.CardView=i.CardView;var o=n(143);t.CipherView=o.CipherView;var a=n(209);t.FieldView=a.FieldView;var s=n(144);t.IdentityView=s.IdentityView;var l=n(255);t.LoginUriView=l.LoginUriView;var c=n(159);t.LoginView=c.LoginView;var p=n(94);t.SecureNoteView=p.SecureNoteView;var u=n(999);t.View=u.View},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.SyncCipherUpdate=0]="SyncCipherUpdate",e[e.SyncCipherCreate=1]="SyncCipherCreate",e[e.SyncLoginDelete=2]="SyncLoginDelete",e[e.SyncFolderDelete=3]="SyncFolderDelete",e[e.SyncCiphers=4]="SyncCiphers",e[e.SyncVault=5]="SyncVault",e[e.SyncOrgKeys=6]="SyncOrgKeys",e[e.SyncFolderCreate=7]="SyncFolderCreate",e[e.SyncFolderUpdate=8]="SyncFolderUpdate",e[e.SyncCipherDelete=9]="SyncCipherDelete",e[e.SyncSettings=10]="SyncSettings",e[e.LogOut=11]="LogOut",e[e.SyncSendCreate=12]="SyncSendCreate",e[e.SyncSendUpdate=13]="SyncSendUpdate",e[e.SyncSendDelete=14]="SyncSendDelete"}(t.NotificationType||(t.NotificationType={}))},,,,,function(e,t){},,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0);n(740),n(270),n(522),n(741);var i=n(742),o=n(72);r.enableProdMode(),o.platformBrowser().bootstrapModule(i.AppModule,{preserveWhitespaces:!0})},,function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(743);var r=n(9),i=n(12),o=n(212),a=n(808),s=n(264),l=(n(0),n(14)),c=n(72),p=n(886),u=n(887),d=n(1047),m=n(84),h=n(140),f=n(247),v=n(457),y=n(532),g=n(456),x=n(533),b=n(536),S=n(537),w=n(538),C=n(539),I=n(540),E=n(541),P=n(542),k=n(543),_=n(544),A=n(547),O=n(548),T=n(551),M=n(550),B=n(554),D=n(555),V=n(557),j=n(556),R=n(464),U=n(463),F=n(559),N=n(561),z=n(560),L=n(562),G=n(563),K=n(568),q=n(570),H=n(565),W=n(566),$=n(567),Y=n(571),Q=n(580),J=n(578),X=n(574),Z=n(579),ee=n(575),te=n(577),ne=n(581),re=n(582),ie=n(588),oe=n(589),ae=n(601),se=n(602),le=n(603),ce=n(604),pe=n(605),ue=n(606),de=n(478),me=n(608),he=n(494),fe=n(609),ve=n(496),ye=n(607),ge=n(1048),xe=n(617),be=n(616),Se=n(619),we=n(469),Ce=n(470),Ie=n(473),Ee=n(466),Pe=n(623),ke=n(631),_e=n(625),Ae=n(632),Oe=n(620),Te=n(621),Me=n(633),Be=n(661),De=n(658),Ve=n(662),je=n(663),Re=n(653),Ue=n(657),Fe=n(635),Ne=n(634),ze=n(280),Le=n(294),Ge=n(118),Ke=n(636),qe=n(622),He=n(467),We=n(637),$e=n(142),Ye=n(583),Qe=n(474),Je=n(584),Xe=n(585),Ze=n(475),et=n(586),tt=n(190),nt=n(587),rt=n(644),it=n(471),ot=n(468),at=n(638),st=n(647),lt=n(639),ct=n(476),pt=n(477),ut=n(488),dt=n(489),mt=n(641),ht=n(640),ft=n(490),vt=n(642),yt=n(491),gt=n(492),xt=n(256),bt=n(493),St=n(497),wt=n(611),Ct=n(613),It=n(614),Et=n(615),Pt=n(258),kt=n(495),_t=n(645),At=n(290),Ot=n(646),Tt=n(643),Mt=n(29),Bt=n(104),Dt=n(18),Vt=n(17),jt=n(62),Rt=n(1052),Ut=n(1053),Ft=n(600),Nt=n(45),zt=n(500),Lt=n(39),Gt=n(57),Kt=n(289),qt=n(501),Ht=n(10),Wt=n(1054),$t=n(249),Yt=n(4),Qt=n(1055),Jt=n(1056),Xt=n(1057),Zt=n(1058),en=n(1059),tn=n(1060),nn=n(1061),rn=n(1062),on=n(1063),an=n(1064),sn=n(1065),ln=n(1066),cn=n(1067),pn=n(1068),un=n(1069),dn=n(1070),mn=n(1071),hn=n(1072),fn=n(1073),vn=n(1074),yn=n(1075),gn=n(1076),xn=n(1077),bn=n(1078),Sn=n(1079),wn=n(1080),Cn=n(0),In=n(12),En=n(9);Yt.registerLocaleData(Qt.default,"ca"),Yt.registerLocaleData(Jt.default,"cs"),Yt.registerLocaleData(Xt.default,"da"),Yt.registerLocaleData(Zt.default,"de"),Yt.registerLocaleData(en.default,"el"),Yt.registerLocaleData(tn.default,"en-GB"),Yt.registerLocaleData(nn.default,"es"),Yt.registerLocaleData(rn.default,"et"),Yt.registerLocaleData(on.default,"fr"),Yt.registerLocaleData(an.default,"he"),Yt.registerLocaleData(sn.default,"it"),Yt.registerLocaleData(ln.default,"ja"),Yt.registerLocaleData(cn.default,"ko"),Yt.registerLocaleData(pn.default,"lv"),Yt.registerLocaleData(un.default,"ml"),Yt.registerLocaleData(dn.default,"nb"),Yt.registerLocaleData(mn.default,"nl"),Yt.registerLocaleData(hn.default,"pl"),Yt.registerLocaleData(fn.default,"pt-BR"),Yt.registerLocaleData(vn.default,"pt-PT"),Yt.registerLocaleData(yn.default,"ru"),Yt.registerLocaleData(gn.default,"sk"),Yt.registerLocaleData(xn.default,"sv"),Yt.registerLocaleData(bn.default,"uk"),Yt.registerLocaleData(Sn.default,"zh-CN"),Yt.registerLocaleData(wn.default,"zh-TW");var Pn=function(){function e(){}return e.ɵmod=Cn.ɵɵdefineNgModule({type:e,bootstrap:[d.AppComponent]}),e.ɵinj=Cn.ɵɵdefineInjector({factory:function(t){return new(t||e)},providers:[Yt.DatePipe],imports:[[c.BrowserModule,p.BrowserAnimationsModule,l.FormsModule,a.AppRoutingModule,u.ServicesModule,i.Angulartics2Module.forRoot({pageTracking:{clearQueryParams:!0}}),r.ToasterModule.forRoot(),o.InfiniteScrollModule,s.DragDropModule]]}),e}();t.AppModule=Pn,("undefined"==typeof ngJitMode||ngJitMode)&&Cn.ɵɵsetNgModuleScope(Pn,{declarations:[Dt.A11yTitleDirective,S.AcceptEmergencyComponent,ge.AccessComponent,w.AcceptOrganizationComponent,Se.AccountComponent,A.SetPasswordComponent,we.AddCreditComponent,xt.AddEditComponent,Ce.AdjustPaymentComponent,Q.AdjustSeatsComponent,Ie.AdjustStorageComponent,Vt.ApiActionDirective,Ee.ApiKeyComponent,d.AppComponent,bt.AttachmentsComponent,jt.AutofocusDirective,h.AvatarComponent,Rt.BlurClickDirective,Ut.BoxRowDirective,lt.BreachReportComponent,St.BulkActionsComponent,wt.BulkDeleteComponent,Ct.BulkMoveComponent,It.BulkRestoreComponent,Et.BulkShareComponent,Mt.CalloutComponent,Pe.ChangeEmailComponent,ke.ChangeKdfComponent,_e.ChangePasswordComponent,J.ChangePlanComponent,Pt.CiphersComponent,kt.CollectionsComponent,qt.ColorPasswordPipe,Ae.CreateOrganizationComponent,Oe.DeauthorizeSessionsComponent,Te.DeleteAccountComponent,X.DeleteOrganizationComponent,Me.DomainRulesComponent,Z.DownloadLicenseComponent,Be.EmergencyAccessAddEditComponent,De.EmergencyAccessComponent,Ve.EmergencyAccessConfirmComponent,je.EmergencyAccessTakeoverComponent,Re.EmergencyAccessViewComponent,Ue.EmergencyAddEditComponent,ct.ExportComponent,pt.ExposedPasswordsReportComponent,Ft.FallbackSrcDirective,_t.FolderAddEditComponent,v.FooterComponent,y.FrontendLayoutComponent,At.GroupingsComponent,C.HintComponent,Ht.I18nPipe,Bt.IconComponent,ut.ImportComponent,dt.InactiveTwoFactorReportComponent,Nt.InputVerbatimDirective,Fe.LinkSsoComponent,I.LockComponent,E.LoginComponent,m.ModalComponent,g.NavbarComponent,Ne.OptionsComponent,Y.AccountComponent,de.AddEditComponent,ee.OrganizationBillingComponent,ze.OrganizationPlansComponent,te.OrganizationSubscriptionComponent,me.AttachmentsComponent,he.CiphersComponent,V.CollectionAddEditComponent,fe.CollectionsComponent,R.EntityEventsComponent,U.EntityUsersComponent,F.EventsComponent,ie.ExportComponent,oe.ExposedPasswordsReportComponent,ae.ImportComponent,se.InactiveTwoFactorReportComponent,N.GroupAddEditComponent,ve.GroupingsComponent,z.GroupsComponent,j.CollectionsComponent,L.ManageComponent,G.PeopleComponent,q.PolicyEditComponent,K.PoliciesComponent,le.ReusedPasswordsReportComponent,ne.SettingsComponent,ce.ToolsComponent,re.TwoFactorSetupComponent,H.UserAddEditComponent,W.UserConfirmComponent,$.UserGroupsComponent,Le.OrganizationsComponent,x.OrganizationLayoutComponent,pe.UnsecuredWebsitesReportComponent,ye.VaultComponent,ue.WeakPasswordsReportComponent,ht.PasswordGeneratorComponent,mt.PasswordGeneratorHistoryComponent,f.PasswordStrengthComponent,Ge.PaymentComponent,Ke.PremiumComponent,qe.ProfileComponent,He.PurgeVaultComponent,P.RecoverDeleteComponent,k.RecoverTwoFactorComponent,_.RegisterComponent,ft.ReusedPasswordsReportComponent,Wt.SearchCiphersPipe,$t.SearchPipe,zt.SelectCopyDirective,xe.AddEditComponent,be.SendComponent,We.SettingsComponent,Ot.ShareComponent,O.SsoComponent,Lt.StopClickDirective,Gt.StopPropDirective,$e.TaxInfoComponent,vt.ToolsComponent,Kt.TrueFalseValueDirective,Ye.TwoFactorAuthenticatorComponent,M.TwoFactorComponent,Qe.TwoFactorDuoComponent,Je.TwoFactorEmailComponent,T.TwoFactorOptionsComponent,Xe.TwoFactorRecoveryComponent,Ze.TwoFactorSetupComponent,et.TwoFactorU2fComponent,tt.TwoFactorVerifyComponent,nt.TwoFactorYubiKeyComponent,yt.UnsecuredWebsitesReportComponent,rt.UpdateKeyComponent,it.UpdateLicenseComponent,ot.UserBillingComponent,b.UserLayoutComponent,at.UserSubscriptionComponent,Tt.VaultComponent,st.VerifyEmailComponent,B.VerifyEmailTokenComponent,D.VerifyRecoverDeleteComponent,gt.WeakPasswordsReportComponent],imports:[c.BrowserModule,p.BrowserAnimationsModule,l.FormsModule,a.AppRoutingModule,u.ServicesModule,In.Angulartics2Module,En.ToasterModule,o.InfiniteScrollModule,s.DragDropModule]})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(8),i=n(532),o=n(533),a=n(536),s=n(537),l=n(538),c=n(539),p=n(540),u=n(541),d=n(542),m=n(543),h=n(544),f=n(547),v=n(548),y=n(550),g=n(554),x=n(555),b=n(556),S=n(559),w=n(560),C=n(562),I=n(563),E=n(568),P=n(571),k=n(575),_=n(577),A=n(581),O=n(582),T=n(588),M=n(589),B=n(601),D=n(602),V=n(603),j=n(604),R=n(605),U=n(606),F=n(607),N=n(616),z=n(619),L=n(632),G=n(633),K=n(634),q=n(294),H=n(636),W=n(637),$=n(475),Y=n(468),Q=n(638),J=n(639),X=n(476),Z=n(477),ee=n(488),te=n(489),ne=n(640),re=n(490),ie=n(642),oe=n(491),ae=n(492),se=n(643),le=n(648),ce=n(649),pe=n(651),ue=n(652),de=n(650),me=n(653),he=n(658),fe=n(0),ve=n(8),ye=[{path:"",component:i.FrontendLayoutComponent,children:[{path:"",pathMatch:"full",component:u.LoginComponent,canActivate:[pe.UnauthGuardService]},{path:"2fa",component:y.TwoFactorComponent,canActivate:[pe.UnauthGuardService]},{path:"register",component:h.RegisterComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"createAccount"}},{path:"sso",component:v.SsoComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"enterpriseSingleSignOn"}},{path:"set-password",component:f.SetPasswordComponent,data:{titleId:"setMasterPassword"}},{path:"hint",component:c.HintComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"passwordHint"}},{path:"lock",component:p.LockComponent},{path:"verify-email",component:g.VerifyEmailTokenComponent},{path:"accept-organization",component:l.AcceptOrganizationComponent,data:{titleId:"joinOrganization"}},{path:"accept-emergency",component:s.AcceptEmergencyComponent,data:{titleId:"acceptEmergency"}},{path:"recover",pathMatch:"full",redirectTo:"recover-2fa"},{path:"recover-2fa",component:m.RecoverTwoFactorComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"recoverAccountTwoStep"}},{path:"recover-delete",component:d.RecoverDeleteComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"deleteAccount"}},{path:"verify-recover-delete",component:x.VerifyRecoverDeleteComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"deleteAccount"}}]},{path:"",component:a.UserLayoutComponent,canActivate:[ue.AuthGuardService],children:[{path:"vault",component:se.VaultComponent,data:{titleId:"myVault"}},{path:"sends",component:N.SendComponent,data:{title:"Send"}},{path:"settings",component:W.SettingsComponent,children:[{path:"",pathMatch:"full",redirectTo:"account"},{path:"account",component:z.AccountComponent,data:{titleId:"myAccount"}},{path:"options",component:K.OptionsComponent,data:{titleId:"options"}},{path:"domain-rules",component:G.DomainRulesComponent,data:{titleId:"domainRules"}},{path:"two-factor",component:$.TwoFactorSetupComponent,data:{titleId:"twoStepLogin"}},{path:"premium",component:H.PremiumComponent,data:{titleId:"goPremium"}},{path:"billing",component:Y.UserBillingComponent,data:{titleId:"billing"}},{path:"subscription",component:Q.UserSubscriptionComponent,data:{titleId:"premiumMembership"}},{path:"organizations",component:q.OrganizationsComponent,data:{titleId:"organizations"}},{path:"create-organization",component:L.CreateOrganizationComponent,data:{titleId:"newOrganization"}},{path:"emergency-access",children:[{path:"",component:he.EmergencyAccessComponent,data:{titleId:"emergencyAccess"}},{path:":id",component:me.EmergencyAccessViewComponent,data:{titleId:"emergencyAccess"}}]}]},{path:"tools",component:ie.ToolsComponent,canActivate:[ue.AuthGuardService],children:[{path:"",pathMatch:"full",redirectTo:"generator"},{path:"import",component:ee.ImportComponent,data:{titleId:"importData"}},{path:"export",component:X.ExportComponent,data:{titleId:"exportVault"}},{path:"generator",component:ne.PasswordGeneratorComponent,data:{titleId:"passwordGenerator"}},{path:"breach-report",component:J.BreachReportComponent,data:{titleId:"dataBreachReport"}},{path:"reused-passwords-report",component:re.ReusedPasswordsReportComponent,data:{titleId:"reusedPasswordsReport"}},{path:"unsecured-websites-report",component:oe.UnsecuredWebsitesReportComponent,data:{titleId:"unsecuredWebsitesReport"}},{path:"weak-passwords-report",component:ae.WeakPasswordsReportComponent,data:{titleId:"weakPasswordsReport"}},{path:"exposed-passwords-report",component:Z.ExposedPasswordsReportComponent,data:{titleId:"exposedPasswordsReport"}},{path:"inactive-two-factor-report",component:te.InactiveTwoFactorReportComponent,data:{titleId:"inactive2faReport"}}]}]},{path:"organizations/:organizationId",component:o.OrganizationLayoutComponent,canActivate:[ue.AuthGuardService,le.OrganizationGuardService],children:[{path:"",pathMatch:"full",redirectTo:"vault"},{path:"vault",component:F.VaultComponent,data:{titleId:"vault"}},{path:"tools",component:j.ToolsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{permissions:[de.Permissions.AccessImportExport,de.Permissions.AccessReports]},children:[{path:"",pathMatch:"full",redirectTo:"import"},{path:"import",component:B.ImportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"importData",permissions:[de.Permissions.AccessImportExport]}},{path:"export",component:T.ExportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"exportVault",permissions:[de.Permissions.AccessImportExport]}},{path:"exposed-passwords-report",component:M.ExposedPasswordsReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"exposedPasswordsReport",permissions:[de.Permissions.AccessReports]}},{path:"inactive-two-factor-report",component:D.InactiveTwoFactorReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"inactive2faReport",permissions:[de.Permissions.AccessReports]}},{path:"reused-passwords-report",component:V.ReusedPasswordsReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"reusedPasswordsReport",permissions:[de.Permissions.AccessReports]}},{path:"unsecured-websites-report",component:R.UnsecuredWebsitesReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"unsecuredWebsitesReport",permissions:[de.Permissions.AccessReports]}},{path:"weak-passwords-report",component:U.WeakPasswordsReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"weakPasswordsReport",permissions:[de.Permissions.AccessReports]}}]},{path:"manage",component:C.ManageComponent,canActivate:[ce.OrganizationTypeGuardService],data:{permissions:[de.Permissions.ManageAssignedCollections,de.Permissions.ManageAllCollections,de.Permissions.AccessEventLogs,de.Permissions.ManageGroups,de.Permissions.ManageUsers,de.Permissions.ManagePolicies]},children:[{path:"",pathMatch:"full",redirectTo:"people"},{path:"collections",component:b.CollectionsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"collections",permissions:[de.Permissions.ManageAssignedCollections,de.Permissions.ManageAllCollections]}},{path:"events",component:S.EventsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"eventLogs",permissions:[de.Permissions.AccessEventLogs]}},{path:"groups",component:w.GroupsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"groups",permissions:[de.Permissions.ManageGroups]}},{path:"people",component:I.PeopleComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"people",permissions:[de.Permissions.ManageUsers]}},{path:"policies",component:E.PoliciesComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"policies",permissions:[de.Permissions.ManagePolicies]}}]},{path:"settings",component:A.SettingsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{permissions:[de.Permissions.ManageOrganization]},children:[{path:"",pathMatch:"full",redirectTo:"account"},{path:"account",component:P.AccountComponent,data:{titleId:"myOrganization"}},{path:"two-factor",component:O.TwoFactorSetupComponent,data:{titleId:"twoStepLogin"}},{path:"billing",component:k.OrganizationBillingComponent,data:{titleId:"billing"}},{path:"subscription",component:_.OrganizationSubscriptionComponent,data:{titleId:"subscription"}}]}]},{path:"**",redirectTo:""}],ge=function(){function e(){}return e.ɵmod=fe.ɵɵdefineNgModule({type:e}),e.ɵinj=fe.ɵɵdefineInjector({factory:function(t){return new(t||e)},imports:[[r.RouterModule.forRoot(ye,{useHash:!0,paramsInheritanceStrategy:"always"})],r.RouterModule]}),e}();t.AppRoutingModule=ge,("undefined"==typeof ngJitMode||ngJitMode)&&fe.ɵɵsetNgModuleScope(ge,{imports:[ve.RouterModule],exports:[r.RouterModule]})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.subscribers=new Map}return e.prototype.send=function(e,t){null==t?this.subscribers.forEach(function(t){t(e)}):this.subscribers.has(t)&&this.subscribers.get(t)(e)},e.prototype.subscribe=function(e,t){this.subscribers.set(e,t)},e.prototype.unsubscribe=function(e){this.subscribers.has(e)&&this.subscribers.delete(e)},e}();t.BroadcasterService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDomain=function(e){return null}},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EmergencyAccessAcceptRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUserAcceptRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=5)return this.messagingService.send("logout"),[2];this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidPin"))}return[3,33];case 16:return[4,this.cryptoService.makeKey(this.masterPassword,this.email,e,t)];case 17:return r=i.sent(),[4,this.cryptoService.hashPassword(this.masterPassword,r)];case 18:return l=i.sent(),c=!1,null==l?[3,25]:[4,this.cryptoService.getKeyHash()];case 19:return null==(p=i.sent())?[3,20]:(c=p===l,[3,25]);case 20:(u=new s.PasswordVerificationRequest).masterPasswordHash=l,i.label=21;case 21:return i.trys.push([21,24,,25]),this.formPromise=this.apiService.postAccountVerifyPassword(u),[4,this.formPromise];case 22:return i.sent(),c=!0,[4,this.cryptoService.setKeyHash(l)];case 23:return i.sent(),[3,25];case 24:return i.sent(),[3,25];case 25:return c?this.pinSet[0]?[4,this.storageService.get(o.ConstantsService.protectedPin)]:[3,31]:[3,32];case 26:return d=i.sent(),[4,this.cryptoService.getEncKey(r)];case 27:return m=i.sent(),[4,this.cryptoService.decryptToUtf8(new a.CipherString(d),m)];case 28:return h=i.sent(),[4,this.cryptoService.makePinKey(h,this.email,e,t)];case 29:return f=i.sent(),v=this.vaultTimeoutService,[4,this.cryptoService.encrypt(r.key,f)];case 30:v.pinProtectedKey=i.sent(),i.label=31;case 31:return this.setKeyAndContinue(r),[3,33];case 32:this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidMasterPassword")),i.label=33;case 33:return[2]}})})},e.prototype.logOut=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("logOutConfirmation"),this.i18nService.t("logOut"),this.i18nService.t("logOut"),this.i18nService.t("cancel"))];case 1:return e.sent()&&this.messagingService.send("logout"),[2]}})})},e.prototype.unlockBiometric=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.biometricLock?[4,this.platformUtilsService.authenticateBiometric()]:[2];case 1:return e.sent()?[4,this.doContinue()]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Master Password on Unlock"),this.showPassword=!this.showPassword,document.getElementById(this.pinLock?"pin":"masterPassword").focus()},e.prototype.setKeyAndContinue=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.cryptoService.setKey(e)];case 1:return t.sent(),this.doContinue(),[2]}})})},e.prototype.doContinue=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.vaultTimeoutService.biometricLocked=!1,[4,this.storageService.get(o.ConstantsService.disableFaviconKey)];case 1:return e=t.sent(),[4,this.stateService.save(o.ConstantsService.disableFaviconKey,!!e)];case 2:return t.sent(),this.messagingService.send("unlocked"),null!=this.onSuccessfulSubmit?this.onSuccessfulSubmit():null!=this.router&&this.router.navigate([this.successRoute]),[2]}})})},e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.Router),c.ɵɵdirectiveInject(u.I18nService),c.ɵɵdirectiveInject(d.PlatformUtilsService),c.ɵɵdirectiveInject(m.MessagingService),c.ɵɵdirectiveInject(h.UserService),c.ɵɵdirectiveInject(f.CryptoService),c.ɵɵdirectiveInject(v.StorageService),c.ɵɵdirectiveInject(y.VaultTimeoutService),c.ɵɵdirectiveInject(g.EnvironmentService),c.ɵɵdirectiveInject(x.StateService),c.ɵɵdirectiveInject(b.ApiService))},e.ɵdir=c.ɵɵdefineDirective({type:e}),e}();t.LockComponent=S},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.concat(this.email.substr(0,t).trim().toLowerCase().split(/[^A-Za-z0-9]/))),null!=this.name&&""!==this.name&&(e=e.concat(this.name.trim().toLowerCase().split(" "))),e},e}();t.RegisterComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n,r,i,o,a,s){this.name=t,this.email=e,this.masterPasswordHash=n,this.masterPasswordHint=r||null,this.key=i,this.kdf=o,this.kdfIterations=a,this.referenceData=s}}();t.RegisterRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.ReferenceEventRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.u2f.init({appId:t[0].appId,challenge:t[0].challenge,keys:t.map(function(e){return{version:e.version,keyHandle:e.keyHandle}})}),[3,7]):[3,7];case 2:return setTimeout(function(){c.init({iframe:void 0,host:e.Host,sig_request:e.Signature,submit_callback:function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return null==(t=e.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=t.value,[4,this.submit()]);case 1:n.sent(),n.label=2;case 2:return[2]}})})}})},0),[3,7];case 3:return this.twoFactorEmail=e.Email,this.authService.twoFactorProvidersData.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:a.sent(),a.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null==this.token||""===this.token)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===o.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==o.TwoFactorProviderType.Email&&this.selectedProviderType!==o.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());n.label=1;case 1:return n.trys.push([1,5,,6]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return e=n.sent(),[4,this.storageService.get(l.ConstantsService.disableFaviconKey)];case 3:return t=n.sent(),[4,this.stateService.save(l.ConstantsService.disableFaviconKey,!!t)];case 4:return n.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.platformUtilsService.eventTrack("Logged In From Two-step"),e.resetMasterPassword&&(this.successRoute="set-password"),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute],{queryParams:{identifier:this.identifier}}),[3,6];case 5:return n.sent(),this.selectedProviderType===o.TwoFactorProviderType.U2f&&null!=this.u2f&&this.u2f.start(),[3,6];case 6:return[2]}})})},e.prototype.sendEmail=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:if(this.selectedProviderType!==o.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),t=new a.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(t),[4,this.emailPromise];case 2:return n.sent(),e&&this.platformUtilsService.showToast("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return n.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},e.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},Object.defineProperty(e.prototype,"authing",{get:function(){return this.authService.authingWithPassword()||this.authService.authingWithSso()||this.authService.authingWithApiKey()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"needsLock",{get:function(){return this.authService.authingWithSso()||this.authService.authingWithApiKey()},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.AuthService),u.ɵɵdirectiveInject(m.Router),u.ɵɵdirectiveInject(h.I18nService),u.ɵɵdirectiveInject(f.ApiService),u.ɵɵdirectiveInject(v.PlatformUtilsService),u.ɵɵdirectiveInject(Window),u.ɵɵdirectiveInject(y.EnvironmentService),u.ɵɵdirectiveInject(g.StateService),u.ɵɵdirectiveInject(x.StorageService),u.ɵɵdirectiveInject(m.ActivatedRoute))},e.ɵdir=u.ɵɵdefineDirective({type:e}),e}();t.TwoFactorComponent=b},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.type=t.getDevice(),this.name=t.getDeviceString(),this.identifier=e,this.pushToken=null}}();t.DeviceRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.email=e}}();t.PreloginRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r,i,o,a){null!=e&&e.length>1?(this.email=e[0],this.masterPasswordHash=e[1]):null!=t&&t.length>2?(this.code=t[0],this.codeVerifier=t[1],this.redirectUri=t[2]):null!=n&&n.length>1&&(this.clientId=n[0],this.clientSecret=n[1]),this.token=i,this.provider=r,this.remember=o,this.device=null!=a?a:null}return e.prototype.toIdentityToken=function(e){var t={scope:"api offline_access",client_id:e};if(null!=this.clientSecret)t.scope="api",t.grant_type="client_credentials",t.client_secret=this.clientSecret;else if(null!=this.masterPasswordHash&&null!=this.email)t.grant_type="password",t.username=this.email,t.password=this.masterPasswordHash;else{if(null==this.code||null==this.codeVerifier||null==this.redirectUri)throw new Error("must provide credentials or codes");t.grant_type="authorization_code",t.code=this.code,t.code_verifier=this.codeVerifier,t.redirect_uri=this.redirectUri}return this.device&&(t.deviceType=this.device.type,t.deviceIdentifier=this.device.identifier,t.deviceName=this.device.name),this.token&&null!=this.provider&&(t.twoFactorToken=this.token,t.twoFactorProvider=this.provider,t.twoFactorRemember=this.remember?"1":"0"),t},e}();t.TokenRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r,i){this.win=e,this.webVaultUrl=t,this.successCallback=n,this.errorCallback=r,this.infoCallback=i,this.iframe=null,this.parseFunction=this.parseMessage.bind(this),this.connectorLink=e.document.createElement("a"),this.webVaultUrl=null!=t&&""!==t?t:"https://vault.bitwarden.com"}return e.prototype.init=function(e){this.connectorLink.href=this.webVaultUrl+"/u2f-connector.html?data="+this.base64Encode(JSON.stringify(e))+"&parent="+encodeURIComponent(this.win.document.location.href)+"&v=1",this.iframe=this.win.document.getElementById("u2f_iframe"),this.iframe.src=this.connectorLink.href,this.win.addEventListener("message",this.parseFunction,!1)},e.prototype.stop=function(){this.sendMessage("stop")},e.prototype.start=function(){this.sendMessage("start")},e.prototype.sendMessage=function(e){this.iframe&&this.iframe.src&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage(e,this.iframe.src)},e.prototype.base64Encode=function(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)}))},e.prototype.cleanup=function(){this.win.removeEventListener("message",this.parseFunction,!1)},e.prototype.parseMessage=function(e){if(this.validMessage(e)){var t=e.data.split("|");"success"===t[0]&&this.successCallback?this.successCallback(t[1]):"error"===t[0]&&this.errorCallback?this.errorCallback(t[1]):"info"===t[0]&&this.infoCallback&&this.infoCallback(t[1])}},e.prototype.validMessage=function(e){return null!=e.origin&&""!==e.origin&&e.origin===this.connectorLink.origin&&null!=e.data&&"string"==typeof e.data&&(0===e.data.indexOf("success|")||0===e.data.indexOf("error|")||0===e.data.indexOf("info|"))},e}();t.U2f=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=e,this.token=t}}();t.VerifyEmailRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=e,this.token=t}}();t.VerifyDeleteRecoverRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.collections=[]}}();t.GroupRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.emails=[],this.collections=[]}}();t.OrganizationUserInviteRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.collections=[]}}();t.OrganizationUserUpdateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.groupIds=[]}}();t.OrganizationUserUpdateGroupsRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AppIdService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.LogService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PolicyRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUpdateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Charge=0]="Charge",e[e.Credit=1]="Credit",e[e.PromotionalCredit=2]="PromotionalCredit",e[e.ReferralCredit=3]="ReferralCredit",e[e.Refund=4]="Refund"}(t.TransactionType||(t.TransactionType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.VerifyBankRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.BitPayInvoiceRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(572).OrganizationTaxInfoUpdateRequest);t.PaymentRequest=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationCreateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUpgradeRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SeatRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StorageRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorDuoRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.TwoFactorProviderRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorAuthenticatorRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorEmailRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorU2fDeleteRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorU2fRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorYubioOtpRequest=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.collections.length>0&&this.collections.forEach(function(e){o.collectionIds.indexOf(e.id)>-1&&(e.checked=!0)}),i.label=8;case 8:return r=this,[4,this.folderService.getAllDecrypted()];case 9:return r.folders=i.sent(),this.editMode&&this.previousCipherId!==this.cipherId&&this.eventService.collect(l.EventType.Cipher_ClientViewed,this.cipherId),this.previousCipherId=this.cipherId,[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.cipher.isDeleted?[2,this.restore()]:null==this.cipher.name||""===this.cipher.name?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nameRequired")),[2,!1]):this.editMode&&!this.cloneMode||this.allowPersonal||null!=this.cipher.organizationId?(this.editMode&&!this.cloneMode||this.cipher.type!==s.CipherType.Login||null==this.cipher.login.uris||1!==this.cipher.login.uris.length||null!=this.cipher.login.uris[0].uri&&""!==this.cipher.login.uris[0].uri||(this.cipher.login.uris=null),this.editMode&&!this.cloneMode||null==this.cipher.organizationId||(this.cipher.collectionIds=null==this.collections?[]:this.collections.filter(function(e){return e.checked}).map(function(e){return e.id})),this.cloneMode&&(this.cipher.id=null),[4,this.encryptCipher()]):(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("personalOwnershipSubmitError")),[2,!1]);case 1:e=t.sent(),t.label=2;case 2:return t.trys.push([2,4,,5]),this.formPromise=this.saveCipher(e),[4,this.formPromise];case 3:return t.sent(),this.cipher.id=e.id,this.platformUtilsService.eventTrack(this.editMode&&!this.cloneMode?"Edited Cipher":"Added Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode&&!this.cloneMode?"editedItem":"addedItem")),this.onSavedCipher.emit(this.cipher),this.messagingService.send(this.editMode&&!this.cloneMode?"editedCipher":"addedCipher"),[2,!0];case 4:return t.sent(),[3,5];case 5:return[2,!1]}})})},e.prototype.addUri=function(){this.cipher.type===s.CipherType.Login&&(null==this.cipher.login.uris&&(this.cipher.login.uris=[]),this.cipher.login.uris.push(new g.LoginUriView))},e.prototype.removeUri=function(e){if(this.cipher.type===s.CipherType.Login&&null!=this.cipher.login.uris){var t=this.cipher.login.uris.indexOf(e);t>-1&&this.cipher.login.uris.splice(t,1)}},e.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var e=new v.FieldView;e.type=this.addFieldType,e.newField=!0,this.cipher.fields.push(e)},e.prototype.removeField=function(e){var t=this.cipher.fields.indexOf(e);t>-1&&this.cipher.fields.splice(t,1)},e.prototype.trackByFunction=function(e,t){return e},e.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},e.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},e.prototype.share=function(){this.onShareCipher.emit(this.cipher)},e.prototype.editCollections=function(){this.onEditCollections.emit(this.cipher)},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t(this.cipher.isDeleted?"permanentlyDeleteItemConfirmation":"deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return e.sent(),this.platformUtilsService.eventTrack((this.cipher.isDeleted?"Permanently ":"")+"Deleted Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.cipher.isDeleted?"permanentlyDeletedItem":"deletedItem")),this.onDeletedCipher.emit(this.cipher),this.messagingService.send(this.cipher.isDeleted?"permanentlyDeletedCipher":"deletedCipher"),[3,5];case 4:return e.sent(),[3,5];case 5:return[2,!0]}})})},e.prototype.restore=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.cipher.isDeleted?[4,this.platformUtilsService.showDialog(this.i18nService.t("restoreItemConfirmation"),this.i18nService.t("restoreItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2,!1];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.restorePromise=this.restoreCipher(),[4,this.restorePromise];case 3:return e.sent(),this.platformUtilsService.eventTrack("Restored Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("restoredItem")),this.onRestoredCipher.emit(this.cipher),this.messagingService.send("restoredCipher"),[3,5];case 4:return e.sent(),[3,5];case 5:return[2,!0]}})})},e.prototype.generatePassword=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Password on Edit"),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus(),this.editMode&&this.showPassword&&this.eventService.collect(l.EventType.Cipher_ClientToggledPasswordVisible,this.cipherId)},e.prototype.toggleCardCode=function(){this.platformUtilsService.eventTrack("Toggled CardCode on Edit"),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus(),this.editMode&&this.showCardCode&&this.eventService.collect(l.EventType.Cipher_ClientToggledCardCodeVisible,this.cipherId)},e.prototype.toggleFieldValue=function(e){var t=e;t.showValue=!t.showValue,this.editMode&&t.showValue&&this.eventService.collect(l.EventType.Cipher_ClientToggledHiddenFieldVisible,this.cipherId)},e.prototype.toggleUriOptions=function(e){var t=e;t.showOptions=(null!=t.showOptions||null==e.match)&&!t.showOptions},e.prototype.loginUriMatchChanged=function(e){var t=e;t.showOptions=null==t.showOptions||t.showOptions},e.prototype.drop=function(e){o.moveItemInArray(this.cipher.fields,e.previousIndex,e.currentIndex)},e.prototype.organizationChanged=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return null!=this.writeableCollections&&this.writeableCollections.forEach(function(e){return e.checked=!1}),null==this.cipher.organizationId?[3,2]:(this.collections=this.writeableCollections.filter(function(e){return e.organizationId===t.cipher.organizationId}),[4,this.userService.getOrganization(this.cipher.organizationId)]);case 1:return null!=(e=n.sent())&&(this.cipher.organizationUseTotp=e.useTotp),[3,3];case 2:this.collections=[],n.label=3;case 3:return[2]}})})},e.prototype.checkPassword=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.platformUtilsService.eventTrack("Check Password"),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return e=t.sent(),this.checkPasswordPromise=null,e>0?this.platformUtilsService.showToast("warning",null,this.i18nService.t("passwordExposed",e.toString())):this.platformUtilsService.showToast("success",null,this.i18nService.t("passwordSafe")),[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,e.sent().filter(function(e){return!e.readOnly})]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},e.prototype.saveCipher=function(e){return this.cipherService.saveWithServer(e)},e.prototype.deleteCipher=function(){return this.cipher.isDeleted?this.cipherService.deleteWithServer(this.cipher.id):this.cipherService.softDeleteWithServer(this.cipher.id)},e.prototype.restoreCipher=function(){return this.cipherService.restoreWithServer(this.cipher.id)},e.ɵfac=function(t){return new(t||e)(w.ɵɵdirectiveInject(C.CipherService),w.ɵɵdirectiveInject(I.FolderService),w.ɵɵdirectiveInject(E.I18nService),w.ɵɵdirectiveInject(P.PlatformUtilsService),w.ɵɵdirectiveInject(k.AuditService),w.ɵɵdirectiveInject(_.StateService),w.ɵɵdirectiveInject(A.UserService),w.ɵɵdirectiveInject(O.CollectionService),w.ɵɵdirectiveInject(T.MessagingService),w.ɵɵdirectiveInject(M.EventService),w.ɵɵdirectiveInject(B.PolicyService))},e.ɵdir=w.ɵɵdefineDirective({type:e,inputs:{cloneMode:"cloneMode",folderId:"folderId",cipherId:"cipherId",type:"type",collectionIds:"collectionIds",organizationId:"organizationId"},outputs:{onSavedCipher:"onSavedCipher",onDeletedCipher:"onDeletedCipher",onRestoredCipher:"onRestoredCipher",onCancelled:"onCancelled",onEditAttachments:"onEditAttachments",onShareCipher:"onShareCipher",onEditCollections:"onEditCollections",onGeneratePassword:"onGeneratePassword"}}),e}();t.AddEditComponent=D},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];i.label=1;case 1:return i.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(t[0]),n=this,[4,this.formPromise];case 2:return n.cipherDomain=i.sent(),r=this,[4,this.cipherDomain.decrypt()];case 3:return r.cipher=i.sent(),this.platformUtilsService.eventTrack("Added Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return i.sent(),[3,5];case 5:return e.type="",e.type="file",e.value="",[2]}})})},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return null!=this.deletePromises[e.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(!n.sent())return[2];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromises[e.id]=this.deleteCipherAttachment(e.id),[4,this.deletePromises[e.id]];case 3:return n.sent(),this.platformUtilsService.eventTrack("Deleted Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedAttachment")),(t=this.cipher.attachments.indexOf(e))>-1&&this.cipher.attachments.splice(t,1),[3,5];case 4:return n.sent(),[3,5];case 5:return this.deletePromises[e.id]=null,this.onDeletedAttachment.emit(),[2]}})})},e.prototype.download=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,s;return i(this,function(i){switch(i.label){case 0:return(t=e).downloading?[2]:this.canAccessAttachments?(t.downloading=!0,[4,fetch(new Request(e.url,{cache:"no-store"}))]):(this.platformUtilsService.showToast("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(n=i.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),t.downloading=!1,[2];i.label=2;case 2:return i.trys.push([2,8,,9]),[4,n.arrayBuffer()];case 3:return r=i.sent(),null==e.key?[3,4]:(a=e.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:a=i.sent(),i.label=6;case 6:return o=a,[4,this.cryptoService.decryptFromBytes(r,o)];case 7:return s=i.sent(),this.platformUtilsService.saveFile(this.win,s,null,e.fileName),[3,9];case 8:return i.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,9];case 9:return t.downloading=!1,[2]}})})},e.prototype.init=function(){return r(this,void 0,void 0,function(){var e,t,n,r;return i(this,function(i){switch(i.label){case 0:return e=this,[4,this.loadCipher()];case 1:return e.cipherDomain=i.sent(),t=this,[4,this.cipherDomain.decrypt()];case 2:return t.cipher=i.sent(),n=this,[4,this.cryptoService.hasEncKey()];case 3:return n.hasUpdatedKey=i.sent(),[4,this.userService.canAccessPremium()];case 4:return r=i.sent(),this.canAccessAttachments=r||null!=this.cipher.organizationId,this.canAccessAttachments?[3,6]:[4,this.platformUtilsService.showDialog(this.i18nService.t("premiumRequiredDesc"),this.i18nService.t("premiumRequired"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"))];case 5:return i.sent()&&this.platformUtilsService.launchUri("https://vault.bitwarden.com/#/?premium=purchase"),[3,8];case 6:return this.hasUpdatedKey?[3,8]:[4,this.platformUtilsService.showDialog(this.i18nService.t("updateKey"),this.i18nService.t("featureUnavailable"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"),"warning")];case 7:i.sent()&&this.platformUtilsService.launchUri("https://help.bitwarden.com/article/update-encryption-key/"),i.label=8;case 8:return[2]}})})},e.prototype.reuploadCipherAttachment=function(e,t){return r(this,void 0,void 0,function(){var n,o=this;return i(this,function(a){switch(a.label){case 0:if(n=e,null!=e.key||n.downloading||null!=this.reuploadPromises[e.id])return[2];a.label=1;case 1:return a.trys.push([1,3,,4]),this.reuploadPromises[e.id]=Promise.resolve().then(function(){return r(o,void 0,void 0,function(){var r,o,a,s,l,c,p,u,d;return i(this,function(i){switch(i.label){case 0:return n.downloading=!0,[4,fetch(new Request(e.url,{cache:"no-store"}))];case 1:if(200!==(r=i.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),n.downloading=!1,[2];i.label=2;case 2:return i.trys.push([2,11,,12]),[4,r.arrayBuffer()];case 3:return o=i.sent(),null==e.key?[3,4]:(s=e.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:s=i.sent(),i.label=6;case 6:return a=s,[4,this.cryptoService.decryptFromBytes(o,a)];case 7:return l=i.sent(),c=this,[4,this.cipherService.saveAttachmentRawWithServer(this.cipherDomain,e.fileName,l,t)];case 8:return c.cipherDomain=i.sent(),p=this,[4,this.cipherDomain.decrypt()];case 9:return p.cipher=i.sent(),this.deletePromises[e.id]=this.deleteCipherAttachment(e.id),[4,this.deletePromises[e.id]];case 10:return i.sent(),(u=this.cipher.attachments.filter(function(t){return t.id===e.id})).length>0&&(d=this.cipher.attachments.indexOf(u[0]))>-1&&this.cipher.attachments.splice(d,1),this.platformUtilsService.eventTrack("Reuploaded Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onReuploadedAttachment.emit(),[3,12];case 11:return i.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,12];case 12:return n.downloading=!1,[2]}})})}),[4,this.reuploadPromises[e.id]];case 2:return a.sent(),[3,4];case 3:return a.sent(),[3,4];case 4:return[2]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.saveCipherAttachment=function(e){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,e)},e.prototype.deleteCipherAttachment=function(e){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,e)},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.CipherService),a.ɵɵdirectiveInject(l.I18nService),a.ɵɵdirectiveInject(c.CryptoService),a.ɵɵdirectiveInject(p.UserService),a.ɵɵdirectiveInject(u.PlatformUtilsService),a.ɵɵdirectiveInject(Window))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{cipherId:"cipherId"},outputs:{onUploadedAttachment:"onUploadedAttachment",onDeletedAttachment:"onDeletedAttachment",onReuploadedAttachment:"onReuploadedAttachment"}}),e}();t.AttachmentsComponent=d},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]this.pageSize&&(t=this.pagedCiphersCount),this.ciphers.length>e&&(this.pagedCiphers=this.pagedCiphers.concat(this.ciphers.slice(e,e+t))),this.pagedCiphersCount=this.pagedCiphers.length,this.didScroll=this.pagedCiphers.length>this.pageSize}},e.prototype.reload=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),r(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return this.loaded=!1,this.ciphers=[],[4,this.load(e,t)];case 1:return n.sent(),[2]}})})},e.prototype.refresh=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return e.trys.push([0,,2,3]),this.refreshing=!0,[4,this.reload(this.filter,this.deleted)];case 1:return e.sent(),[3,3];case 2:return this.refreshing=!1,[7];case 3:return[2]}})})},e.prototype.applyFilter=function(e){return void 0===e&&(e=null),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.filter=e,[4,this.search(null)];case 1:return t.sent(),[2]}})})},e.prototype.search=function(e){return void 0===e&&(e=null),r(this,void 0,void 0,function(){var t,n,o=this;return i(this,function(a){switch(a.label){case 0:return this.searchPending=!1,null!=this.searchTimeout&&clearTimeout(this.searchTimeout),t=function(e){return e.isDeleted===o.deleted},null!=e?[3,3]:(n=this,[4,this.searchService.searchCiphers(this.searchText,[this.filter,t],null)]);case 1:return n.ciphers=a.sent(),[4,this.resetPaging()];case 2:return a.sent(),[2];case 3:return this.searchPending=!0,this.searchTimeout=setTimeout(function(){return r(o,void 0,void 0,function(){var e;return i(this,function(n){switch(n.label){case 0:return e=this,[4,this.searchService.searchCiphers(this.searchText,[this.filter,t],null)];case 1:return e.ciphers=n.sent(),[4,this.resetPaging()];case 2:return n.sent(),this.searchPending=!1,[2]}})})},e),[2]}})})},e.prototype.selectCipher=function(e){this.onCipherClicked.emit(e)},e.prototype.rightClickCipher=function(e){this.onCipherRightClicked.emit(e)},e.prototype.addCipher=function(){this.onAddCipher.emit()},e.prototype.addCipherOptions=function(){this.onAddCipherOptions.emit()},e.prototype.isSearching=function(){return!this.searchPending&&this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.ciphers.length>this.pageSize},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedCiphers=[],this.loadMore(),[2]})})},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.SearchService))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{activeCipherId:"activeCipherId"},outputs:{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions"}}),e}();t.CiphersComponent=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1}),[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:if(e=this.collections.filter(function(e){return!!e.checked}).map(function(e){return e.id}),!this.allowSelectNone&&0===e.length)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectOneCollection")),[2];this.cipherDomain.collectionIds=e,t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.saveCollections(),[4,this.formPromise];case 2:return t.sent(),this.onSavedCollections.emit(),this.platformUtilsService.eventTrack("Edited Cipher Collections"),this.platformUtilsService.showToast("success",null,this.i18nService.t("editedItem")),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e=this;return i(this,function(t){switch(t.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,t.sent().filter(function(t){return!t.readOnly&&t.organizationId===e.cipher.organizationId})]}})})},e.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.CollectionService),a.ɵɵdirectiveInject(l.PlatformUtilsService),a.ɵɵdirectiveInject(c.I18nService),a.ɵɵdirectiveInject(p.CipherService))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{cipherId:"cipherId",allowSelectNone:"allowSelectNone"},outputs:{onSavedCollections:"onSavedCollections"}}),e}();t.CollectionsComponent=u},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},e.prototype.filterCollections=function(){var e=this;this.writeableCollections.forEach(function(e){return e.checked=!1}),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(t){return t.organizationId===e.organizationId})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t,n=this;return i(this,function(o){switch(o.label){case 0:return 0===(e=this.collections.filter(function(e){return!!e.checked}).map(function(e){return e.id})).length?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectOneCollection")),[2]):[4,this.cipherService.get(this.cipherId)];case 1:return[4,o.sent().decrypt()];case 2:t=o.sent(),o.label=3;case 3:return o.trys.push([3,5,,6]),this.formPromise=this.cipherService.shareWithServer(t,this.organizationId,e).then(function(){return r(n,void 0,void 0,function(){return i(this,function(e){return this.onSharedCipher.emit(),this.platformUtilsService.eventTrack("Shared Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("sharedItem")),[2]})})}),[4,this.formPromise];case 4:return o.sent(),[2,!0];case 5:return o.sent(),[3,6];case 6:return[2,!1]}})})},Object.defineProperty(e.prototype,"canSave",{get:function(){if(null!=this.collections)for(var e=0;e0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e?c[e-1]():0===c.length&&(s.delete(l),0===s.size&&a.delete(n))};o.apply(n,r).then(function(e){return u(),e}).catch(function(e){throw u(),e}).then(t,i)};c.push(p),c.length<=e&&p()})}}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.ids=null==e?[]:e,this.folderId=t}}();t.CipherBulkMoveRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.ids=null==e?[]:e}}();t.CipherBulkRestoreRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(498),i=function(){return function(e,t){var n=this;null!=e&&(this.ciphers=[],e.forEach(function(e){n.ciphers.push(new r.CipherWithIdRequest(e))})),this.collectionIds=t}}();t.CipherBulkShareRequest=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(210),i=function(){return function(e){this.cipher=new r.CipherRequest(e),this.collectionIds=e.collectionIds}}();t.CipherShareRequest=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.comparator=e,this.sortedCiphersByUrl=new Map,this.timeouts=new Map}return e.prototype.isCached=function(e){return this.sortedCiphersByUrl.has(e)},e.prototype.addCiphers=function(e,t){t.sort(this.comparator),this.sortedCiphersByUrl.set(e,new i(t)),this.resetTimer(e)},e.prototype.getLastUsed=function(e){return this.resetTimer(e),this.isCached(e)?this.sortedCiphersByUrl.get(e).getLastUsed():null},e.prototype.getLastLaunched=function(e){return this.isCached(e)?this.sortedCiphersByUrl.get(e).getLastLaunched():null},e.prototype.getNext=function(e){return this.resetTimer(e),this.isCached(e)?this.sortedCiphersByUrl.get(e).getNext():null},e.prototype.updateLastUsedIndex=function(e){this.isCached(e)&&this.sortedCiphersByUrl.get(e).updateLastUsedIndex()},e.prototype.clear=function(){this.sortedCiphersByUrl.clear(),this.timeouts.clear()},e.prototype.resetTimer=function(e){var t=this;clearTimeout(this.timeouts.get(e)),this.timeouts.set(e,setTimeout(function(){t.sortedCiphersByUrl.delete(e),t.timeouts.delete(e)},3e3))},e}();t.SortedCiphersCache=r;var i=function(){function e(e){this.ciphers=e,this.lastUsedIndex=-1}return e.prototype.getLastUsed=function(){return this.lastUsedIndex=Math.max(this.lastUsedIndex,0),this.ciphers[this.lastUsedIndex]},e.prototype.getLastLaunched=function(){return this.ciphers.filter(function(e){var t;return null===(t=e.localData)||void 0===t?void 0:t.lastLaunched}).sort(function(e,t){return t.localData.lastLaunched.valueOf()-e.localData.lastLaunched.valueOf()})[0]},e.prototype.getNextIndex=function(){return(this.lastUsedIndex+1)%this.ciphers.length},e.prototype.getNext=function(){return this.ciphers[this.getNextIndex()]},e.prototype.updateLastUsedIndex=function(){this.lastUsedIndex=this.getNextIndex()},e}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.children=[],this.parent=n,this.node=e,this.node.name=t}}();t.TreeNode=r},,,,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.defaultType="",t.minLength=0,t.useUppercase=!1,t.useLowercase=!1,t.useNumbers=!1,t.numberCount=0,t.useSpecial=!1,t.specialCount=0,t.minNumberWords=0,t.capitalize=!1,t.includeNumber=!1,t}return i(t,e),t.prototype.inEffect=function(){return""!==this.defaultType||this.minLength>0||this.numberCount>0||this.specialCount>0||this.useUppercase||this.useLowercase||this.useNumbers||this.useSpecial||this.minNumberWords>0||this.capitalize||this.includeNumber},t}(n(81).default);t.PasswordGeneratorPolicyOptions=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.name=e.name,this.status=e.status,this.type=e.type,this.enabled=e.enabled,this.usePolicies=e.usePolicies,this.useGroups=e.useGroups,this.useDirectory=e.useDirectory,this.useEvents=e.useEvents,this.useTotp=e.useTotp,this.use2fa=e.use2fa,this.useApi=e.useApi,this.useBusinessPortal=e.useBusinessPortal,this.useSso=e.useSso,this.selfHost=e.selfHost,this.usersGetPremium=e.usersGetPremium,this.seats=e.seats,this.maxCollections=e.maxCollections,this.maxStorageGb=e.maxStorageGb,this.ssoBound=e.ssoBound,this.identifier=e.identifier,this.permissions=e.permissions}}();t.OrganizationData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.id=e.id,this.url=e.url,this.fileName=e.fileName,this.key=e.key,this.size=e.size,this.sizeName=e.sizeName)}}();t.SendFileData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.text=e.text,this.hidden=e.hidden)}}();t.SendTextData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0?this.browserCache=a.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edg/")?this.browserCache=a.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=a.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=a.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=a.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=a.DeviceType.IEBrowser:this.browserCache=a.DeviceType.UnknownBrowser,this.browserCache)},e.prototype.getDeviceString=function(){return a.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},e.prototype.isFirefox=function(){return this.getDevice()===a.DeviceType.FirefoxBrowser},e.prototype.isChrome=function(){return this.getDevice()===a.DeviceType.ChromeBrowser},e.prototype.isEdge=function(){return this.getDevice()===a.DeviceType.EdgeBrowser},e.prototype.isOpera=function(){return this.getDevice()===a.DeviceType.OperaBrowser},e.prototype.isVivaldi=function(){return this.getDevice()===a.DeviceType.VivaldiBrowser},e.prototype.isSafari=function(){return this.getDevice()===a.DeviceType.SafariBrowser},e.prototype.isIE=function(){return this.getDevice()===a.DeviceType.IEBrowser},e.prototype.isMacAppStore=function(){return!1},e.prototype.analyticsId=function(){return"UA-81915606-3"},e.prototype.isViewOpen=function(){return Promise.resolve(!1)},e.prototype.lockTimeout=function(){return null},e.prototype.launchUri=function(e,t){var n=document.createElement("a");n.href=e,null!=t&&t.sameWindow||(n.target="_blank",n.rel="noreferrer noopener"),n.classList.add("d-none"),document.body.appendChild(n),n.click(),document.body.removeChild(n)},e.prototype.saveFile=function(e,t,n,r){var i=null,o=null,a=r.toLowerCase(),s=!0;if(a.endsWith(".pdf")?(o="application/pdf",s=!1):a.endsWith(".xlsx")?o="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":a.endsWith(".docx")?o="application/vnd.openxmlformats-officedocument.wordprocessingml.document":a.endsWith(".pptx")?o="application/vnd.openxmlformats-officedocument.presentationml.presentation":a.endsWith(".csv")?o="text/csv":a.endsWith(".png")?o="image/png":a.endsWith(".jpg")||a.endsWith(".jpeg")?o="image/jpeg":a.endsWith(".gif")&&(o="image/gif"),null!=o&&null==(n=n||{}).type&&(n.type=o),i=null==n||this.isIE()?new Blob([t]):new Blob([t],n),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(i,r);else{var l=e.document.createElement("a");s?l.download=r:l.target="_blank",l.href=URL.createObjectURL(i),l.style.position="fixed",e.document.body.appendChild(l),l.click(),e.document.body.removeChild(l)}},e.prototype.getApplicationVersion=function(){return"2.18.2"},e.prototype.supportsU2f=function(e){return null!=e&&null!=e.u2f||(this.isChrome()||(this.isOpera()||this.isVivaldi())&&!s.Utils.isMobileBrowser)},e.prototype.supportsDuo=function(){return!0},e.prototype.showToast=function(e,t,n,r){this.messagingService.send("showToast",{text:n,title:t,type:e,options:r})},e.prototype.showDialog=function(e,t,n,a,s){return r(this,void 0,void 0,function(){var r,l;return i(this,function(i){switch(i.label){case 0:if(r=null,null!=s)switch(s){case"success":r="fa-check text-success";break;case"warning":r="fa-warning text-warning";break;case"error":r="fa-bolt text-danger";break;case"info":r="fa-info-circle text-info"}return l=null!=r?'':void 0,[4,o.default.fire({heightAuto:!1,buttonsStyling:!1,icon:s,iconHtml:l,text:e,title:t,showCancelButton:null!=a,cancelButtonText:a,showConfirmButton:!0,confirmButtonText:null==n?this.i18nService.t("ok"):n})];case 1:return[2,i.sent().value]}})})},e.prototype.eventTrack=function(e,t,n){this.messagingService.send("analyticsEventTrack",{action:e,label:t,options:n})},e.prototype.isDev=function(){return!1},e.prototype.isSelfHost=function(){return"true"===(!1).toString()},e.prototype.copyToClipboard=function(e,t){var n=window,r=window.document;if(t&&(t.window||t.win)?r=(n=t.window||t.win).document:t&&t.doc&&(r=t.doc),n.clipboardData&&n.clipboardData.setData)n.clipboardData.setData("Text",e);else if(r.queryCommandSupported&&r.queryCommandSupported("copy")){var i=r.createElement("textarea");i.textContent=e,i.style.position="fixed";var o=r.body;r.body.classList.contains("modal-open")&&(o=r.body.querySelector(".modal")),o.appendChild(i),i.select();try{r.execCommand("copy")}catch(a){console.warn("Copy to clipboard failed.",a)}finally{o.removeChild(i)}}},e.prototype.readFromClipboard=function(e){throw new Error("Cannot read from clipboard on web.")},e.prototype.supportsBiometric=function(){return Promise.resolve(!1)},e.prototype.authenticateBiometric=function(){return Promise.resolve(!1)},e.prototype.supportsSecureStorage=function(){return!1},e.prototype.getDefaultSystemTheme=function(){return null},e.prototype.onDefaultSystemThemeChange=function(){},e}();t.WebPlatformUtilsService=l},function(e,t,n){"use strict";var r,i=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.substring(0,t)),0!==e.indexOf("!/")&&0!==e.indexOf("#/")||(e=e.substring(1));var n=e.split("/"),r=[];return n.forEach(function(e){e.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)?r.push("__guid__"):r.push(e)}),encodeURIComponent(r.join("/"))},e}();t.Analytics=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Debug=0]="Debug",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(t.LogLevelType||(t.LogLevelType={}))},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&e.data.forEach(function(e){var r=new l.Collection(new p.CollectionData(e));t.push(r.decrypt().then(function(e){n.push(e)}))}),Promise.all(t)})),m.push(this.apiService.getCiphersOrganization(e).then(function(e){var t=[];return null!=e&&null!=e.data&&e.data.length>0&&e.data.filter(function(e){return null===e.deletedDate}).forEach(function(e){var n=new s.Cipher(new c.CipherData(e));t.push(n.decrypt().then(function(e){r.push(e)}))}),Promise.all(t)})),[4,Promise.all(m)];case 1:return i.sent(),"csv"===t?(h=new Map,n.forEach(function(e){h.set(e.id,e)}),f=[],r.forEach(function(e){if(e.type===a.CipherType.Login||e.type===a.CipherType.SecureNote){var t={collections:[]};null!=e.collectionIds&&(t.collections=e.collectionIds.filter(function(e){return h.has(e)}).map(function(e){return h.get(e).name})),y.buildCommonCipher(t,e),f.push(t)}}),[2,o.unparse(f)]):(v={encrypted:!1,collections:[],items:[]},n.forEach(function(e){var t=new d.CollectionWithId;t.build(e),v.collections.push(t)}),r.forEach(function(e){var t=new u.CipherWithIds;t.build(e),v.items.push(t)}),[2,JSON.stringify(v,null," ")])}})})},e.prototype.getOrganizationEncryptedExport=function(e){return r(this,void 0,void 0,function(){var t,n,r,o;return i(this,function(i){switch(i.label){case 0:return t=[],n=[],(r=[]).push(this.apiService.getCollections(e).then(function(e){return null!=e&&null!=e.data&&e.data.length>0&&e.data.forEach(function(e){var n=new l.Collection(new p.CollectionData(e));t.push(n)}),Promise.all([])})),r.push(this.apiService.getCiphersOrganization(e).then(function(e){return null!=e&&null!=e.data&&e.data.length>0&&e.data.filter(function(e){return null===e.deletedDate}).forEach(function(e){var t=new s.Cipher(new c.CipherData(e));n.push(t)}),Promise.all([])})),[4,Promise.all(r)];case 1:return i.sent(),o={encrypted:!0,collections:[],items:[]},t.forEach(function(e){var t=new d.CollectionWithId;t.build(e),o.collections.push(t)}),n.forEach(function(e){var t=new u.CipherWithIds;t.build(e),o.items.push(t)}),[2,JSON.stringify(o,null," ")]}})})},e.prototype.padNumber=function(e,t,n){void 0===n&&(n="0");var r=e.toString();return r.length>=t?r:new Array(t-r.length+1).join(n)+r},e.prototype.buildCommonCipher=function(e,t){switch(e.type=null,e.name=t.name,e.notes=t.notes,e.fields=null,e.login_uri=null,e.login_username=null,e.login_password=null,e.login_totp=null,t.fields&&t.fields.forEach(function(t){e.fields?e.fields+="\n":e.fields="",e.fields+=(t.name||"")+": "+t.value}),t.type){case a.CipherType.Login:e.type="login",e.login_username=t.login.username,e.login_password=t.login.password,e.login_totp=t.login.totp,t.login.uris&&(e.login_uri=[],t.login.uris.forEach(function(t){e.login_uri.push(t.uri)}));break;case a.CipherType.SecureNote:e.type="note";break;default:return}return e},e}();t.ExportService=h},,function(e,t){},,function(e,t){},,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(143),o=n(192),a=n(103),s=n(956),l=n(957),c=n(958),p=n(959),u=n(961),d=function(){function e(){}return e.template=function(){var t=new e;return t.organizationId=null,t.folderId=null,t.type=r.CipherType.Login,t.name="Item name",t.notes="Some notes about this item.",t.favorite=!1,t.fields=[],t.login=null,t.secureNote=null,t.card=null,t.identity=null,t},e.toView=function(e,t){switch(void 0===t&&(t=new i.CipherView),t.type=e.type,t.folderId=e.folderId,null==t.organizationId&&(t.organizationId=e.organizationId),t.name=e.name,t.notes=e.notes,t.favorite=e.favorite,null!=e.fields&&(t.fields=e.fields.map(function(e){return l.Field.toView(e)})),e.type){case r.CipherType.Login:t.login=p.Login.toView(e.login);break;case r.CipherType.SecureNote:t.secureNote=u.SecureNote.toView(e.secureNote);break;case r.CipherType.Card:t.card=s.Card.toView(e.card);break;case r.CipherType.Identity:t.identity=c.Identity.toView(e.identity)}return t},e.toDomain=function(e,t){switch(void 0===t&&(t=new o.Cipher),t.type=e.type,t.folderId=e.folderId,null==t.organizationId&&(t.organizationId=e.organizationId),t.name=null!=e.name?new a.CipherString(e.name):null,t.notes=null!=e.notes?new a.CipherString(e.notes):null,t.favorite=e.favorite,null!=e.fields&&(t.fields=e.fields.map(function(e){return l.Field.toDomain(e)})),e.type){case r.CipherType.Login:t.login=p.Login.toDomain(e.login);break;case r.CipherType.SecureNote:t.secureNote=u.SecureNote.toDomain(e.secureNote);break;case r.CipherType.Card:t.card=s.Card.toDomain(e.card);break;case r.CipherType.Identity:t.identity=c.Identity.toDomain(e.identity)}return t},e.prototype.build=function(e){var t,n;switch(this.organizationId=e.organizationId,this.folderId=e.folderId,this.type=e.type,e instanceof i.CipherView?(this.name=e.name,this.notes=e.notes):(this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.notes=null===(n=e.notes)||void 0===n?void 0:n.encryptedString),this.favorite=e.favorite,null!=e.fields&&(i.CipherView,this.fields=e.fields.map(function(e){return new l.Field(e)})),e.type){case r.CipherType.Login:this.login=new p.Login(e.login);break;case r.CipherType.SecureNote:this.secureNote=new u.SecureNote(e.secureNote);break;case r.CipherType.Card:this.card=new s.Card(e.card);break;case r.CipherType.Identity:this.identity=new c.Identity(e.identity)}},e}();t.Cipher=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(89),i=n(282),o=n(103),a=function(){function e(e){var t,n,i,o,a,s;null!=e&&(e instanceof r.CardView?(this.cardholderName=e.cardholderName,this.brand=e.brand,this.number=e.number,this.expMonth=e.expMonth,this.expYear=e.expYear,this.code=e.code):(this.cardholderName=null===(t=e.cardholderName)||void 0===t?void 0:t.encryptedString,this.brand=null===(n=e.brand)||void 0===n?void 0:n.encryptedString,this.number=null===(i=e.number)||void 0===i?void 0:i.encryptedString,this.expMonth=null===(o=e.expMonth)||void 0===o?void 0:o.encryptedString,this.expYear=null===(a=e.expYear)||void 0===a?void 0:a.encryptedString,this.code=null===(s=e.code)||void 0===s?void 0:s.encryptedString))}return e.template=function(){var t=new e;return t.cardholderName="John Doe",t.brand="visa",t.number="4242424242424242",t.expMonth="04",t.expYear="2023",t.code="123",t},e.toView=function(e,t){return void 0===t&&(t=new r.CardView),t.cardholderName=e.cardholderName,t.brand=e.brand,t.number=e.number,t.expMonth=e.expMonth,t.expYear=e.expYear,t.code=e.code,t},e.toDomain=function(e,t){return void 0===t&&(t=new i.Card),t.cardholderName=null!=e.cardholderName?new o.CipherString(e.cardholderName):null,t.brand=null!=e.brand?new o.CipherString(e.brand):null,t.number=null!=e.number?new o.CipherString(e.number):null,t.expMonth=null!=e.expMonth?new o.CipherString(e.expMonth):null,t.expYear=null!=e.expYear?new o.CipherString(e.expYear):null,t.code=null!=e.code?new o.CipherString(e.code):null,t},e}();t.Card=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(128),i=n(209),o=n(103),a=n(283),s=function(){function e(e){var t,n;null!=e&&(e instanceof i.FieldView?(this.name=e.name,this.value=e.value):(this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.value=null===(n=e.value)||void 0===n?void 0:n.encryptedString),this.type=e.type)}return e.template=function(){var t=new e;return t.name="Field name",t.value="Some value",t.type=r.FieldType.Text,t},e.toView=function(e,t){return void 0===t&&(t=new i.FieldView),t.type=e.type,t.value=e.value,t.name=e.name,t},e.toDomain=function(e,t){return void 0===t&&(t=new a.Field),t.type=e.type,t.value=null!=e.value?new o.CipherString(e.value):null,t.name=null!=e.name?new o.CipherString(e.name):null,t},e}();t.Field=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(144),i=n(103),o=n(284),a=function(){function e(e){var t,n,i,o,a,s,l,c,p,u,d,m,h,f,v,y,g,x;null!=e&&(e instanceof r.IdentityView?(this.title=e.title,this.firstName=e.firstName,this.middleName=e.middleName,this.lastName=e.lastName,this.address1=e.address1,this.address2=e.address2,this.address3=e.address3,this.city=e.city,this.state=e.state,this.postalCode=e.postalCode,this.country=e.country,this.company=e.company,this.email=e.email,this.phone=e.phone,this.ssn=e.ssn,this.username=e.username,this.passportNumber=e.passportNumber,this.licenseNumber=e.licenseNumber):(this.title=null===(t=e.title)||void 0===t?void 0:t.encryptedString,this.firstName=null===(n=e.firstName)||void 0===n?void 0:n.encryptedString,this.middleName=null===(i=e.middleName)||void 0===i?void 0:i.encryptedString,this.lastName=null===(o=e.lastName)||void 0===o?void 0:o.encryptedString,this.address1=null===(a=e.address1)||void 0===a?void 0:a.encryptedString,this.address2=null===(s=e.address2)||void 0===s?void 0:s.encryptedString,this.address3=null===(l=e.address3)||void 0===l?void 0:l.encryptedString,this.city=null===(c=e.city)||void 0===c?void 0:c.encryptedString,this.state=null===(p=e.state)||void 0===p?void 0:p.encryptedString,this.postalCode=null===(u=e.postalCode)||void 0===u?void 0:u.encryptedString,this.country=null===(d=e.country)||void 0===d?void 0:d.encryptedString,this.company=null===(m=e.company)||void 0===m?void 0:m.encryptedString,this.email=null===(h=e.email)||void 0===h?void 0:h.encryptedString,this.phone=null===(f=e.phone)||void 0===f?void 0:f.encryptedString,this.ssn=null===(v=e.ssn)||void 0===v?void 0:v.encryptedString,this.username=null===(y=e.username)||void 0===y?void 0:y.encryptedString,this.passportNumber=null===(g=e.passportNumber)||void 0===g?void 0:g.encryptedString,this.licenseNumber=null===(x=e.licenseNumber)||void 0===x?void 0:x.encryptedString))}return e.template=function(){var t=new e;return t.title="Mr",t.firstName="John",t.middleName="William",t.lastName="Doe",t.address1="123 Any St",t.address2="Apt #123",t.address3=null,t.city="New York",t.state="NY",t.postalCode="10001",t.country="US",t.company="Acme Inc.",t.email="john@company.com",t.phone="5555551234",t.ssn="000-123-4567",t.username="jdoe",t.passportNumber="US-123456789",t.licenseNumber="D123-12-123-12333",t},e.toView=function(e,t){return void 0===t&&(t=new r.IdentityView),t.title=e.title,t.firstName=e.firstName,t.middleName=e.middleName,t.lastName=e.lastName,t.address1=e.address1,t.address2=e.address2,t.address3=e.address3,t.city=e.city,t.state=e.state,t.postalCode=e.postalCode,t.country=e.country,t.company=e.company,t.email=e.email,t.phone=e.phone,t.ssn=e.ssn,t.username=e.username,t.passportNumber=e.passportNumber,t.licenseNumber=e.licenseNumber,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Identity),t.title=null!=e.title?new i.CipherString(e.title):null,t.firstName=null!=e.firstName?new i.CipherString(e.firstName):null,t.middleName=null!=e.middleName?new i.CipherString(e.middleName):null,t.lastName=null!=e.lastName?new i.CipherString(e.lastName):null,t.address1=null!=e.address1?new i.CipherString(e.address1):null,t.address2=null!=e.address2?new i.CipherString(e.address2):null,t.address3=null!=e.address3?new i.CipherString(e.address3):null,t.city=null!=e.city?new i.CipherString(e.city):null,t.state=null!=e.state?new i.CipherString(e.state):null,t.postalCode=null!=e.postalCode?new i.CipherString(e.postalCode):null,t.country=null!=e.country?new i.CipherString(e.country):null,t.company=null!=e.company?new i.CipherString(e.company):null,t.email=null!=e.email?new i.CipherString(e.email):null,t.phone=null!=e.phone?new i.CipherString(e.phone):null,t.ssn=null!=e.ssn?new i.CipherString(e.ssn):null,t.username=null!=e.username?new i.CipherString(e.username):null,t.passportNumber=null!=e.passportNumber?new i.CipherString(e.passportNumber):null,t.licenseNumber=null!=e.licenseNumber?new i.CipherString(e.licenseNumber):null,t},e}();t.Identity=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(960),i=n(159),o=n(103),a=n(285),s=function(){function e(e){var t,n,o;null!=e&&(null!=e.uris&&(i.LoginView,this.uris=e.uris.map(function(e){return new r.LoginUri(e)})),e instanceof i.LoginView?(this.username=e.username,this.password=e.password,this.totp=e.totp):(this.username=null===(t=e.username)||void 0===t?void 0:t.encryptedString,this.password=null===(n=e.password)||void 0===n?void 0:n.encryptedString,this.totp=null===(o=e.totp)||void 0===o?void 0:o.encryptedString))}return e.template=function(){var t=new e;return t.uris=[],t.username="jdoe",t.password="myp@ssword123",t.totp="JBSWY3DPEHPK3PXP",t},e.toView=function(e,t){return void 0===t&&(t=new i.LoginView),null!=e.uris&&(t.uris=e.uris.map(function(e){return r.LoginUri.toView(e)})),t.username=e.username,t.password=e.password,t.totp=e.totp,t},e.toDomain=function(e,t){return void 0===t&&(t=new a.Login),null!=e.uris&&(t.uris=e.uris.map(function(e){return r.LoginUri.toDomain(e)})),t.username=null!=e.username?new o.CipherString(e.username):null,t.password=null!=e.password?new o.CipherString(e.password):null,t.totp=null!=e.totp?new o.CipherString(e.totp):null,t},e}();t.Login=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(255),i=n(103),o=n(286),a=function(){function e(e){var t;this.match=null,null!=e&&(e instanceof r.LoginUriView?this.uri=e.uri:this.uri=null===(t=e.uri)||void 0===t?void 0:t.encryptedString,this.match=e.match)}return e.template=function(){var t=new e;return t.uri="https://google.com",t.match=null,t},e.toView=function(e,t){return void 0===t&&(t=new r.LoginUriView),t.uri=e.uri,t.match=e.match,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.LoginUri),t.uri=null!=e.uri?new i.CipherString(e.uri):null,t.match=e.match,t},e}();t.LoginUri=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(112),i=n(94),o=n(288),a=function(){function e(e){null!=e&&(this.type=e.type)}return e.template=function(){var t=new e;return t.type=r.SecureNoteType.Generic,t},e.toView=function(e,t){return void 0===t&&(t=new i.SecureNoteView),t.type=e.type,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.SecureNote),t.type=e.type,t},e}();t.SecureNote=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(157),i=n(103),o=n(141),a=function(){function e(){}return e.template=function(){var t=new e;return t.organizationId="00000000-0000-0000-0000-000000000000",t.name="Collection name",t.externalId=null,t},e.toView=function(e,t){return void 0===t&&(t=new r.CollectionView),t.name=e.name,t.externalId=e.externalId,null==t.organizationId&&(t.organizationId=e.organizationId),t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Collection),t.name=null!=e.name?new i.CipherString(e.name):null,t.externalId=e.externalId,null==t.organizationId&&(t.organizationId=e.organizationId),t},e.prototype.build=function(e){var t;this.organizationId=e.organizationId,e instanceof r.CollectionView?this.name=e.name:this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.externalId=e.externalId},e}();t.Collection=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(129),i=n(103),o=n(503),a=function(){function e(){}return e.template=function(){var t=new e;return t.name="Folder name",t},e.toView=function(e,t){return void 0===t&&(t=new r.FolderView),t.name=e.name,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Folder),t.name=null!=e.name?new i.CipherString(e.name):null,t},e.prototype.build=function(e){var t;e instanceof r.FolderView?this.name=e.name:this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString},e}();t.Folder=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(o=Math.floor(r.ciphers.length/2),a=r.ciphers.length-1,this.badData(r.ciphers[0])&&this.badData(r.ciphers[o])&&this.badData(r.ciphers[a]))?[2,new Error(this.i18nService.t("importFormatError"))]:[4,this.postImport(r,n)]:[3,3];case 2:return i.sent(),[2,null];case 3:return[2,new Error(this.i18nService.t("importFormatError"))]}})})},e.prototype.getImporter=function(e,t){void 0===t&&(t=null);var n=this.getImporterInstance(e);return null==n?null:(n.organizationId=t,n)},e.prototype.getImporterInstance=function(e){if(null==e||""===e)return null;switch(e){case"bitwardencsv":return new y.BitwardenCsvImporter;case"bitwardenjson":return new g.BitwardenJsonImporter;case"lastpasscsv":case"passboltcsv":return new j.LastPassCsvImporter;case"keepassxcsv":return new D.KeePassXCsvImporter;case"aviracsv":return new v.AviraCsvImporter;case"blurcsv":return new b.BlurCsvImporter;case"safeincloudxml":return new te.SafeInCloudXmlImporter;case"padlockcsv":return new K.PadlockCsvImporter;case"keepass2xml":return new B.KeePass2XmlImporter;case"chromecsv":case"operacsv":case"vivaldicsv":return new w.ChromeCsvImporter;case"firefoxcsv":return new A.FirefoxCsvImporter;case"upmcsv":return new se.UpmCsvImporter;case"saferpasscsv":return new ne.SaferPassCsvImporter;case"meldiumcsv":return new U.MeldiumCsvImporter;case"1password1pif":return new z.OnePassword1PifImporter;case"1passwordwincsv":return new G.OnePasswordWinCsvImporter;case"1passwordmaccsv":return new L.OnePasswordMacCsvImporter;case"keepercsv":return new V.KeeperCsvImporter;case"passworddragonxml":return new Q.PasswordDragonXmlImporter;case"enpasscsv":return new k.EnpassCsvImporter;case"enpassjson":return new _.EnpassJsonImporter;case"pwsafexml":return new J.PasswordSafeXmlImporter;case"dashlanejson":return new E.DashlaneJsonImporter;case"msecurecsv":return new F.MSecureCsvImporter;case"stickypasswordxml":return new oe.StickyPasswordXmlImporter;case"truekeycsv":return new ae.TrueKeyCsvImporter;case"clipperzhtml":return new C.ClipperzHtmlImporter;case"roboformcsv":return new ee.RoboFormCsvImporter;case"ascendocsv":return new m.AscendoCsvImporter;case"passwordbossjson":return new Y.PasswordBossJsonImporter;case"zohovaultcsv":return new ce.ZohoVaultCsvImporter;case"splashidcsv":return new ie.SplashIdCsvImporter;case"passkeepcsv":return new q.PassKeepCsvImporter;case"gnomejson":return new T.GnomeJsonImporter;case"passwordagentcsv":return new $.PasswordAgentCsvImporter;case"passpackcsv":return new W.PasspackCsvImporter;case"passmanjson":return new H.PassmanJsonImporter;case"avastcsv":return new h.AvastCsvImporter;case"avastjson":return new f.AvastJsonImporter;case"fsecurefsk":return new O.FSecureFskImporter;case"kasperskytxt":return new M.KasperskyTxtImporter;case"remembearcsv":return new Z.RememBearCsvImporter;case"passwordwallettxt":return new X.PasswordWalletTxtImporter;case"mykicsv":return new N.MykiCsvImporter;case"securesafecsv":return new re.SecureSafeCsvImporter;case"logmeoncecsv":return new R.LogMeOnceCsvImporter;case"blackberrycsv":return new x.BlackBerryCsvImporter;case"buttercupcsv":return new S.ButtercupCsvImporter;case"codebookcsv":return new I.CodebookCsvImporter;case"encryptrcsv":return new P.EncryptrCsvImporter;case"yoticsv":return new le.YotiCsvImporter;default:return null}},e.prototype.postImport=function(e,t){return void 0===t&&(t=null),r(this,void 0,void 0,function(){var n,r,o,a,m;return i(this,function(i){switch(i.label){case 0:if(null!=t)return[3,10];n=new p.ImportCiphersRequest,a=0,i.label=1;case 1:return a2&&e.length%2==0)for(var i=0;i-1?r.login.password=t.getValueOrDefault(o):null==r.login.username&&t.usernameFieldNames.indexOf(s)>-1?r.login.username=t.getValueOrDefault(o):(null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(s)>-1?r.login.uris=t.makeUriArray(o):t.processKvp(r,a,o)}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AscendoCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name),r.login.uris=t.makeUriArray(e.web),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.login),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AvastCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(40),l=n(112),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);return null==r?(n.success=!1,Promise.resolve(n)):(null!=r.logins&&r.logins.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.custName),r.notes=t.getValueOrDefault(e.note),r.login.uris=t.makeUriArray(e.url),r.login.password=t.getValueOrDefault(e.pwd),r.login.username=t.getValueOrDefault(e.loginName),t.cleanupCipher(r),n.ciphers.push(r)}),null!=r.notes&&r.notes.forEach(function(e){var r=t.initLoginCipher();r.type=s.CipherType.SecureNote,r.secureNote.type=l.SecureNoteType.Generic,r.name=t.getValueOrDefault(e.label),r.notes=t.getValueOrDefault(e.text),t.cleanupCipher(r),n.ciphers.push(r)}),null!=r.cards&&r.cards.forEach(function(e){var r=t.initLoginCipher();r.type=s.CipherType.Card,r.name=t.getValueOrDefault(e.custName),r.notes=t.getValueOrDefault(e.note),r.card.cardholderName=t.getValueOrDefault(e.holderName),r.card.number=t.getValueOrDefault(e.cardNumber),r.card.code=t.getValueOrDefault(e.cvv),r.card.brand=t.getCardBrand(r.card.number),null!=e.expirationDate&&(null!=e.expirationDate.month&&(r.card.expMonth=e.expirationDate.month+""),null!=e.expirationDate.year&&(r.card.expYear=e.expirationDate.year+"")),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AvastJsonImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name,t.getValueOrDefault(t.nameFromUrl(e.website),"--")),r.login.uris=t.makeUriArray(e.website),r.login.password=t.getValueOrDefault(e.password),t.isNullOrWhitespace(e.username)&&!t.isNullOrWhitespace(e.secondary_username)?r.login.username=e.secondary_username:(r.login.username=t.getValueOrDefault(e.username),r.notes=t.getValueOrDefault(e.secondary_username)),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AviraCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(143),l=n(157),c=n(209),p=n(159),u=n(94),d=n(40),m=n(128),h=n(112),f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.organization&&!t.isNullOrWhitespace(e.collections)?e.collections.split(",").forEach(function(e){for(var t=!0,r=n.collections.length,i=0;ia+2&&(f.value=i[o].substr(a+2)),r.fields.push(f)}}switch(null!=e.type?e.type.toLowerCase():null){case"note":r.type=d.CipherType.SecureNote,r.secureNote=new u.SecureNoteView,r.secureNote.type=h.SecureNoteType.Generic;break;default:r.type=d.CipherType.Login,r.login=new p.LoginView,r.login.totp=t.getValueOrDefault(e.login_totp||e.totp),r.login.username=t.getValueOrDefault(e.login_username||e.username),r.login.password=t.getValueOrDefault(e.login_password||e.password);var v=t.parseSingleRowCsv(e.login_uri||e.uri);r.login.uris=t.makeUriArray(v)}n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.BitwardenCsvImporter=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]5&&(f.passwordHistory=f.passwordHistory.slice(0,5)),!this.organization&&null!=h.folderId&&e.has(h.folderId)?this.result.folderRelationships.push([this.result.ciphers.length,e.get(h.folderId)]):this.organization&&null!=h.collectionIds&&h.collectionIds.forEach(function(t){e.has(t)&&y.result.collectionRelationships.push([y.result.ciphers.length,e.get(t)])}),[4,f.decrypt()]):[3,13];case 11:v=a.sent(),this.cleanupCipher(v),this.result.ciphers.push(v),a.label=12;case 12:return d++,[3,10];case 13:return[2]}})})},t.prototype.parseDecrypted=function(){var e=this,t=new Map;this.organization&&null!=this.results.collections?this.results.collections.forEach(function(n){var r=p.CollectionWithId.toView(n);null!=r&&(r.id=null,r.organizationId=null,t.set(n.id,e.result.collections.length),e.result.collections.push(r))}):this.organization||null==this.results.folders||this.results.folders.forEach(function(n){var r=u.FolderWithId.toView(n);null!=r&&(r.id=null,t.set(n.id,e.result.folders.length),e.result.folders.push(r))}),this.results.items.forEach(function(n){var r=c.CipherWithIds.toView(n);r.id=null,r.folderId=null,r.organizationId=null,r.collectionIds=null,null!=r.passwordHistory&&r.passwordHistory.length>5&&(r.passwordHistory=r.passwordHistory.slice(0,5)),!e.organization&&null!=n.folderId&&t.has(n.folderId)?e.result.folderRelationships.push([e.result.ciphers.length,t.get(n.folderId)]):e.organization&&null!=n.collectionIds&&n.collectionIds.forEach(function(n){t.has(n)&&e.result.collectionRelationships.push([e.result.ciphers.length,t.get(n)])}),e.cleanupCipher(r),e.result.ciphers.push(r)})},t}(s.BaseImporter);t.BitwardenJsonImporter=d},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if("list"!==e.grouping){var r=t.initLoginCipher();r.favorite="1"===e.fav,r.name=t.getValueOrDefault(e.name),r.notes=t.getValueOrDefault(e.extra),"note"!==e.grouping&&(r.login.uris=t.makeUriArray(e.url),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.username)),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.BlackBerryCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){"null"===e.label&&(e.label=null);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.label,t.getValueOrDefault(t.nameFromUrl(e.domain),"--")),r.login.uris=t.makeUriArray(e.domain),r.login.password=t.getValueOrDefault(e.password),t.isNullOrWhitespace(e.email)&&!t.isNullOrWhitespace(e.username)?r.login.username=e.username:(r.login.username=t.getValueOrDefault(e.email),r.notes=t.getValueOrDefault(e.username)),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.BlurCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=["!group_id","!group_name","title","username","password","URL","id"],l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValueOrDefault(e["!group_name"]));var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.title,"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.URL);var i=!1;for(var o in e)e.hasOwnProperty(o)&&(i||-1!==s.indexOf(o)||(i=!0),i&&t.processKvp(r,o,e[o]));t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.ButtercupCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name,"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.ChromeCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelector("textarea");return null==i||this.isNullOrWhitespace(i.textContent)?(n.errorMessage="Missing textarea.",n.success=!1,Promise.resolve(n)):(JSON.parse(i.textContent).forEach(function(e){var r=t.initLoginCipher();if(t.isNullOrWhitespace(e.label)||(r.name=e.label.split(" ")[0]),null==e.data||t.isNullOrWhitespace(e.data.notes)||(r.notes=e.data.notes.split("\\n").join("\n")),null!=e.currentVersion&&null!=e.currentVersion.fields)for(var i in e.currentVersion.fields)if(e.currentVersion.fields.hasOwnProperty(i)){var o=e.currentVersion.fields[i];switch(null!=o.actionType?o.actionType.toLowerCase():null){case"password":r.login.password=t.getValueOrDefault(o.value);break;case"email":case"username":case"user":case"name":r.login.username=t.getValueOrDefault(o.value);break;case"url":r.login.uris=t.makeUriArray(o.value);break;default:var a=null!=o.label?o.label.toLowerCase():null;null==r.login.password&&t.passwordFieldNames.indexOf(a)>-1?r.login.password=t.getValueOrDefault(o.value):null==r.login.username&&t.usernameFieldNames.indexOf(a)>-1?r.login.username=t.getValueOrDefault(o.value):(null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(a)>-1?r.login.uris=t.makeUriArray(o.value):t.processKvp(r,o.label,o.value)}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.ClipperzHtmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValueOrDefault(e.Category));var r=t.initLoginCipher();r.favorite="True"===t.getValueOrDefault(e.Favorite),r.name=t.getValueOrDefault(e.Entry,"--"),r.notes=t.getValueOrDefault(e.Note),r.login.username=t.getValueOrDefault(e.Username,e.Email),r.login.password=t.getValueOrDefault(e.Password),r.login.totp=t.getValueOrDefault(e.TOTP),r.login.uris=t.makeUriArray(e.Website),t.isNullOrWhitespace(e.Username)||t.processKvp(r,"Email",e.Email),t.processKvp(r,"Phone",e.Phone),t.processKvp(r,"PIN",e.PIN),t.processKvp(r,"Account",e.Account),t.processKvp(r,"Date",e.Date),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.CodebookCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(143),c=n(144),p=n(94),u=n(40),d=n(112),m=new Set(["ADDRESS","AUTHENTIFIANT","BANKSTATEMENT","IDCARD","IDENTITY","PAYMENTMEANS_CREDITCARD","PAYMENTMEAN_PAYPAL","EMAIL"]),h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){this.result=new a.ImportResult;var t=JSON.parse(e);if(null==t||0===t.length)return this.result.success=!1,Promise.resolve(this.result);for(var n in null!=t.ADDRESS&&this.processAddress(t.ADDRESS),null!=t.AUTHENTIFIANT&&this.processAuth(t.AUTHENTIFIANT),null!=t.BANKSTATEMENT&&this.processNote(t.BANKSTATEMENT,"BankAccountName"),null!=t.IDCARD&&this.processNote(t.IDCARD,"Fullname"),null!=t.PAYMENTMEANS_CREDITCARD&&this.processCard(t.PAYMENTMEANS_CREDITCARD),null!=t.IDENTITY&&this.processIdentity(t.IDENTITY),t)t.hasOwnProperty(n)&&!m.has(n)&&this.processNote(t[n],null,"Generic Note");return this.result.success=!0,Promise.resolve(this.result)},t.prototype.processAuth=function(e){var t=this;e.forEach(function(e){var n=t.initLoginCipher();n.name=t.getValueOrDefault(e.title),n.login.username=t.getValueOrDefault(e.login,t.getValueOrDefault(e.secondaryLogin)),t.isNullOrWhitespace(n.login.username)?n.login.username=t.getValueOrDefault(e.email):t.isNullOrWhitespace(e.email)||(n.notes="Email: "+e.email+"\n"),n.login.password=t.getValueOrDefault(e.password),n.login.uris=t.makeUriArray(e.domain),n.notes+=t.getValueOrDefault(e.note,""),t.convertToNoteIfNeeded(n),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processIdentity=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.identity=new c.IdentityView,n.type=u.CipherType.Identity,n.name=t.getValueOrDefault(e.fullName,"");var r=n.name.split(" ");r.length>0&&(n.identity.firstName=t.getValueOrDefault(r[0])),2===r.length?n.identity.lastName=t.getValueOrDefault(r[1]):3===r.length&&(n.identity.middleName=t.getValueOrDefault(r[1]),n.identity.lastName=t.getValueOrDefault(r[2])),n.identity.username=t.getValueOrDefault(e.pseudo),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processAddress=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.identity=new c.IdentityView,n.type=u.CipherType.Identity,n.name=t.getValueOrDefault(e.addressName),n.identity.address1=t.getValueOrDefault(e.addressFull),n.identity.city=t.getValueOrDefault(e.city),n.identity.state=t.getValueOrDefault(e.state),n.identity.postalCode=t.getValueOrDefault(e.zipcode),n.identity.country=t.getValueOrDefault(e.country),null!=n.identity.country&&(n.identity.country=n.identity.country.toUpperCase()),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processCard=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.card=new s.CardView,n.type=u.CipherType.Card,n.name=t.getValueOrDefault(e.bank),n.card.number=t.getValueOrDefault(e.cardNumber),n.card.brand=t.getCardBrand(n.card.number),n.card.cardholderName=t.getValueOrDefault(e.owner),t.isNullOrWhitespace(n.card.brand)||(t.isNullOrWhitespace(n.name)?n.name=n.card.brand:n.name+=" - "+n.card.brand),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processNote=function(e,t,n){var r=this;void 0===n&&(n=null),e.forEach(function(e){var i=new l.CipherView;for(var o in i.secureNote=new p.SecureNoteView,i.type=u.CipherType.SecureNote,i.secureNote.type=d.SecureNoteType.Generic,i.name=null!=n?n:r.getValueOrDefault(e[t]),e)e.hasOwnProperty(o)&&o!==t&&r.processKvp(i,o,e[o].toString());r.cleanupCipher(i),r.result.ciphers.push(i)})},t}(o.BaseImporter);t.DashlaneJsonImporter=h},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(40),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Label,"--"),r.notes=t.getValueOrDefault(e.Notes);var i=t.getValueOrDefault(e.Text);t.isNullOrWhitespace(i)||(t.isNullOrWhitespace(r.notes)?r.notes=i:r.notes+="\n\n"+i);var o=e["Entry Type"];if("Password"===o)r.login.username=t.getValueOrDefault(e.Username),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e["Site URL"]);else if("Credit Card"===o){r.type=l.CipherType.Card,r.card=new s.CardView,r.card.cardholderName=t.getValueOrDefault(e["Name on card"]),r.card.number=t.getValueOrDefault(e["Card Number"]),r.card.brand=t.getCardBrand(r.card.number),r.card.code=t.getValueOrDefault(e.CVV);var a=t.getValueOrDefault(e.Expiry);if(!t.isNullOrWhitespace(a)){var c=a.split("/");c.length>1&&(r.card.expMonth=parseInt(c[0],null).toString(),r.card.expYear=(2e3+parseInt(c[1],null)).toString())}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.EncryptrCsvImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(40),l=n(112),c=n(89),p=n(94),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=!0;return r.forEach(function(e){if(e.length<2||i&&("Title"===e[0]||"title"===e[0]))i=!1;else{var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[e.length-1]),r.name=t.getValueOrDefault(e[0],"--"),2!==e.length&&(t.containsField(e,"username")||t.containsField(e,"password")||t.containsField(e,"email")||t.containsField(e,"url"))||(r.type=s.CipherType.SecureNote,r.secureNote=new p.SecureNoteView,r.secureNote.type=l.SecureNoteType.Generic),t.containsField(e,"cardholder")&&t.containsField(e,"number")&&t.containsField(e,"expiry date")&&(r.type=s.CipherType.Card,r.card=new c.CardView),e.length>2&&e.length%2==0)for(var o=0;o0},t}(o.BaseImporter);t.EnpassCsvImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(129),c=n(40),p=n(128),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||null==r.items||0===r.items.length)return n.success=!1,Promise.resolve(n);var i=new Map,o=new Map,s=this.buildFolderTree(r.folders);return this.flattenFolderTree(null,s,i),i.forEach(function(e,t){o.set(t,n.folders.length);var r=new l.FolderView;r.name=e,n.folders.push(r)}),r.items.forEach(function(e){null!=e.folders&&e.folders.length>0&&o.has(e.folders[0])&&n.folderRelationships.push([n.ciphers.length,o.get(e.folders[0])]);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.title),r.favorite=e.favorite>0,null!=e.template_type&&null!=e.fields&&e.fields.length>0&&(0===e.template_type.indexOf("login.")||0===e.template_type.indexOf("password.")?t.processLogin(r,e.fields):0===e.template_type.indexOf("creditcard.")?t.processCard(r,e.fields):e.template_type.indexOf("identity.")<0&&e.fields.some(function(e){return"password"===e.type&&!t.isNullOrWhitespace(e.value)})?t.processLogin(r,e.fields):t.processNote(r,e.fields)),r.notes+="\n"+t.getValueOrDefault(e.note,""),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n)},t.prototype.processLogin=function(e,t){var n=this,r=[];t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||("username"!==t.type&&"email"!==t.type||!n.isNullOrWhitespace(e.login.username)?"password"===t.type&&n.isNullOrWhitespace(e.login.password)?e.login.password=t.value:"totp"===t.type&&n.isNullOrWhitespace(e.login.totp)?e.login.totp=t.value:"url"===t.type?r.push(t.value):n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text):e.login.username=t.value)}),e.login.uris=this.makeUriArray(r)},t.prototype.processCard=function(e,t){var n=this;e.card=new s.CardView,e.type=c.CipherType.Card,t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||"ccType"===t.type||("ccName"===t.type&&n.isNullOrWhitespace(e.card.cardholderName)?e.card.cardholderName=t.value:"ccNumber"===t.type&&n.isNullOrWhitespace(e.card.number)?(e.card.number=t.value,e.card.brand=n.getCardBrand(e.card.number)):"ccCvc"===t.type&&n.isNullOrWhitespace(e.card.code)?e.card.code=t.value:"ccExpiry"===t.type&&n.isNullOrWhitespace(e.card.expYear)&&n.setCardExpiration(e,t.value)||n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text))})},t.prototype.processNote=function(e,t){var n=this;t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text)})},t.prototype.buildFolderTree=function(e){if(null==e)return[];var t=[],n=new Map([]);return e.forEach(function(e){n.set(e.uuid,e),e.children=[]}),e.forEach(function(e){null!=e.parent_uuid&&""!==e.parent_uuid&&n.has(e.parent_uuid)?n.get(e.parent_uuid).children.push(e):t.push(e)}),t},t.prototype.flattenFolderTree=function(e,t,n){var r=this;null!=t&&t.forEach(function(t){if(null!=t.title&&""!==t.title.trim()){var i=t.title.trim();null!=e&&""!==e.trim()&&(i=e+"/"+i),n.set(t.uuid,i),null!=t.children&&0!==t.children.length&&r.flattenFolderTree(i,t.children,n)}})},t}(o.BaseImporter);t.EnpassJsonImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher(),i=t.getValueOrDefault(e.url,t.getValueOrDefault(e.hostname));r.name=t.getValueOrDefault(t.nameFromUrl(i),"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(i),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.FirefoxCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(40),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=new a.ImportResult,n=JSON.parse(e);if(null==n||null==n.data)return t.success=!1,Promise.resolve(t);for(var r in n.data)if(n.data.hasOwnProperty(r)){var i=n.data[r],o=this.initLoginCipher();if(o.name=this.getValueOrDefault(i.service),o.notes=this.getValueOrDefault(i.notes),"website"===i.style)o.login.username=this.getValueOrDefault(i.username),o.login.password=this.getValueOrDefault(i.password),o.login.uris=this.makeUriArray(i.url);else{if("creditcard"!==i.style)continue;o.type=l.CipherType.Card,o.card=new s.CardView,o.card.cardholderName=this.getValueOrDefault(i.username),o.card.number=this.getValueOrDefault(i.creditNumber),o.card.brand=this.getCardBrand(o.card.number),o.card.code=this.getValueOrDefault(i.creditCvv),this.isNullOrWhitespace(i.creditExpiry)||this.setCardExpiration(o,i.creditExpiry)||this.processKvp(o,"Expiration",i.creditExpiry),this.isNullOrWhitespace(i.password)||this.processKvp(o,"PIN",i.password)}this.convertToNoteIfNeeded(o),this.cleanupCipher(o),t.ciphers.push(o)}return t.success=!0,Promise.resolve(t)},t}(o.BaseImporter);t.FSecureFskImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||0===Object.keys(r).length)return n.success=!1,Promise.resolve(n);var i=function(e){if(!r.hasOwnProperty(e)||o.isNullOrWhitespace(e)||0===r[e].length)return"continue";r[e].forEach(function(r){if(!t.isNullOrWhitespace(r.display_name)&&0===r.display_name.indexOf("http")){t.processFolder(n,e);var i=t.initLoginCipher();if(i.name=r.display_name.replace("http://","").replace("https://",""),i.name.length>30&&(i.name=i.name.substring(0,30)),i.login.password=t.getValueOrDefault(r.secret),i.login.uris=t.makeUriArray(r.display_name),null!=r.attributes)for(var o in i.login.username=null!=r.attributes?t.getValueOrDefault(r.attributes.username_value):null,r.attributes)r.attributes.hasOwnProperty(o)&&"username_value"!==o&&"xdg:schema"!==o&&t.processKvp(i,o,r.attributes[o]);t.convertToNoteIfNeeded(i),t.cleanupCipher(i),n.ciphers.push(i)}})},o=this;for(var s in r)i(s);return this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.GnomeJsonImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t,n,r,i,o=this,s=new a.ImportResult,l=this.splitNewLine(e).join("\n");-1!==l.indexOf("Notes\n\n")&&((i=l.split("Notes\n\n")).length>1&&(l=i[0],t=i[1]));-1!==l.indexOf("Applications\n\n")&&((i=l.split("Applications\n\n")).length>1&&(l=i[0],n=i[1]));0===l.indexOf("Websites\n\n")&&((i=l.split("Websites\n\n")).length>1&&(l=i[0],r=i[1]));var c=this.parseDataCategory(t),p=this.parseDataCategory(n),u=this.parseDataCategory(r);return c.forEach(function(e){var t=o.initLoginCipher();t.name=o.getValueOrDefault(e.get("Name")),t.notes=o.getValueOrDefault(e.get("Text")),o.cleanupCipher(t),s.ciphers.push(t)}),u.concat(p).forEach(function(e){var t=o.initLoginCipher(),n=e.has("Website name")?"Website name":"Application";t.name=o.getValueOrDefault(e.get(n),""),o.isNullOrWhitespace(e.get("Login name"))||(o.isNullOrWhitespace(t.name)||(t.name+=": "),t.name+=e.get("Login name")),t.notes=o.getValueOrDefault(e.get("Comment")),e.has("Website URL")&&(t.login.uris=o.makeUriArray(e.get("Website URL"))),t.login.username=o.getValueOrDefault(e.get("Login")),t.login.password=o.getValueOrDefault(e.get("Password")),o.cleanupCipher(t),s.ciphers.push(t)}),s.success=!0,Promise.resolve(s)},t.prototype.parseDataCategory=function(e){if(this.isNullOrWhitespace(e)||-1===e.indexOf("\n---\n"))return[];var t=[];return e.split("\n---\n").forEach(function(e){if(-1!==e.indexOf("\n")){var n,r,i=new Map;e.split("\n").forEach(function(e){if(null==n){var t,o,a=e.indexOf(":");-1!==a&&(t=e.substring(0,a),e.length>a+1&&(o=e.substring(a+2)),null!=t&&i.set(t,o),"Comment"!==t&&"Text"!==t||(n=o,r=t))}else n+="\n"+e}),null!=n&&null!=r&&i.set(r,n),0!==i.size&&t.push(i)}}),t},t}(o.BaseImporter);t.KasperskyTxtImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(128),s=n(27),l=n(129),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.result=new s.ImportResult,t}return i(t,e),t.prototype.parse=function(e){var t=this.parseXml(e);if(null==t)return this.result.success=!1,Promise.resolve(this.result);var n=t.querySelector("KeePassFile > Root > Group");return null==n?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,Promise.resolve(this.result)):(this.traverse(n,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,Promise.resolve(this.result))},t.prototype.traverse=function(e,t,n){var r=this,i=this.result.folders.length,o=n;if(!t){""!==o&&(o+="/");var s=this.querySelectorDirectChild(e,"Name");o+=null==s?"-":s.textContent;var c=new l.FolderView;c.name=o,this.result.folders.push(c)}this.querySelectorAllDirectChild(e,"Entry").forEach(function(e){var n=r.result.ciphers.length,o=r.initLoginCipher();r.querySelectorAllDirectChild(e,"String").forEach(function(e){var t=r.querySelectorDirectChild(e,"Value"),n=null!=t?t.textContent:null;if(!r.isNullOrWhitespace(n)){var i=r.querySelectorDirectChild(e,"Key"),s=null!=i?i.textContent:null;if("URL"===s)o.login.uris=r.makeUriArray(n);else if("UserName"===s)o.login.username=n;else if("Password"===s)o.login.password=n;else if("otp"===s)o.login.totp=n.replace("key=","");else if("Title"===s)o.name=n;else if("Notes"===s)o.notes+=n+"\n";else{var l=a.FieldType.Text,c=t.attributes;c.length>0&&null!=c.ProtectInMemory&&"True"===c.ProtectInMemory.value&&(l=a.FieldType.Hidden),r.processKvp(o,s,n,l)}}}),r.cleanupCipher(o),r.result.ciphers.push(o),t||r.result.folderRelationships.push([n,i])}),this.querySelectorAllDirectChild(e,"Group").forEach(function(e){r.traverse(e,!1,o)})},t}(o.BaseImporter);t.KeePass2XmlImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(e.Title)){e.Group=!t.isNullOrWhitespace(e.Group)&&e.Group.startsWith("Root/")?e.Group.replace("Root/",""):e.Group;var r=t.isNullOrWhitespace(e.Group)?null:e.Group;t.processFolder(n,r);var i=t.initLoginCipher();i.notes=t.getValueOrDefault(e.Notes),i.name=t.getValueOrDefault(e.Title,"--"),i.login.username=t.getValueOrDefault(e.Username),i.login.password=t.getValueOrDefault(e.Password),i.login.uris=t.makeUriArray(e.URL),t.cleanupCipher(i),n.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.KeePassXCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<6)){t.processFolder(n,e[0]);var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[5])+"\n",r.name=t.getValueOrDefault(e[1],"--"),r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[4]),e.length>7)for(var i=7;i-1){var n=e.ccexp.split("-");n.length>1&&(t.expYear=n[0],t.expMonth=n[1],2===t.expMonth.length&&"0"===t.expMonth[0]&&(t.expMonth=t.expMonth[1]))}return t},t.prototype.parseIdentity=function(e){var t=new p.IdentityView;return t.title=this.getValueOrDefault(e.title),t.firstName=this.getValueOrDefault(e.firstname),t.middleName=this.getValueOrDefault(e.middlename),t.lastName=this.getValueOrDefault(e.lastname),t.username=this.getValueOrDefault(e.username),t.company=this.getValueOrDefault(e.company),t.ssn=this.getValueOrDefault(e.ssn),t.address1=this.getValueOrDefault(e.address1),t.address2=this.getValueOrDefault(e.address2),t.address3=this.getValueOrDefault(e.address3),t.city=this.getValueOrDefault(e.city),t.state=this.getValueOrDefault(e.state),t.postalCode=this.getValueOrDefault(e.zip),t.country=this.getValueOrDefault(e.country),t.email=this.getValueOrDefault(e.email),t.phone=this.getValueOrDefault(e.phone),this.isNullOrWhitespace(t.title)||(t.title=t.title.charAt(0).toUpperCase()+t.title.slice(1)),t},t.prototype.parseSecureNote=function(e,t){var n=this.splitNewLine(e.extra),r=!1;if(n.length){var i=n[0].split(":");if(i.length>1&&"NoteType"===i[0]&&("Credit Card"===i[1]||"Address"===i[1])){if("Credit Card"===i[1]){var o=this.parseSecureNoteMapping(t,n,{Number:"number","Name on Card":"cardholderName","Security Code":"code","Expiration Date":"expMonth"});if(this.isNullOrWhitespace(o.expMonth)||","===o.expMonth)o.expMonth=void 0;else{var a=o.expMonth.split(","),s=a[0],l=a[1];if(this.isNullOrWhitespace(s))o.expMonth=void 0;else{var c=new Date(Date.parse(s.trim()+" 1, 2012")).getMonth()+1;isNaN(c)?o.expMonth=void 0:o.expMonth=c.toString()}this.isNullOrWhitespace(l)||(o.expYear=l)}t.type=m.CipherType.Card,t.card=o}else if("Address"===i[1]){o=this.parseSecureNoteMapping(t,n,{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"});t.type=m.CipherType.Identity,t.identity=o}r=!0}}r||(t.secureNote=new d.SecureNoteView,t.secureNote.type=h.SecureNoteType.Generic,t.notes=this.getValueOrDefault(e.extra))},t.prototype.parseSecureNoteMapping=function(e,t,n){var r=this,i={},o=!1;return t.forEach(function(t){var a=null,s=null;if(!o){if(r.isNullOrWhitespace(t))return;var l=t.indexOf(":");if(-1===l?a=t:(a=t.substring(0,l),t.length>l&&(s=t.substring(l+1))),r.isNullOrWhitespace(a)||r.isNullOrWhitespace(s)||"NoteType"===a)return}o?e.notes+="\n"+t:"Notes"===a?(r.isNullOrWhitespace(e.notes)?e.notes=s:e.notes+="\n"+s,o=!0):n.hasOwnProperty(a)?i[n[a]]=s:r.processKvp(e,a,s)}),i},t}(o.BaseImporter);t.LastPassCsvImporter=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<4)){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[1]),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.LogMeOnceCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.DisplayName,"--"),r.notes=t.getValueOrDefault(e.Notes),r.login.username=t.getValueOrDefault(e.UserName),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e.Url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.MeldiumCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(40),l=n(112),c=n(94),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<3)){var r="Unassigned"!==t.getValueOrDefault(e[0],"Unassigned")?e[0]:null;t.processFolder(n,r);var i=t.initLoginCipher();if(i.name=t.getValueOrDefault(e[2],"--"),"Web Logins"===e[1]||"Login"===e[1])i.login.uris=t.makeUriArray(e[4]),i.login.username=t.getValueOrDefault(e[5]),i.login.password=t.getValueOrDefault(e[6]),i.notes=t.isNullOrWhitespace(e[3])?null:e[3].split("\\n").join("\n");else if(e.length>3){i.type=s.CipherType.SecureNote,i.secureNote=new c.SecureNoteView,i.secureNote.type=l.SecureNoteType.Generic;for(var o=3;o0&&(t.login.uris=this.makeUriArray(r))}null!=e.secureContents.fields&&this.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(e){null!=e.fields&&n.parseFields(e.fields,t,"n","v","t")})}},t.prototype.parsePasswordHistory=function(e,t){var n=this,r=e.length>5?5:e.length;t.passwordHistory=e.filter(function(e){return!n.isNullOrWhitespace(e.value)&&null!=e.time}).sort(function(e,t){return t.time-e.time}).slice(0,r).map(function(e){var t=new c.PasswordHistoryView;return t.password=e.value,t.lastUsedDate=new Date((""+e.time).length>=13?e.time:1e3*e.time),t})},t.prototype.parseFields=function(e,t,n,r,i){var o=this;e.forEach(function(e){if(null!=e[r]&&""!==e[r].toString().trim()){var a=e[r].toString(),s=null!=e[n]?e[n].toString():null;if(t.type===u.CipherType.Login){if(o.isNullOrWhitespace(t.login.username)&&"username"===s)return void(t.login.username=a);if(o.isNullOrWhitespace(t.login.password)&&"password"===s)return void(t.login.password=a);if(o.isNullOrWhitespace(t.login.totp)&&null!=s&&s.startsWith("TOTP_"))return void(t.login.totp=a)}else if(t.type===u.CipherType.Card){if(o.isNullOrWhitespace(t.card.number)&&"ccnum"===s)return t.card.number=a,void(t.card.brand=o.getCardBrand(a));if(o.isNullOrWhitespace(t.card.code)&&"cvv"===s)return void(t.card.code=a);if(o.isNullOrWhitespace(t.card.cardholderName)&&"cardholder"===s)return void(t.card.cardholderName=a);if(o.isNullOrWhitespace(t.card.expiration)&&"expiry"===s&&6===a.length)return t.card.expMonth=a.substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),void(t.card.expYear=a.substr(0,4));if("type"===s)return}else if(t.type===u.CipherType.Identity){var l=t.identity;if(o.isNullOrWhitespace(l.firstName)&&"firstname"===s)return void(l.firstName=a);if(o.isNullOrWhitespace(l.lastName)&&"lastname"===s)return void(l.lastName=a);if(o.isNullOrWhitespace(l.middleName)&&"initial"===s)return void(l.middleName=a);if(o.isNullOrWhitespace(l.phone)&&"defphone"===s)return void(l.phone=a);if(o.isNullOrWhitespace(l.company)&&"company"===s)return void(l.company=a);if(o.isNullOrWhitespace(l.email)&&"email"===s)return void(l.email=a);if(o.isNullOrWhitespace(l.username)&&"username"===s)return void(l.username=a);if("address"===s){var c=e[r],p=c.street,m=c.city,h=c.country,f=c.zip;return l.address1=o.getValueOrDefault(p),l.city=o.getValueOrDefault(m),o.isNullOrWhitespace(h)||(l.country=h.toUpperCase()),void(l.postalCode=o.getValueOrDefault(f))}}var v=o.isNullOrWhitespace(e[i])?"no_name":e[i];if("password"!==v||null==t.passwordHistory||!t.passwordHistory.some(function(e){return e.password===a})){var y="concealed"===e.k?d.FieldType.Hidden:d.FieldType.Text;o.processKvp(t,v,a,y)}}})},t}(o.BaseImporter);t.OnePassword1PifImporter=h},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(708),a=n(40),s=n(709),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.setCipherType=function(e,t){switch(this.getValueOrDefault(this.getProp(e,"type"),"Login")){case"Credit Card":t.type=a.CipherType.Card,t.card=new s.CardView,o.IgnoredProperties.push("type");break;case"Identity":t.type=a.CipherType.Identity,t.identity=new s.IdentityView,o.IgnoredProperties.push("type");break;case"Login":case"Secure Note":o.IgnoredProperties.push("type")}},t}(o.OnePasswordCsvImporter);t.OnePasswordMacCsvImporter=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.importRecord=e,this.property=t,this.cipher=n,this.lowerProperty=t.toLowerCase()}}();t.CipherImportContext=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.View=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(708),a=n(40),s=n(709),l=function(e){function t(){var t=e.call(this)||this;return t.identityPropertyParsers.push(t.setIdentityAddress),t}return i(t,e),t.prototype.setCipherType=function(e,t){t.type=a.CipherType.Login,t.login=new s.LoginView,this.isNullOrWhitespace(this.getPropByRegexp(e,/\d+: number/i))||this.isNullOrWhitespace(this.getPropByRegexp(e,/\d+: expiry date/i))||(t.type=a.CipherType.Card,t.card=new s.CardView),this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: first name/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: initial/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: last name/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/internet \d+: email/i))||(t.type=a.CipherType.Identity,t.identity=new s.IdentityView)},t.prototype.setIdentityAddress=function(e){return!!e.lowerProperty.match(/address \d+: address/i)&&(this.processKvp(e.cipher,"address",e.importRecord[e.property]),!0)},t.prototype.setCreditCardExpiry=function(e){if(this.isNullOrWhitespace(e.cipher.card.expiration)&&e.lowerProperty.includes("expiry date")){var t=e.importRecord[e.property].split("/");return e.cipher.card.expMonth=t[0],"0"===e.cipher.card.expMonth[0]&&2===e.cipher.card.expMonth.length&&(e.cipher.card.expMonth=e.cipher.card.expMonth.substr(1,1)),e.cipher.card.expYear=t[2].length>4?t[2].substr(0,4):t[2],!0}return!1},t}(o.OnePasswordCsvImporter);t.OnePasswordWinCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(157),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=null;return r.forEach(function(e){if(null!=i){if(!(e.length<2||e.length!==i.length)){if(!t.isNullOrWhitespace(e[1]))if(t.organization){(r=e[1].split(",")).forEach(function(e){e=e.trim();for(var t=!0,r=n.collections.length,i=0;i0?r[0].trim():null;t.processFolder(n,o)}var a=t.initLoginCipher();a.name=t.getValueOrDefault(e[0],"--");for(var l=2;l-1?a.login.username=e[l]:t.passwordFieldNames.indexOf(c)>-1?a.login.password=e[l]:t.uriFieldNames.indexOf(c)>-1?a.login.uris=t.makeUriArray(e[l]):t.processKvp(a,i[l],e[l]))}t.cleanupCipher(a),n.ciphers.push(a)}}else i=e.map(function(e){return e})}),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PadlockCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValue("category",e));var r=t.initLoginCipher();r.notes=t.getValue("description",e),r.name=t.getValueOrDefault(t.getValue("title",e),"--"),r.login.username=t.getValue("username",e),r.login.password=t.getValue("password",e),r.login.uris=t.makeUriArray(t.getValue("site",e)),t.processKvp(r,"Password 2",t.getValue("password2",e)),t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.getValue=function(e,t){return this.getValueOrDefault(t[e],this.getValueOrDefault(t[" "+e]))},t}(o.BaseImporter);t.PassKeepCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);return null==r||0===r.length?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(null!=e.tags&&e.tags.length>0){var r=e.tags[0].text;t.processFolder(n,r)}var i=t.initLoginCipher();i.name=e.label,i.login.username=t.getValueOrDefault(e.username),t.isNullOrWhitespace(i.login.username)?i.login.username=t.getValueOrDefault(e.email):t.isNullOrWhitespace(e.email)||(i.notes="Email: "+e.email+"\n"),i.login.password=t.getValueOrDefault(e.password),i.login.uris=t.makeUriArray(e.url),i.notes+=t.getValueOrDefault(e.description,""),null!=e.otp&&(i.login.totp=t.getValueOrDefault(e.otp.secret)),null!=e.custom_fields&&e.custom_fields.forEach(function(e){switch(e.field_type){case"text":case"password":t.processKvp(i,e.label,e.value)}}),t.convertToNoteIfNeeded(i),t.cleanupCipher(i),n.ciphers.push(i)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.PassmanJsonImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(157),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.isNullOrWhitespace(e.Tags)?null:JSON.parse(e.Tags),i=null!=r&&null!=r.tags&&r.tags.length>0?r.tags.map(function(e){try{var n=JSON.parse(e);return t.getValueOrDefault(n.tag)}catch(r){}return null}).filter(function(e){return!t.isNullOrWhitespace(e)}):null;t.organization&&null!=i&&i.length>0?i.forEach(function(e){for(var t=!0,r=n.collections.length,i=0;i0&&t.processFolder(n,i[0]);var o=t.initLoginCipher();o.notes=t.getValueOrDefault(e.Notes,""),o.notes+="\n\n"+t.getValueOrDefault(e["Shared Notes"],"")+"\n",o.name=t.getValueOrDefault(e["Entry Name"],"--"),o.login.username=t.getValueOrDefault(e["User ID"]),o.login.password=t.getValueOrDefault(e.Password),o.login.uris=t.makeUriArray(e.URL),null!=e.__parsed_extra&&e.__parsed_extra.length>0&&e.__parsed_extra.forEach(function(e){t.isNullOrWhitespace(e)||(o.notes+="\n"+e)});var a=t.isNullOrWhitespace(e["Extra Fields"])?null:JSON.parse(e["Extra Fields"]),l=null!=a&&null!=a.extraFields&&a.extraFields.length>0?a.extraFields.map(function(e){try{return JSON.parse(e)}catch(t){}return null}):null;null!=l&&l.forEach(function(e){null!=e&&t.processKvp(o,e.name,e.data)}),t.cleanupCipher(o),n.ciphers.push(o)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.PasspackCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=!0;return r.forEach(function(e){if(!(5!==e.length&&e.length<9)){var r=10===e.length&&"0"===e[0],o=t.initLoginCipher();if(o.name=t.getValueOrDefault(e[r?1:0],"--"),o.login.username=t.getValueOrDefault(e[r?2:1]),o.login.password=t.getValueOrDefault(e[r?3:2]),5===e.length)i=!1,o.notes=t.getValueOrDefault(e[4]),o.login.uris=t.makeUriArray(e[3]);else{var a=t.getValueOrDefault(e[r?9:8],"(None)"),s="(None)"!==a?a.split("\\").join("/"):null;null!=s&&(s=a.split(" > ").join("/"),s=a.split(">").join("/")),t.processFolder(n,s),o.notes=t.getValueOrDefault(e[r?5:3]),o.login.uris=t.makeUriArray(e[4])}t.convertToNoteIfNeeded(o),t.cleanupCipher(o),n.ciphers.push(o)}}),i&&this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordAgentCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(129),c=n(40),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||null==r.items)return n.success=!1,Promise.resolve(n);var i=new Map;r.folders.forEach(function(e){i.set(e.id,e.name)});var o=new Map;return i.forEach(function(e,t){o.set(t,n.folders.length);var r=new l.FolderView;r.name=e,n.folders.push(r)}),r.items.forEach(function(e){var r=t.initLoginCipher();if(r.name=t.getValueOrDefault(e.name,"--"),r.login.uris=t.makeUriArray(e.login_url),null!=e.folder&&o.has(e.folder)&&n.folderRelationships.push([n.ciphers.length,o.get(e.folder)]),null!=e.identifiers){for(var i in t.isNullOrWhitespace(e.identifiers.notes)||(r.notes=e.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===e.type&&(r.card=new s.CardView,r.type=c.CipherType.Card),e.identifiers)if(e.identifiers.hasOwnProperty(i)){var a=e.identifiers[i],l=null!=a?a.toString():null;if(!t.isNullOrWhitespace(l)&&"notes"!==i&&"ignoreItemInSecurityScore"!==i)if("custom_fields"!==i){if(r.type===c.CipherType.Card){if("cardNumber"===i){r.card.number=l,r.card.brand=t.getCardBrand(l);continue}if("nameOnCard"===i){r.card.cardholderName=l;continue}if("security_code"===i){r.card.code=l;continue}if("expires"===i){try{var p=new Date(l);r.card.expYear=p.getFullYear().toString(),r.card.expMonth=(p.getMonth()+1).toString()}catch(u){}continue}if("cardType"===i)continue}else{if(("username"===i||"email"===i)&&t.isNullOrWhitespace(r.login.username)){r.login.username=l;continue}if("password"===i){r.login.password=l;continue}if("totp"===i){r.login.totp=l;continue}if((null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(i)>-1){r.login.uris=t.makeUriArray(l);continue}}t.processKvp(r,i,l)}else a.forEach(function(e){t.processKvp(r,e.name,e.value)})}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordBossJsonImporter=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelectorAll("PasswordManager > record");return Array.from(i).forEach(function(e){var r=t.querySelectorDirectChild(e,"Category"),i=null==r||t.isNullOrWhitespace(r.textContent)||"Unfiled"===r.textContent?null:r.textContent;t.processFolder(n,i);var o=t.querySelectorDirectChild(e,"Account-Name"),a=t.querySelectorDirectChild(e,"User-Id"),s=t.querySelectorDirectChild(e,"Password"),l=t.querySelectorDirectChild(e,"URL"),c=t.querySelectorDirectChild(e,"Notes"),p=t.initLoginCipher();p.name=null!=o?t.getValueOrDefault(o.textContent,"--"):"--",p.notes=null!=c?t.getValueOrDefault(c.textContent):"",p.login.username=null!=a?t.getValueOrDefault(a.textContent):null,p.login.password=null!=s?t.getValueOrDefault(s.textContent):null,p.login.uris=null!=l?t.makeUriArray(l.textContent):null;for(var u=[],d=1;d<=10;d++)u.push("Attribute-"+d);t.querySelectorAllDirectChild(e,u.join(",")).forEach(function(e){t.isNullOrWhitespace(e.textContent)||"null"===e.textContent||t.processKvp(p,e.tagName,e.textContent)}),t.cleanupCipher(p),n.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordDragonXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelector("passwordsafe");if(null==i)return n.errorMessage="Missing `passwordsafe` node.",n.success=!1,Promise.resolve(n);var o=i.getAttribute("delimiter"),s=r.querySelectorAll("passwordsafe > entry");return Array.from(s).forEach(function(e){var r=t.querySelectorDirectChild(e,"group"),i=null==r||t.isNullOrWhitespace(r.textContent)?null:r.textContent.split(".").join("/");t.processFolder(n,i);var a=t.querySelectorDirectChild(e,"title"),s=t.querySelectorDirectChild(e,"username"),l=t.querySelectorDirectChild(e,"email"),c=t.querySelectorDirectChild(e,"password"),p=t.querySelectorDirectChild(e,"url"),u=t.querySelectorDirectChild(e,"notes"),d=t.initLoginCipher();d.name=null!=a?t.getValueOrDefault(a.textContent,"--"):"--",d.notes=null!=u?t.getValueOrDefault(u.textContent,"").split(o).join("\n"):null,d.login.username=null!=s?t.getValueOrDefault(s.textContent):null,d.login.password=null!=c?t.getValueOrDefault(c.textContent):null,d.login.uris=null!=p?t.makeUriArray(p.textContent):null,t.isNullOrWhitespace(d.login.username)&&null!=l?d.login.username=t.getValueOrDefault(l.textContent):null==l||t.isNullOrWhitespace(l.textContent)||(d.notes=t.isNullOrWhitespace(d.notes)?"Email: "+l.textContent:d.notes+"\nEmail: "+l.textContent),t.cleanupCipher(d),n.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordSafeXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<1)){e.length>5&&t.processFolder(n,e[5]);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),e.length>4&&(r.notes=t.getValueOrDefault(e[4],"").split("¬").join("\n")),e.length>2&&(r.login.username=t.getValueOrDefault(e[2])),e.length>3&&(r.login.password=t.getValueOrDefault(e[3])),e.length>1&&(r.login.uris=t.makeUriArray(e[1])),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.PasswordWalletTxtImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(40),s=n(27),l=n(89),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new s.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if("true"!==e.trash){var r=t.initLoginCipher();if(r.name=t.getValueOrDefault(e.name),r.notes=t.getValueOrDefault(e.notes),"LoginItem"===e.type)r.login.uris=t.makeUriArray(e.website),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.username);else if("CreditCardItem"===e.type){r.type=a.CipherType.Card,r.card=new l.CardView,r.card.cardholderName=t.getValueOrDefault(e.cardholder),r.card.number=t.getValueOrDefault(e.number),r.card.brand=t.getCardBrand(r.card.number),r.card.code=t.getValueOrDefault(e.verification);try{var i=t.getValueOrDefault(e.expiryMonth);if(null!=i){var o=parseInt(i,null);null!=o&&o>=1&&o<=12&&(r.card.expMonth=o.toString())}}catch(d){}try{var s=t.getValueOrDefault(e.expiryYear);if(null!=s){var c=parseInt(s,null);null!=c&&(r.card.expYear=c.toString())}}catch(m){}var p=t.getValueOrDefault(e.pin);null!=p&&t.processKvp(r,"PIN",p);var u=t.getValueOrDefault(e.zipCode);null!=u&&t.processKvp(r,"Zip Code",u)}t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.RememBearCsvImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);if(null==r)return n.success=!1,Promise.resolve(n);var i=1;return r.forEach(function(e){var o=!t.isNullOrWhitespace(e.Folder)&&e.Folder.startsWith("/")?e.Folder.replace("/",""):e.Folder,a=t.isNullOrWhitespace(o)?null:o;t.processFolder(n,a);var s=t.initLoginCipher();if(s.notes=t.getValueOrDefault(e.Note),s.name=t.getValueOrDefault(e.Name,"--"),s.login.username=t.getValueOrDefault(e.Login),s.login.password=t.getValueOrDefault(e.Pwd),s.login.uris=t.makeUriArray(e.Url),!t.isNullOrWhitespace(e.Rf_fields)){var l=[e.Rf_fields];null!=e.__parsed_extra&&e.__parsed_extra.length>0&&(l=l.concat(e.__parsed_extra)),l.forEach(function(e){var n=e.split(":");if(!(n.length<3)){var r="-no-name-"===n[0]?null:n[0],i=4===n.length&&"rck"===n[2]?n[1]:n[2];t.processKvp(s,r,i)}})}t.convertToNoteIfNeeded(s),t.cleanupCipher(s),i===r.length&&"--"===s.name&&t.isNullOrWhitespace(s.login.password)||(n.ciphers.push(s),i++)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.RoboFormCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(129),l=n(94),c=n(40),p=n(112),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);if(null==r.querySelector("database"))return n.errorMessage="Missing `database` node.",n.success=!1,Promise.resolve(n);var i=new Map;return Array.from(r.querySelectorAll("database > label")).forEach(function(e){var r=e.getAttribute("name"),o=e.getAttribute("id");if(!t.isNullOrWhitespace(r)&&!t.isNullOrWhitespace(o)){i.set(o,n.folders.length);var a=new s.FolderView;a.name=r,n.folders.push(a)}}),Array.from(r.querySelectorAll("database > card")).forEach(function(e){if("true"!==e.getAttribute("template")){var r=t.querySelectorDirectChild(e,"label_id");if(null!=r){var o=r.textContent;!t.isNullOrWhitespace(o)&&i.has(o)&&n.folderRelationships.push([n.ciphers.length,i.get(o)])}var a=t.initLoginCipher();a.name=t.getValueOrDefault(e.getAttribute("title"),"--"),"note"===e.getAttribute("type")?(a.type=c.CipherType.SecureNote,a.secureNote=new l.SecureNoteView,a.secureNote.type=p.SecureNoteType.Generic):Array.from(t.querySelectorAllDirectChild(e,"field")).forEach(function(e){var n=e.textContent;if(!t.isNullOrWhitespace(n)){var r=e.getAttribute("name"),i=t.getValueOrDefault(e.getAttribute("type"),"").toLowerCase();"login"===i?a.login.username=n:"password"===i?a.login.password=n:"one_time_password"===i?a.login.totp=n:"notes"===i?a.notes+=n+"\n":"weblogin"===i||"website"===i?a.login.uris=t.makeUriArray(n):t.processKvp(a,r,n)}}),Array.from(t.querySelectorAllDirectChild(e,"notes")).forEach(function(e){a.notes+=e.textContent+"\n"}),t.cleanupCipher(a),n.ciphers.push(a)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.SafeInCloudXmlImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(t.nameFromUrl(e.url),"--"),r.notes=t.getValueOrDefault(e.notes),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.SaferPassCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Title),r.notes=t.getValueOrDefault(e.Comment),r.login.uris=t.makeUriArray(e.Url),r.login.password=t.getValueOrDefault(e.Password),r.login.username=t.getValueOrDefault(e.Username),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.SecureSafeCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<3)){t.processFolder(n,t.getValueOrDefault(e[e.length-1]));var r=t.initLoginCipher();r.notes=t.getValueOrDefault(e[e.length-2],""),r.name=t.getValueOrDefault(e[1],"--"),"Web Logins"===e[0]||"Servers"===e[0]||"Email Accounts"===e[0]?(r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[4]),t.parseFieldsToNotes(r,5,e)):t.parseFieldsToNotes(r,2,e),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.parseFieldsToNotes=function(e,t,n){for(var r=t;r Database > Logins > Login");return Array.from(i).forEach(function(e){var i=e.getAttribute("ID");if(!t.isNullOrWhitespace(i)){var o=e.getAttribute("Name"),a=e.getAttribute("Password"),s=null,l=null,c=null,p=null,u=null,d=r.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+i+'"]');if(null!=d){var m=d.parentElement.parentElement;null!=m&&(s=m.getAttribute("Name"),l=m.getAttribute("Link"),p=m.getAttribute("ParentID"),c=m.getAttribute("Comments"),t.isNullOrWhitespace(c)||(c=c.split("/n").join("\n")))}t.isNullOrWhitespace(p)||(u=t.buildGroupText(r,p,""),t.processFolder(n,u));var h=t.initLoginCipher();h.name=t.getValueOrDefault(s,"--"),h.notes=t.getValueOrDefault(c),h.login.username=t.getValueOrDefault(o),h.login.password=t.getValueOrDefault(a),h.login.uris=t.makeUriArray(l),t.cleanupCipher(h),n.ciphers.push(h)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t.prototype.buildGroupText=function(e,t,n){var r=e.querySelector('root > Database > Groups > Group[ID="'+t+'"]');return null==r?n:(this.isNullOrWhitespace(n)||(n="/"+n),n=r.getAttribute("Name")+n,this.buildGroupText(e,r.getAttribute("ParentID"),n))},t}(o.BaseImporter);t.StickyPasswordXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(94),c=n(40),p=n(112),u=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();if(r.favorite="true"===t.getValueOrDefault(e.favorite,"").toLowerCase(),r.name=t.getValueOrDefault(e.name,"--"),r.notes=t.getValueOrDefault(e.memo,""),r.login.username=t.getValueOrDefault(e.login),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),"login"!==e.kind&&(r.name=t.getValueOrDefault(e.title,"--"),r.notes=t.getValueOrDefault(e.note,"")),"cc"===e.kind){if(r.type=c.CipherType.Card,r.card=new s.CardView,r.card.cardholderName=t.getValueOrDefault(e.cardholder),r.card.number=t.getValueOrDefault(e.number),r.card.brand=t.getCardBrand(r.card.number),!t.isNullOrWhitespace(e.expiryDate))try{var i=new Date(e.expiryDate);r.card.expYear=i.getFullYear().toString(),r.card.expMonth=(i.getMonth()+1).toString()}catch(a){}}else if("login"!==e.kind)for(var o in r.type=c.CipherType.SecureNote,r.secureNote=new l.SecureNoteView,r.secureNote.type=p.SecureNoteType.Generic,t.isNullOrWhitespace(r.notes)||(r.notes=t.getValueOrDefault(e.document_content,"")),e)e.hasOwnProperty(o)&&u.indexOf(o.toLowerCase())<0&&!t.isNullOrWhitespace(e[o])&&t.processKvp(r,o,e[o]);t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.TrueKeyCsvImporter=d},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(5===e.length){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),r.notes=t.getValueOrDefault(e[4]),r.login.username=t.getValueOrDefault(e[1]),r.login.password=t.getValueOrDefault(e[2]),r.login.uris=t.makeUriArray(e[3]),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.UpmCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Name,"--"),r.login.username=t.getValueOrDefault(e["User name"]),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e.URL),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.YotiCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(e["Password Name"])||!t.isNullOrWhitespace(e["Secret Name"])){t.processFolder(n,t.getValueOrDefault(e.ChamberName));var r=t.initLoginCipher();r.favorite="1"===t.getValueOrDefault(e.Favorite,"0"),r.notes=t.getValueOrDefault(e.Notes),r.name=t.getValueOrDefault(e["Password Name"],t.getValueOrDefault(e["Secret Name"],"--")),r.login.uris=t.makeUriArray(t.getValueOrDefault(e["Password URL"],t.getValueOrDefault(e["Secret URL"]))),t.parseData(r,e.SecretData),t.parseData(r,e.CustomData),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.parseData=function(e,t){var n=this;this.isNullOrWhitespace(t)||this.splitNewLine(t).forEach(function(t){var r=t.indexOf(":");if(!(r<0)){var i=t.substring(0,r),o=t.length>r?t.substring(r+1):null;if(!n.isNullOrWhitespace(i)&&!n.isNullOrWhitespace(o)&&"SecretType"!==i){var a=i.toLowerCase();null==e.login.username&&n.usernameFieldNames.indexOf(a)>-1?e.login.username=o:null==e.login.password&&n.passwordFieldNames.indexOf(a)>-1?e.login.password=o:n.processKvp(e,i,o)}}})},t}(o.BaseImporter);t.ZohoVaultCsvImporter=s},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]t.minComplexity&&(t.minComplexity=e.data.minComplexity),null!=e.data.minLength&&e.data.minLength>t.minLength&&(t.minLength=e.data.minLength),e.data.requireUpper&&(t.requireUpper=!0),e.data.requireLower&&(t.requireLower=!0),e.data.requireNumbers&&(t.requireNumbers=!0),e.data.requireSpecial&&(t.requireSpecial=!0))}),[2,t])}})})},e.prototype.evaluateMasterPassword=function(e,t,n){return null==n||!(n.minComplexity>0&&n.minComplexity>e)&&(!(n.minLength>0&&n.minLength>t.length)&&((!n.requireUpper||t.toLocaleLowerCase()!==t)&&((!n.requireLower||t.toLocaleUpperCase()!==t)&&(!(n.requireNumbers&&!/[0-9]/.test(t))&&!(n.requireSpecial&&!/[!@#$%\^&*]/g.test(t))))))},e}();t.PolicyService=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.minComplexity=0,t.minLength=0,t.requireUpper=!1,t.requireLower=!1,t.requireNumbers=!1,t.requireSpecial=!1,t}return i(t,e),t}(n(81).default);t.MasterPasswordPolicyOptions=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]"))},e.prototype.indexCiphers=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return this.indexing?[2]:(this.logService.time("search indexing"),this.indexing=!0,this.index=null,(e=new o.Builder).ref("id"),e.field("shortid",{boost:100,extractor:function(e){return e.id.substr(0,8)}}),e.field("name",{boost:10}),e.field("subtitle",{boost:5,extractor:function(e){return null!=e.subTitle&&e.type===a.CipherType.Card?e.subTitle.replace(/\*/g,""):e.subTitle}}),e.field("notes"),e.field("login.username",{extractor:function(e){return e.type===a.CipherType.Login&&null!=e.login?e.login.username:null}}),e.field("login.uris",{boost:2,extractor:function(e){return t.uriExtractor(e)}}),e.field("fields",{extractor:function(e){return t.fieldExtractor(e,!1)}}),e.field("fields_joined",{extractor:function(e){return t.fieldExtractor(e,!0)}}),e.field("attachments",{extractor:function(e){return t.attachmentExtractor(e,!1)}}),e.field("attachments_joined",{extractor:function(e){return t.attachmentExtractor(e,!0)}}),e.field("organizationid",{extractor:function(e){return e.organizationId}}),[4,this.cipherService.getAllDecrypted()]);case 1:return n.sent().forEach(function(t){return e.add(t)}),this.index=e.build(),this.indexing=!1,this.logService.timeEnd("search indexing"),[2]}})})},e.prototype.searchCiphers=function(e,t,n){return void 0===t&&(t=null),void 0===n&&(n=null),r(this,void 0,void 0,function(){var r,a,s,l,c;return i(this,function(i){switch(i.label){case 0:return r=[],null!=e&&(e=e.trim().toLowerCase()),""===e&&(e=null),null!=n?[3,2]:[4,this.cipherService.getAllDecrypted()];case 1:n=i.sent(),i.label=2;case 2:return null!=t&&Array.isArray(t)&&t.length>0?n=n.filter(function(e){return t.every(function(t){return null==t||t(e)})}):null!=t&&(n=n.filter(t)),this.isSearchable(e)?this.indexing?[4,new Promise(function(e){return setTimeout(e,250)})]:[3,5]:[2,n];case 3:return i.sent(),this.indexing?[4,new Promise(function(e){return setTimeout(e,500)})]:[3,5];case 4:i.sent(),i.label=5;case 5:if(null==(a=this.getIndexForSearch()))return[2,this.searchCiphersBasic(n,e)];if(s=new Map,n.forEach(function(e){return s.set(e.id,e)}),l=null,null!=e&&e.length>1&&0===e.indexOf(">"))try{l=a.search(e.substr(1).trim())}catch(p){}else c=o.Query.wildcard.LEADING|o.Query.wildcard.TRAILING,l=a.query(function(t){o.tokenizer(e).forEach(function(e){var n=e.toString();t.term(n,{fields:["name"],wildcard:c}),t.term(n,{fields:["subtitle"],wildcard:c}),t.term(n,{fields:["login.uris"],wildcard:c}),t.term(n,{})})});return null!=l&&l.forEach(function(e){s.has(e.ref)&&r.push(s.get(e.ref))}),[2,r]}})})},e.prototype.searchCiphersBasic=function(e,t,n){return void 0===n&&(n=!1),t=t.trim().toLowerCase(),e.filter(function(e){return n===e.isDeleted&&(null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&e.id.startsWith(t))||(null!=e.subTitle&&e.subTitle.toLowerCase().indexOf(t)>-1||!!(e.login&&null!=e.login.uri&&e.login.uri.toLowerCase().indexOf(t)>-1))))})},e.prototype.searchSends=function(e,t){return t=t.trim().toLocaleLowerCase(),e.filter(function(e){var n,r,i;return null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&(e.id.startsWith(t)||null!=(null===(n=e.file)||void 0===n?void 0:n.id)&&e.file.id.startsWith(t)))||(null!=e.notes&&e.notes.toLowerCase().indexOf(t)>-1||(null!=(null===(r=e.text)||void 0===r?void 0:r.text)&&e.text.text.toLowerCase().indexOf(t)>-1||(null!=(null===(i=e.file)||void 0===i?void 0:i.fileName)&&e.file.fileName.toLowerCase().indexOf(t)>-1||void 0))))})},e.prototype.getIndexForSearch=function(){return this.index},e.prototype.fieldExtractor=function(e,t){if(!e.hasFields)return null;var n=[];return e.fields.forEach(function(e){null!=e.name&&n.push(e.name),e.type===s.FieldType.Text&&null!=e.value&&n.push(e.value)}),0===(n=n.filter(function(e){return""!==e.trim()})).length?null:t?n.join(" "):n},e.prototype.attachmentExtractor=function(e,t){if(!e.hasAttachments)return null;var n=[];return e.attachments.forEach(function(e){null!=e&&null!=e.fileName&&(t&&e.fileName.indexOf(".")>-1?n.push(e.fileName.substr(0,e.fileName.lastIndexOf("."))):n.push(e.fileName))}),0===(n=n.filter(function(e){return""!==e.trim()})).length?null:t?n.join(" "):n},e.prototype.uriExtractor=function(e){if(e.type!==a.CipherType.Login||null==e.login||!e.login.hasUris)return null;var t=[];return e.login.uris.forEach(function(e){if(null!=e.uri&&""!==e.uri)if(null==e.hostname){var n=e.uri;if(e.match!==l.UriMatchType.RegularExpression){var r=n.indexOf("://");r>-1&&(n=n.substr(r+3));var i=n.search(/\?|&|#/);i>-1&&(n=n.substring(0,i))}t.push(n)}else t.push(e.hostname)}),t.length>0?t:null},e}();t.SearchService=c},,function(e,t,n){"use strict";(function(e){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1||n.indexOf(" Version/9.")>-1)}return e.prototype.pbkdf2=function(e,t,n,s){return r(this,void 0,void 0,function(){var r,l,c,p,u,d,m,h,f;return i(this,function(i){switch(i.label){case 0:return this.isIE||this.isOldSafari?(r="sha256"===n?32:64,l=this.toByteString(e),c=this.toByteString(t),p=o.pbkdf2(l,c,s,r,n),[2,a.Utils.fromByteStringToArray(p).buffer]):(u="sha256"===n?256:512,d=this.toBuf(e),m=this.toBuf(t),h={name:"PBKDF2",salt:m,iterations:s,hash:{name:this.toWebCryptoAlgorithm(n)}},[4,this.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveBits"])]);case 1:return f=i.sent(),[4,this.subtle.deriveBits(h,f,u)];case 2:return[2,i.sent()]}})})},e.prototype.hkdf=function(e,t,n,o,a){return r(this,void 0,void 0,function(){var r,s,l,c;return i(this,function(i){switch(i.label){case 0:return r=this.toBuf(t),s=this.toBuf(n),l={name:"HKDF",salt:r,info:s,hash:{name:this.toWebCryptoAlgorithm(a)}},[4,this.subtle.importKey("raw",e,{name:"HKDF"},!1,["deriveBits"])];case 1:return c=i.sent(),[4,this.subtle.deriveBits(l,c,8*o)];case 2:return[2,i.sent()]}})})},e.prototype.hkdfExpand=function(e,t,n,o){return r(this,void 0,void 0,function(){var r,a,s,l,c,p,u,d,m,h;return i(this,function(i){switch(i.label){case 0:if(n>255*(r="sha256"===o?32:64))throw new Error("outputByteSize is too large.");if(new Uint8Array(e).length=n)return[3,4];i.label=3;case 3:return d++,[3,1];case 4:return[2,u.slice(0,n).buffer]}})})},e.prototype.hash=function(e,t){return r(this,void 0,void 0,function(){var n,r,s;return i(this,function(i){switch(i.label){case 0:return this.isIE&&"sha1"===t||"md5"===t?(n="md5"===t?o.md.md5.create():o.md.sha1.create(),r=this.toByteString(e),n.update(r,"raw"),[2,a.Utils.fromByteStringToArray(n.digest().data).buffer]):(s=this.toBuf(e),[4,this.subtle.digest({name:this.toWebCryptoAlgorithm(t)},s)]);case 1:return[2,i.sent()]}})})},e.prototype.hmac=function(e,t,n){return r(this,void 0,void 0,function(){var r,s,l,c,p;return i(this,function(i){switch(i.label){case 0:return this.isIE&&"sha512"===n?(r=o.hmac.create(),s=this.toByteString(t),l=this.toByteString(e),r.start(n,s),r.update(l,"raw"),[2,a.Utils.fromByteStringToArray(r.digest().data).buffer]):(c={name:"HMAC",hash:{name:this.toWebCryptoAlgorithm(n)}},[4,this.subtle.importKey("raw",t,c,!1,["sign"])]);case 1:return p=i.sent(),[4,this.subtle.sign(c,p,e)];case 2:return[2,i.sent()]}})})},e.prototype.compare=function(e,t){return r(this,void 0,void 0,function(){var n,r,o,a,s,l,c,p;return i(this,function(i){switch(i.label){case 0:return[4,this.randomBytes(32)];case 1:return n=i.sent(),r={name:"HMAC",hash:{name:"SHA-256"}},[4,this.subtle.importKey("raw",n,r,!1,["sign"])];case 2:return o=i.sent(),[4,this.subtle.sign(r,o,e)];case 3:return a=i.sent(),[4,this.subtle.sign(r,o,t)];case 4:if(s=i.sent(),a.byteLength!==s.byteLength)return[2,!1];for(l=new Uint8Array(a),c=new Uint8Array(s),p=0;p0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]"}),n.body=r,n.bodyOutputType=s.BodyOutputType.TrustedHtml}null!=e.options&&(!0===e.options.trustedHtml&&(n.bodyOutputType=s.BodyOutputType.TrustedHtml),null!=e.options.timeout&&e.options.timeout>0&&(n.timeout=e.options.timeout)),this.toasterService.popAsync(n)},e.prototype.idleStateChanged=function(){this.isIdle?this.notificationsService.disconnectFromInactivity():this.notificationsService.reconnectFromActivity()},e.prototype.setFullWidth=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.storageService.get("enableFullWidth")];case 1:return e.sent()?document.body.classList.add("full-width"):document.body.classList.remove("full-width"),[2]}})})},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.Angulartics2GoogleAnalytics),u.ɵɵdirectiveInject(m.BroadcasterService),u.ɵɵdirectiveInject(h.UserService),u.ɵɵdirectiveInject(f.TokenService),u.ɵɵdirectiveInject(v.FolderService),u.ɵɵdirectiveInject(y.SettingsService),u.ɵɵdirectiveInject(g.SyncService),u.ɵɵdirectiveInject(x.PasswordGenerationService),u.ɵɵdirectiveInject(b.CipherService),u.ɵɵdirectiveInject(S.AuthService),u.ɵɵdirectiveInject(w.Router),u.ɵɵdirectiveInject(C.Angulartics2),u.ɵɵdirectiveInject(I.ToasterService),u.ɵɵdirectiveInject(E.I18nService),u.ɵɵdirectiveInject(P.PlatformUtilsService),u.ɵɵdirectiveInject(u.NgZone),u.ɵɵdirectiveInject(k.VaultTimeoutService),u.ɵɵdirectiveInject(_.StorageService),u.ɵɵdirectiveInject(A.CryptoService),u.ɵɵdirectiveInject(O.CollectionService),u.ɵɵdirectiveInject(T.DomSanitizer),u.ɵɵdirectiveInject(M.SearchService),u.ɵɵdirectiveInject(B.NotificationsService),u.ɵɵdirectiveInject(D.RouterService),u.ɵɵdirectiveInject(V.StateService),u.ɵɵdirectiveInject(j.EventService),u.ɵɵdirectiveInject(R.PolicyService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-root"]],decls:4,vars:1,consts:[["aria-live","polite",3,"toasterconfig"]],template:function(e,t){1&e&&(u.ɵɵelement(0,"toaster-container",0),u.ɵɵtext(1,"\n"),u.ɵɵelement(2,"router-outlet"),u.ɵɵtext(3,"\n")),2&e&&u.ɵɵproperty("toasterconfig",t.toasterConfig)},directives:[I.ToasterContainerComponent,w.RouterOutlet],encapsulation:2}),e}();t.AppComponent=U},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0){var n=this.formEls[0];if("input"===n.tagName.toLowerCase()){var r=n;if(null!=r.type&&"checkbox"===r.type.toLowerCase())return void r.click()}n.focus()}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appBoxRow",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.BoxRowDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e,t,n){return void 0===n&&(n=!1),null==e||0===e.length?[]:null==t||t.length<2?e.filter(function(e){return n!==e.isDeleted}):(t=t.trim().toLowerCase(),e.filter(function(e){return n===e.isDeleted&&(null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&e.id.startsWith(t))||(null!=e.subTitle&&e.subTitle.toLowerCase().indexOf(t)>-1||!!(e.login&&null!=e.login.uri&&e.login.uri.toLowerCase().indexOf(t)>-1))))}))},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"searchCiphers",type:e,pure:!0}),e}();t.SearchCiphersPipe=i}]); -//# sourceMappingURL=main.164bd5060b8279190884.js.map \ No newline at end of file diff --git a/app/main.164bd5060b8279190884.js.map b/app/main.164bd5060b8279190884.js.map deleted file mode 100644 index 27cf7f46..00000000 --- a/app/main.164bd5060b8279190884.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./jslib/src/abstractions/i18n.service.ts","webpack:///./jslib/src/abstractions/api.service.ts","webpack:///./jslib/src/abstractions/platformUtils.service.ts","webpack:///./jslib/src/abstractions/user.service.ts","webpack:///./jslib/src/angular/pipes/i18n.pipe.ts","webpack:///./jslib/src/abstractions/messaging.service.ts","webpack:///./jslib/src/angular/directives/api-action.directive.ts","webpack:///./jslib/src/angular/directives/a11y-title.directive.ts","webpack:///./jslib/src/abstractions/crypto.service.ts","webpack:///./jslib/src/abstractions/cipher.service.ts","webpack:///./jslib/src/models/response/baseResponse.ts","webpack:///./jslib/src/importers/baseImporter.ts","webpack:///./jslib/src/models/domain/importResult.ts","webpack:///./jslib/src/angular/components/callout.component.ts","webpack:///./jslib/src/angular/components/callout.component.html","webpack:///./jslib/src/misc/utils.ts","webpack:///./jslib/src/abstractions/passwordGeneration.service.ts","webpack:///./jslib/src/abstractions/state.service.ts","webpack:///./jslib/src/angular/directives/stop-click.directive.ts","webpack:///./jslib/src/enums/cipherType.ts","webpack:///./jslib/src/abstractions/collection.service.ts","webpack:///./jslib/src/abstractions/storage.service.ts","webpack:///./jslib/src/angular/directives/input-verbatim.directive.ts","webpack:///./jslib/src/abstractions/folder.service.ts","webpack:///./jslib/src/abstractions/policy.service.ts","webpack:///./jslib/src/angular/directives/stop-prop.directive.ts","webpack:///./jslib/src/abstractions/auth.service.ts","webpack:///./jslib/src/angular/directives/autofocus.directive.ts","webpack:///./jslib/src/abstractions/sync.service.ts","webpack:///./jslib/src/services/constants.service.ts","webpack:///./jslib/src/abstractions/event.service.ts","webpack:///./jslib/src/abstractions/environment.service.ts","webpack:///./jslib/src/models/request/passwordVerificationRequest.ts","webpack:///./jslib/src/models/domain/domainBase.ts","webpack:///./src/app/modal.component.ts","webpack:///./jslib/src/abstractions/search.service.ts","webpack:///./jslib/src/abstractions/audit.service.ts","webpack:///./jslib/src/models/view/cardView.ts","webpack:///./jslib/src/models/view/secureNoteView.ts","webpack:///./jslib/src/abstractions/token.service.ts","webpack:///./jslib/src/abstractions/cryptoFunction.service.ts","webpack:///./jslib/src/models/domain/cipherString.ts","webpack:///./jslib/src/angular/components/icon.component.ts","webpack:///./jslib/src/angular/components/icon.component.html","webpack:///./jslib/src/abstractions/vaultTimeout.service.ts","webpack:///./jslib/src/enums/secureNoteType.ts","webpack:///./jslib/src/enums/twoFactorProviderType.ts","webpack:///./jslib/src/abstractions/totp.service.ts","webpack:///./jslib/src/angular/services/broadcaster.service.ts","webpack:///./src/app/settings/payment.component.ts","webpack:///./src/app/settings/payment.component.html","webpack:///./jslib/src/enums/fieldType.ts","webpack:///./jslib/src/models/view/folderView.ts","webpack:///./src/app/components/avatar.component.ts","webpack:///./jslib/src/models/domain/collection.ts","webpack:///./src/app/settings/tax-info.component.ts","webpack:///./src/app/settings/tax-info.component.html","webpack:///./jslib/src/models/view/cipherView.ts","webpack:///./jslib/src/models/view/identityView.ts","webpack:///./jslib/src/models/data/collectionData.ts","webpack:///./jslib/src/models/view/collectionView.ts","webpack:///./jslib/src/models/data/cipherData.ts","webpack:///./jslib/src/models/view/loginView.ts","webpack:///./jslib/src/enums/sendType.ts","webpack:///./jslib/src/enums/policyType.ts","webpack:///./src/app/settings/two-factor-verify.component.ts","webpack:///./src/app/settings/two-factor-verify.component.html","webpack:///./jslib/src/abstractions/export.service.ts","webpack:///./jslib/src/models/domain/cipher.ts","webpack:///./jslib/src/models/view/fieldView.ts","webpack:///./jslib/src/models/request/cipherRequest.ts","webpack:///./src/app/services/router.service.ts","webpack:///./jslib/src/enums/kdfType.ts","webpack:///./src/app/components/password-strength.component.ts","webpack:///./src/app/components/password-strength.component.html","webpack:///./jslib/src/enums/organizationUserStatusType.ts","webpack:///./jslib/src/angular/pipes/search.pipe.ts","webpack:///./src/app/services/event.service.ts","webpack:///./jslib/src/enums/eventType.ts","webpack:///./jslib/src/enums/paymentMethodType.ts","webpack:///./src/app/settings/two-factor-base.component.ts","webpack:///./src/app/tools/cipher-report.component.ts","webpack:///./jslib/src/models/view/loginUriView.ts","webpack:///./src/app/vault/add-edit.component.ts","webpack:///./src/app/vault/add-edit.component.html","webpack:///./jslib/src/abstractions/import.service.ts","webpack:///./src/app/vault/ciphers.component.ts","webpack:///./src/app/vault/ciphers.component.html","webpack:///./jslib/src/abstractions/send.service.ts","webpack:///./jslib/src/services/auth.service.ts","webpack:///./jslib/src/models/request/selectionReadOnlyRequest.ts","webpack:///./jslib/src/enums/organizationUserType.ts","webpack:///./jslib/src/enums/deviceType.ts","webpack:///./jslib/src/abstractions/settings.service.ts","webpack:///./jslib/src/enums/planType.ts","webpack:///./src/app/settings/organization-plans.component.ts","webpack:///./src/app/settings/organization-plans.component.html","webpack:///./jslib/src/models/domain/symmetricCryptoKey.ts","webpack:///./jslib/src/models/domain/card.ts","webpack:///./jslib/src/models/domain/field.ts","webpack:///./jslib/src/models/domain/identity.ts","webpack:///./jslib/src/models/domain/login.ts","webpack:///./jslib/src/models/domain/loginUri.ts","webpack:///./jslib/src/enums/uriMatchType.ts","webpack:///./jslib/src/models/domain/secureNote.ts","webpack:///./jslib/src/angular/directives/true-false-value.directive.ts","webpack:///./src/app/vault/groupings.component.ts","webpack:///./src/app/vault/groupings.component.html","webpack:///./jslib/src/models/domain/organization.ts","webpack:///./jslib/src/models/view/sendFileView.ts","webpack:///./jslib/src/models/view/sendTextView.ts","webpack:///./src/app/settings/organizations.component.ts","webpack:///./src/app/settings/organizations.component.html","webpack:///./jslib/src/models/response/selectionReadOnlyResponse.ts","webpack:///./src/app/layouts/navbar.component.ts","webpack:///./src/app/layouts/navbar.component.html","webpack:///./src/app/layouts/footer.component.ts","webpack:///./src/app/layouts/footer.component.html","webpack:///./jslib/src/angular/services/validation.service.ts","webpack:///./jslib/src/enums/encryptionType.ts","webpack:///./jslib/src/models/request/keysRequest.ts","webpack:///./jslib/src/angular/components/change-password.component.ts","webpack:///./src/app/organizations/manage/entity-users.component.ts","webpack:///./src/app/organizations/manage/entity-users.component.html","webpack:///./src/app/organizations/manage/entity-events.component.ts","webpack:///./src/app/organizations/manage/entity-events.component.html","webpack:///./jslib/src/models/api/permissionsApi.ts","webpack:///./src/app/settings/api-key.component.ts","webpack:///./src/app/settings/api-key.component.html","webpack:///./src/app/settings/purge-vault.component.ts","webpack:///./src/app/settings/purge-vault.component.html","webpack:///./src/app/settings/user-billing.component.ts","webpack:///./src/app/settings/user-billing.component.html","webpack:///./src/app/settings/add-credit.component.ts","webpack:///./src/app/settings/add-credit.component.html","webpack:///./src/app/settings/adjust-payment.component.ts","webpack:///./src/app/settings/adjust-payment.component.html","webpack:///./src/app/settings/update-license.component.ts","webpack:///./src/app/settings/update-license.component.html","webpack:///./jslib/src/enums/productType.ts","webpack:///./src/app/settings/adjust-storage.component.ts","webpack:///./src/app/settings/adjust-storage.component.html","webpack:///./src/app/settings/two-factor-duo.component.ts","webpack:///./src/app/settings/two-factor-duo.component.html","webpack:///./src/app/settings/two-factor-setup.component.ts","webpack:///./src/app/settings/two-factor-setup.component.html","webpack:///./src/app/tools/export.component.ts","webpack:///./src/app/tools/export.component.html","webpack:///./src/app/tools/exposed-passwords-report.component.ts","webpack:///./src/app/tools/exposed-passwords-report.component.html","webpack:///./src/app/organizations/vault/add-edit.component.ts","webpack:///./jslib/src/models/data/attachmentData.ts","webpack:///./jslib/src/models/data/cardData.ts","webpack:///./jslib/src/models/data/fieldData.ts","webpack:///./jslib/src/models/data/identityData.ts","webpack:///./jslib/src/models/data/loginData.ts","webpack:///./jslib/src/models/data/loginUriData.ts","webpack:///./jslib/src/models/data/secureNoteData.ts","webpack:///./jslib/src/models/domain/attachment.ts","webpack:///./jslib/src/models/view/passwordHistoryView.ts","webpack:///./src/app/tools/import.component.ts","webpack:///./src/app/tools/import.component.html","webpack:///./src/app/tools/inactive-two-factor-report.component.ts","webpack:///./src/app/tools/inactive-two-factor-report.component.html","webpack:///./src/app/tools/reused-passwords-report.component.ts","webpack:///./src/app/tools/reused-passwords-report.component.html","webpack:///./src/app/tools/unsecured-websites-report.component.ts","webpack:///./src/app/tools/unsecured-websites-report.component.html","webpack:///./src/app/tools/weak-passwords-report.component.ts","webpack:///./src/app/tools/weak-passwords-report.component.html","webpack:///./src/app/vault/attachments.component.ts","webpack:///./src/app/vault/attachments.component.html","webpack:///./src/app/organizations/vault/ciphers.component.ts","webpack:///./src/app/vault/collections.component.ts","webpack:///./src/app/vault/collections.component.html","webpack:///./src/app/organizations/vault/groupings.component.ts","webpack:///./src/app/vault/bulk-actions.component.ts","webpack:///./src/app/vault/bulk-actions.component.html","webpack:///./jslib/src/models/request/cipherWithIdRequest.ts","webpack:///./jslib/src/models/request/folderRequest.ts","webpack:///./jslib/src/angular/directives/select-copy.directive.ts","webpack:///./jslib/src/angular/pipes/color-password.pipe.ts","webpack:///./jslib/src/models/data/folderData.ts","webpack:///./jslib/src/models/domain/folder.ts","webpack:///./jslib/src/models/response/cipherResponse.ts","webpack:///./jslib/src/models/response/profileResponse.ts","webpack:///./jslib/src/models/api/sendFileApi.ts","webpack:///./jslib/src/models/api/sendTextApi.ts","webpack:///./jslib/src/models/domain/sendFile.ts","webpack:///./jslib/src/models/domain/sendText.ts","webpack:///./jslib/src/abstractions/notifications.service.ts","webpack:///./$_lazy_route_resource lazy namespace object","webpack:///./src/app/layouts/frontend-layout.component.ts","webpack:///./src/app/layouts/frontend-layout.component.html","webpack:///./src/app/layouts/organization-layout.component.ts","webpack:///./src/app/layouts/organization-layout.component.html","webpack:///./src/app/layouts/user-layout.component.ts","webpack:///./src/app/layouts/user-layout.component.html","webpack:///./src/app/accounts/accept-emergency.component.ts","webpack:///./src/app/accounts/accept-emergency.component.html","webpack:///./src/app/accounts/accept-organization.component.ts","webpack:///./src/app/accounts/accept-organization.component.html","webpack:///./src/app/accounts/hint.component.ts","webpack:///./src/app/accounts/hint.component.html","webpack:///./src/app/accounts/lock.component.ts","webpack:///./src/app/accounts/lock.component.html","webpack:///./src/app/accounts/login.component.ts","webpack:///./src/app/accounts/login.component.html","webpack:///./src/app/accounts/recover-delete.component.ts","webpack:///./src/app/accounts/recover-delete.component.html","webpack:///./src/app/accounts/recover-two-factor.component.ts","webpack:///./src/app/accounts/recover-two-factor.component.html","webpack:///./src/app/accounts/register.component.ts","webpack:///./src/app/accounts/register.component.html","webpack:///./jslib/src/models/domain/policy.ts","webpack:///./jslib/src/models/data/policyData.ts","webpack:///./src/app/accounts/set-password.component.ts","webpack:///./src/app/accounts/set-password.component.html","webpack:///./src/app/accounts/sso.component.ts","webpack:///./src/app/accounts/sso.component.html","webpack:///./jslib/src/angular/components/sso.component.ts","webpack:///./src/app/accounts/two-factor.component.ts","webpack:///./src/app/accounts/two-factor.component.html","webpack:///./src/app/accounts/two-factor-options.component.ts","webpack:///./src/app/accounts/two-factor-options.component.html","webpack:///./jslib/src/models/request/twoFactorEmailRequest.ts","webpack:///./jslib/src/models/domain/authResult.ts","webpack:///./src/app/accounts/verify-email-token.component.ts","webpack:///./src/app/accounts/verify-email-token.component.html","webpack:///./src/app/accounts/verify-recover-delete.component.ts","webpack:///./src/app/accounts/verify-recover-delete.component.html","webpack:///./src/app/organizations/manage/collections.component.ts","webpack:///./src/app/organizations/manage/collections.component.html","webpack:///./src/app/organizations/manage/collection-add-edit.component.ts","webpack:///./src/app/organizations/manage/collection-add-edit.component.html","webpack:///./jslib/src/models/request/collectionRequest.ts","webpack:///./src/app/organizations/manage/events.component.ts","webpack:///./src/app/organizations/manage/events.component.html","webpack:///./src/app/organizations/manage/groups.component.ts","webpack:///./src/app/organizations/manage/groups.component.html","webpack:///./src/app/organizations/manage/group-add-edit.component.ts","webpack:///./src/app/organizations/manage/group-add-edit.component.html","webpack:///./src/app/organizations/manage/manage.component.ts","webpack:///./src/app/organizations/manage/manage.component.html","webpack:///./src/app/organizations/manage/people.component.ts","webpack:///./src/app/organizations/manage/people.component.html","webpack:///./jslib/src/models/request/organizationUserConfirmRequest.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.html","webpack:///./src/app/organizations/manage/user-confirm.component.ts","webpack:///./src/app/organizations/manage/user-confirm.component.html","webpack:///./src/app/organizations/manage/user-groups.component.ts","webpack:///./src/app/organizations/manage/user-groups.component.html","webpack:///./src/app/organizations/manage/policies.component.ts","webpack:///./src/app/organizations/manage/policies.component.html","webpack:///./jslib/src/abstractions/index.ts","webpack:///./src/app/organizations/manage/policy-edit.component.ts","webpack:///./src/app/organizations/manage/policy-edit.component.html","webpack:///./src/app/organizations/settings/account.component.ts","webpack:///./src/app/organizations/settings/account.component.html","webpack:///./jslib/src/models/request/organizationTaxInfoUpdateRequest.ts","webpack:///./jslib/src/models/request/taxInfoUpdateRequest.ts","webpack:///./src/app/organizations/settings/delete-organization.component.ts","webpack:///./src/app/organizations/settings/delete-organization.component.html","webpack:///./src/app/organizations/settings/organization-billing.component.ts","webpack:///./src/services/webConstants.ts","webpack:///./src/app/organizations/settings/organization-subscription.component.ts","webpack:///./src/app/organizations/settings/organization-subscription.component.html","webpack:///./src/app/organizations/settings/change-plan.component.ts","webpack:///./src/app/organizations/settings/change-plan.component.html","webpack:///./src/app/organizations/settings/download-license.component.ts","webpack:///./src/app/organizations/settings/download-license.component.html","webpack:///./src/app/organizations/settings/adjust-seats.component.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.html","webpack:///./src/app/organizations/settings/settings.component.ts","webpack:///./src/app/organizations/settings/settings.component.html","webpack:///./src/app/organizations/settings/two-factor-setup.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.html","webpack:///./src/app/settings/two-factor-email.component.ts","webpack:///./src/app/settings/two-factor-email.component.html","webpack:///./src/app/settings/two-factor-recovery.component.ts","webpack:///./src/app/settings/two-factor-recovery.component.html","webpack:///./src/app/settings/two-factor-u2f.component.ts","webpack:///./src/app/settings/two-factor-u2f.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.ts","webpack:///./src/app/settings/two-factor-yubikey.component.html","webpack:///./src/app/organizations/tools/export.component.ts","webpack:///./src/app/organizations/tools/exposed-passwords-report.component.ts","webpack:///./jslib/src/models/data/passwordHistoryData.ts","webpack:///./jslib/src/models/view/attachmentView.ts","webpack:///./jslib/src/models/domain/password.ts","webpack:///./jslib/src/models/request/cipherCreateRequest.ts","webpack:///./jslib/src/models/api/cardApi.ts","webpack:///./jslib/src/models/api/fieldApi.ts","webpack:///./jslib/src/models/api/identityApi.ts","webpack:///./jslib/src/models/api/loginApi.ts","webpack:///./jslib/src/models/api/loginUriApi.ts","webpack:///./jslib/src/models/api/secureNoteApi.ts","webpack:///./jslib/src/angular/directives/fallback-src.directive.ts","webpack:///./src/app/organizations/tools/import.component.ts","webpack:///./src/app/organizations/tools/inactive-two-factor-report.component.ts","webpack:///./src/app/organizations/tools/reused-passwords-report.component.ts","webpack:///./src/app/organizations/tools/tools.component.ts","webpack:///./src/app/organizations/tools/tools.component.html","webpack:///./src/app/organizations/tools/unsecured-websites-report.component.ts","webpack:///./src/app/organizations/tools/weak-passwords-report.component.ts","webpack:///./src/app/organizations/vault/vault.component.ts","webpack:///./src/app/organizations/vault/vault.component.html","webpack:///./src/app/organizations/vault/attachments.component.ts","webpack:///./src/app/organizations/vault/collections.component.ts","webpack:///./jslib/src/models/request/cipherCollectionsRequest.ts","webpack:///./src/app/vault/bulk-delete.component.ts","webpack:///./src/app/vault/bulk-delete.component.html","webpack:///./jslib/src/models/request/cipherBulkDeleteRequest.ts","webpack:///./src/app/vault/bulk-move.component.ts","webpack:///./src/app/vault/bulk-move.component.html","webpack:///./src/app/vault/bulk-restore.component.ts","webpack:///./src/app/vault/bulk-restore.component.html","webpack:///./src/app/vault/bulk-share.component.ts","webpack:///./src/app/vault/bulk-share.component.html","webpack:///./src/app/send/send.component.ts","webpack:///./src/app/send/send.component.html","webpack:///./src/app/send/add-edit.component.ts","webpack:///./src/app/send/add-edit.component.html","webpack:///./jslib/src/models/view/sendView.ts","webpack:///./src/app/settings/account.component.ts","webpack:///./src/app/settings/account.component.html","webpack:///./src/app/settings/deauthorize-sessions.component.ts","webpack:///./src/app/settings/deauthorize-sessions.component.html","webpack:///./src/app/settings/delete-account.component.ts","webpack:///./src/app/settings/delete-account.component.html","webpack:///./src/app/settings/profile.component.ts","webpack:///./src/app/settings/profile.component.html","webpack:///./src/app/settings/change-email.component.ts","webpack:///./src/app/settings/change-email.component.html","webpack:///./jslib/src/models/request/emailTokenRequest.ts","webpack:///./src/app/settings/change-password.component.ts","webpack:///./src/app/settings/change-password.component.html","webpack:///./jslib/src/enums/emergencyAccessStatusType.ts","webpack:///./jslib/src/models/request/emergencyAccessUpdateRequest.ts","webpack:///./jslib/src/models/request/folderWithIdRequest.ts","webpack:///./jslib/src/models/request/passwordRequest.ts","webpack:///./jslib/src/models/request/updateKeyRequest.ts","webpack:///./src/app/settings/change-kdf.component.ts","webpack:///./src/app/settings/change-kdf.component.html","webpack:///./src/app/settings/create-organization.component.ts","webpack:///./src/app/settings/create-organization.component.html","webpack:///./src/app/settings/domain-rules.component.ts","webpack:///./src/app/settings/domain-rules.component.html","webpack:///./src/app/settings/options.component.ts","webpack:///./src/app/settings/options.component.html","webpack:///./src/app/settings/link-sso.component.ts","webpack:///./src/app/settings/link-sso.component.html","webpack:///./src/app/settings/premium.component.ts","webpack:///./src/app/settings/premium.component.html","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/settings/settings.component.html","webpack:///./src/app/settings/user-subscription.component.ts","webpack:///./src/app/settings/user-subscription.component.html","webpack:///./src/app/tools/breach-report.component.ts","webpack:///./src/app/tools/breach-report.component.html","webpack:///./src/app/tools/password-generator.component.ts","webpack:///./src/app/tools/password-generator.component.html","webpack:///./src/app/tools/password-generator-history.component.ts","webpack:///./src/app/tools/password-generator-history.component.html","webpack:///./src/app/tools/tools.component.ts","webpack:///./src/app/tools/tools.component.html","webpack:///./src/app/vault/vault.component.ts","webpack:///./src/app/vault/vault.component.html","webpack:///./src/app/settings/update-key.component.ts","webpack:///./src/app/settings/update-key.component.html","webpack:///./src/app/vault/folder-add-edit.component.ts","webpack:///./src/app/vault/folder-add-edit.component.html","webpack:///./src/app/vault/share.component.ts","webpack:///./src/app/vault/share.component.html","webpack:///./src/app/settings/verify-email.component.ts","webpack:///./src/app/settings/verify-email.component.html","webpack:///./src/app/services/organization-guard.service.ts","webpack:///./src/app/services/organization-type-guard.service.ts","webpack:///./jslib/src/enums/permissions.ts","webpack:///./src/app/services/unauth-guard.service.ts","webpack:///./jslib/src/angular/services/auth-guard.service.ts","webpack:///./src/app/settings/emergency-access-view.component.ts","webpack:///./src/app/settings/emergency-access-view.component.html","webpack:///./jslib/src/models/domain/encryptedObject.ts","webpack:///./jslib/src/models/domain/environmentUrls.ts","webpack:///./jslib/src/models/domain/generatedPasswordHistory.ts","webpack:///./src/app/settings/emergency-add-edit.component.ts","webpack:///./src/app/settings/emergency-access.component.ts","webpack:///./src/app/settings/emergency-access.component.html","webpack:///./jslib/src/enums/emergencyAccessType.ts","webpack:///./jslib/src/models/response/emergencyAccessResponse.ts","webpack:///./src/app/settings/emergency-access-add-edit.component.ts","webpack:///./src/app/settings/emergency-access-add-edit.component.html","webpack:///./src/app/settings/emergency-access-confirm.component.ts","webpack:///./src/app/settings/emergency-access-confirm.component.html","webpack:///./src/app/settings/emergency-access-takeover.component.ts","webpack:///./src/app/settings/emergency-access-takeover.component.html","webpack:///./jslib/src/services/api.service.ts","webpack:///./jslib/src/models/response/collectionResponse.ts","webpack:///./jslib/src/models/response/domainsResponse.ts","webpack:///./jslib/src/models/response/errorResponse.ts","webpack:///./jslib/src/models/response/folderResponse.ts","webpack:///./jslib/src/models/response/organizationResponse.ts","webpack:///./jslib/src/models/response/planResponse.ts","webpack:///./jslib/src/models/response/subscriptionResponse.ts","webpack:///./jslib/src/models/response/policyResponse.ts","webpack:///./jslib/src/models/response/sendResponse.ts","webpack:///./jslib/src/services/appId.service.ts","webpack:///./jslib/src/services/audit.service.ts","webpack:///./jslib/src/services/cipher.service.ts","webpack:///./jslib/src/misc/sequentialize.ts","webpack:///./jslib/src/services/collection.service.ts","webpack:///./jslib/src/misc/serviceUtils.ts","webpack:///./jslib/src/services/container.service.ts","webpack:///./jslib/src/services/crypto.service.ts","webpack:///./jslib/src/misc/wordlist.ts","webpack:///./jslib/src/services/environment.service.ts","webpack:///./jslib/src/services/folder.service.ts","webpack:///./jslib/src/services/i18n.service.ts","webpack:///./jslib/src/services/passwordGeneration.service.ts","webpack:///./jslib/src/services/settings.service.ts","webpack:///./jslib/src/services/state.service.ts","webpack:///./jslib/src/services/sync.service.ts","webpack:///./jslib/src/models/data/sendData.ts","webpack:///./jslib/src/services/token.service.ts","webpack:///./jslib/src/services/totp.service.ts","webpack:///./jslib/src/services/user.service.ts","webpack:///./jslib/src/services/vaultTimeout.service.ts","webpack:///./jslib/src/services/consoleLog.service.ts","webpack:///./jslib/src/models/export/cipherWithIds.ts","webpack:///./jslib/src/models/export/collectionWithId.ts","webpack:///./jslib/src/models/export/folderWithId.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordCsvImporter.ts","webpack:///./jslib/src/models/view/index.ts","webpack:///./jslib/src/enums/notificationType.ts","webpack:///./src/app/main.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./jslib/src/services/broadcaster.service.ts","webpack:///./jslib/src/misc/tldjs.noop.ts","webpack:///./jslib/src/models/request/emergencyAccessAcceptRequest.ts","webpack:///./jslib/src/models/request/organizationUserAcceptRequest.ts","webpack:///./jslib/src/angular/components/hint.component.ts","webpack:///./jslib/src/models/request/passwordHintRequest.ts","webpack:///./jslib/src/angular/components/lock.component.ts","webpack:///./jslib/src/angular/components/login.component.ts","webpack:///./jslib/src/models/request/deleteRecoverRequest.ts","webpack:///./jslib/src/models/request/twoFactorRecoveryRequest.ts","webpack:///./jslib/src/angular/components/register.component.ts","webpack:///./jslib/src/models/request/registerRequest.ts","webpack:///./jslib/src/models/request/referenceEventRequest.ts","webpack:///./jslib/src/angular/components/set-password.component.ts","webpack:///./jslib/src/models/request/setPasswordRequest.ts","webpack:///./jslib/src/angular/components/two-factor-options.component.ts","webpack:///./jslib/src/angular/components/modal.component.ts","webpack:///./jslib/src/angular/components/two-factor.component.ts","webpack:///./jslib/src/models/request/deviceRequest.ts","webpack:///./jslib/src/models/request/preloginRequest.ts","webpack:///./jslib/src/models/request/tokenRequest.ts","webpack:///./jslib/src/misc/u2f.ts","webpack:///./jslib/src/models/request/verifyEmailRequest.ts","webpack:///./jslib/src/models/request/verifyDeleteRecoverRequest.ts","webpack:///./jslib/src/models/request/groupRequest.ts","webpack:///./jslib/src/models/request/organizationUserInviteRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateGroupsRequest.ts","webpack:///./jslib/src/abstractions/appId.service.ts","webpack:///./jslib/src/abstractions/log.service.ts","webpack:///./jslib/src/models/request/policyRequest.ts","webpack:///./jslib/src/models/request/organizationUpdateRequest.ts","webpack:///./jslib/src/enums/transactionType.ts","webpack:///./jslib/src/models/request/verifyBankRequest.ts","webpack:///./jslib/src/models/request/bitPayInvoiceRequest.ts","webpack:///./jslib/src/models/request/paymentRequest.ts","webpack:///./jslib/src/models/request/organizationCreateRequest.ts","webpack:///./jslib/src/models/request/organizationUpgradeRequest.ts","webpack:///./jslib/src/models/request/seatRequest.ts","webpack:///./jslib/src/models/request/storageRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorDuoRequest.ts","webpack:///./jslib/src/models/request/twoFactorProviderRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorAuthenticatorRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorEmailRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fDeleteRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorYubioOtpRequest.ts","webpack:///./jslib/src/angular/components/export.component.ts","webpack:///./jslib/src/models/request/attachmentRequest.ts","webpack:///./jslib/src/angular/components/add-edit.component.ts","webpack:///./jslib/src/angular/components/attachments.component.ts","webpack:///./jslib/src/angular/components/ciphers.component.ts","webpack:///./jslib/src/angular/components/collections.component.ts","webpack:///./jslib/src/angular/components/groupings.component.ts","webpack:///./jslib/src/models/request/updateProfileRequest.ts","webpack:///./jslib/src/models/request/emailRequest.ts","webpack:///./jslib/src/models/request/kdfRequest.ts","webpack:///./jslib/src/models/request/updateDomainsRequest.ts","webpack:///./jslib/src/angular/components/password-generator.component.ts","webpack:///./jslib/src/angular/components/password-generator-history.component.ts","webpack:///./jslib/src/angular/components/folder-add-edit.component.ts","webpack:///./jslib/src/angular/components/share.component.ts","webpack:///./jslib/src/models/data/index.ts","webpack:///./jslib/src/models/domain/index.ts","webpack:///./jslib/src/models/request/emergencyAccessConfirmRequest.ts","webpack:///./jslib/src/models/response/attachmentResponse.ts","webpack:///./jslib/src/models/response/passwordHistoryResponse.ts","webpack:///./jslib/src/models/request/emergencyAccessInviteRequest.ts","webpack:///./jslib/src/models/request/emergencyAccessPasswordRequest.ts","webpack:///./src/app/services/services.module.ts","webpack:///./src/services/broadcasterMessaging.service.ts","webpack:///./src/services/htmlStorage.service.ts","webpack:///./jslib/src/services/index.ts","webpack:///./jslib/src/models/response/apiKeyResponse.ts","webpack:///./jslib/src/models/response/billingResponse.ts","webpack:///./jslib/src/models/response/breachAccountResponse.ts","webpack:///./jslib/src/models/response/globalDomainResponse.ts","webpack:///./jslib/src/models/response/eventResponse.ts","webpack:///./jslib/src/models/response/groupResponse.ts","webpack:///./jslib/src/models/response/identityTokenResponse.ts","webpack:///./jslib/src/models/response/identityTwoFactorResponse.ts","webpack:///./jslib/src/models/response/listResponse.ts","webpack:///./jslib/src/models/response/organizationSubscriptionResponse.ts","webpack:///./jslib/src/models/response/organizationUserResponse.ts","webpack:///./jslib/src/models/response/paymentResponse.ts","webpack:///./jslib/src/models/response/profileOrganizationResponse.ts","webpack:///./jslib/src/models/response/preloginResponse.ts","webpack:///./jslib/src/models/response/sendAccessResponse.ts","webpack:///./jslib/src/models/response/syncResponse.ts","webpack:///./jslib/src/models/response/taxInfoResponse.ts","webpack:///./jslib/src/models/response/taxRateResponse.ts","webpack:///./jslib/src/models/response/twoFactorAuthenticatorResponse.ts","webpack:///./jslib/src/models/response/twoFactorDuoResponse.ts","webpack:///./jslib/src/models/response/twoFactorEmailResponse.ts","webpack:///./jslib/src/models/response/twoFactorProviderResponse.ts","webpack:///./jslib/src/models/response/twoFactorRescoverResponse.ts","webpack:///./jslib/src/models/response/twoFactorU2fResponse.ts","webpack:///./jslib/src/models/response/twoFactorYubiKeyResponse.ts","webpack:///./jslib/src/models/response/userKeyResponse.ts","webpack:///./jslib/src/misc/throttle.ts","webpack:///./jslib/src/models/request/cipherBulkMoveRequest.ts","webpack:///./jslib/src/models/request/cipherBulkRestoreRequest.ts","webpack:///./jslib/src/models/request/cipherBulkShareRequest.ts","webpack:///./jslib/src/models/request/cipherShareRequest.ts","webpack:///./jslib/src/models/domain/sortedCiphersCache.ts","webpack:///./jslib/src/models/domain/treeNode.ts","webpack:///./jslib/src/models/domain/passwordGeneratorPolicyOptions.ts","webpack:///./jslib/src/models/data/organizationData.ts","webpack:///./jslib/src/models/data/sendFileData.ts","webpack:///./jslib/src/models/data/sendTextData.ts","webpack:///./src/services/i18n.service.ts","webpack:///./src/services/memoryStorage.service.ts","webpack:///./src/services/webPlatformUtils.service.ts","webpack:///./jslib/src/misc/analytics.ts","webpack:///./jslib/src/enums/logLevelType.ts","webpack:///./jslib/src/services/event.service.ts","webpack:///./jslib/src/models/data/eventData.ts","webpack:///./jslib/src/models/request/eventRequest.ts","webpack:///./jslib/src/services/export.service.ts","webpack:///./jslib/src/models/export/cipher.ts","webpack:///./jslib/src/models/export/card.ts","webpack:///./jslib/src/models/export/field.ts","webpack:///./jslib/src/models/export/identity.ts","webpack:///./jslib/src/models/export/login.ts","webpack:///./jslib/src/models/export/loginUri.ts","webpack:///./jslib/src/models/export/secureNote.ts","webpack:///./jslib/src/models/export/collection.ts","webpack:///./jslib/src/models/export/folder.ts","webpack:///./jslib/src/services/import.service.ts","webpack:///./jslib/src/models/request/importCiphersRequest.ts","webpack:///./jslib/src/models/request/importOrganizationCiphersRequest.ts","webpack:///./jslib/src/models/request/kvpRequest.ts","webpack:///./jslib/src/importers/ascendoCsvImporter.ts","webpack:///./jslib/src/importers/avastCsvImporter.ts","webpack:///./jslib/src/importers/avastJsonImporter.ts","webpack:///./jslib/src/importers/aviraCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenJsonImporter.ts","webpack:///./jslib/src/importers/blackBerryCsvImporter.ts","webpack:///./jslib/src/importers/blurCsvImporter.ts","webpack:///./jslib/src/importers/buttercupCsvImporter.ts","webpack:///./jslib/src/importers/chromeCsvImporter.ts","webpack:///./jslib/src/importers/clipperzHtmlImporter.ts","webpack:///./jslib/src/importers/codebookCsvImporter.ts","webpack:///./jslib/src/importers/dashlaneJsonImporter.ts","webpack:///./jslib/src/importers/encryptrCsvImporter.ts","webpack:///./jslib/src/importers/enpassCsvImporter.ts","webpack:///./jslib/src/importers/enpassJsonImporter.ts","webpack:///./jslib/src/importers/firefoxCsvImporter.ts","webpack:///./jslib/src/importers/fsecureFskImporter.ts","webpack:///./jslib/src/importers/gnomeJsonImporter.ts","webpack:///./jslib/src/importers/kasperskyTxtImporter.ts","webpack:///./jslib/src/importers/keepass2XmlImporter.ts","webpack:///./jslib/src/importers/keepassxCsvImporter.ts","webpack:///./jslib/src/importers/keeperCsvImporter.ts","webpack:///./jslib/src/importers/lastpassCsvImporter.ts","webpack:///./jslib/src/importers/logMeOnceCsvImporter.ts","webpack:///./jslib/src/importers/meldiumCsvImporter.ts","webpack:///./jslib/src/importers/msecureCsvImporter.ts","webpack:///./jslib/src/importers/mykiCsvImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepassword1PifImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordMacCsvImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/cipherImportContext.ts","webpack:///./jslib/src/models/view/view.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordWinCsvImporter.ts","webpack:///./jslib/src/importers/padlockCsvImporter.ts","webpack:///./jslib/src/importers/passkeepCsvImporter.ts","webpack:///./jslib/src/importers/passmanJsonImporter.ts","webpack:///./jslib/src/importers/passpackCsvImporter.ts","webpack:///./jslib/src/importers/passwordAgentCsvImporter.ts","webpack:///./jslib/src/importers/passwordBossJsonImporter.ts","webpack:///./jslib/src/importers/passwordDragonXmlImporter.ts","webpack:///./jslib/src/importers/passwordSafeXmlImporter.ts","webpack:///./jslib/src/importers/passwordWalletTxtImporter.ts","webpack:///./jslib/src/importers/rememBearCsvImporter.ts","webpack:///./jslib/src/importers/roboformCsvImporter.ts","webpack:///./jslib/src/importers/safeInCloudXmlImporter.ts","webpack:///./jslib/src/importers/saferpassCsvImport.ts","webpack:///./jslib/src/importers/secureSafeCsvImporter.ts","webpack:///./jslib/src/importers/splashIdCsvImporter.ts","webpack:///./jslib/src/importers/stickyPasswordXmlImporter.ts","webpack:///./jslib/src/importers/truekeyCsvImporter.ts","webpack:///./jslib/src/importers/upmCsvImporter.ts","webpack:///./jslib/src/importers/yotiCsvImporter.ts","webpack:///./jslib/src/importers/zohoVaultCsvImporter.ts","webpack:///./jslib/src/services/notifications.service.ts","webpack:///./jslib/src/models/response/notificationResponse.ts","webpack:///./jslib/src/services/policy.service.ts","webpack:///./jslib/src/models/domain/masterPasswordPolicyOptions.ts","webpack:///./jslib/src/services/search.service.ts","webpack:///./jslib/src/services/send.service.ts","webpack:///./jslib/src/models/request/sendRequest.ts","webpack:///./jslib/src/models/domain/send.ts","webpack:///./jslib/src/services/webCryptoFunction.service.ts","webpack:///./jslib/src/models/domain/decryptParameters.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/send/access.component.ts","webpack:///./src/app/send/access.component.html","webpack:///./jslib/src/models/domain/sendAccess.ts","webpack:///./jslib/src/models/view/sendAccessView.ts","webpack:///./jslib/src/models/request/sendAccessRequest.ts","webpack:///./jslib/src/angular/directives/blur-click.directive.ts","webpack:///./jslib/src/angular/directives/box-row.directive.ts","webpack:///./jslib/src/angular/pipes/search-ciphers.pipe.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","I18nService","ApiService","PlatformUtilsService","UserService","I18nPipe","i18nService","this","transform","id","p1","p2","p3","i0","ɵɵdirectiveInject","i1","pure","MessagingService","ApiActionDirective","el","validationService","ngOnChanges","changes","_this","appApiAction","then","nativeElement","loading","response","e","showError","ElementRef","ValidationService","selectors","inputs","features","ɵɵNgOnChangesFeature","A11yTitleDirective","renderer","title","ngOnInit","hasAttribute","setAttribute","Renderer2","appA11yTitle","CryptoService","CipherService","BaseResponse","getResponseProperty","propertyName","exactName","Error","undefined","otherCasePropertyName","charAt","toUpperCase","toLowerCase","papa","cipherView_1","collectionView_1","loginUriView_1","utils_1","fieldView_1","folderView_1","loginView_1","secureNoteView_1","cipherType_1","fieldType_1","secureNoteType_1","consoleLog_service_1","BaseImporter","organizationId","logService","ConsoleLogService","newLineRegex","passwordFieldNames","usernameFieldNames","notesFieldNames","uriFieldNames","parseCsvOptions","encoding","skipEmptyLines","parseXml","doc","DOMParser","parseFromString","querySelector","parseCsv","header","options","parseOptions","assign","splitNewLine","join","trim","parse","errors","forEach","row","warning","message","parseSingleRowCsv","rowData","isNullOrWhitespace","parsedRow","makeUriArray","uri","loginUri","LoginUriView","fixUri","match","returnArr_1","u","indexOf","substring","nameFromUrl","url","hostname","Utils","getHostname","startsWith","replace","str","getValueOrDefault","defaultValue","split","getCardBrand","cardNum","re","RegExp","test","setCardExpiration","cipher","expiration","parts","month","year","substr","card","expMonth","expYear","moveFoldersToCollections","folderRelationships","collectionRelationships","collections","folders","map","f","collection","CollectionView","querySelectorDirectChild","parentEl","query","els","querySelectorAllDirectChild","Array","from","querySelectorAll","filter","parentNode","initLoginCipher","CipherView","favorite","notes","fields","login","LoginView","type","CipherType","Login","cleanupCipher","processKvp","FieldType","Text","search","field","FieldView","processFolder","folderName","folderIndex","hasFolder","addFolder","FolderView","ciphers","convertToNoteIfNeeded","username","password","uris","SecureNote","secureNote","SecureNoteView","SecureNoteType","Generic","ImportResult","success","ɵɵelement","ɵɵclassMapInterpolate1","ctx_r1","icon","ɵɵelementStart","ɵɵtext","ɵɵtemplate","CalloutComponent_h3_2_i_2_Template","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","ɵɵtextInterpolate1","CalloutComponent","calloutStyle","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","CalloutComponent_h3_2_Template","ɵɵprojection","tldjs","nodeURL","init","inited","isNode","process","release","isBrowser","isNativeScript","isMobileBrowser","isMobile","isAppleMobileBrowser","isAppleMobile","global","fromB64ToArray","Uint8Array","Buffer","binaryString","atob","bytes","charCodeAt","fromUrlB64ToArray","fromUrlB64ToB64","fromHexToArray","parseInt","fromUtf8ToArray","strUtf8","unescape","encodeURIComponent","arr","fromByteStringToArray","fromBufferToB64","buffer","toString","binary","byteLength","String","fromCharCode","btoa","fromBufferToUrlB64","fromB64toUrlB64","b64Str","fromBufferToUtf8","encodedString","decodeURIComponent","escape","fromBufferToByteString","fromBufferToHex","x","urlB64Str","output","fromUrlB64ToUtf8","fromB64ToUtf8","newGuid","Math","random","isGuid","uriString","getUrl","_a","getHost","host","getDomain","httpUrl","tldEndingRegex","getUrlObject","validIpAddress","urlDomain","domain","getQueryParams","Map","pair","set","getSortFunction","prop","a","b","collator","compare","localeCompare","ipString","win","mobile","navigator","userAgent","vendor","opera","URL","hasProtocol","anchor","document","createElement","href","PasswordGenerationService","StateService","StopClickDirective","onClick","$event","preventDefault","hostBindings","CollectionService","StorageService","InputVerbatimDirective","condition","disableComplete","appInputVerbatim","FolderService","PolicyService","StopPropDirective","stopPropagation","AuthService","AutofocusDirective","autofocus","focus","appAutofocus","SyncService","ConstantsService","environmentUrlsKey","disableGaKey","disableAddLoginNotificationKey","disableContextMenuItemKey","disableFaviconKey","disableAutoTotpCopyKey","enableAutoFillOnPageLoadKey","vaultTimeoutKey","vaultTimeoutActionKey","lastActiveKey","neverDomainsKey","installedVersionKey","localeKey","themeKey","collapsedGroupingsKey","autoConfirmFingerprints","dontShowCardsCurrentTab","dontShowIdentitiesCurrentTab","defaultUriMatch","pinProtectedKey","protectedPin","clearClipboardKey","eventCollectionKey","ssoCodeVerifierKey","ssoStateKey","biometricUnlockKey","biometricText","biometricAwaitingAcceptance","biometricFingerprintValidated","disableChangedPasswordNotificationKey","EventService","EnvironmentService","PasswordVerificationRequest","cipherString_1","Domain","buildDomainModel","dataObj","alreadyEncrypted","notEncList","objProp","CipherString","buildDataModel","notCipherStringList","encryptedString","decryptObj","viewModel","orgId","promises","self","theProp","Promise","resolve","mapProp","decrypt","val","all","sent","jq","modal_component_1","ModalComponent","_super","componentFactoryResolver","messagingService","__extends","ngOnDestroy","show","parentContainer","fade","setComponentParameters","factory","resolveComponentFactory","componentRef","container","createComponent","instance","modals","modal","on","onShow","emit","send","onShown","find","onClose","onClosed","clear","close","ComponentFactoryResolver","ɵɵInheritDefinitionFeature","ModalComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","SearchService","AuditService","CardView","cardholderName","code","_brand","_number","_subTitle","repeat","brand","number","count","exp","formatYear","TokenService","CryptoFunctionService","encryptionType_1","encryptedStringOrType","iv","mac","encType","encryptionType","headerPieces","encPieces","EncryptionType","AesCbc128_HmacSha256_B64","AesCbc256_B64","AesCbc256_HmacSha256_B64","Rsa2048_OaepSha256_B64","Rsa2048_OaepSha1_B64","decryptedValue","containerService","bitwardenContainerService","cryptoService","getCryptoService","getOrgKey","_b","decryptToUtf8","constants_service_1","ɵɵpropertyInterpolate","fallbackImage","image","ɵɵsanitizeUrl","IconMap","fa-globe","fa-sticky-note-o","fa-id-card-o","fa-credit-card","fa-android","fa-apple","IconComponent","environmentService","stateService","iconsUrl","baseUrl","imageEnabled","load","setLoginIcon","Card","Identity","hostnameUri","isWebsite","i2","IconComponent_img_2_Template","IconComponent_i_4_Template","VaultTimeoutService","TwoFactorProviderType","TotpService","broadcaster_service_1","BroadcasterService","ɵfac","paymentMethodType_1","webConstants_1","ɵɵlistener","ɵɵrestoreView","_r9","ɵɵnextContext","method","changeMethod","ctx_r5","paymentMethodType","BankAccount","ɵɵpipeBind1","_r12","ctx_r6","PayPal","_r15","ctx_r7","Credit","_r18","PaymentComponent_div_0_div_13_Template","PaymentComponent_div_0_div_15_Template","PaymentComponent_div_0_div_17_Template","hideBank","hidePaypal","hideCredit","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵtextInterpolate","_r21","bank","routing_number","account_number","account_holder_name","account_holder_type","ɵɵtextInterpolate2","ctx_r2","StripeElementStyle","base","color","fontFamily","fontSize","fontSmoothing","invalid","StripeElementClasses","empty","PaymentComponent","platformUtilsService","apiService","showMethods","showOptions","PaymentMethodType","currency","country","btInstance","stripe","stripeElements","stripeCardNumberElement","stripeCardExpiryElement","stripeCardCvcElement","stripeScript","src","async","onload","Stripe","isDev","WebConstants","stripeTestKey","stripeLiveKey","elements","setStripeElement","btScript","head","appendChild","removeChild","setTimeout","body","btStylesheet","braintree","dropin","authorization","btSandboxKey","btProductionKey","paymentOptionPriority","paypal","flow","buttonStyle","label","size","shape","createErr","console","error","createPaymentToken","reject","requestPaymentMethod","payload","nonce","catch","err","postSetupPayment","clientSecret","handleCardSetup","setupIntent","status","payment_method","createToken","token","handleStripeCardPayment","successCallback","__awaiter","paymentIntent","style","classes","placeholder","mount","PaymentComponent_div_0_Template","PaymentComponent_ng_container_2_Template","PaymentComponent_ng_container_4_Template","PaymentComponent_ng_container_6_Template","PaymentComponent_ng_container_8_Template","revisionDate","AvatarComponent","sanitizer","cryptoFunctionService","charCount","textColor","fontWeight","dynamic","circle","generate","email","hash","hashBytes","chars","upperData","getFirstLetters","charObj","getCharText","stringToColor","svg","getSvg","html","outerHTML","svgHtml","text","svgTag","backgroundColor","width","height","character","textTag","textContent","DomSanitizer","i3","Collection","obj","externalId","readOnly","hidePasswords","default","core_1","organizationTaxInfoUpdateRequest_1","taxInfoUpdateRequest_1","_r4","taxInfo","includeTaxId","_r6","taxId","_r8","line1","line2","city","state","TaxInfoComponent","route","onCountryChanged","EventEmitter","postalCode","pristine","parent","params","subscribe","getOrganizationTaxInfo","getTaxInfo","getTaxRates","taxRates","localTaxRate","rate","getTaxInfoRequest","request","OrganizationTaxInfoUpdateRequest","TaxInfoUpdateRequest","submitTaxInfo","hasChanged","putOrganizationTaxInfo","putTaxInfo","changeCountry","ActivatedRoute","outputs","TaxInfoComponent_div_779_Template","TaxInfoComponent_div_782_Template","TaxInfoComponent_div_784_Template","cardView_1","identityView_1","folderId","organizationUseTotp","edit","viewPassword","identity","IdentityView","attachments","passwordHistory","collectionIds","deletedDate","localData","subTitle","hasAttachments","passwordRevisionDate","middleName","address1","address2","address3","company","phone","ssn","passportNumber","licenseNumber","_firstName","_lastName","firstName","lastName","name_1","address","addressPart2","CollectionData","collection_1","attachmentData_1","cardData_1","fieldData_1","identityData_1","loginData_1","passwordHistoryData_1","secureNoteData_1","CipherData","userId","LoginData","SecureNoteData","CardData","IdentityData","FieldData","AttachmentData","ph","PasswordHistoryData","totp","hasUris","some","canLaunch","launchUri","SendType","PolicyType","twoFactorProviderType_1","passwordVerificationRequest_1","TwoFactorVerifyComponent","toasterService","onAuthed","submit","masterPassword","popAsync","hashPassword","masterPasswordHash","_d","formPromise","getTwoFactorRecover","Duo","OrganizationDuo","getTwoFactorOrganizationDuo","getTwoFactorDuo","Email","getTwoFactorEmail","U2f","getTwoFactorU2f","Authenticator","getTwoFactorAuthenticator","Yubikey","getTwoFactorYubiKey","ToasterService","i4","_r0","ExportService","cipherData_1","attachment_1","card_1","domainBase_1","field_1","identity_1","login_1","password_1","secureNote_1","Cipher","Date","Attachment","Field","Password","encKey","model","_f","_c","_e","attachments_1","reduce","promise","attachment","decAttachment","fields_1","decField","passwordHistory_1","decPh","toCipherData","toISOString","toLoginData","toSecureNoteData","toCardData","toIdentityData","toFieldData","toAttachmentData","toPasswordHistoryData","newField","showValue","cardApi_1","fieldApi_1","identityApi_1","loginApi_1","loginUriApi_1","secureNoteApi_1","attachmentRequest_1","CipherRequest","lastKnownRevisionDate","LoginApi","LoginUriApi","SecureNoteApi","CardApi","IdentityApi","FieldApi","lastUsedDate","attachments2","fileName","attachmentRequest","AttachmentRequest","router_1","RouterService","router","activatedRoute","titleService","previousUrl","currentUrl","events","event","NavigationEnd","titleId","rawTitle","child","firstChild","snapshot","newTitle","setTitle","getPreviousUrl","setPreviousUrl","ɵɵinject","Router","Title","KdfType","PasswordStrengthComponent","showText","scoreWidth","score","PasswordStrengthComponent_ng_container_4_Template","ɵɵpureFunction1","ɵɵattribute","OrganizationUserStatusType","SearchPipe","items","searchText","prop1","prop2","prop3","deviceType_1","eventType_1","getDefaultDateFilters","end","getFullYear","getMonth","getDate","setDate","start","toDateTimeLocalString","formatDateFilters","filterStart","filterEnd","isNaN","getTime","getEventInfo","ev","EventOptions","appInfo","getAppInfo","deviceType","getEventMessage","appIcon","appName","msg","EventType","User_LoggedIn","User_ChangedPassword","User_Updated2fa","User_Disabled2fa","User_Recovered2fa","User_FailedLogIn","User_FailedLogIn2fa","User_ClientExportedVault","Cipher_Created","formatCipherId","Cipher_Updated","Cipher_Deleted","Cipher_SoftDeleted","Cipher_Restored","Cipher_AttachmentCreated","Cipher_AttachmentDeleted","Cipher_Shared","Cipher_ClientViewed","Cipher_ClientToggledPasswordVisible","Cipher_ClientToggledHiddenFieldVisible","Cipher_ClientToggledCardCodeVisible","Cipher_ClientCopiedHiddenField","Cipher_ClientCopiedPassword","Cipher_ClientCopiedCardCode","Cipher_ClientAutofilled","Cipher_UpdatedCollections","Collection_Created","formatCollectionId","Collection_Updated","Collection_Deleted","Group_Created","formatGroupId","Group_Updated","Group_Deleted","OrganizationUser_Invited","formatOrgUserId","OrganizationUser_Confirmed","OrganizationUser_Updated","OrganizationUser_Removed","OrganizationUser_UpdatedGroups","OrganizationUser_UnlinkedSso","Organization_Updated","Organization_PurgedVault","Policy_Updated","formatPolicyId","DeviceType","Android","iOS","UWP","ChromeExtension","FirefoxExtension","OperaExtension","EdgeExtension","VivaldiExtension","SafariExtension","WindowsDesktop","MacOsDesktop","LinuxDesktop","ChromeBrowser","FirefoxBrowser","OperaBrowser","SafariBrowser","VivaldiBrowser","EdgeBrowser","IEBrowser","UnknownBrowser","shortId","getShortId","cipherId","cipherInfo","makeAnchor","groupId","collectionId","organizationUserId","policyId","innerHTML","date","pad","getHours","getMinutes","num","norm","floor","abs","EventInfo","twoFactorProviderRequest_1","TwoFactorBaseComponent","analytics","onUpdated","twoFactorProviderType","enabled","authed","auth","authResponse","enable","enableFunction","eventTrack","next","action","disable","showDialog","TwoFactorProviderRequest","putTwoFactorOrganizationDisable","putTwoFactorDisable","Angulartics2","i5","add_edit_component_1","add_edit_component_2","CipherReportComponent","userService","requiresPaid","hasLoaded","setCiphers","selectCipher","childComponent","cipherAddEditModalRef","organization","AddEditComponent","onSavedCipher","onDeletedCipher","onRestoredCipher","checkAccess","useTotp","canAccessPremium","accessPremium","viewQuery","ViewContainerRef","uriMatchType_1","CanLaunchWhitelist","_uri","_domain","_hostname","_host","_canLaunch","UriMatchType","RegularExpression","o_r17","_r19","AddEditComponent_div_20_div_4_option_10_Template","isDeleted","typeOptions","f_r21","_r23","AddEditComponent_div_20_div_17_option_8_Template","viewOnly","_r31","ctx_r30","copy","_r35","generatePassword","AddEditComponent_div_20_ng_container_21_div_26_a_2_Template","_r37","checkPassword","ctx_r25","checkPasswordPromise","_r33","_r41","premiumRequired","_r43","upgradeOrganization","AddEditComponent_div_20_ng_container_21_div_64_a_5_Template","AddEditComponent_div_20_ng_container_21_div_64_a_7_Template","ctx_r26","ɵɵnamespaceSVG","ɵɵnamespaceHTML","_r45","ctx_r44","totpCode","ctx_r27","totpSec","totpDash","totpCodeFormatted","o_r51","_r54","u_r47","$implicit","removeUri","_r56","launch","loginUriMatchChanged","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_option_49_Template","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_button_52_Template","ɵɵpropertyInterpolate1","i_r48","ɵɵpipeBind2","ctx_r46","uriMatchOptions","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_Template","ctx_r28","trackByFunction","_r62","addUri","_r64","AddEditComponent_div_20_ng_container_21_div_14_Template","AddEditComponent_div_20_ng_container_21_div_26_Template","togglePassword","ctx_r67","AddEditComponent_div_20_ng_container_21_div_64_Template","AddEditComponent_div_20_ng_container_21_div_66_Template","AddEditComponent_div_20_ng_container_21_ng_container_70_Template","AddEditComponent_div_20_ng_container_21_a_72_Template","showPassword","ɵɵpureFunction2","_c1","_c2","totpLow","o_r71","o_r72","_r74","AddEditComponent_div_20_ng_container_24_option_21_Template","ctx_r77","AddEditComponent_div_20_ng_container_24_option_57_Template","toggleCardCode","ctx_r82","ctx_r8","cardBrandOptions","cardExpMonthOptions","showCardCode","o_r84","_r86","AddEditComponent_div_20_ng_container_27_option_12_Template","ctx_r9","identityTitleOptions","_r114","f_r105","i_r106","ctx_r107","_r120","toggleFieldValue","ctx_r123","fieldType","Hidden","ctx_r108","_r128","ctx_r109","_r132","removeField","_r134","AddEditComponent_div_20_div_42_div_2_div_28_Template","AddEditComponent_div_20_div_42_div_2_div_30_Template","AddEditComponent_div_20_div_42_div_2_input_34_Template","AddEditComponent_div_20_div_42_div_2_button_37_Template","AddEditComponent_div_20_div_42_div_2_button_39_Template","ctx_r104","Boolean","_r136","drop","AddEditComponent_div_20_div_42_div_2_Template","ctx_r10","_r138","addField","o_r140","_r142","addFieldType","AddEditComponent_div_20_div_46_option_10_Template","ctx_r12","addFieldTypeOptions","o_r144","_r146","organizationChanged","AddEditComponent_div_20_ng_container_48_option_16_Template","ctx_r13","ownershipOptions","_r154","checked","i_r152","c_r151","ctx_r150","AddEditComponent_div_20_ng_container_50_ng_container_8_div_2_Template","ctx_r149","AddEditComponent_div_20_ng_container_50_div_6_Template","AddEditComponent_div_20_ng_container_50_ng_container_8_Template","ctx_r14","ctx_r155","passwordRevisionDisplayDate","_r159","viewHistory","ctx_r156","ph_r161","AddEditComponent_div_20_ng_container_52_div_16_div_2_Template","ctx_r157","AddEditComponent_div_20_ng_container_52_div_12_Template","AddEditComponent_div_20_ng_container_52_div_14_Template","AddEditComponent_div_20_ng_container_52_div_16_Template","ctx_r15","showRevisionDate","hasPasswordHistory","viewingPasswordHistory","AddEditComponent_div_20_app_callout_2_Template","AddEditComponent_div_20_div_4_Template","_r163","AddEditComponent_div_20_div_17_Template","AddEditComponent_div_20_ng_container_21_Template","AddEditComponent_div_20_ng_container_24_Template","AddEditComponent_div_20_ng_container_27_Template","AddEditComponent_div_20_div_42_Template","AddEditComponent_div_20_a_44_Template","AddEditComponent_div_20_div_46_Template","AddEditComponent_div_20_ng_container_48_Template","AddEditComponent_div_20_ng_container_50_Template","AddEditComponent_div_20_ng_container_52_Template","allowOwnershipAssignment","allowPersonal","editMode","cipherType","hasFields","cloneMode","_r168","toggleFavorite","ctx_r165","_c3","_r171","delete","ctx_r166","_r169","deletePromise","AddEditComponent_div_30_button_2_Template","AddEditComponent_div_30_button_4_Template","ctx_r3","cipherService","folderService","auditService","collectionService","totpService","passwordGenerationService","eventService","policyService","cleanUp","totpUpdateCode","interval_1","getTimeInterval","totpTick","totpInterval","setInterval","typeI18nKey","aType","copyToClipboard","showToast","collect","confirmed","getOptions","clearInterval","getCode","half","intervalSeconds","epoch","round","mod","i6","i7","i8","i9","i10","i11","i12","i13","AddEditComponent_div_20_Template","AddEditComponent_button_24_Template","AddEditComponent_div_30_Template","ImportService","ciphers_component_1","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_20_ng_container_9_Template","showFixOldAttachments","c_r5","_r24","_r27","_r30","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_8_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_10_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_12_Template","displayTotpCopyButton","_r34","clone","share","_r40","_r46","restore","_r48","checkCipher","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_18_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_20_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_48_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_50_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_52_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_54_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_56_Template","ctx_r4","accessEvents","loadMore","CiphersComponent_ng_container_0_table_2_tr_4_Template","isPaging","filteredCiphers_r1","addCipher","CiphersComponent_ng_container_0_div_4_ng_container_4_button_6_Template","ctx_r59","showAddNew","CiphersComponent_ng_container_0_div_4_ng_container_2_Template","CiphersComponent_ng_container_0_div_4_ng_container_4_Template","loaded","CiphersComponent_ng_container_0_table_2_Template","CiphersComponent_ng_container_0_div_4_Template","CiphersComponent","searchService","onAttachmentsClicked","onShareClicked","onCollectionsClicked","onCloneClicked","userHasPremiumAccess","pageSize","selectAll","actionPromise","permanent","deleteCipher","refresh","restoreWithServer","select","selectCount","getSelected","getSelectedIds","hasTotp","deleteWithServer","softDeleteWithServer","hasOldAttachments","CiphersComponent_ng_container_0_Template","pagedCiphers","SendService","authResult_1","deviceRequest_1","keysRequest_1","preloginRequest_1","tokenRequest_1","TwoFactorProviders","description","priority","sort","premium","tokenService","appIdService","vaultTimeoutService","setCryptoKeys","selectedTwoFactorProviderType","logIn","makePreloginKey","hashedPassword","logInHelper","logInSso","codeVerifier","redirectUrl","logInApiKey","clientId","logInTwoFactor","twoFactorProvider","twoFactorToken","remember","ssoRedirectUrl","logInComplete","logInSsoComplete","logInApiKeyComplete","logOut","callback","getSupportedTwoFactorProviders","providers","twoFactorProvidersData","has","supportsDuo","supportsU2f","getDefaultTwoFactorProvider","u2fSupported","providerType","providerPriority","provider","kdf","kdfIterations","postPrelogin","PreloginRequest","preloginResponse","e_1","statusCode","makeKey","authingWithApiKey","authingWithSso","authingWithPassword","getTwoFactorToken","storedTwoFactorToken","getAppId","appId","deviceRequest","DeviceRequest","emailPassword","codeCodeVerifier","clientIdClientSecret","TokenRequest","Remember","postIdentityToken","clearState","AuthResult","twoFactor","accessToken","twoFactorResponse","twoFactorProviders2","twoFactorProviders","tokenResponse","resetMasterPassword","setTwoFactorToken","setTokens","refreshToken","setInformation","getUserId","getEmail","setKey","setKeyHash","setEncKey","privateKey","makeKeyPair","keyPair","postAccountKeys","KeysRequest","e_2","setEncPrivateKey","biometricLocked","SelectionReadOnlyRequest","OrganizationUserType","SettingsService","PlanType","payment_component_1","tax_info_component_1","planType_1","policyType_1","productType_1","organizationCreateRequest_1","organizationUpgradeRequest_1","_r5","_r3","_r14","billingEmail","_r17","businessName","selectableProduct_r18","trialPeriodDays","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_6_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_8_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_10_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_12_Template","hasSelfHost","hasSso","hasPolicies","maxUsers","maxCollections","maxAdditionalSeats","baseStorageGb","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_1_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_3_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_5_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_7_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_9_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_11_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_13_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_15_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_17_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_19_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_21_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_23_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_25_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_27_Template","product","ctx_r21","productTypes","Free","hasGroups","hasApi","hasDirectory","usersGetPremium","ɵɵtextInterpolate3","seatPrice","OrganizationPlansComponent_form_4_div_24_span_16_ng_container_2_ng_container_5_Template","basePrice","baseSeats","hasAdditionalSeatsOption","OrganizationPlansComponent_form_4_div_24_span_16_ng_container_2_Template","_r59","changedProduct","OrganizationPlansComponent_form_4_div_24_ng_container_11_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_Template","OrganizationPlansComponent_form_4_div_24_span_16_Template","OrganizationPlansComponent_form_4_div_24_span_18_Template","OrganizationPlansComponent_form_4_div_24_span_20_Template","nameLocalizationKey","descriptionLocalizationKey","Enterprise","_r20","_r69","additionalSeats","ctx_r61","_r71","ctx_r62","ɵɵpipeBind3","selectedPlan","seatPriceMonthly","_r73","premiumAccessAddon","ctx_r63","ɵɵtextInterpolate5","selectablePlan_r74","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_span_2_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_span_4_Template","ctx_r78","seatTotal","ɵɵtextInterpolate6","ctx_r79","additionalStorage","additionalStoragePricePerGb","additionalStorageTotal","premiumAccessOptionCost","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_3_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_7_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_9_Template","hasAdditionalStorageOption","hasPremiumAccessOption","ctx_r75","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_span_2_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_span_4_Template","ctx_r89","ctx_r90","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_3_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_7_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_9_Template","ctx_r76","_r100","plan","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_Template","ctx_r64","isAnnual","selectedPlanInterval","OrganizationPlansComponent_form_4_div_26_ng_container_2_Template","OrganizationPlansComponent_form_4_div_26_div_8_Template","_r102","OrganizationPlansComponent_form_4_div_26_div_31_Template","OrganizationPlansComponent_form_4_div_26_div_38_Template","OrganizationPlansComponent_form_4_div_26_app_payment_46_Template","changedCountry","OrganizationPlansComponent_form_4_div_26_ng_container_80_Template","OrganizationPlansComponent_form_4_div_26_small_82_Template","ɵɵpipeBind4","additionalStoragePriceMonthly","selectablePlans","createOrganization","subtotal","taxCharges","total","_r105","cancel","_r107","OrganizationPlansComponent_form_4_div_7_Template","ownedBusiness","changedOwnedBusiness","OrganizationPlansComponent_form_4_div_18_Template","OrganizationPlansComponent_form_4_div_24_Template","OrganizationPlansComponent_form_4_div_26_Template","OrganizationPlansComponent_form_4_div_28_Template","OrganizationPlansComponent_form_4_button_42_Template","selectableProducts","singleOrgPolicyBlock","showCancel","OrganizationPlansComponent","syncService","showFree","ProductType","onSuccess","onCanceled","selfHosted","isSelfHost","getPlans","plans","Teams","validPlans","Custom","canBeUsedByBusiness","legacyYear","disabled","subTotal","premiumAccessOptionPrice","taxComponent","taxRate","TeamsAnnually","paymentComponent","getAll","SingleOrg","policies","policy","files","fileEl","getElementById","doSubmit","tokenResult","makeShareKey","shareKey","encrypt","collectionCt","fd","FormData","append","postOrganizationLicense","OrganizationCreateRequest","collectionName","planType","paymentToken","additionalStorageGb","billingAddressPostalCode","billingAddressCountry","taxIdNumber","billingAddressLine1","billingAddressLine2","billingAddressCity","billingAddressState","postOrganization","OrganizationUpgradeRequest","postOrganizationUpgrade","paymentIntentClientSecret","refreshIdentityToken","fullSync","navigate","OrganizationPlansComponent_ng_container_0_Template","OrganizationPlansComponent_ng_container_2_Template","OrganizationPlansComponent_form_4_Template","SymmetricCryptoKey","macKey","keyB64","encKeyB64","macKeyB64","loginUri_1","LoginUri","view","toLoginUriData","loginUriData_1","LoginUriData","forms_1","TrueFalseValueDirective","elementRef","trueValue","falseValue","propagateChange","_","onHostChange","target","writeValue","setProperty","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","groupings_component_1","selectFavorites","selectedFavorites","_r7","selectTrash","selectedTrash","_r22","f_r15","collapse","node","ctx_r16","isCollapsed","_r26","editFolder","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_ul_14_ng_container_2_Template","_r10","children","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_i_4_Template","selectFolder","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_i_8_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_a_11_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_ul_14_Template","selectedFolder","selectedFolderId","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_Template","folders_r13","_r32","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_container_17_Template","nestedFolders","_r44","c_r38","ctx_r39","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_ul_9_ng_container_2_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_i_2_Template","_r49","selectCollection","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_i_6_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_ul_9_Template","ctx_r37","selectedCollectionId","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_Template","collections_r36","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_container_11_Template","nestedCollections","GroupingsComponent_ng_container_78_ng_container_2_Template","GroupingsComponent_ng_container_78_ng_container_4_Template","showFolders","showCollections","GroupingsComponent","storageService","onSearchTextChanged","searchPlaceholder","searchTextChanged","GroupingsComponent_li_28_Template","GroupingsComponent_li_30_Template","selectType","GroupingsComponent_p_76_Template","GroupingsComponent_ng_container_78_Template","selectedAll","showFavorites","showTrash","selectedType","organizationUserStatusType_1","organizationUserType_1","Organization","usePolicies","useGroups","useDirectory","useEvents","use2fa","useApi","useBusinessPortal","useSso","selfHost","seats","maxStorageGb","ssoBound","identifier","permissions","Owner","Confirmed","Manager","Admin","isAdmin","accessBusinessPortal","accessEventLogs","accessImportExport","accessReports","manageAllCollections","isManager","manageAssignedCollections","manageGroups","manageSso","managePolicies","manageUsers","SendFileView","sizeName","SendTextView","hidden","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_li_2_ng_container_6_Template","o_r7","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_li_2_Template","organizations","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_Template","OrganizationsComponent_ng_container_0_ng_container_4_p_4_Template","OrganizationsComponent_ng_container_0_p_2_Template","OrganizationsComponent_ng_container_0_ng_container_4_Template","_r25","unlinkSso","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_a_2_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_ng_template_4_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_12_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_Template","_r29","leave","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_Template","OrganizationsComponent_ng_container_2_ng_container_19_ng_container_2_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_Template","OrganizationsComponent_ng_container_2_ng_container_10_Template","OrganizationsComponent_ng_container_2_a_14_Template","OrganizationsComponent_ng_container_2_ng_container_17_Template","OrganizationsComponent_ng_container_2_ng_container_19_Template","OrganizationsComponent","vault","getAllOrganizations","orgs","org","deleteSsoUser","postLeaveOrganization","OrganizationsComponent_ng_container_0_Template","OrganizationsComponent_ng_container_2_Template","SelectionReadOnlyResponse","NavbarComponent","getName","lock","NavbarComponent_div_49_Template","FooterComponent","version","getApplicationVersion","defaultErrorMessage","validationErrors","concat","getAllMessages","timeout","publicKey","encryptedPrivateKey","ChangePasswordComponent","getMasterPasswordPolicyOptions","enforcedPolicyOptions","getPasswordScoreAlertDisplay","minComplexity","strongPassword","setupSubmitActions","getKdf","getKdfIterations","getEncKey","makeEncKey","remakeEncKey","performSubmitActions","masterPasswordRetype","strengthResult","passwordStrength","getPasswordStrengthUserInput","evaluateMasterPassword","updatePasswordStrength","masterPasswordStrengthTimeout","clearTimeout","masterPasswordScore","userInput","atPosition","selectionReadOnlyRequest_1","selectedCount","u_r11","EntityUsersComponent_div_26_ng_container_30_tr_32_td_21_ng_container_2_Template","accessAll","_r28","check","selectedChanged","EntityUsersComponent_div_26_ng_container_30_tr_32_span_14_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_16_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_small_18_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_21_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_25_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_27_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_29_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_31_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_33_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_36_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_38_Template","entity","organizationUserStatusType","Invited","Accepted","organizationUserType","User","EntityUsersComponent_div_26_ng_container_30_th_18_Template","EntityUsersComponent_div_26_ng_container_30_th_24_Template","EntityUsersComponent_div_26_ng_container_30_th_26_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_Template","searchedUsers_r3","filterSelected","EntityUsersComponent_div_26_span_23_Template","EntityUsersComponent_div_26_ng_container_28_Template","EntityUsersComponent_div_26_ng_container_30_Template","showSelected","EntityUsersComponent","onEditedUsers","allUsers","loadUsers","getOrganizationUsers","users","getGroupUsers","entityId","user","getCollectionUsers","selections","putGroupUsers","putCollectionUsers","entityName","EntityUsersComponent_div_24_Template","EntityUsersComponent_div_26_Template","ɵɵpipeBindV","e_r9","userEmail","userName","EntityEventsComponent_div_24_table_36_tr_27_td_14_Template","ɵɵpropertyInterpolate2","ip","showUser","ɵɵsanitizeHtml","EntityEventsComponent_div_24_table_36_th_17_Template","EntityEventsComponent_div_24_table_36_tr_27_Template","loadEvents","morePromise","_r16","EntityEventsComponent_div_24_div_34_Template","EntityEventsComponent_div_24_table_36_Template","EntityEventsComponent_div_24_button_38_Template","refreshPromise","continuationToken","EntityEventsComponent","orgUsersUserIdMap","orgUsersIdMap","defaultDates","clearExisting","dates","getEventsOrganizationUser","getEventsCipher","actingUserId","eventInfo","ipAddress","EntityEventsComponent_small_11_Template","EntityEventsComponent_div_22_Template","EntityEventsComponent_div_24_Template","PermissionsApi","manageCiphers","apiKeyWarning","scope","grantType","isRotation","ApiKeyComponent","postKey","apiKey","keyType","ApiKeyComponent_ng_container_27_Template","ApiKeyComponent_app_callout_29_Template","ApiKeyComponent_app_callout_31_Template","ApiKeyComponent_button_36_Template","apiKeyTitle","apiKeyDescription","PurgeVaultComponent","postPurgeCiphers","transactionType_1","verifyBankRequest_1","addCredit","closeAddCredit","verifyBank","verifyAmount1","verifyAmount2","ctx_r20","verifyBankPromise","UserBillingComponent_ng_container_11_ng_container_25_app_callout_2_Template","UserBillingComponent_ng_container_11_ng_container_25_span_8_Template","paymentSource","needsVerification","ɵɵpureFunction6","Check","AppleInApp","GoogleInApp","paymentSourceInApp","changePayment","closePayment","UserBillingComponent_ng_container_11_table_37_tr_4_span_25_Template","UserBillingComponent_ng_container_11_table_37_tr_4_span_27_Template","i_r33","pdfUrl","amount","paid","UserBillingComponent_ng_container_11_table_37_tr_4_Template","invoices","ɵɵpureFunction4","t_r37","ctx_r40","WireTransfer","BitPay","UserBillingComponent_ng_container_11_table_45_tr_4_span_8_Template","UserBillingComponent_ng_container_11_table_45_tr_4_span_10_Template","UserBillingComponent_ng_container_11_table_45_tr_4_i_15_Template","createdDate","ctx_r36","transactionType","Charge","Refund","details","refunded","UserBillingComponent_ng_container_11_table_45_tr_4_Template","transactions","UserBillingComponent_ng_container_11_button_15_Template","UserBillingComponent_ng_container_11_app_add_credit_17_Template","UserBillingComponent_ng_container_11_p_23_Template","UserBillingComponent_ng_container_11_ng_container_25_Template","UserBillingComponent_ng_container_11_button_27_Template","UserBillingComponent_ng_container_11_app_adjust_payment_29_Template","UserBillingComponent_ng_container_11_p_35_Template","UserBillingComponent_ng_container_11_table_37_Template","UserBillingComponent_ng_container_11_p_43_Template","UserBillingComponent_ng_container_11_table_45_Template","isCreditBalance","creditOrBalance","showAddCredit","showAdjustPayment","UserBillingComponent","firstLoaded","TransactionType","getOrganizationBilling","billing","getUserBilling","VerifyBankRequest","amount1","amount2","postOrganizationVerifyBank","balance","UserBillingComponent_button_6_Template","UserBillingComponent_ng_container_9_Template","UserBillingComponent_ng_container_11_Template","bitPayInvoiceRequest_1","AddCreditComponent","onAdded","ppButtonFormAction","buttonActionProduction","ppButtonBusinessId","businessIdProduction","ppLoading","buttonActionSandbox","businessIdSandbox","creditAmount","ppButtonCustomField","getOrganization","subject","returnUrl","location","ppButtonFormRef","req","BitPayInvoiceRequest","credit","creditAmountNumber","postBitPayInvoice","bitPayUrl","formatAmount","floatAmount","parseFloat","toFixed","AddCreditComponent_div_14_Template","paymentRequest_1","AdjustPaymentComponent","onAdjusted","request_1","PaymentRequest","taxInfoComponent","postAccountPayment","postOrganizationPayment","currentType","UpdateLicenseComponent","updatePromise","postAccountLicense","postOrganizationLicenseUpdate","storageRequest_1","ɵɵtextInterpolate4","storageAdjustment","storageGbPrice","adjustedStorageTotal","interval","AdjustStorageComponent","add","StorageRequest","storageGbAdjustment","paymentFailed_1","postAccountStorage","postOrganizationStorage","relativeTo","AdjustStorageComponent_div_26_Template","updateTwoFactorDuoRequest_1","two_factor_base_component_1","ikey","skey","TwoFactorDuoComponent_form_25_ng_container_5_Template","TwoFactorDuoComponent_form_25_ng_container_7_Template","TwoFactorDuoComponent_form_25_span_17_Template","TwoFactorDuoComponent_form_25_span_19_Template","TwoFactorDuoComponent","processResponse","UpdateTwoFactorDuoRequest","integrationKey","secretKey","putTwoFactorOrganizationDuo","putTwoFactorDuo","TwoFactorDuoComponent_app_two_factor_verify_23_Template","TwoFactorDuoComponent_form_25_Template","auth_service_1","two_factor_authenticator_component_1","two_factor_duo_component_1","two_factor_email_component_1","two_factor_recovery_component_1","two_factor_u2f_component_1","two_factor_yubikey_component_1","recoveryCode","TwoFactorSetupComponent_li_23_ng_container_11_Template","TwoFactorSetupComponent_li_23_a_13_Template","p_r20","manage","TwoFactorSetupComponent","showPolicyWarning","filterProvider","getTwoFactorProviders","evaluatePolicies","openModal","authenticatorModalRef","TwoFactorAuthenticatorComponent","updateStatus","yubikeyModalRef","TwoFactorYubiKeyComponent","duoModalRef","emailModalRef","TwoFactorEmailComponent","u2fModalRef","TwoFactorU2fComponent","recoveryModalRef","TwoFactorRecoveryComponent","ref","TwoFactorAuthentication","TwoFactorSetupComponent_p_7_Template","TwoFactorSetupComponent_p_9_Template","TwoFactorSetupComponent_app_callout_11_Template","TwoFactorSetupComponent_small_16_Template","TwoFactorSetupComponent_app_callout_19_Template","TwoFactorSetupComponent_li_23_Template","TwoFactorSetupComponent_ng_template_26_Template","TwoFactorSetupComponent_ng_template_29_Template","TwoFactorSetupComponent_ng_template_32_Template","TwoFactorSetupComponent_ng_template_35_Template","TwoFactorSetupComponent_ng_template_38_Template","TwoFactorSetupComponent_ng_template_41_Template","_c6","export_component_1","ExportComponent","exportService","saved","format","cipher_report_component_1","c_r6","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_9_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_template_11_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_14_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_16_Template","canManageCipher","exposedPasswordMap","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_Template","ExposedPasswordsReportComponent_div_21_app_callout_2_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_Template","ExposedPasswordsReportComponent","getAllCiphers","allCiphers","exposedPasswordCiphers","passwordLeaked","exposedCount","getAllDecrypted","ExposedPasswordsReportComponent_div_21_Template","ExposedPasswordsReportComponent_ng_template_23_Template","cipher_1","cipherCreateRequest_1","cipherRequest_1","originalCipher","canManageAllCollections","loadCollections","loadCipher","getCipherAdmin","encryptCipher","saveCipher","putCipherAdmin","CipherCreateRequest","postCipherAdmin","deleteCipherAdmin","putDeleteCipherAdmin","i14","attachmentView_1","symmetricCryptoKey_1","AttachmentView","orgKey","decryptToBytes","decValue","PasswordHistoryView","o_r4","o_r6","ImportComponent_ng_container_24_option_4_Template","importOptions","ImportComponent_app_callout_30_ng_container_26_span_2_Template","ctx_r19","ImportComponent_app_callout_30_ng_container_2_Template","ImportComponent_app_callout_30_ng_container_4_Template","ImportComponent_app_callout_30_ng_container_6_Template","ImportComponent_app_callout_30_ng_container_8_Template","ImportComponent_app_callout_30_ng_container_10_Template","ImportComponent_app_callout_30_ng_container_12_Template","ImportComponent_app_callout_30_ng_container_14_Template","ImportComponent_app_callout_30_ng_container_16_Template","ImportComponent_app_callout_30_ng_container_18_Template","ImportComponent_app_callout_30_ng_container_20_Template","ImportComponent_app_callout_30_ng_container_22_Template","ImportComponent_app_callout_30_ng_container_24_Template","ImportComponent_app_callout_30_ng_container_26_Template","ImportComponent_app_callout_30_ng_container_28_Template","ImportComponent_app_callout_30_ng_container_30_Template","ImportComponent_app_callout_30_ng_container_32_Template","ImportComponent_app_callout_30_ng_container_34_Template","ImportComponent_app_callout_30_ng_container_36_Template","ImportComponent_app_callout_30_ng_container_38_Template","ImportComponent_app_callout_30_ng_container_40_Template","ImportComponent_app_callout_30_ng_container_42_Template","ImportComponent_app_callout_30_ng_container_44_Template","ImportComponent_app_callout_30_ng_container_46_Template","ImportComponent_app_callout_30_ng_container_48_Template","ImportComponent_app_callout_30_ng_container_50_Template","ImportComponent_app_callout_30_ng_container_52_Template","ImportComponent_app_callout_30_ng_container_54_Template","ImportComponent_app_callout_30_ng_container_56_Template","ImportComponent_app_callout_30_ng_container_58_Template","ImportComponent_app_callout_30_ng_container_60_Template","ImportComponent_app_callout_30_ng_container_62_Template","ImportComponent_app_callout_30_ng_container_64_Template","ImportComponent_app_callout_30_ng_container_66_Template","ImportComponent_app_callout_30_ng_container_68_Template","ImportComponent_app_callout_30_ng_container_70_Template","ImportComponent_app_callout_30_ng_container_72_Template","ImportComponent_app_callout_30_ng_container_74_Template","ImportComponent_app_callout_30_ng_container_76_Template","ImportComponent_app_callout_30_ng_container_78_Template","ImportComponent_app_callout_30_ng_container_80_Template","ImportComponent_app_callout_30_ng_container_82_Template","ImportComponent_app_callout_30_ng_container_84_Template","ImportComponent_app_callout_30_ng_container_86_Template","ImportComponent_app_callout_30_ng_container_88_Template","ImportComponent_app_callout_30_ng_container_90_Template","ImportComponent_app_callout_30_ng_container_92_Template","ImportComponent_app_callout_30_ng_container_94_Template","ImportComponent_app_callout_30_ng_container_96_Template","ImportComponent_app_callout_30_ng_container_98_Template","getFormatInstructionTitle","ImportComponent","importService","successNavigate","setImportOptions","importer","getImporter","fileContents","getFileContents","content","import","properties","results","featuredImportOptions","__spreadArrays","regularImportOptions","file","reader","FileReader","readAsText","evt","pre","onerror","ImportComponent_option_22_Template","ImportComponent_ng_container_24_Template","ImportComponent_app_callout_30_Template","ctx_r11","cipherDocs","c_r8","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_a_25_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_Template","InactiveTwoFactorReportComponent_div_15_app_callout_2_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_Template","InactiveTwoFactorReportComponent","services","load2fa","inactive2faCiphers_1","docs_1","fetch","Request","json","categoryName","responseJson","serviceName","category","service","tfa","software","InactiveTwoFactorReportComponent_small_5_Template","InactiveTwoFactorReportComponent_div_13_Template","InactiveTwoFactorReportComponent_div_15_Template","InactiveTwoFactorReportComponent_ng_template_17_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_9_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_template_11_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_14_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_16_Template","passwordUseMap","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_Template","ReusedPasswordsReportComponent_div_15_app_callout_2_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_Template","ReusedPasswordsReportComponent","ciphersWithPasswords","reusedPasswordCiphers","ReusedPasswordsReportComponent_small_5_Template","ReusedPasswordsReportComponent_div_13_Template","ReusedPasswordsReportComponent_div_15_Template","ReusedPasswordsReportComponent_ng_template_17_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_Template","UnsecuredWebsitesReportComponent_div_15_app_callout_2_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_Template","UnsecuredWebsitesReportComponent","unsecuredCiphers","UnsecuredWebsitesReportComponent_small_5_Template","UnsecuredWebsitesReportComponent_div_13_Template","UnsecuredWebsitesReportComponent_div_15_Template","UnsecuredWebsitesReportComponent_ng_template_17_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_9_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_template_11_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_14_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_16_Template","passwordStrengthMap","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_Template","WeakPasswordsReportComponent_div_15_app_callout_2_Template","WeakPasswordsReportComponent_div_15_ng_container_4_Template","WeakPasswordsReportComponent","passwordStrengthCache","weakPasswordCiphers","hasUsername","cacheKey","scoreKey","WeakPasswordsReportComponent_small_5_Template","WeakPasswordsReportComponent_div_13_Template","WeakPasswordsReportComponent_div_15_Template","WeakPasswordsReportComponent_ng_template_17_Template","attachments_component_1","a_r4","reupload","reuploadPromises","AttachmentsComponent_table_25_tr_4_i_4_Template","AttachmentsComponent_table_25_tr_4_i_6_Template","download","AttachmentsComponent_table_25_tr_4_div_16_Template","downloading","deletePromises","AttachmentsComponent_table_25_tr_4_Template","AttachmentsComponent","reuploadCipherAttachment","AttachmentsComponent_small_12_Template","AttachmentsComponent_table_25_Template","onEventsClicked","deleted","getAllFromApiForOrganization","applyFilter","searchPending","filteredCiphers","searchCiphersBasic","resetPaging","collections_component_1","c_r9","i_r10","CollectionsComponent_table_40_tr_4_Template","CollectionsComponent","CollectionsComponent_small_12_Template","CollectionsComponent_div_35_Template","CollectionsComponent_div_38_Template","CollectionsComponent_table_40_Template","collectionData_1","getCollections","collectionDomains","decryptMany","unassignedCollection","getAllNested","grouping","bulk_delete_component_1","bulk_move_component_1","bulk_restore_component_1","bulk_share_component_1","bulkMove","bulkShare","bulkRestore","BulkActionsComponent","bulkDelete","selectedIds","ciphersComponent","bulkDeleteModalRef","BulkDeleteComponent","cipherIds","onDeleted","bulkRestoreModalRef","BulkRestoreComponent","onRestored","selectedCiphers","bulkShareModalRef","BulkShareComponent","onShared","bulkMoveModalRef","BulkMoveComponent","onMoved","BulkActionsComponent_button_10_Template","BulkActionsComponent_button_12_Template","BulkActionsComponent_button_14_Template","BulkActionsComponent_ng_template_38_Template","BulkActionsComponent_ng_template_41_Template","BulkActionsComponent_ng_template_44_Template","BulkActionsComponent_ng_template_47_Template","CipherWithIdRequest","FolderRequest","folder","SelectCopyDirective","onCopy","copyText","selection","getSelection","rangeCount","getRangeAt","stringEndPos","newLinePos","ColorPasswordPipe","colorizedPassword","isSpecial","FolderData","Folder","attachmentResponse_1","baseResponse_1","passwordHistoryResponse_1","CipherResponse","AttachmentResponse","h","PasswordHistoryResponse","profileOrganizationResponse_1","ProfileResponse","emailVerified","masterPasswordHint","culture","twoFactorEnabled","securityStamp","ProfileOrganizationResponse","SendFileApi","SendTextApi","sendFileView_1","SendFile","sendTextView_1","SendText","NotificationsService","webpackEmptyAsyncContext","keys","FrontendLayoutComponent","classList","remove","manageRoute","toolsRoute","OrganizationLayoutComponent_div_2_ul_23_li_11_Template","OrganizationLayoutComponent_div_2_ul_23_li_13_Template","OrganizationLayoutComponent_div_2_ul_23_li_15_Template","showManageTab","showToolsTab","isOwner","goToBusinessPortal","businessTokenPromise","OrganizationLayoutComponent_div_2_div_20_Template","OrganizationLayoutComponent_div_2_ul_23_Template","OrganizationLayoutComponent_div_2_button_28_Template","showMenuBar","showBusinessPortalButton","OrganizationLayoutComponent","broadcasterService","ngZone","businessUrl","enterpriseUrl","run","command","unsubscribe","getEnterprisePortalSignInToken","canManageUsers","canManageAssignedCollections","canManageGroups","canManagePolicies","canAccessEventLogs","canAccessImportExport","canAccessReports","canAccessBusinessPortal","NgZone","OrganizationLayoutComponent_div_2_Template","UserLayoutComponent","emergencyAccessAcceptRequest_1","AcceptEmergencyComponent","fired","queryParams","qParams","errorMessage","isAuthenticated","EmergencyAccessAcceptRequest","postEmergencyAccessAccept","toast","save","AcceptEmergencyComponent_div_0_Template","AcceptEmergencyComponent_div_2_Template","organizationUserAcceptRequest_1","orgName","AcceptOrganizationComponent","OrganizationUserAcceptRequest","postOrganizationUserAccept","organizationName","AcceptOrganizationComponent_div_0_Template","AcceptOrganizationComponent_div_2_Template","hint_component_1","HintComponent","lock_component_1","LockComponent","routerService","hasKey","onSuccessfulSubmit","successRoute","webVaultHostname","login_component_1","LoginComponent","authService","onSuccessfulLoginNavigate","goAfterLogIn","queryParamsSub","orgInvite","emergencyInvite","loginRedirect","rememberEmail","deleteRecoverRequest_1","RecoverDeleteComponent","DeleteRecoverRequest","postAccountRecoverDelete","twoFactorRecoveryRequest_1","RecoverTwoFactorComponent","TwoFactorRecoveryRequest","postTwoFactorRecover","register_component_1","policy_1","policyData_1","referenceEventRequest_1","RegisterComponent_div_9_div_4_Template","RegisterComponent_div_9_div_6_Template","RegisterComponent_div_9_div_8_Template","layout","minLength","RegisterComponent_app_callout_53_li_5_Template","RegisterComponent_app_callout_53_li_7_Template","RegisterComponent_app_callout_53_li_9_Template","RegisterComponent_app_callout_53_li_11_Template","RegisterComponent_app_callout_53_li_13_Template","RegisterComponent_app_callout_53_li_15_Template","requireUpper","requireLower","requireNumbers","requireSpecial","acceptPolicies","RegisterComponent","showCreateOrgMessage","referenceData","ReferenceEventRequest","reference","cookie","pop","invite","getPoliciesByToken","policiesData","PolicyData","Policy","RegisterComponent_header_2_Template","RegisterComponent_div_9_Template","RegisterComponent_p_17_Template","RegisterComponent_app_callout_23_Template","RegisterComponent_app_callout_53_Template","confirmMasterPassword","hint","RegisterComponent_div_117_Template","showTerms","_r1","set_password_component_1","SetPasswordComponent_div_15_app_callout_8_li_5_Template","SetPasswordComponent_div_15_app_callout_8_li_7_Template","SetPasswordComponent_div_15_app_callout_8_li_9_Template","SetPasswordComponent_div_15_app_callout_8_li_11_Template","SetPasswordComponent_div_15_app_callout_8_li_13_Template","SetPasswordComponent_div_15_app_callout_8_li_15_Template","SetPasswordComponent_div_15_app_callout_8_Template","_r11","SetPasswordComponent","SetPasswordComponent_div_13_Template","SetPasswordComponent_div_15_Template","syncLoading","sso_component_1","SsoComponent","redirectUri","origin","storedIdentifier","SsoComponent_div_11_Template","SsoComponent_div_13_Template","initiateSsoFormPromise","loggingIn","twoFactorRoute","changePasswordRoute","checkState","getOrgIdentiferFromState","codeChallenge","returnUri","includeUserIdentifier","preValidate","buildAuthorizeUrl","authorizeUrl","sameWindow","preValidateSso","passwordOptions","uppercase","lowercase","numbers","special","codeVerifierHash","identityBaseUrl","getSsoUserIdentifier","userIdentifier","orgIdFromState","onSuccessfulLoginTwoFactorNavigate","sso","onSuccessfulLoginChangePasswordNavigate","disableFavicon","onSuccessfulLogin","stateSplit","checkStateSplit","two_factor_options_component_1","two_factor_component_1","twoFactorEmail","sendEmail","emailPromise","TwoFactorComponent_ng_container_14_small_14_a_2_Template","selectedProviderType","TwoFactorComponent_ng_container_14_p_2_Template","TwoFactorComponent_ng_container_14_p_4_Template","TwoFactorComponent_ng_container_14_small_14_Template","TwoFactorComponent_ng_container_18_p_2_Template","TwoFactorComponent_ng_container_18_ng_container_4_Template","u2fReady","TwoFactorComponent","anotherMethod","twoFactorOptionsModal","TwoFactorOptionsComponent","onProviderSelected","onRecoverSelected","TwoFactorComponent_ng_container_14_Template","TwoFactorComponent_ng_container_16_Template","TwoFactorComponent_ng_container_18_Template","TwoFactorComponent_ng_container_20_Template","TwoFactorComponent_i_22_Template","TwoFactorComponent_div_24_Template","TwoFactorComponent_ng_container_26_Template","TwoFactorComponent_button_32_Template","TwoFactorComponent_ng_template_51_Template","p_r1","choose","TwoFactorOptionsComponent_a_22_Template","recover","TwoFactorEmailRequest","verifyEmailRequest_1","VerifyEmailTokenComponent","postAccountVerifyEmailToken","VerifyEmailRequest","verifyDeleteRecoverRequest_1","VerifyRecoverDeleteComponent","VerifyDeleteRecoverRequest","postAccountRecoverDeleteToken","collection_add_edit_component_1","entity_users_component_1","c_r10","CollectionsComponent_ng_container_28_table_4_tr_4_Template","searchedCollections_r6","CollectionsComponent_ng_container_28_p_2_Template","CollectionsComponent_ng_container_28_table_4_Template","didScroll","pagedCollectionsCount","getUserCollections","pagedLength","pagedCollections","pagedSize","addEditModalRef","CollectionAddEditComponent","onSavedCollection","onDeletedCollection","removeCollection","deleteCollection","usersModalRef","isSearching","isSearchable","searching","index","CollectionsComponent_ng_container_26_Template","CollectionsComponent_ng_container_28_Template","CollectionsComponent_ng_template_31_Template","CollectionsComponent_ng_template_34_Template","collectionRequest_1","g_r12","CollectionAddEditComponent_div_22_ng_container_24_table_10_tr_25_ng_container_9_Template","i_r13","CollectionAddEditComponent_div_22_ng_container_24_table_10_tr_25_Template","groups","CollectionAddEditComponent_div_22_ng_container_24_div_5_Template","CollectionAddEditComponent_div_22_ng_container_24_div_8_Template","CollectionAddEditComponent_div_22_ng_container_24_table_10_Template","CollectionAddEditComponent_div_22_ng_container_24_Template","accessGroups","getGroups","groupsResponse","getCollectionDetails","group","g","CollectionRequest","putCollection","postCollection","CollectionAddEditComponent_div_20_Template","CollectionAddEditComponent_div_22_Template","CollectionAddEditComponent_button_42_Template","e_r7","EventsComponent_ng_container_39_table_4_tr_29_Template","EventsComponent_ng_container_39_p_2_Template","EventsComponent_ng_container_39_table_4_Template","EventsComponent_ng_container_39_button_6_Template","EventsComponent","getEventsOrganization","EventsComponent_ng_container_37_Template","EventsComponent_ng_container_39_Template","group_add_edit_component_1","g_r10","GroupsComponent_ng_container_28_table_4_tr_4_Template","searchedGroups_r6","GroupsComponent_ng_container_28_p_2_Template","GroupsComponent_ng_container_28_table_4_Template","GroupsComponent","pagedGroupsCount","pagedGroups","GroupAddEditComponent","onSavedGroup","onDeletedGroup","removeGroup","deleteGroup","GroupsComponent_ng_container_26_Template","GroupsComponent_ng_container_28_Template","GroupsComponent_ng_template_31_Template","GroupsComponent_ng_template_34_Template","groupRequest_1","c_r12","GroupAddEditComponent_div_22_ng_container_60_table_4_tr_25_Template","GroupAddEditComponent_div_22_ng_container_60_div_2_Template","GroupAddEditComponent_div_22_ng_container_60_table_4_Template","GroupAddEditComponent_div_22_div_36_Template","access","GroupAddEditComponent_div_22_ng_container_60_Template","getGroupDetails","GroupRequest","putGroup","postGroup","GroupAddEditComponent_div_20_Template","GroupAddEditComponent_div_22_Template","GroupAddEditComponent_button_42_Template","ManageComponent_div_6_a_8_Template","ManageComponent_div_6_a_10_Template","ManageComponent_div_6_a_12_Template","ManageComponent_div_6_a_14_Template","ManageComponent_div_6_a_16_Template","accessPolicies","ManageComponent","ManageComponent_div_6_Template","organizationUserConfirmRequest_1","entity_events_component_1","user_add_edit_component_1","user_confirm_component_1","user_groups_component_1","allCount","invitedCount","acceptedCount","u_r18","reinvite","_r38","confirm","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_12_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_14_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_small_16_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_ng_container_21_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_26_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_28_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_30_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_32_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_34_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_49_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_51_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_53_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_55_Template","ctx_r17","PeopleComponent_ng_container_49_ng_container_4_app_callout_2_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_Template","showConfirmUsers","searchedUsers_r13","PeopleComponent_ng_container_49_p_2_Template","PeopleComponent_ng_container_49_ng_container_4_Template","PeopleComponent","statusMap","pagedUsersCount","viewEvents","pagedUsers","confirmedCount","UserAddEditComponent","onSavedUser","onDeletedUser","removeUser","groupsModalRef","UserGroupsComponent","deleteOrganizationUser","postOrganizationUserReinvite","updateUser","mapIndex","autoConfirm","doConfirmation","confirmModalRef","UserConfirmComponent","onConfirmedUser","eventsModalRef","getUserPublicKey","publicKeyResponse","log","getFingerprint","rsaEncrypt","OrganizationUserConfirmRequest","postOrganizationUserConfirm","PeopleComponent_span_13_Template","PeopleComponent_span_19_Template","PeopleComponent_span_25_Template","PeopleComponent_ng_container_47_Template","PeopleComponent_ng_container_49_Template","PeopleComponent_ng_template_52_Template","PeopleComponent_ng_template_55_Template","PeopleComponent_ng_template_58_Template","PeopleComponent_ng_template_61_Template","_c4","_c5","organizationUserInviteRequest_1","organizationUserUpdateRequest_1","permissionsApi_1","emails","c_r28","i_r29","UserAddEditComponent_div_24_ng_container_117_table_4_tr_25_Template","UserAddEditComponent_div_24_ng_container_117_div_2_Template","UserAddEditComponent_div_24_ng_container_117_table_4_Template","UserAddEditComponent_div_24_ng_container_2_Template","UserAddEditComponent_div_24_ng_container_79_Template","UserAddEditComponent_div_24_div_93_Template","UserAddEditComponent_div_24_ng_container_117_Template","customUserTypeSelected","showCustom","getOrganizationUser","setRequestPermissions","clearPermissions","OrganizationUserUpdateRequest","putOrganizationUser","OrganizationUserInviteRequest","postOrganizationUserInvite","UserAddEditComponent_small_11_Template","UserAddEditComponent_div_22_Template","UserAddEditComponent_div_24_Template","UserAddEditComponent_button_44_Template","dontAskAgain","fingerprint","UserConfirmComponent_small_12_Template","organizationUserUpdateGroupsRequest_1","g_r7","i_r8","UserGroupsComponent_div_25_table_8_tr_4_Template","UserGroupsComponent_div_25_div_6_Template","UserGroupsComponent_div_25_table_8_Template","getOrganizationUserGroups","userGroups","ug","OrganizationUserUpdateGroupsRequest","groupIds","putOrganizationUserGroups","UserGroupsComponent_small_12_Template","UserGroupsComponent_div_23_Template","UserGroupsComponent_div_25_Template","policy_edit_component_1","goToEnterprisePortal","_r13","p_r8","PoliciesComponent_table_11_tr_4_td_2_span_5_Template","PoliciesComponent_table_11_tr_4_td_2_Template","display","PoliciesComponent_table_11_tr_4_Template","PoliciesComponent","userCanAccessBusinessPortal","policiesEnabledMap","MasterPassword","PasswordGenerator","RequireSso","PersonalOwnership","policyIdFromEvents","_i","orgPolicies","orgPolicy","getPolicies","op","editModalRef","PolicyEditComponent","onSavedPolicy","enterpriseTokenPromise","PoliciesComponent_app_callout_0_Template","PoliciesComponent_ng_container_9_Template","PoliciesComponent_table_11_Template","PoliciesComponent_ng_template_13_Template","api_service_1","appId_service_1","AppIdService","audit_service_1","cipher_service_1","collection_service_1","crypto_service_1","environment_service_1","folder_service_1","i18n_service_1","log_service_1","LogService","messaging_service_1","passwordGeneration_service_1","platformUtils_service_1","search_service_1","settings_service_1","storage_service_1","state_service_1","sync_service_1","token_service_1","totp_service_1","user_service_1","vaultTimeout_service_1","policyRequest_1","o_r10","masterPassMinComplexity","PolicyEditComponent_div_23_ng_container_24_option_12_Template","masterPassMinLength","masterPassRequireUpper","masterPassRequireLower","masterPassRequireNumbers","masterPassRequireSpecial","passwordScores","o_r19","passGenDefaultType","PolicyEditComponent_div_23_ng_container_26_option_12_Template","passGenMinLength","passGenMinNumbers","passGenMinSpecial","passGenUseUpper","passGenUseLower","passGenUseNumbers","passGenUseSpecial","passGenMinNumberWords","passGenCapitalize","passGenIncludeNumber","defaultTypes","PolicyEditComponent_div_23_app_callout_5_Template","PolicyEditComponent_div_23_app_callout_7_Template","PolicyEditComponent_div_23_ng_container_9_Template","PolicyEditComponent_div_23_app_callout_11_Template","PolicyEditComponent_div_23_ng_container_24_Template","PolicyEditComponent_div_23_ng_container_26_Template","policyType","checkboxDesc","getPolicy","defaultType","useUpper","useLower","useNumbers","useSpecial","minNumbers","minSpecial","minNumberWords","capitalize","includeNumber","PolicyRequest","putPolicy","PolicyEditComponent_div_21_Template","PolicyEditComponent_div_23_Template","organizationUpdateRequest_1","api_key_component_1","purge_vault_component_1","delete_organization_component_1","viewApiKey","rotateApiKey","taxFormPromise","AccountComponent","canUseApi","OrganizationUpdateRequest","putOrganization","deleteOrganization","deleteModalRef","DeleteOrganizationComponent","purgeVault","purgeModalRef","apiKeyModalRef","postOrganizationApiKey","rotateApiKeyModalRef","postOrganizationRotateApiKey","AccountComponent_div_7_Template","AccountComponent_form_9_Template","AccountComponent_ng_container_11_Template","AccountComponent_div_24_Template","AccountComponent_form_26_Template","AccountComponent_ng_template_53_Template","AccountComponent_ng_template_56_Template","AccountComponent_ng_template_59_Template","AccountComponent_ng_template_62_Template","user_billing_component_1","OrganizationBillingComponent_ng_container_11_ng_container_25_app_callout_2_Template","OrganizationBillingComponent_ng_container_11_ng_container_25_span_8_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_span_25_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_span_27_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_span_8_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_span_10_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_i_15_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_Template","OrganizationBillingComponent_ng_container_11_button_15_Template","OrganizationBillingComponent_ng_container_11_app_add_credit_17_Template","OrganizationBillingComponent_ng_container_11_p_23_Template","OrganizationBillingComponent_ng_container_11_ng_container_25_Template","OrganizationBillingComponent_ng_container_11_button_27_Template","OrganizationBillingComponent_ng_container_11_app_adjust_payment_29_Template","OrganizationBillingComponent_ng_container_11_p_35_Template","OrganizationBillingComponent_ng_container_11_table_37_Template","OrganizationBillingComponent_ng_container_11_p_43_Template","OrganizationBillingComponent_ng_container_11_table_45_Template","OrganizationBillingComponent","OrganizationBillingComponent_button_6_Template","OrganizationBillingComponent_ng_container_9_Template","OrganizationBillingComponent_ng_container_11_Template","reinstate","reinstatePromise","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_13_span_3_Template","sub","isExpired","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_13_Template","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_15_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_ng_container_13_span_11_Template","subscription","subscriptionMarkedForCancel","nextInvoice","i_r19","quantity","OrganizationSubscriptionComponent_ng_container_11_div_8_div_17_tr_10_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_ng_container_13_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_div_17_Template","closeUpdateLicense","updateLicense","OrganizationSubscriptionComponent_ng_container_11_ng_container_10_div_13_Template","showUpdateLicense","changePlan","downloadLicense","showDownloadLicense","ctx_r29","cancelPromise","_r42","closeChangePlan","closeDownloadLicense","ctx_r31","_r50","adjustSeats","_r53","closeSeats","ctx_r48","adjustSeatsAdd","billingInterval","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_div_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_app_adjust_seats_6_Template","ctx_r32","showAdjustSeats","_r58","adjustStorage","_r61","closeStorage","ctx_r56","adjustStorageAdd","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_div_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_app_adjust_storage_6_Template","ctx_r33","showAdjustStorage","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_6_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_8_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_app_change_plan_11_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_div_13_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_Template","showChangePlan","canDownloadLicense","cancelled","canAdjustSeats","storageName","storageProgressWidth","storagePercentage","OrganizationSubscriptionComponent_ng_container_11_app_callout_2_Template","OrganizationSubscriptionComponent_ng_container_11_app_callout_4_Template","OrganizationSubscriptionComponent_ng_container_11_dl_6_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_10_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_Template","OrganizationSubscriptionComponent","getOrganizationSubscription","postOrganizationReinstate","postOrganizationCancel","changed","updated","cancelAtEndDate","upcomingInvoice","storageGb","OrganizationSubscriptionComponent_small_5_Template","OrganizationSubscriptionComponent_ng_container_9_Template","OrganizationSubscriptionComponent_ng_container_11_Template","ChangePlanComponent","onChanged","defaultUpgradePlan","FamiliesAnnually","defaultUpgradeProduct","Families","DownloadLicenseComponent","onDownloaded","installationId","getOrganizationLicense","license","licenseString","JSON","stringify","saveFile","seatRequest_1","seatAdjustment","adjustedSeatTotal","AdjustSeatsComponent","SeatRequest","postOrganizationSeat","AdjustSeatsComponent_div_26_Template","SettingsComponent","access2fa","SettingsComponent_a_22_Template","SettingsComponent_a_24_Template","two_factor_setup_component_1","duoComp","getTwoFactorOrganizationProviders","updateTwoFactorAuthenticatorRequest_1","TwoFactorAuthenticatorComponent_form_26_ng_container_5_Template","TwoFactorAuthenticatorComponent_form_26_ng_container_7_Template","TwoFactorAuthenticatorComponent_form_26_p_43_Template","TwoFactorAuthenticatorComponent_form_26_hr_45_Template","TwoFactorAuthenticatorComponent_form_26_ng_container_57_Template","TwoFactorAuthenticatorComponent_form_26_span_67_Template","TwoFactorAuthenticatorComponent_form_26_span_69_Template","qrScript","UpdateTwoFactorAuthenticatorRequest","putTwoFactorAuthenticator","QRious","element","TwoFactorAuthenticatorComponent_app_two_factor_verify_24_Template","TwoFactorAuthenticatorComponent_form_26_Template","twoFactorEmailRequest_1","updateTwoFactorEmailRequest_1","sentEmail","TwoFactorEmailComponent_form_26_ng_container_7_span_33_Template","TwoFactorEmailComponent_form_26_ng_container_5_Template","TwoFactorEmailComponent_form_26_ng_container_7_Template","TwoFactorEmailComponent_form_26_span_17_Template","TwoFactorEmailComponent_form_26_span_19_Template","postTwoFactorEmailSetup","UpdateTwoFactorEmailRequest","putTwoFactorEmail","TwoFactorEmailComponent_app_two_factor_verify_24_Template","TwoFactorEmailComponent_form_26_Template","print","TwoFactorRecoveryComponent_ng_container_26_ng_container_4_Template","TwoFactorRecoveryComponent_ng_container_26_ng_container_6_Template","TwoFactorRecoveryComponent_ng_container_26_button_11_Template","w","open","write","onafterprint","formatString","TwoFactorRecoveryComponent_app_two_factor_verify_24_Template","TwoFactorRecoveryComponent_ng_container_26_Template","updateTwoFactorU2fDeleteRequest_1","updateTwoFactorU2fRequest_1","i_r14","k_r13","TwoFactorU2fComponent_form_25_li_25_ng_container_9_ng_container_2_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_9_ng_container_4_Template","compromised","TwoFactorU2fComponent_form_25_li_25_ng_container_11_i_2_Template","TwoFactorU2fComponent_form_25_li_25_strong_5_Template","TwoFactorU2fComponent_form_25_li_25_strong_7_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_9_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_11_Template","removePromise","configured","keysConfiguredCount","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_2_Template","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_4_Template","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_6_Template","u2fListening","u2fResponse","u2fError","disablePromise","_r36","TwoFactorU2fComponent_form_25_app_callout_5_Template","TwoFactorU2fComponent_form_25_li_25_Template","readKey","TwoFactorU2fComponent_form_25_ng_container_70_Template","TwoFactorU2fComponent_form_25_ng_container_72_Template","TwoFactorU2fComponent_form_25_i_79_Template","TwoFactorU2fComponent_form_25_span_81_Template","TwoFactorU2fComponent_form_25_button_84_Template","keyIdAvailable","challengePromise","u2fScript","UpdateTwoFactorU2fRequest","deviceResponse","putTwoFactorU2f","UpdateTwoFactorU2fDeleteRequest","deleteTwoFactorU2f","getTwoFactorU2fChallenge","challenge","readDevice","u2fChallenge","resetU2f","u2f","register","errorCode","listening","k","this_1","TwoFactorU2fComponent_app_two_factor_verify_23_Template","TwoFactorU2fComponent_form_25_Template","updateTwoFactorYubioOtpRequest_1","i_r9","k_r8","existingKey","TwoFactorYubiKeyComponent_form_25_div_54_input_6_Template","TwoFactorYubiKeyComponent_form_25_div_54_div_8_Template","TwoFactorYubiKeyComponent_form_25_app_callout_5_Template","TwoFactorYubiKeyComponent_form_25_div_54_Template","nfc","TwoFactorYubiKeyComponent_form_25_button_87_Template","UpdateTwoFactorYubioOtpRequest","key1","key2","key3","key4","key5","putTwoFactorYubiKey","padRight","max","TwoFactorYubiKeyComponent_app_two_factor_verify_23_Template","TwoFactorYubiKeyComponent_form_25_Template","getExportData","getOrganizationExport","getFileName","collectEvent","exposed_passwords_report_component_1","manageableCiphers","passwordHistoryView_1","FallbackSrcDirective","onError","appFallbackSrc","import_component_1","inactive_two_factor_report_component_1","reused_passwords_report_component_1","ToolsComponent_ng_container_4_div_8_a_7_Template","ToolsComponent_ng_container_4_div_6_Template","ToolsComponent_ng_container_4_div_8_Template","ToolsComponent","ToolsComponent_ng_container_2_Template","ToolsComponent_ng_container_4_Template","unsecured_websites_report_component_1","weak_passwords_report_component_1","VaultComponent","changeDetectorRef","groupingsComponent","successfully","detectChanges","reload","filterDeleted","filterCipherType","filterCollection","clearGroupingFilters","clearFilters","go","filterSearchText","editCipherAttachments","attachmentsModalRef","madeAttachmentChanges","onUploadedAttachment","onDeletedAttachment","editCipherCollections","collectionsModalRef","onSavedCollections","component","editCipher","cloneCipher","replaceUrl","ChangeDetectorRef","VaultComponent_ng_container_20_Template","VaultComponent_button_29_Template","VaultComponent_ng_template_39_Template","VaultComponent_ng_template_42_Template","VaultComponent_ng_template_45_Template","VaultComponent_ng_template_48_Template","saveCipherAttachment","saveAttachmentWithServer","cipherDomain","deleteCipherAttachment","attachmentId","deleteCipherAttachmentAdmin","cipherCollectionsRequest_1","allowSelectNone","loadCipherCollections","saveCollections","CipherCollectionsRequest","putCipherCollectionsAdmin","cipherBulkDeleteRequest_1","deleteCiphers","deleteCiphersAdmin","deleteManyWithServer","softDeleteManyWithServer","deleteRequest","CipherBulkDeleteRequest","deleteManyCiphersAdmin","putDeleteManyCiphersAdmin","ids","f_r2","moveManyWithServer","BulkMoveComponent_option_35_Template","restoreManyWithServer","o_r5","i_r11","BulkShareComponent_table_54_tr_4_Template","nonShareableCount","shareableCiphers","writeableCollections","allCollections","filterCollections","checkedCollectionIds","shareManyWithServer","BulkShareComponent_option_39_Template","BulkShareComponent_div_49_Template","BulkShareComponent_div_52_Template","BulkShareComponent_table_54_Template","canSave","sendType_1","s_r7","removePassword","SendComponent_table_81_tr_4_i_6_Template","SendComponent_table_81_tr_4_i_8_Template","editSend","SendComponent_table_81_tr_4_span_17_Template","SendComponent_table_81_tr_4_ng_container_19_Template","SendComponent_table_81_tr_4_ng_container_21_Template","SendComponent_table_81_tr_4_ng_container_23_Template","SendComponent_table_81_tr_4_ng_container_25_Template","SendComponent_table_81_tr_4_a_52_Template","sendType","File","maxAccessCountReached","expired","pendingDelete","deletionDate","SendComponent_table_81_tr_4_Template","filteredSends","addSend","SendComponent_div_83_ng_container_2_Template","SendComponent_div_83_ng_container_4_Template","SendComponent","sendService","refreshing","sends","searchTimeout","sendAddEditModalRef","sendId","onSavedSend","onDeletedSend","removePasswordWithServer","webVaultUrl","getWebVaultUrl","link","accessId","urlB64Key","clearSelections","SendComponent_ng_container_66_Template","SendComponent_table_81_Template","SendComponent_div_83_Template","SendComponent_ng_template_88_Template","sendView_1","typeChanged","AddEditComponent_div_20_div_2_option_10_Template","ctx_r24","AddEditComponent_div_20_ng_container_20_div_4_Template","AddEditComponent_div_20_ng_container_20_div_6_Template","o_r28","deletionDateSelect","AddEditComponent_div_20_div_34_option_4_Template","AddEditComponent_div_20_div_34_input_7_Template","deletionDateOptions","clearExpiration","o_r39","expirationDate","ctx_r38","expirationDateSelect","AddEditComponent_div_20_div_54_option_4_Template","AddEditComponent_div_20_div_54_input_7_Template","expirationDateOptions","_r47","accessCount","AddEditComponent_div_20_div_2_Template","_r51","AddEditComponent_div_20_ng_container_17_Template","AddEditComponent_div_20_ng_container_20_Template","AddEditComponent_div_20_div_34_Template","AddEditComponent_div_20_div_36_Template","AddEditComponent_div_20_a_51_Template","AddEditComponent_div_20_div_54_Template","AddEditComponent_div_20_div_56_Template","maxAccessCount","AddEditComponent_div_20_div_79_Template","AddEditComponent_div_20_label_86_Template","AddEditComponent_div_20_label_88_Template","AddEditComponent_div_20_h3_123_Template","AddEditComponent_div_20_div_125_Template","hasPassword","_r57","AddEditComponent_div_38_button_2_Template","datePipe","onCancelled","premiumRequiredAlertShown","loadSend","SendView","dateToString","now","setHours","encryptSend","encSend","saveWithServer","sendData","DatePipe","AddEditComponent_div_38_Template","deauthorize_sessions_component_1","delete_account_component_1","deauthorizeSessions","deauthModalRef","DeauthorizeSessionsComponent","deleteAccount","DeleteAccountComponent","viewUserApiKey","viewUserApiKeyModalRef","postUserApiKey","rotateUserApiKey","rotateUserApiKeyModalRef","postUserRotateApiKey","AccountComponent_ng_template_84_Template","AccountComponent_ng_template_87_Template","AccountComponent_ng_template_90_Template","AccountComponent_ng_template_93_Template","AccountComponent_ng_template_96_Template","postSecurityStamp","updateProfileRequest_1","profile","ProfileComponent_form_2_p_44_Template","_r2","ProfileComponent","getProfile","UpdateProfileRequest","putProfile","ProfileComponent_div_0_Template","ProfileComponent_form_2_Template","emailRequest_1","emailTokenRequest_1","newEmail","reset","ChangeEmailComponent","tokenSent","hasEncKey","EmailTokenRequest","postEmailToken","EmailRequest","newKey","newMasterPasswordHash","newEncKey","postEmail","ChangeEmailComponent_ng_container_27_Template","ChangeEmailComponent_span_34_Template","ChangeEmailComponent_span_36_Template","ChangeEmailComponent_button_39_Template","change_password_component_1","emergencyAccessStatusType_1","cipherWithIdRequest_1","emergencyAccessUpdateRequest_1","folderWithIdRequest_1","passwordRequest_1","updateKeyRequest_1","ChangePasswordComponent_app_callout_4_li_5_Template","ChangePasswordComponent_app_callout_4_li_7_Template","ChangePasswordComponent_app_callout_4_li_9_Template","ChangePasswordComponent_app_callout_4_li_11_Template","ChangePasswordComponent_app_callout_4_li_13_Template","ChangePasswordComponent_app_callout_4_li_15_Template","rotateEncKey","rotateEncKeyClicked","currentMasterPassword","PasswordRequest","postPassword","updateKey","getPrivateKey","encPrivateKey","UpdateKeyRequest","FolderWithIdRequest","postAccountKey","updateEmergencyAccesses","getEmergencyAccessTrusted","emergencyAccess","allowedStatuses","EmergencyAccessStatusType","RecoveryInitiated","RecoveryApproved","filteredAccesses","includes","filteredAccesses_1","granteeId","encryptedKey","updateRequest","EmergencyAccessUpdateRequest","waitTimeDays","keyEncrypted","putEmergencyAccess","ChangePasswordComponent_app_callout_4_Template","kdfRequest_1","kdfType_1","o_r2","ChangeKdfComponent","PBKDF2_SHA256","kdfOptions","KdfRequest","postAccountKdf","ChangeKdfComponent_option_40_Template","organization_plans_component_1","CreateOrganizationComponent","orgPlansComponent","EnterpriseAnnually","updateDomainsRequest_1","i_r7","custom","DomainRulesComponent_ng_container_20_div_2_Template","indexTrackBy","d_r14","toggleExcluded","DomainRulesComponent_table_38_tr_4_a_17_Template","DomainRulesComponent_table_38_tr_4_a_19_Template","customize","excluded","domains","DomainRulesComponent_table_38_tr_4_Template","DomainRulesComponent","getSettingsDomains","equivalentDomains","globalEquivalentDomains","globalDomain","UpdateDomainsRequest","excludedGlobalEquivalentDomains","d2","putSettingsDomains","DomainRulesComponent_p_18_Template","DomainRulesComponent_ng_container_20_Template","DomainRulesComponent_p_36_Template","DomainRulesComponent_table_38_Template","o_r3","OptionsComponent","vaultTimeout","vaultTimeoutAction","vaultTimeouts","localeOptions","supportedTranslationLocales","locale","localeNames","_h","disableIcons","enableGravatars","enableFullWidth","_g","startingLocale","setVaultTimeoutOptions","vaultTimeoutActionChanged","newValue","OptionsComponent_option_25_Template","OptionsComponent_option_89_Template","LinkSsoComponent","ngAfterContentInit","premiumPrice","PremiumComponent","getPremium","getEmailVerified","finalizePremium","postPremium","paymentResponse","PremiumComponent_app_callout_7_Template","PremiumComponent_a_59_Template","PremiumComponent_ng_container_62_Template","PremiumComponent_form_64_Template","SettingsComponent_a_26_Template","SettingsComponent_a_28_Template","SettingsComponent_a_30_Template","UserSubscriptionComponent_ng_container_11_dl_6_dd_6_Template","UserSubscriptionComponent_ng_container_11_dl_6_dd_8_Template","i_r17","UserSubscriptionComponent_ng_container_11_div_8_div_29_tr_10_Template","UserSubscriptionComponent_ng_container_11_div_8_span_15_Template","UserSubscriptionComponent_ng_container_11_div_8_div_29_Template","UserSubscriptionComponent_ng_container_11_ng_container_10_div_13_Template","_r39","ctx_r34","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_div_4_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_app_adjust_storage_6_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_button_4_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_button_6_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_Template","UserSubscriptionComponent_ng_container_11_app_callout_2_Template","UserSubscriptionComponent_ng_container_11_app_callout_4_Template","UserSubscriptionComponent_ng_container_11_dl_6_Template","UserSubscriptionComponent_ng_container_11_div_8_Template","UserSubscriptionComponent_ng_container_11_ng_container_10_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_Template","UserSubscriptionComponent","getUserSubscription","usingInAppPurchase","postReinstatePremium","postCancelPremium","UserSubscriptionComponent_small_5_Template","UserSubscriptionComponent_ng_container_9_Template","UserSubscriptionComponent_ng_container_11_Template","checkedUsername","breachedAccounts","d_r10","BreachReportComponent_div_41_ng_container_4_ul_6_li_2_li_22_Template","a_r8","logoPath","dataClasses","pwnCount","breachDate","addedDate","BreachReportComponent_div_41_ng_container_4_ul_6_li_2_Template","BreachReportComponent_div_41_ng_container_4_app_callout_2_Template","BreachReportComponent_div_41_ng_container_4_app_callout_4_Template","BreachReportComponent_div_41_ng_container_4_ul_6_Template","BreachReportComponent_div_41_p_2_Template","BreachReportComponent_div_41_ng_container_4_Template","BreachReportComponent","BreachReportComponent_div_41_Template","password_generator_component_1","password_generator_history_component_1","numWords","saveOptions","wordSeparator","lengthChanged","minNumber","minNumberChanged","minSpecialChanged","avoidAmbiguous","useUppercase","useLowercase","PasswordGeneratorComponent","history","historyModalRef","PasswordGeneratorHistoryComponent","PasswordGeneratorComponent_app_callout_7_Template","PasswordGeneratorComponent_ng_container_39_Template","PasswordGeneratorComponent_ng_container_41_Template","regenerate","PasswordGeneratorComponent_ng_template_66_Template","inEffect","h_r3","PasswordGeneratorHistoryComponent_ul_20_li_2_Template","PasswordGeneratorHistoryComponent_ul_20_Template","PasswordGeneratorHistoryComponent_div_22_Template","ToolsComponent_a_35_Template","ToolsComponent_span_66_Template","organizations_component_1","update_key_component_1","folder_add_edit_component_1","share_component_1","favorites","showVerifyEmail","showBrowserOutdated","showUpdateKey","showPremiumCallout","organizationsComponent","filterFavorites","filterFolder","onReuploadedAttachment","shareCipher","shareModalRef","ShareComponent","onSharedCipher","folderAddEditModalRef","FolderAddEditComponent","onSavedFolder","loadFolders","onDeletedFolder","updateKeyModalRef","UpdateKeyComponent","VaultComponent_div_39_Template","VaultComponent_app_verify_email_41_Template","VaultComponent_div_43_Template","VaultComponent_div_45_Template","VaultComponent_ng_template_68_Template","VaultComponent_ng_template_71_Template","VaultComponent_ng_template_74_Template","VaultComponent_ng_template_77_Template","VaultComponent_ng_template_80_Template","VaultComponent_ng_template_83_Template","makeRequest","getKey","FolderAddEditComponent_button_47_Template","c_r15","i_r16","ShareComponent_div_25_table_29_tr_4_Template","ShareComponent_div_25_option_14_Template","ShareComponent_div_25_div_24_Template","ShareComponent_div_25_div_27_Template","ShareComponent_div_25_table_29_Template","ShareComponent_small_12_Template","ShareComponent_div_23_Template","ShareComponent_div_25_Template","ShareComponent_button_29_Template","ShareComponent_a_31_Template","VerifyEmailComponent","postAccountVerifyEmail","OrganizationGuardService","canActivate","permissions_1","OrganizationTypeGuardService","Permissions","AccessBusinessPortal","AccessEventLogs","AccessImportExport","AccessReports","ManageAllCollections","ManageAssignedCollections","ManageGroups","ManageOrganization","ManagePolicies","ManageUsers","UnauthGuardService","isLocked","AuthGuardService","routerState","promptBiometric","data_1","domain_1","emergency_add_edit_component_1","c_r4","EmergencyAccessViewComponent_ng_container_9_tr_6_ng_container_13_Template","EmergencyAccessViewComponent_ng_container_9_tr_6_ng_container_15_Template","EmergencyAccessViewComponent_ng_container_9_tr_6_Template","EmergencyAccessViewComponent","EmergencyAddEditComponent","postEmergencyAccessView","decCiphers","rsaDecrypt","oldKeyBuffer","oldEncKey","cipherResponse","cipherData","getLocaleSortingFunction","EmergencyAccessViewComponent_ng_container_9_Template","EmergencyAccessViewComponent_ng_template_12_Template","EncryptedObject","EnvironmentUrls","GeneratedPasswordHistory","EmergencyAddEditComponent_div_20_div_4_option_10_Template","EmergencyAddEditComponent_div_20_div_17_option_8_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_26_a_2_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_a_5_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_a_7_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_option_49_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_button_52_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_14_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_26_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_66_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_Template","EmergencyAddEditComponent_div_20_ng_container_21_a_72_Template","EmergencyAddEditComponent_div_20_ng_container_24_option_21_Template","EmergencyAddEditComponent_div_20_ng_container_24_option_57_Template","EmergencyAddEditComponent_div_20_ng_container_27_option_12_Template","EmergencyAddEditComponent_div_20_div_42_div_2_div_28_Template","EmergencyAddEditComponent_div_20_div_42_div_2_div_30_Template","EmergencyAddEditComponent_div_20_div_42_div_2_input_34_Template","EmergencyAddEditComponent_div_20_div_42_div_2_button_37_Template","EmergencyAddEditComponent_div_20_div_42_div_2_button_39_Template","EmergencyAddEditComponent_div_20_div_42_div_2_Template","EmergencyAddEditComponent_div_20_div_46_option_10_Template","EmergencyAddEditComponent_div_20_ng_container_48_option_16_Template","EmergencyAddEditComponent_div_20_ng_container_50_ng_container_8_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_50_div_6_Template","EmergencyAddEditComponent_div_20_ng_container_50_ng_container_8_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_16_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_12_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_14_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_16_Template","EmergencyAddEditComponent_div_20_app_callout_2_Template","EmergencyAddEditComponent_div_20_div_4_Template","EmergencyAddEditComponent_div_20_div_17_Template","EmergencyAddEditComponent_div_20_ng_container_21_Template","EmergencyAddEditComponent_div_20_ng_container_24_Template","EmergencyAddEditComponent_div_20_ng_container_27_Template","EmergencyAddEditComponent_div_20_div_42_Template","EmergencyAddEditComponent_div_20_a_44_Template","EmergencyAddEditComponent_div_20_div_46_Template","EmergencyAddEditComponent_div_20_ng_container_48_Template","EmergencyAddEditComponent_div_20_ng_container_50_Template","EmergencyAddEditComponent_div_20_ng_container_52_Template","EmergencyAddEditComponent_div_30_button_2_Template","EmergencyAddEditComponent_div_30_button_4_Template","EmergencyAddEditComponent_div_20_Template","EmergencyAddEditComponent_button_24_Template","EmergencyAddEditComponent_div_30_Template","emergencyAccessType_1","emergencyAccessConfirmRequest_1","emergencyAccessResponse_1","emergency_access_add_edit_component_1","emergency_access_confirm_component_1","emergency_access_takeover_component_1","c_r14","approve","EmergencyAccessComponent_table_33_tr_4_span_12_Template","EmergencyAccessComponent_table_33_tr_4_span_14_Template","EmergencyAccessComponent_table_33_tr_4_span_16_Template","EmergencyAccessComponent_table_33_tr_4_span_18_Template","EmergencyAccessComponent_table_33_tr_4_span_20_Template","EmergencyAccessComponent_table_33_tr_4_span_22_Template","EmergencyAccessComponent_table_33_tr_4_small_24_Template","EmergencyAccessComponent_table_33_tr_4_a_39_Template","EmergencyAccessComponent_table_33_tr_4_a_41_Template","EmergencyAccessComponent_table_33_tr_4_a_43_Template","EmergencyAccessComponent_table_33_tr_4_a_45_Template","emergencyAccessStatusType","emergencyAccessType","View","Takeover","EmergencyAccessComponent_table_33_tr_4_Template","trustedContacts","c_r44","requestAccess","takeover","EmergencyAccessComponent_table_44_tr_4_span_12_Template","EmergencyAccessComponent_table_44_tr_4_span_14_Template","EmergencyAccessComponent_table_44_tr_4_span_16_Template","EmergencyAccessComponent_table_44_tr_4_span_18_Template","EmergencyAccessComponent_table_44_tr_4_span_20_Template","EmergencyAccessComponent_table_44_tr_4_span_22_Template","EmergencyAccessComponent_table_44_tr_4_small_24_Template","EmergencyAccessComponent_table_44_tr_4_a_39_Template","EmergencyAccessComponent_table_44_tr_4_a_41_Template","EmergencyAccessComponent_table_44_tr_4_a_43_Template","_r65","ctx_r43","EmergencyAccessComponent_table_44_tr_4_Template","grantedContacts","EmergencyAccessComponent","EmergencyAccessType","getEmergencyAccessGranted","EmergencyAccessAddEditComponent","emergencyAccessId","onSaved","contact","postEmergencyAccessReinvite","childComponent_1","EmergencyAccessConfirmComponent","onConfirmed","deleteEmergencyAccess","EmergencyAccessGranteeDetailsResponse","removeGrantee","removeGrantor","postEmergencyAccessInitiate","postEmergencyAccessApprove","postEmergencyAccessReject","EmergencyAccessTakeoverComponent","takeoverModalRef","onDone","EmergencyAccessConfirmRequest","postEmergencyAccessConfirm","EmergencyAccessComponent_a_20_Template","EmergencyAccessComponent_table_33_Template","EmergencyAccessComponent_p_35_Template","EmergencyAccessComponent_table_44_Template","EmergencyAccessComponent_p_46_Template","EmergencyAccessComponent_ng_template_48_Template","EmergencyAccessComponent_ng_template_51_Template","EmergencyAccessComponent_ng_template_54_Template","cipherResponse_1","creationDate","EmergencyAccessGrantorDetailsResponse","grantorId","EmergencyAccessTakeoverResponse","EmergencyAccessViewResponse","emergencyAccessInviteRequest_1","o_r12","EmergencyAccessAddEditComponent_div_26_ng_container_2_Template","waitTime","EmergencyAccessAddEditComponent_div_26_option_48_Template","waitTimes","getEmergencyAccess","EmergencyAccessInviteRequest","postEmergencyAccessInvite","EmergencyAccessAddEditComponent_span_11_Template","EmergencyAccessAddEditComponent_small_13_Template","EmergencyAccessAddEditComponent_div_24_Template","EmergencyAccessAddEditComponent_div_26_Template","EmergencyAccessAddEditComponent_i_32_Template","EmergencyAccessAddEditComponent_span_34_Template","EmergencyAccessAddEditComponent_button_43_Template","EmergencyAccessConfirmComponent_small_12_Template","emergencyAccessPasswordRequest_1","postEmergencyAccessTakeover","takeoverResponse","EmergencyAccessPasswordRequest","postEmergencyAccessPassword","EmergencyAccessTakeoverComponent_small_12_Template","apiKeyResponse_1","billingResponse_1","breachAccountResponse_1","collectionResponse_1","domainsResponse_1","errorResponse_1","eventResponse_1","folderResponse_1","groupResponse_1","identityTokenResponse_1","identityTwoFactorResponse_1","listResponse_1","organizationResponse_1","organizationSubscriptionResponse_1","organizationUserResponse_1","paymentResponse_1","planResponse_1","policyResponse_1","preloginResponse_1","profileResponse_1","selectionReadOnlyResponse_1","sendAccessResponse_1","sendResponse_1","subscriptionResponse_1","syncResponse_1","taxInfoResponse_1","taxRateResponse_1","twoFactorAuthenticatorResponse_1","twoFactorDuoResponse_1","twoFactorEmailResponse_1","twoFactorProviderResponse_1","twoFactorRescoverResponse_1","twoFactorU2fResponse_1","twoFactorYubiKeyResponse_1","userKeyResponse_1","logoutCallback","customUserAgent","urlsSet","isWebClient","isDesktopClient","usingBaseUrl","device","getDevice","setUrls","urls","apiBaseUrl","eventsBaseUrl","api","headers","Headers","Content-Type","Accept","Device-Type","qsStringify","toIdentityToken","identityClientId","credentials","getCredentials","cache","isJsonResponse","IdentityTokenResponse","TwoFactorProviders2","clearTwoFactorToken","IdentityTwoFactorResponse","ErrorResponse","doRefreshToken","BillingResponse","SubscriptionResponse","TaxInfoResponse","PreloginResponse","setPassword","getAccountRevisionDate","postPasswordHint","postRegister","PaymentResponse","postIapCheck","postAccountVerifyPassword","ApiKeyResponse","getFolder","FolderResponse","postFolder","putFolder","deleteFolder","getSend","SendResponse","postSendAccess","SendAccessResponse","getSends","ListResponse","postSend","postSendFile","putSend","putSendRemovePassword","deleteSend","getCipher","getCiphersOrganization","postCipher","postCipherCreate","putCipher","deleteManyCiphers","putMoveCiphers","putShareCipher","putShareCiphers","putCipherCollections","path","postImportCiphers","postImportOrganizationCiphers","putDeleteCipher","putDeleteManyCiphers","putRestoreCipher","putRestoreCipherAdmin","putRestoreManyCiphers","postCipherAttachment","postCipherAttachmentAdmin","postShareCipherAttachment","CollectionGroupDetailsResponse","CollectionResponse","dr","deleteCollectionUser","GroupDetailsResponse","GroupResponse","deleteGroupUser","PolicyResponse","OrganizationUserDetailsResponse","OrganizationUserUserDetailsResponse","PlanResponse","postImportDirectory","TaxRateResponse","DomainsResponse","getSync","SyncResponse","TwoFactorProviderResponse","TwoFactorAuthenticatorResponse","TwoFactorEmailResponse","TwoFactorDuoResponse","TwoFactorYubiKeyResponse","TwoFactorU2fResponse","ChallengeResponse","TwoFactorRecoverResponse","postTwoFactorEmail","OrganizationResponse","OrganizationSubscriptionResponse","getEvents","addEventParameters","EventResponse","postEventsCollect","getActiveBearerToken","authHeader","Authorization","UserKeyResponse","getHibpBreach","BreachAccountResponse","getToken","tokenNeedsRefresh","nativeFetch","handleError","hasResponse","requestInit","tokenError","getRefreshToken","decodedToken","decodeToken","grant_type","client_id","refresh_token","typeHeader","CollectionDetailsResponse","globalDomainResponse_1","GlobalDomainResponse","identityResponse","errorModel","responseErrorModel","getSingleMessage","messages","item","prefix","lastSep","lastIndexOf","businessAddress1","businessAddress2","businessAddress3","businessCountry","businessTaxNumber","maxAdditionalStorage","hasEvents","has2fa","upgradeSortOrder","displaySortOrder","stripePlanId","stripeSeatPlanId","stripeStoragePlanId","stripePremiumAccessPlanId","BillingSubscriptionResponse","BillingSubscriptionUpcomingInvoiceResponse","trialEndDate","periodStartDate","periodEndDate","cancelledDate","BillingSubscriptionItemResponse","sendFileApi_1","sendTextApi_1","makeAndGetAppId","getAnonymousAppId","existingId","guid","throttle_1","hashStart","hashEnding","leakedHashes","v","__decorate","throttle","cipherBulkMoveRequest_1","cipherBulkRestoreRequest_1","cipherBulkShareRequest_1","cipherShareRequest_1","sortedCiphersCache_1","sequentialize_1","Keys","DomainMatchBlacklist","Set","settingsService","sortedCiphersCache","SortedCiphersCache","sortCiphersByLastUsed","_decryptedCipherCache","clearIndex","indexCiphers","clearCache","decryptedCipherCache","existingCipher","existingHiddenFields","hiddenFields_1","ef","matchedField","encryptObjProperty","encryptCipherData","encryptFields","encryptPasswordHistories","encryptAttachments","attachmentsModel","encAttachments","fieldsModel","encFields","encryptField","encField","fieldModel","phModels","encPhs","encryptPasswordHistory","encPh","phModel","getAllDecryptedForGrouping","groupingId","getAllDecryptedForUrl","includeOtherTypes","defaultMatch","eqDomainsPromise","getEquivalentDomains","eqDomains","matches","eqDomain","matchingDomains","domainUrlHost","Host","urlHost","Exact","StartsWith","Never","decCiphers_1","promises_1","getLastUsedForUrl","getCipherForUrl","getLastLaunchedForUrl","getNextCipherForUrl","updateLastUsedIndexForUrl","updateLastUsedIndex","updateLastUsedDate","ciphersLocalData","cached","updateLastLaunchedDate","lastLaunched","saveNeverDomain","upsert","shareWithServer","attachmentPromises","shareAttachmentWithServer","encCipher","CipherShareRequest","encCiphers","ciphers_1","CipherBulkShareRequest","unencryptedFile","admin","readAsArrayBuffer","saveAttachmentRawWithServer","cData","filename","encFileName","dataEncKey","encryptToBytes","encData","blob","Blob","filepath","contentType","saveCollectionsWithServer","CipherBulkMoveRequest","deleteAttachment","deleteAttachmentWithServer","e_3","aLastUsed","bLastUsed","bothNotNull","sortCiphersByLastUsedThenName","aName","bName","softDelete","setDeletedDate","clearDeletedDate","constructor","CipherBulkRestoreRequest","restores","attachmentView","attachmentResponse","arrayBuffer","buf","decryptFromBytes","decBuf","e_4","theObj","modelProp","lastUsed","isCached","addCiphers","getLastLaunched","getLastUsed","getNext","sequentialize","propertyKey","descriptor","originalMethod","caches","args","arguments","getCache","argsCacheKey","onFinally","serviceUtils_1","decryptedCollectionCache","decCollections","nodes","collectionCopy","ServiceUtils","nestedTraverse","getNested","getTreeNodeObject","treeNode_1","nodeTree","partIndex","delimiter","partName","TreeNode","newPartName","ContainerService","attachToWindow","attachToGlobal","bigInt","encryptedObject_1","wordlist_1","secureStorageService","platformUtilService","option","biometric","supportsSecureStorage","keyHash","setOrgKeys","orgKeys","getKeyHash","encKeyCipher","decEncKey","stretchKey","getPublicKey","rsaExtractPublicKey","keyFingerprint","hkdfExpand","userFingerprint","hashPhrase","getOrgKeys","encOrgKeys","clearKey","legacyEtmKey","clearKeyHash","clearEncKey","memoryOnly","clearKeyPair","clearOrgKeys","clearPinProtectedKey","clearKeys","toggleKey","salt","pbkdf2","makeKeyFromPin","pin","protectedKeyCs","makePinKey","pinKey","decKey","randomBytes","rsaGenerateKeyPair","publicB64","privateEnc","makeSendKey","keyMaterial","hkdf","sendKey","getKeyForEncryption","theKey","buildEncKey","plainValue","plainBuf","aesEncrypt","encObj","encValue","macLen","encBytes","Rsa2048_OaepSha256_HmacSha256_B64","Rsa2048_OaepSha1_HmacSha256_B64","alg","cipherString","aesDecryptToBytes","decipher","aesDecryptToUtf8","encBuf","ctBytes","ivBytes","macBytes","randomNumber","min","rval","range","bitsNeeded","ceil","log2","bytesNeeded","mask","pow","byteArray","macData","hmac","keyForEnc","resolveLegacyKey","fastParams","aesDecryptFastParameters","hmacFast","computedMac","compareFast","aesDecryptFast","aesDecrypt","minimumEntropy","entropyPerWord","EEFLongWordList","hashArr","entropyAvailable","phrase","hashNumber","fromArray","remainder","divide","encKeyEnc","environmentUrls_1","notificationsService","setUrlsFromStorage","urlsObj","icons","notifications","webVault","enterprise","envUrls","apiUrl","identityUrl","notificationsUrl","eventsUrl","formatUrl","folderData_1","folder_1","folderRequest_1","decryptedFolderCache","decFolders","noneFolder","folderCopy","cId","updates","systemLanguage","localesDirectory","getLocalesJson","defaultMessages","localeMessages","translationLocale","Intl","Collator","numeric","sensitivity","loadMessages","translate","messagesObj","formattedLocale","locales","placeholders","placeProp","replaceToken","replaceContent","zxcvbn","generatedPasswordHistory_1","passwordGeneratorPolicyOptions_1","DefaultOptions","ambiguous","minUppercase","minLowercase","generatePassphrase","sanitizePasswordLength","positions","shuffleArray","allCharSet","lowercaseCharSet","uppercaseCharSet","numberCharSet","specialCharSet","positionChars","randomCharIndex","listLength","wordList","wordIndex","appendRandomNumberToRandomWord","optionsCache","enforcePasswordGeneratorPoliciesOnOptions","enforcedOptions","getPasswordGeneratorPolicyOptions","numberCount","specialCount","PasswordGeneratorPolicyOptions","currentPolicy","getHistory","encrypted","decryptHistory","addHistory","currentHistory","matchesPrevious","unshift","encryptHistory","newHistory","userInputs","globalUserInputs","finalUserInputs","normalizeOptions","decrypted","array","forGeneration","minUppercaseCalc","minLowercaseCalc","minNumberCalc","minSpecialCalc","settingsCache","getSettingsKey","setEquivalentDomains","setSettingsKey","getSettings","settings","purge","organizationData_1","sendData_1","syncInProgress","getLastSync","lastSync","setLastSync","toJSON","forceSync","allowThrowOnError","syncStarted","syncCompleted","needsSync","needsSyncing","syncProfile","syncFolders","syncCollections","syncCiphers","syncSends","syncSettings","syncPolicies","syncUpsertFolder","notification","isEdit","localFolder","remoteFolder","syncDeleteFolder","syncUpsertCipher","shouldUpdate","localCipher","checkCollections","remoteCipher","syncDeleteCipher","syncUpsertSend","localSend","remoteSend","SendData","syncDeleteSend","getSecurityStamp","stamp","setSecurityStamp","OrganizationData","replaceOrganizations","sendFileData_1","sendTextData_1","SendTextData","SendFileData","setToken","setRefreshToken","skipTokenStorage","toggleTokens","clearToken","decoded","getTokenExpirationDate","setUTCSeconds","tokenSecondsRemaining","offsetSeconds","msRemaining","valueOf","minutes","email_verified","getIssuer","iss","B32Chars","SteamChars","period","digits","keyB32","isOtpAuth","isSteamAuth","digitParams","periodParam","algParam","timeHex","leftPad","decToHex","timeBytes","keyBytes","b32ToBytes","sign","offset","otp","fullCode","trunc","isAutoCopyEnabled","b32ToHex","cleanedInput","bits","hex","byteIndex","chunk","signature","organization_1","clearOrganizations","lockedCallback","loggedOutCallback","checkOnInterval","checkVaultTimeout","isBiometricLockSet","isViewOpen","lockTimeout","lastActive","vaultTimeoutSeconds","allowSoftLock","isPinLockSet","logLevelType_1","hrtime","timersMap","debug","LogLevelType","Debug","info","Info","Warning","level","warn","time","timeEnd","elapsed","CipherWithIds","build","CollectionWithId","FolderWithId","importResult_1","baseImporter_1","cipherImportContext_1","IgnoredProperties","OnePasswordCsvImporter","loginPropertyParsers","setLoginUsername","setLoginPassword","setLoginUris","creditCardPropertyParsers","setCreditCardNumber","setCreditCardVerification","setCreditCardCardholderName","setCreditCardExpiry","identityPropertyParsers","setIdentityFirstName","setIdentityInitial","setIdentityLastName","setIdentityUserName","setIdentityEmail","setIdentityPhone","setIdentityCompany","quoteChar","escapeChar","getProp","setNotes","setCipherType","altUsername","context","CipherImportContext","setKnownLoginValue","setKnownCreditCardValue","setKnownIdentityValue","setUnknownValue","entries","agg","entry","getPropByRegexp","regexp","matchingKeys","getPropIncluding","includesMap","importRecord","func","lowerProperty","readableDate","toUTCString","view_1","NotificationType","enableProdMode","__NgCli_bootstrap_2","platformBrowser","bootstrapModule","__NgCli_bootstrap_1","AppModule","preserveWhitespaces","angular2_toaster_1","angulartics2_1","ngx_infinite_scroll_1","app_routing_module_1","drag_drop_1","platform_browser_1","animations_1","services_module_1","app_component_1","avatar_component_1","password_strength_component_1","footer_component_1","frontend_layout_component_1","navbar_component_1","organization_layout_component_1","user_layout_component_1","accept_emergency_component_1","accept_organization_component_1","recover_delete_component_1","recover_two_factor_component_1","verify_email_token_component_1","verify_recover_delete_component_1","events_component_1","groups_component_1","manage_component_1","people_component_1","policies_component_1","account_component_1","adjust_seats_component_1","change_plan_component_1","download_license_component_1","organization_billing_component_1","organization_subscription_component_1","settings_component_1","tools_component_1","collections_component_2","vault_component_1","access_component_1","send_component_1","account_component_2","add_credit_component_1","adjust_payment_component_1","adjust_storage_component_1","change_email_component_1","change_kdf_component_1","create_organization_component_1","domain_rules_component_1","emergency_access_component_1","emergency_access_view_component_1","link_sso_component_1","options_component_1","premium_component_1","profile_component_1","settings_component_2","two_factor_setup_component_2","two_factor_verify_component_1","update_license_component_1","user_subscription_component_1","verify_email_component_1","breach_report_component_1","export_component_2","exposed_passwords_report_component_2","import_component_2","inactive_two_factor_report_component_2","reused_passwords_report_component_2","tools_component_2","unsecured_websites_report_component_2","weak_passwords_report_component_2","add_edit_component_3","attachments_component_2","bulk_actions_component_1","ciphers_component_2","collections_component_3","groupings_component_2","vault_component_2","callout_component_1","icon_component_1","a11y_title_directive_1","api_action_directive_1","autofocus_directive_1","blur_click_directive_1","box_row_directive_1","fallback_src_directive_1","input_verbatim_directive_1","select_copy_directive_1","stop_click_directive_1","stop_prop_directive_1","true_false_value_directive_1","color_password_pipe_1","i18n_pipe_1","search_ciphers_pipe_1","search_pipe_1","common_1","ca_1","cs_1","da_1","de_1","el_1","en_GB_1","es_1","et_1","fr_1","he_1","it_1","ja_1","ko_1","lv_1","ml_1","nb_1","nl_1","pl_1","pt_1","pt_PT_1","ru_1","sk_1","sv_1","uk_1","zh_Hans_1","zh_Hant_1","registerLocaleData","bootstrap","AppComponent","imports","BrowserModule","BrowserAnimationsModule","FormsModule","AppRoutingModule","ServicesModule","Angulartics2Module","forRoot","pageTracking","clearQueryParams","ToasterModule","InfiniteScrollModule","DragDropModule","declarations","AccessComponent","BlurClickDirective","BoxRowDirective","SearchCiphersPipe","organization_guard_service_1","organization_type_guard_service_1","unauth_guard_service_1","auth_guard_service_1","routes","pathMatch","redirectTo","RouterModule","useHash","paramsInheritanceStrategy","subscribers","messageCallback","passwordHintRequest_1","PasswordHintRequest","pinLock","invalidPinAttempts","pinSet","supportsBiometric","biometricLock","vaultUrl","failed","decPin","setKeyAndContinue","passwordValid","storedKeyHash","unlockBiometric","authenticateBiometric","doContinue","launchSsoBrowser","ssoRedirectUri","ssoCodeVerifier","webUrl","registerRequest_1","useLowerKdf","isIE","RegisterRequest","confirmField","setPasswordRequest_1","SetPasswordRequest","orgIdentifier","onSuccessfulChangePassword","Window","backdrop","className","addEventListener","modals_1","DuoWebSDK","u2f_1","initU2f","loginRoute","authing","needsLock","customWebVaultUrl","cleanupU2f","providerData","Challenge","challenges","Challenges","keyHandle","iframe","sig_request","Signature","submit_callback","sig","stop","doToast","cleanup","getDeviceString","pushToken","codes","client_secret","code_verifier","redirect_uri","deviceIdentifier","deviceName","twoFactorRemember","errorCallback","infoCallback","parseFunction","parseMessage","connectorLink","base64Encode","sendMessage","contentWindow","postMessage","removeEventListener","validMessage","encryptedFormat","downloadFile","getExport","extension","csv","onEditAttachments","onShareCipher","onEditCollections","onGeneratePassword","currentDate","myEmail","policies_1","addEditCipherInfo","previousCipherId","editCollections","restorePromise","restoreCipher","toggleUriOptions","moveItemInArray","previousIndex","currentIndex","hasUpdatedKey","canAccessAttachments","foundAttachment","a2","activeCipherId","onCipherClicked","onCipherRightClicked","onAddCipher","onAddCipherOptions","pagedCiphersCount","deletedFilter","searchCiphers","rightClickCipher","addCipherOptions","selectedCollectionIds","onAllClicked","onFavoritesClicked","onTrashClicked","onCipherTypeClicked","onFolderClicked","onAddFolder","onEditFolder","onCollectionClicked","setLoaded","collapsedGroupings","idPrefix","showSelect","onSelected","optionsResponse","sliderChanged","sliderInput","copyOptions","toggleOptions","cipherView","broadcasterMessaging_service_1","htmlStorage_service_1","memoryStorage_service_1","webPlatformUtils_service_1","event_service_1","router_service_1","validation_service_1","analytics_1","container_service_1","event_service_2","export_service_1","import_service_1","notifications_service_1","policy_service_1","send_service_1","webCryptoFunction_service_1","api_service_2","audit_service_2","auth_service_2","cipher_service_2","collection_service_2","crypto_service_2","cryptoFunction_service_1","environment_service_2","event_service_3","export_service_2","folder_service_2","i18n_service_2","import_service_2","notifications_service_2","passwordGeneration_service_2","policy_service_2","search_service_2","send_service_2","settings_service_2","state_service_2","sync_service_2","token_service_2","totp_service_2","user_service_2","vaultTimeout_service_2","language","BroadcasterMessagingService","WebPlatformUtilsService","HtmlStorageService","MemoryStorageService","WebCryptoFunctionService","consoleLogService","__generator","eventLoggingService","Analytics","initFactory","htmlEl","documentElement","theme","useValue","APP_INITIALIZER","useFactory","deps","LOCALE_ID","subscriber","arg","services_1","localStorageKeys","localStorageStartsWithKeys","memoryStorageStartsWithKeys","memoryStorage","isLocalStorage","localStorage","getItem","isMemoryStorage","sessionStorage","setItem","removeItem","swKey","BillingSourceResponse","BillingTransactionResponse","BillingInvoiceResponse","cardBrand","partiallyRefunded","refundedAmount","isActive","isVerified","modifiedDate","access_token","expiresIn","expires_in","tokenType","token_type","OrganizationUserResponse","userProfile","taxIdType","KeyResponse","limit","throttleKey","allThrottles","throttles","getThrottles","argsThrottleKey","queue","exec","comparator","sortedCiphersByUrl","timeouts","Ciphers","resetTimer","lastUsedIndex","y","getNextIndex","filePath","store","sweetalert2_js_1","browserCache","chrome","isFirefox","isChrome","isEdge","isOpera","isVivaldi","isSafari","isMacAppStore","analyticsId","rel","click","blobData","blobOptions","fileNameLower","doDownload","endsWith","msSaveOrOpenBlob","msSaveBlob","createObjectURL","position","confirmText","cancelText","iconClasses","iconHtmlStr","fire","heightAuto","buttonsStyling","iconHtml","showCancelButton","cancelButtonText","showConfirmButton","confirmButtonText","clipboardData","setData","queryCommandSupported","textarea","copyEl","contains","execCommand","readFromClipboard","getDefaultSystemTheme","onDefaultSystemThemeChange","GaObj","AnalyticsIds","gaFilter","dependencyResolver","gaTrackingId","defaultDisabled","appVersion","GoogleAnalyticsObject","param1","param2","ga","gaAnonAppId","gaTrackPageView","hitType","page","gaTrackEvent","XMLHttpRequest","eventCategory","eventAction","eventLabel","eventValue","cleanPagePath","pagePath","paramIndex","pathParts","newPathParts","eventData_1","eventRequest_1","uploadEvents","eventType","uploadImmediately","orgIds","eventCollection","EventData","EventRequest","clearEvents","cipherWithIds_1","collectionWithId_1","folderWithId_1","getEncryptedExport","getDecryptedExport","getOrganizationEncryptedExport","getOrganizationDecryptedExport","padNumber","getSeconds","foldersMap_1","exportCiphers_1","buildCommonCipher","unparse","jsonDoc_1","jsonDoc","collectionPromises","decCol","cipherPromises","decCipher","collectionsMap_1","exportCiphers_2","jsonDoc_2","padCharacter","numString","login_uri","login_username","login_password","login_totp","toView","toDomain","_j","_k","_l","_m","_o","_p","_q","_r","_s","_t","importCiphersRequest_1","importOrganizationCiphersRequest_1","kvpRequest_1","ascendoCsvImporter_1","avastCsvImporter_1","avastJsonImporter_1","aviraCsvImporter_1","bitwardenCsvImporter_1","bitwardenJsonImporter_1","blackBerryCsvImporter_1","blurCsvImporter_1","buttercupCsvImporter_1","chromeCsvImporter_1","clipperzHtmlImporter_1","codebookCsvImporter_1","dashlaneJsonImporter_1","encryptrCsvImporter_1","enpassCsvImporter_1","enpassJsonImporter_1","firefoxCsvImporter_1","fsecureFskImporter_1","gnomeJsonImporter_1","kasperskyTxtImporter_1","keepass2XmlImporter_1","keepassxCsvImporter_1","keeperCsvImporter_1","lastpassCsvImporter_1","logMeOnceCsvImporter_1","meldiumCsvImporter_1","msecureCsvImporter_1","mykiCsvImporter_1","onepassword1PifImporter_1","onepasswordMacCsvImporter_1","onepasswordWinCsvImporter_1","padlockCsvImporter_1","passkeepCsvImporter_1","passmanJsonImporter_1","passpackCsvImporter_1","passwordAgentCsvImporter_1","passwordBossJsonImporter_1","passwordDragonXmlImporter_1","passwordSafeXmlImporter_1","passwordWalletTxtImporter_1","rememBearCsvImporter_1","roboformCsvImporter_1","safeInCloudXmlImporter_1","saferpassCsvImport_1","secureSafeCsvImporter_1","splashIdCsvImporter_1","stickyPasswordXmlImporter_1","truekeyCsvImporter_1","upmCsvImporter_1","yotiCsvImporter_1","zohoVaultCsvImporter_1","getImportOptions","importResult","halfway","last","badData","postImport","getImporterInstance","BitwardenCsvImporter","BitwardenJsonImporter","LastPassCsvImporter","KeePassXCsvImporter","AviraCsvImporter","BlurCsvImporter","SafeInCloudXmlImporter","PadlockCsvImporter","KeePass2XmlImporter","ChromeCsvImporter","FirefoxCsvImporter","UpmCsvImporter","SaferPassCsvImporter","MeldiumCsvImporter","OnePassword1PifImporter","OnePasswordWinCsvImporter","OnePasswordMacCsvImporter","KeeperCsvImporter","PasswordDragonXmlImporter","EnpassCsvImporter","EnpassJsonImporter","PasswordSafeXmlImporter","DashlaneJsonImporter","MSecureCsvImporter","StickyPasswordXmlImporter","TrueKeyCsvImporter","ClipperzHtmlImporter","RoboFormCsvImporter","AscendoCsvImporter","PasswordBossJsonImporter","ZohoVaultCsvImporter","SplashIdCsvImporter","PassKeepCsvImporter","GnomeJsonImporter","PasswordAgentCsvImporter","PasspackCsvImporter","PassmanJsonImporter","AvastCsvImporter","AvastJsonImporter","FSecureFskImporter","KasperskyTxtImporter","RememBearCsvImporter","PasswordWalletTxtImporter","MykiCsvImporter","SecureSafeCsvImporter","LogMeOnceCsvImporter","BlackBerryCsvImporter","ButtercupCsvImporter","CodebookCsvImporter","EncryptrCsvImporter","YotiCsvImporter","ImportCiphersRequest","KvpRequest","request_2","ImportOrganizationCiphersRequest","fieldLower","web","logins","custName","note","pwd","loginName","cards","holderName","cardNumber","cvv","website","secondary_username","col","addCollection","collectionIndex","delimPosition","parseEncrypted","parseDecrypted","groupingsMap","fav","extra","OfficialProps","processingCustomFields","currentVersion","actionType","labelLower","Category","Favorite","Entry","Note","Username","TOTP","Website","Phone","PIN","Account","HandledResults","ADDRESS","processAddress","AUTHENTIFIANT","processAuth","BANKSTATEMENT","processNote","IDCARD","PAYMENTMEANS_CREDITCARD","processCard","IDENTITY","processIdentity","credential","secondaryLogin","fullName","nameParts","pseudo","addressName","addressFull","zipcode","owner","nameProperty","Label","Notes","CVV","expiry","Expiry","expParts","firstRow","containsField","fieldValue","fieldName","fieldNameLower","foldersMap","foldersIndexMap","folderTree","buildFolderTree","flattenFolderTree","template_type","processLogin","sensitive","uuid","parent_uuid","titlePrefix","tree","creditNumber","creditCvv","creditExpiry","keyRing","display_name","secret","attributes","attr","username_value","notesData","applicationsData","websitesData","workingData","parseDataCategory","applications","websites","nameKey","itemComment","itemCommentKey","colonIndex","rootGroup","traverse","isRootNode","groupPrefixName","groupName","nameEl","cipherIndex","entryString","valueEl","keyEl","attrs","ProtectInMemory","Group","buildBaseCipher","parseSecureNote","parseCard","parseIdentity","ccnum","cardCipher","profilename","firstname","lastname","ccname","cccsc","ccexp","ccexpParts","middlename","zip","extraParts","processedNote","typeParts","mappedData","parseSecureNoteMapping","Number","Name on Card","Security Code","Expiration Date","monthString","First Name","Last Name","Middle Name","Company","Address 1","Address 2","Address 3","City / Town","State","Zip / Postal Code","Country","Email Address","processingNotes","extraPart","DisplayName","UserName","Url","nickname","additionalInfo","twoFactAuthToken","cardName","exp_month","exp_year","firstAddressLine","secondAddressLine","zipCode","line","trashed","processStandardItem","processWinOpVaultItem","overview","URLs","urls_1","parsePasswordHistory","notesPlain","parseFields","sections","section","openContents","faveIndex","typeName","secureContents","urls_2","maxSize","designationKey","valueKey","fieldDesignation","street","onepasswordCsvImporter_1","setIdentityAddress","expSplit","tags","tag","getValue","custom_fields","customField","field_type","tagsJson","Tags","tagJson","__parsed_extra","fieldsJson","extraFields","fieldJson","newVersion","altFormat","login_url","identifiers","valObj","expDate","cf","records","record","categoryText","accountName","tagName","passwordSafe","notesDelimiter","getAttribute","groupText","trash","cardholder","verification","expiryMonth","expMonthNumber","expiryYear","expYearNumber","Name","Pwd","Rf_fields","labelEl","cardEl","labelIdEl","labelId","fieldEl","notesEl","Comment","parseFieldsToNotes","startIndex","loginNodes","loginNode","accountId","usernameText","passwordText","titleText","linkText","notesText","accountLogin","account","parentElement","buildGroupText","PropertiesToIgnore","memo","kind","expiryDate","document_content","ChamberName","parseData","SecretData","CustomData","signalR","signalRMsgPack","notificationType_1","notificationResponse_1","connected","inactive","reconnectTimer","signalrConnection","off","HubConnectionBuilder","withUrl","accessTokenFactory","skipNegotiation","transport","HttpTransportType","WebSockets","withHubProtocol","MessagePackHubProtocol","processNotification","NotificationResponse","onclose","reconnect","isAuthedAndUnlocked","updateConnection","sync","reconnectFromActivity","disconnectFromInactivity","contextId","payloadUserId","UserId","myUserId","SyncCipherCreate","SyncCipherUpdate","SyncCipherDelete","SyncLoginDelete","SyncFolderCreate","SyncFolderUpdate","SyncFolderDelete","SyncVault","SyncCiphers","SyncSettings","SyncOrgKeys","LogOut","SyncSendCreate","SyncSendUpdate","SyncSendDelete","SyncCipherNotification","SyncFolderNotification","UserNotification","SyncSendNotification","masterPasswordPolicyOptions_1","policyCache","MasterPasswordPolicyOptions","newPassword","toLocaleLowerCase","toLocaleUpperCase","lunr","indexing","builder","Builder","boost","extractor","uriExtractor","fieldExtractor","attachmentExtractor","isArray","every","getIndexForSearch","ciphersMap","searchResults","soWild_1","Query","wildcard","LEADING","TRAILING","q","tokenizer","term","searchSends","joined","protocolIndex","queryIndex","sendRequest_1","send_1","sendFile_1","sendText_1","decryptedSendCache","fileData","Send","cryptoKey","passwordHash","parseFile","decSends","SendRequest","forge","decryptParameters_1","crypto","subtle","ua","isOldSafari","algorithm","iterations","forgeLen","passwordBytes","toByteString","saltBytes","derivedKeyBytes","wcLen","passwordBuf","toBuf","saltBuf","pbkdf2Params","toWebCryptoAlgorithm","importKey","impKey","deriveBits","ikm","outputByteSize","infoBuf","hkdfParams","prk","hashLen","infoArr","runningOkmLength","previousT","okm","md","md5","sha1","valueBytes","update","digest","valueBuf","signingAlgorithm","mac1","mac2","arr1","arr2","getBytes","rand","Uint32Array","util","createBuffer","putInt32","DecryptParameters","meta","encKeyByteString","macKeyByteString","decode64","parameters","dataBuffer","createDecipher","finish","rsaParams","impPrivateKey","exportKey","jwkPrivateKey","jwkPublicKeyParams","kty","ext","impPublicKey","modulusLength","publicExponent","generateKey","getRandomValues","encodeUtf8","angulartics2GoogleAnalytics","toasterConfig","ToasterConfig","showCloseButton","mouseoverTimerStop","animation","lastActivity","idleTimer","isIdle","runOutsideAngular","onmousemove","recordActivity","onmousedown","ontouchstart","onclick","onscroll","onkeypress","setFullWidth","idleStateChanged","message_1","sanitize","SecurityContext","HTML","bodyOutputType","BodyOutputType","TrustedHtml","trustedHtml","Angulartics2GoogleAnalytics","i15","i16","i17","i18","i19","i20","i21","i22","i23","i24","i25","i26","sendAccess_1","sendAccessRequest_1","toggleText","AccessComponent_div_20_ng_container_9_app_callout_2_Template","sendText","AccessComponent_div_20_ng_container_9_button_9_Template","AccessComponent_div_20_ng_container_9_Template","AccessComponent_div_20_ng_container_12_Template","passwordRequired","unavailable","maskedText","keyArray","accessRequest","SendAccessRequest","sendResponse","sendAccess","SendAccess","AccessComponent_div_12_Template","AccessComponent_div_14_Template","AccessComponent_div_16_Template","AccessComponent_div_18_Template","AccessComponent_div_20_Template","sendAccessView_1","SendAccessView","blur","elRef","formEls","formEl","inputEl"],"mappings":"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,WACA,WACA,WACA,UACA,UACA,WACA,SACA,SACA,UACA,YACA,YACA,UACA,WACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,WACA,UACA,OACA,UACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,WACA,WACA,UACA,OACA,UACA,YACA,WACA,WACA,UACA,YACA,OACA,SACA,WACA,YACA,YACA,YACA,YACA,SACA,QACA,YACA,WACA,SACA,UACA,SACA,SACA,WACA,QACA,SACA,YACA,YACA,YACA,YACA,YACA,OACA,UACA,SACA,SACA,QACA,YACA,SACA,QACA,UACA,QACA,WACA,UACA,YACA,QACA,YACA,YACA,SACA,WACA,YACA,UACA,QACA,OACA,OACA,OACA,MACA,OACA,YACA,QACA,YACA,QACA,UACA,UACA,YACA,QACA,QACA,YACA,WACA,SACA,QACA,QACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,QACA,QACA,YACA,QACA,WACA,UACA,WACA,WACA,OACA,WACA,SACA,SACA,WACA,QACA,YACA,QACA,WACA,YACA,YACA,WACA,YACA,YACA,SACA,YACA,YACA,SACA,UACA,UACA,WACA,OACA,QACA,QACA,QACA,UACA,WACA,UACA,WACA,QACA,SACA,WACA,QACA,YACA,UACA,QACA,QACA,SACA,WACA,SACA,YACA,SACA,UACA,WACA,YACA,UACA,YACA,UACA,SACA,UACA,UACA,UACA,SACA,SACA,WACA,OACA,YACA,UACA,QACA,SACA,SACA,SACA,UACA,UACA,YACA,YACA,UACA,SACA,UACA,YACA,YACA,WACA,QACA,YACA,QACA,QACA,WACA,YACA,WACA,WACA,UACA,WACA,UACA,YACA,UACA,YACA,WACA,WACA,WACA,SACA,UACA,YACA,WACA,SACA,WACA,WACA,YACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,SACA,UACA,QACA,QACA,UACA,SACA,UACA,SACA,WACA,WACA,UACA,SACA,WACA,QACA,SACA,UACA,YACA,SACA,UACA,YACA,YACA,WACA,WACA,YACA,UACA,WACA,QACA,YACA,YACA,UACA,QACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,QACA,WACA,QACA,OACA,WACA,YACA,YACA,WACA,OACA,QACA,WACA,WACA,QACA,QACA,YACA,UACA,WACA,QACA,SACA,UACA,SACA,UACA,UACA,UACA,SACA,UACA,OACA,QACA,QACA,SACA,UACA,UACA,QACA,SACA,UACA,SACA,YACA,WACA,QACA,MACA,SACA,YACA,SACA,YACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,YACA,SACA,WACA,SACA,UACA,WACA,UACA,UACA,YACA,YACA,YACA,SACA,WACA,QACA,OACA,WACA,OACA,SACA,YACA,UACA,SACA,SACA,UACA,YACA,WACA,YACA,YACA,SACA,QACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,WACA,UACA,UACA,WACA,QACA,WACA,YACA,SACA,YACA,SACA,SACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,SACA,WACA,SACA,UACA,WACA,QACA,WACA,UACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,UACA,SACA,QACA,OACA,OACA,SACA,WACA,SACA,SACA,WACA,YACA,YACA,WACA,SACA,SACA,YACA,WACA,WACA,UACA,YACA,WACA,WACA,YACA,UACA,UACA,WACA,YACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,YACA,SACA,WACA,WACA,YACA,WACA,QACA,WACA,YACA,SACA,QACA,UACA,QACA,UACA,SACA,WACA,QACA,SACA,UACA,SACA,SACA,YACA,UACA,QACA,UACA,WACA,QACA,SACA,WACA,SACA,UACA,YACA,UACA,QACA,WACA,SACA,SACA,SACA,WACA,QACA,WACA,WACA,SACA,SACA,UACA,WACA,WACA,SACA,YACA,UACA,SACA,WACA,SACA,UACA,SACA,UACA,QACA,WACA,UACA,WACA,SACA,UACA,SACA,OACA,YACA,UACA,YACA,SACA,WACA,YACA,UACA,WACA,YACA,WACA,OACA,YACA,SACA,QACA,QACA,QACA,SACA,SACA,QACA,OACA,QACA,OACA,YACA,WACA,YACA,UACA,UACA,SACA,SACA,UACA,UACA,UACA,QACA,OACA,QACA,UACA,YACA,YACA,QACA,YACA,YACA,QACA,WACA,YACA,SACA,UACA,SACA,QACA,QACA,UACA,QACA,QACA,WACA,QACA,QACA,UACA,UACA,WACA,SACA,OACA,WACA,QACA,WACA,UACA,WACA,OACA,OACA,WACA,WACA,UACA,OACA,SACA,UACA,QACA,SACA,YACA,QACA,QACA,UACA,SACA,QACA,QACA,WACA,UACA,WACA,WACA,OACA,SACA,UACA,SACA,SACA,UACA,UACA,YACA,OACA,SACA,SACA,QACA,OACA,MACA,UACA,OACA,UACA,SACA,UACA,WACA,QACA,WACA,WACA,WACA,QACA,UACA,SACA,SACA,QACA,OACA,YACA,YACA,OACA,YACA,SACA,QACA,SACA,UACA,WACA,UACA,QACA,QACA,QACA,SACA,UACA,WACA,YACA,OACA,YACA,WACA,SACA,QACA,OACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,YACA,YACA,SACA,SACA,QACA,SACA,UACA,OACA,SACA,SACA,WACA,YACA,UACA,WACA,SACA,SACA,WACA,UACA,UACA,QACA,QACA,QACA,QACA,UACA,UACA,SACA,YACA,OACA,QACA,QACA,UACA,UACA,YACA,UACA,UACA,YACA,YACA,UACA,UACA,YACA,YACA,YACA,UACA,WACA,SACA,SACA,YACA,SACA,SACA,WACA,QACA,QACA,UACA,WACA,YACA,SACA,WACA,WACA,SACA,WACA,QACA,QACA,WACA,QACA,YACA,SACA,WACA,SACA,YACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,WACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,UACA,UACA,QACA,OACA,QACA,YACA,SACA,OACA,UACA,YACA,YACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,WACA,QACA,QACA,SACA,SACA,SACA,UACA,YACA,WACA,QACA,OACA,SACA,OACA,SACA,UACA,OACA,WACA,OACA,SACA,UACA,SACA,YACA,QACA,UACA,QACA,SACA,QACA,SACA,SACA,QACA,QACA,WACA,UACA,OACA,UACA,OACA,WACA,WACA,UACA,YACA,WACA,UACA,YACA,OACA,UACA,UACA,UACA,YACA,QACA,SACA,WACA,SACA,WACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,SACA,QACA,OACA,SACA,WACA,WACA,SACA,UACA,SACA,SACA,SACA,QACA,YACA,SACA,UACA,SACA,UACA,UACA,WACA,OACA,YACA,UACA,UACA,SACA,YACA,UACA,UACA,UACA,YACA,UACA,YACA,UACA,UACA,QACA,UACA,SACA,YACA,SACA,UACA,WACA,WACA,YACA,YACA,YACA,WACA,SACA,YACA,QACA,SACA,UACA,UACA,WACA,UACA,YACA,WACA,YACA,QACA,YACA,YACA,UACA,UACA,UACA,SACA,YACA,QACA,SACA,WACA,SACA,UACA,YACA,YACA,QACA,UACA,UACA,UACA,OACA,OACA,SACA,SACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,WACA,SACA,UACA,WACA,WACA,UACA,YACA,WACA,UACA,SACA,SACA,SACA,UACA,YACA,SACA,QACA,UACA,YACA,SACA,SACA,YACA,QACA,UACA,YACA,UACA,WACA,WACA,UACA,SACA,SACA,QACA,SACA,YACA,WACA,WACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,YACA,UACA,WACA,WACA,QACA,WACA,QACA,QACA,UACA,YACA,UACA,YACA,WACA,SACA,SACA,UACA,QACA,QACA,YACA,WACA,UACA,QACA,UACA,YACA,YACA,WACA,UACA,WACA,UACA,UACA,QACA,UACA,UACA,WACA,QACA,UACA,SACA,WACA,WACA,WACA,UACA,WACA,SACA,WACA,UACA,QACA,QACA,SACA,SACA,OACA,YACA,UACA,QACA,YACA,SACA,QACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,QACA,YACA,YACA,YACA,WACA,YACA,YACA,QACA,QACA,QACA,OACA,WACA,SACA,WACA,WACA,QACA,WACA,WACA,SACA,YACA,UACA,QACA,UACA,WACA,SACA,OACA,SACA,UACA,WACA,SACA,SACA,QACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,WACA,QACA,SACA,WACA,SACA,WACA,WACA,YACA,SACA,UACA,UACA,WACA,UACA,SACA,SACA,OACA,QACA,QACA,OACA,QACA,WACA,SACA,SACA,QACA,YACA,QACA,WACA,UACA,UACA,WACA,UACA,WACA,UACA,QACA,QACA,QACA,UACA,SACA,WACA,OACA,OACA,QACA,QACA,QACA,UACA,QACA,SACA,YACA,WACA,QACA,SACA,UACA,SACA,UACA,WACA,QACA,SACA,WACA,OACA,SACA,QACA,UACA,QACA,QACA,UACA,WACA,UACA,UACA,WACA,QACA,SACA,UACA,WACA,YACA,QACA,WACA,SACA,SACA,YACA,SACA,UACA,QACA,YACA,UACA,UACA,WACA,YACA,YACA,OACA,WACA,SACA,UACA,SACA,QACA,UACA,MACA,WACA,SACA,UACA,SACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,OACA,OACA,OACA,OACA,WACA,WACA,UACA,WACA,SACA,YACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,SACA,WACA,OACA,OACA,OACA,UACA,QACA,QACA,SACA,QACA,WACA,UACA,UACA,WACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,SACA,UACA,SACA,YACA,WACA,WACA,YACA,UACA,YACA,WACA,WACA,YACA,WACA,YACA,UACA,UACA,UACA,WACA,UACA,YACA,UACA,QACA,YACA,UACA,WACA,WACA,SACA,WACA,YACA,YACA,UACA,YACA,YACA,UACA,OACA,UACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,YACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,UACA,YACA,YACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,YACA,UACA,UACA,YACA,OACA,SACA,SACA,UACA,SACA,UACA,SACA,OACA,QACA,OACA,WACA,YACA,UACA,SACA,SACA,SACA,YACA,YACA,WACA,WACA,YACA,QACA,WACA,UACA,WACA,YACA,SACA,UACA,WACA,UACA,YACA,YACA,UACA,SACA,SACA,WACA,YACA,SACA,SACA,YACA,OACA,UACA,SACA,QACA,QACA,QACA,YACA,YACA,WACA,YACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,SACA,WACA,OACA,WACA,YACA,WACA,WACA,SACA,WACA,UACA,WACA,YACA,YACA,SACA,QACA,YACA,QACA,UACA,UACA,QACA,QACA,QACA,UACA,WACA,WACA,WACA,WACA,SACA,SACA,UACA,YACA,QACA,UACA,UACA,YACA,SACA,WACA,YACA,SACA,WACA,WACA,WACA,WACA,WACA,SACA,QACA,QACA,SACA,QACA,QACA,WACA,UACA,WACA,YACA,UACA,WACA,UACA,WACA,OACA,UACA,QACA,QACA,QACA,UACA,SACA,WACA,UACA,UACA,UACA,WACA,UACA,YACA,SACA,WACA,UACA,QACA,QACA,QACA,QACA,OACA,QACA,SACA,UACA,UACA,QACA,QACA,UACA,UACA,YACA,UACA,YACA,UACA,QACA,YACA,SACA,UACA,WACA,WACA,YACA,UACA,WACA,YACA,UACA,UACA,WACA,QACA,OACA,SACA,UACA,UACA,YACA,OACA,UACA,UACA,WACA,SACA,SACA,WACA,WACA,YACA,WACA,UACA,YACA,WACA,UACA,YACA,UACA,QACA,SACA,UACA,UACA,UACA,SACA,OACA,SACA,SACA,SACA,SACA,YACA,UACA,QACA,QACA,QACA,UACA,SACA,UACA,SACA,SACA,YACA,QACA,QACA,QACA,OACA,SACA,UACA,YACA,UACA,YACA,WACA,YACA,UACA,MACA,QACA,SACA,UACA,UACA,WACA,SACA,YACA,YACA,MACA,MACA,WACA,SACA,QACA,WACA,SACA,QACA,QACA,WACA,QACA,UACA,YACA,SACA,WACA,QACA,SACA,SACA,WACA,YACA,QACA,WACA,WACA,YACA,UACA,WACA,WACA,UACA,OACA,OACA,YACA,OACA,YACA,OACA,WACA,SACA,WACA,WACA,UACA,OACA,SACA,WACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,WACA,SACA,YACA,WACA,SACA,UACA,YACA,QACA,OACA,YACA,SACA,WACA,QACA,UACA,WACA,SACA,QACA,SACA,SACA,QACA,QACA,YACA,QACA,WACA,SACA,WACA,YACA,WACA,UACA,SACA,YACA,YACA,UACA,YACA,UACA,YACA,WACA,OACA,WACA,UACA,SACA,YACA,YACA,YACA,QACA,WACA,SACA,WACA,YACA,SACA,SACA,OACA,OACA,SACA,SACA,WACA,SACA,WACA,SACA,UACA,SACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,WACA,WACA,UACA,SACA,WACA,SACA,WACA,UACA,YACA,WACA,YACA,YACA,QACA,WACA,UACA,UACA,SACA,SACA,OACA,WACA,YACA,WACA,SACA,YACA,QACA,WACA,QACA,WACA,YACA,SACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,UACA,QACA,SACA,WACA,SACA,YACA,YACA,WACA,SACA,YACA,WACA,SACA,WACA,YACA,YACA,WACA,SACA,QACA,SACA,QACA,UACA,SACA,UACA,UACA,OACA,YACA,YACA,WACA,YACA,SACA,UACA,YACA,WACA,SACA,SACA,SACA,WACA,YACA,YACA,UACA,UACA,QACA,WACA,SACA,SACA,WACA,QACA,UACA,YACA,UACA,YACA,YACA,WACA,WACA,YACA,YACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,YACA,WACA,WACA,SACA,YACA,YACA,WACA,YACA,YACA,SACA,WACA,YACA,WACA,UACA,QACA,UACA,WACA,UACA,UACA,YACA,WACA,SACA,UACA,YACA,UACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,UACA,OACA,WACA,SACA,YACA,QACA,OACA,SACA,UACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,MACA,WACA,YACA,WACA,OACA,SACA,OACA,WACA,QACA,SACA,SACA,UACA,SACA,QACA,UACA,SACA,YACA,QACA,QACA,SACA,SACA,UACA,UACA,UACA,SACA,SACA,UACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,WACA,WACA,WACA,SACA,WACA,WACA,UACA,YACA,WACA,UACA,UACA,YACA,WACA,WACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,WACA,OACA,YACA,UACA,OACA,UACA,YACA,YACA,WACA,WACA,YACA,SACA,UACA,WACA,UACA,WACA,SACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,UACA,WACA,UACA,YACA,UACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,QACA,QACA,QACA,YACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,YACA,YACA,WACA,WACA,WACA,YACA,QACA,SACA,SACA,OACA,WACA,WACA,QACA,QACA,QACA,QACA,OACA,SACA,YACA,SACA,QACA,UACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,QACA,QACA,SACA,WACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,UACA,QACA,OACA,YACA,SACA,SACA,OACA,SACA,WACA,SACA,OACA,OACA,QACA,OACA,OACA,WACA,YACA,YACA,WACA,YACA,WACA,UACA,UACA,YACA,WACA,YACA,QACA,UACA,UACA,OACA,UACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,SACA,SACA,WACA,SACA,SACA,QACA,OACA,UACA,QACA,QACA,QACA,UACA,WACA,YACA,WACA,WACA,SACA,WACA,SACA,SACA,WACA,UACA,UACA,UACA,QACA,QACA,QACA,YACA,UACA,WACA,UACA,UACA,UACA,QACA,QACA,WACA,SACA,OACA,MACA,SACA,YACA,UACA,WACA,UACA,WACA,WACA,QACA,OACA,OACA,SACA,SACA,MACA,OACA,SACA,WACA,OACA,UACA,WACA,WACA,MACA,OACA,SACA,YACA,YACA,UACA,UACA,WACA,SACA,SACA,OACA,OACA,UACA,OACA,QACA,QACA,QACA,UACA,UACA,WACA,UACA,YACA,UACA,WACA,UACA,WACA,WACA,OACA,QACA,UACA,UACA,UACA,SACA,UACA,QACA,UACA,UACA,WACA,WACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,SACA,UACA,QACA,UACA,SACA,WACA,SACA,YACA,YACA,SACA,WACA,UACA,QACA,SACA,SACA,OACA,OACA,QACA,QACA,QACA,YACA,OACA,SACA,UACA,YACA,UACA,WACA,YACA,UACA,YACA,YACA,OACA,WACA,SACA,OACA,UACA,SACA,WACA,YACA,WACA,MACA,YACA,UACA,YACA,SACA,YACA,SACA,SACA,WACA,WACA,YACA,UACA,YACA,SACA,QACA,YACA,UACA,SACA,QACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,UACA,YACA,YACA,WACA,SACA,MACA,WACA,WACA,YACA,QACA,UACA,SACA,MACA,UACA,WACA,MACA,YACA,QACA,YACA,WACA,YACA,QACA,UACA,QACA,QACA,UACA,SACA,UACA,YACA,YACA,QACA,WACA,UACA,SACA,SACA,WACA,SACA,YACA,QACA,UACA,YACA,WACA,OACA,QACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,WACA,WACA,WACA,UACA,UACA,YACA,QACA,MACA,SACA,YACA,SACA,YACA,YACA,WACA,UACA,YACA,SACA,SACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,YACA,QACA,SACA,UACA,UACA,YACA,YACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,WACA,YACA,UACA,SACA,UACA,YACA,YACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,SACA,SACA,SACA,UACA,UACA,SACA,SACA,YACA,WACA,YACA,WACA,SACA,UACA,SACA,SACA,YACA,SACA,SACA,WACA,UACA,WACA,UACA,YACA,WACA,WACA,WACA,UACA,WACA,QACA,OACA,SACA,OACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,WACA,UACA,QACA,SACA,WACA,UACA,UACA,YACA,SACA,YACA,YACA,WACA,SACA,SACA,UACA,YACA,SACA,SACA,UACA,QACA,QACA,WACA,YACA,YACA,WACA,WACA,WACA,SACA,YACA,YACA,WACA,UACA,QACA,UACA,YACA,YACA,SACA,WACA,WACA,YACA,YACA,WACA,UACA,UACA,WACA,UACA,QACA,YACA,SACA,YACA,WACA,UACA,QACA,WACA,YACA,YACA,UACA,UACA,OACA,YACA,YACA,YACA,WACA,WACA,QACA,WACA,UACA,OACA,QACA,YACA,SACA,QACA,UACA,UACA,WACA,YACA,YACA,YACA,SACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,YACA,YACA,YACA,YACA,QACA,OACA,YACA,SACA,UACA,SACA,QACA,WACA,OACA,SACA,YACA,WACA,WACA,SACA,UACA,YACA,YACA,YACA,YACA,YACA,QACA,SACA,WACA,YACA,SACA,SACA,WACA,UACA,YACA,WACA,UACA,UACA,UACA,YACA,WACA,WACA,YACA,SACA,WACA,UACA,YACA,YACA,WACA,YACA,SACA,YACA,WACA,WACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,SACA,WACA,SACA,YACA,UACA,UACA,SACA,YACA,UACA,UACA,OACA,SACA,UACA,SACA,OACA,QACA,UACA,OACA,WACA,SACA,SACA,WACA,UACA,UACA,YACA,QACA,UACA,OACA,UACA,YACA,YACA,UACA,UACA,WACA,SACA,UACA,WACA,SACA,YACA,YACA,UACA,WACA,WACA,MACA,QACA,UACA,SACA,SACA,OACA,OACA,SACA,SACA,WACA,WACA,WACA,WACA,WACA,QACA,QACA,UACA,SACA,UACA,WACA,YACA,WACA,SACA,SACA,QACA,SACA,SACA,WACA,UACA,YACA,QACA,QACA,QACA,QACA,UACA,SACA,WACA,WACA,YACA,UACA,UACA,QACA,WACA,QACA,UACA,SACA,WACA,SACA,SACA,SACA,UACA,OACA,SACA,QACA,WACA,SACA,WACA,WACA,UACA,UACA,YACA,QACA,WACA,QACA,UACA,WACA,WACA,YACA,SACA,UACA,UACA,WACA,MACA,OACA,UACA,UACA,WACA,WACA,YACA,YACA,QACA,UACA,QACA,QACA,YACA,UACA,WACA,WACA,OACA,UACA,YACA,YACA,YACA,WACA,WACA,SACA,QACA,UACA,WACA,SACA,WACA,UACA,YACA,YACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,OACA,UACA,SACA,QACA,QACA,SACA,SACA,QACA,QACA,OACA,QACA,QACA,QACA,WACA,OACA,SACA,UACA,QACA,WACA,UACA,UACA,QACA,SACA,UACA,WACA,OACA,MACA,MACA,OACA,QACA,OACA,WACA,SACA,WACA,SACA,WACA,SACA,OACA,OACA,OACA,UACA,WACA,WACA,YACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,YACA,WACA,UACA,WACA,WACA,WACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,WACA,WACA,UACA,YACA,WACA,YACA,WACA,QACA,QACA,UACA,UACA,YACA,SACA,UACA,QACA,WACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,UACA,WACA,SACA,YACA,WACA,YACA,WACA,UACA,WACA,YACA,WACA,UACA,SACA,WACA,SACA,YACA,WACA,QACA,UACA,UACA,WACA,SACA,SACA,QACA,SACA,WACA,YACA,YACA,WACA,QACA,SACA,UACA,QACA,UACA,YACA,SACA,OACA,QACA,YACA,UACA,WACA,WACA,YACA,SACA,QACA,QACA,SACA,WACA,YACA,WACA,QACA,YACA,SACA,MACA,QACA,MACA,YACA,UACA,QACA,OACA,YACA,WACA,UACA,SACA,SACA,UACA,YACA,SACA,YACA,WACA,OACA,SACA,QACA,SACA,SACA,WACA,UACA,MACA,SACA,UACA,SACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,MACA,WACA,YACA,SACA,UACA,WACA,QACA,OACA,OACA,SACA,OACA,QACA,OACA,SACA,MACA,SACA,UACA,WACA,WACA,QACA,UACA,YACA,SACA,QACA,YACA,WACA,YACA,UACA,YACA,WACA,WACA,SACA,YACA,YACA,YACA,WACA,YACA,UACA,YACA,UACA,UACA,UACA,QACA,QACA,YACA,SACA,UACA,YACA,QACA,OACA,WACA,YACA,WACA,SACA,WACA,SACA,SACA,SACA,QACA,UACA,SACA,WACA,QACA,QACA,SACA,QACA,UACA,UACA,UACA,QACA,YACA,SACA,YACA,UACA,SACA,WACA,YACA,QACA,UACA,QACA,WACA,UACA,WACA,UACA,SACA,UACA,UACA,UACA,UACA,SACA,UACA,SACA,UACA,WACA,WACA,SACA,YACA,YACA,UACA,WACA,QACA,QACA,QACA,UACA,WACA,UACA,OACA,SACA,YACA,UACA,SACA,OACA,OACA,WACA,OACA,UACA,QACA,WACA,WACA,YACA,OACA,UACA,QACA,UACA,OACA,OACA,OACA,QACA,WACA,YACA,QACA,SACA,OACA,SACA,OACA,SACA,WACA,OACA,UACA,SACA,SACA,SACA,OACA,OACA,OACA,WACA,YACA,WACA,YACA,SACA,SACA,WACA,UACA,YACA,WACA,WACA,UACA,WACA,QACA,WACA,WACA,UACA,UACA,UACA,WACA,UACA,SACA,UACA,QACA,WACA,QACA,QACA,UACA,YACA,QACA,QACA,YACA,UACA,UACA,YACA,WACA,SACA,YACA,SACA,YACA,YACA,UACA,QACA,OACA,UACA,WACA,WACA,YACA,SACA,QACA,UACA,WACA,OACA,YACA,OACA,QACA,YACA,WACA,WACA,QACA,UACA,YACA,QACA,YACA,QACA,SACA,WACA,OACA,UACA,OACA,WACA,SACA,QACA,QACA,SACA,WACA,SACA,QACA,SACA,UACA,QACA,QACA,SACA,UACA,QACA,OACA,SACA,WACA,WACA,UACA,UACA,YACA,UACA,WACA,SACA,QACA,YACA,WACA,WACA,QACA,UACA,YACA,QACA,OACA,WACA,QACA,OACA,UACA,UACA,YACA,UACA,QACA,SACA,WACA,OACA,OACA,QACA,QACA,UACA,OACA,SACA,MACA,UACA,WACA,YACA,WACA,UACA,WACA,SACA,SACA,UACA,UACA,MACA,UACA,QACA,OACA,UACA,OACA,SACA,SACA,YACA,SACA,UACA,SACA,UACA,YACA,UACA,WACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,SACA,UACA,WACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,SACA,YACA,SACA,QACA,YACA,YACA,UACA,WACA,UACA,YACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,WACA,YACA,SACA,WACA,WACA,WACA,YACA,WACA,QACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,UACA,QACA,UACA,OACA,SACA,QACA,UACA,YACA,QACA,SACA,YACA,WACA,UACA,WACA,YACA,OACA,UACA,SACA,QACA,QACA,SACA,WACA,SACA,WACA,SACA,OACA,WACA,WACA,YACA,YACA,YACA,SACA,SACA,YACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,UACA,WACA,YACA,YACA,UACA,WACA,OACA,OACA,QACA,UACA,YACA,UACA,QACA,UACA,YACA,QACA,SACA,SACA,SACA,UACA,UACA,WACA,WACA,UACA,YACA,QACA,WACA,QACA,SACA,SACA,YACA,QACA,WACA,SACA,UACA,UACA,UACA,UACA,QACA,YACA,WACA,WACA,UACA,WACA,SACA,SACA,WACA,OACA,MACA,OACA,OACA,OACA,QACA,SACA,WACA,SACA,QACA,YACA,WACA,UACA,SACA,YACA,WACA,YACA,WACA,WACA,SACA,SACA,YACA,YACA,SACA,WACA,SACA,OACA,SACA,UACA,WACA,WACA,SACA,SACA,SACA,UACA,SACA,YACA,UACA,QACA,OACA,UACA,OACA,SACA,YACA,MACA,SACA,UACA,WACA,YACA,WACA,YACA,YACA,YACA,SACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,MACA,UACA,QACA,OACA,OACA,MACA,WACA,WACA,WACA,UACA,YACA,YACA,WACA,WACA,WACA,SACA,QACA,OACA,QACA,WACA,SACA,SACA,YACA,WACA,WACA,QACA,YACA,WACA,UACA,WACA,UACA,YACA,WACA,UACA,YACA,WACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,SACA,SACA,YACA,UACA,WACA,YACA,YACA,WACA,SACA,UACA,YACA,YACA,WACA,UACA,YACA,YACA,QACA,WACA,YACA,WACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,UACA,WACA,YACA,WACA,UACA,YACA,YACA,YACA,UACA,YACA,SACA,WACA,SACA,SACA,MACA,OACA,SACA,OACA,QACA,MACA,OACA,YACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,WACA,YACA,YACA,UACA,QACA,UACA,YACA,UACA,OACA,YACA,SACA,QACA,MACA,MACA,SACA,SACA,YACA,UACA,WACA,YACA,SACA,YACA,WACA,MACA,UACA,UACA,SACA,UACA,UACA,WACA,QACA,OACA,QACA,UACA,UACA,OACA,UACA,YACA,OACA,OACA,YACA,UACA,QACA,SACA,SACA,MACA,QACA,SACA,QACA,SACA,WACA,OACA,UACA,UACA,MACA,SACA,YACA,SACA,UACA,OACA,UACA,WACA,WACA,YACA,QACA,OACA,MACA,SACA,WACA,YACA,SACA,UACA,WACA,YACA,WACA,QACA,YACA,WACA,YACA,OACA,SACA,WACA,UACA,QACA,YACA,QACA,UACA,UACA,OACA,SACA,QACA,OACA,WACA,WACA,OACA,SACA,UACA,SACA,UACA,WACA,SACA,QACA,OACA,UACA,YACA,UACA,SACA,WACA,WACA,QACA,WACA,UACA,SACA,QACA,QACA,SACA,WACA,OACA,MACA,OACA,SACA,OACA,WACA,WACA,SACA,OACA,OACA,WACA,WACA,YACA,WACA,OACA,SACA,SACA,WACA,SACA,WACA,UACA,UACA,UACA,OACA,UACA,UACA,YACA,WACA,SACA,UACA,UACA,OACA,SACA,QACA,OACA,UACA,WACA,OACA,QACA,WACA,QACA,QACA,QACA,SACA,UACA,QACA,OACA,UACA,UACA,WACA,YACA,WACA,SACA,SACA,QACA,UACA,WACA,SACA,UACA,SACA,OACA,OACA,QACA,SACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,QACA,UACA,SACA,QACA,SACA,UACA,SACA,OACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,WACA,UACA,SACA,WACA,SACA,UACA,UACA,SACA,WACA,SACA,WACA,SACA,WACA,OACA,WACA,OACA,SACA,QACA,SACA,SACA,WACA,UACA,UACA,YACA,OACA,UACA,SACA,YACA,UACA,QACA,OACA,SACA,OACA,OACA,UACA,SACA,UACA,YACA,WACA,SACA,UACA,QACA,WACA,SACA,WACA,YACA,YACA,SACA,UACA,YACA,UACA,UACA,WACA,MACA,OACA,SACA,UACA,UACA,WACA,SACA,WACA,WACA,SACA,QACA,QACA,OACA,OACA,UACA,YACA,QACA,QACA,UACA,WACA,OACA,QACA,WACA,WACA,SACA,SACA,WACA,UACA,OACA,OACA,MACA,UACA,UACA,SACA,OACA,OACA,WACA,YACA,SACA,SACA,SACA,UACA,QACA,SACA,QACA,YACA,UACA,SACA,SACA,YACA,YACA,QACA,UACA,YACA,WACA,YACA,YACA,SACA,WACA,UACA,SACA,YACA,WACA,YACA,UACA,UACA,SACA,QACA,WACA,WACA,YACA,YACA,OACA,QACA,OACA,YACA,OACA,SACA,WACA,SACA,YACA,UACA,YACA,WACA,QACA,YACA,SACA,QACA,YACA,WACA,WACA,SACA,WACA,WACA,QACA,OACA,UACA,YACA,WACA,UACA,SACA,UACA,WACA,QACA,YACA,WACA,YACA,YACA,YACA,UACA,YACA,WACA,WACA,SACA,WACA,UACA,YACA,WACA,WACA,QACA,YACA,SACA,YACA,OACA,OACA,SACA,UACA,YACA,UACA,WACA,UACA,WACA,UACA,YACA,WACA,SACA,SACA,QACA,QACA,YACA,UACA,UACA,UACA,YACA,WACA,YACA,SACA,UACA,UACA,YACA,QACA,UACA,SACA,UACA,QACA,WACA,SACA,SACA,SACA,OACA,MACA,WACA,YACA,UACA,UACA,WACA,QACA,QACA,YACA,YACA,SACA,WACA,SACA,SACA,UACA,WACA,SACA,YACA,SACA,UACA,SACA,QACA,YACA,SACA,YACA,YACA,UACA,SACA,YACA,SACA,UACA,WACA,SACA,UACA,UACA,UACA,YACA,WACA,UACA,WACA,YACA,WACA,WACA,YACA,OACA,SACA,YACA,YACA,SACA,SACA,SACA,SACA,WACA,WACA,WACA,QACA,WACA,WACA,UACA,QACA,SACA,YACA,SACA,UACA,SACA,WACA,WACA,UACA,QACA,SACA,SACA,WACA,SACA,UACA,YACA,SACA,UACA,YACA,WACA,QACA,WACA,OACA,YACA,WACA,WACA,UACA,MACA,YACA,SACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,YACA,UACA,WACA,UACA,YACA,QACA,SACA,WACA,SACA,YACA,WACA,UACA,WACA,YACA,YACA,YACA,WACA,MACA,SACA,WACA,UACA,YACA,WACA,WACA,WACA,QACA,YACA,WACA,YACA,YACA,UACA,WACA,SACA,QACA,OACA,WACA,YACA,SACA,WACA,YACA,SACA,YACA,QACA,QACA,YACA,WACA,UACA,WACA,UACA,WACA,QACA,YACA,YACA,QACA,QACA,UACA,OACA,QACA,SACA,QACA,SACA,OACA,OACA,MACA,MACA,WACA,QACA,OACA,SACA,UACA,WACA,WACA,YACA,YACA,SACA,WACA,QACA,YACA,UACA,QACA,QACA,WACA,UACA,YACA,SACA,QACA,YACA,QACA,YACA,WACA,SACA,UACA,YACA,WACA,QACA,QACA,SACA,YACA,QACA,UACA,UACA,SACA,YACA,QACA,UACA,SACA,WACA,OACA,YACA,YACA,SACA,OACA,SACA,SACA,SACA,UACA,YACA,UACA,OACA,QACA,MACA,OACA,OACA,SACA,QACA,YACA,OACA,SACA,SACA,UACA,QACA,SACA,UACA,YACA,WACA,SACA,WACA,UACA,SACA,WACA,WACA,WACA,YACA,OACA,SACA,UACA,SACA,WACA,SACA,WACA,SACA,YACA,SACA,SACA,WACA,WACA,YACA,WACA,YACA,YACA,UACA,UACA,OACA,SACA,OACA,UACA,QACA,OACA,MACA,YACA,SACA,WACA,WACA,SACA,UACA,QACA,OACA,SACA,WACA,WACA,QACA,QACA,SACA,SACA,WACA,YACA,QACA,WACA,QACA,UACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,WACA,UACA,WACA,YACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,WACA,YACA,QACA,SACA,QACA,MACA,MACA,QACA,MACA,YACA,WACA,WACA,SACA,WACA,UACA,WACA,YACA,SACA,YACA,OACA,UACA,YACA,YACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,SACA,YACA,SACA,UACA,YACA,YACA,WACA,WACA,SACA,QACA,SACA,UACA,SACA,UACA,UACA,OACA,MACA,OACA,WACA,OACA,MACA,QACA,WACA,QACA,OACA,UACA,WACA,OACA,WACA,UACA,WACA,UACA,QACA,SACA,WACA,OACA,WACA,QACA,UACA,YACA,UACA,OACA,SACA,OACA,OACA,OACA,OACA,UACA,OACA,OACA,WACA,UACA,YACA,YACA,YACA,WACA,QACA,UACA,WACA,SACA,WACA,WACA,YACA,YACA,MACA,YACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,UACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,QACA,WACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,SACA,UACA,UACA,WACA,WACA,UACA,YACA,YACA,UACA,UACA,SACA,UACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,OACA,UACA,UACA,WACA,UACA,WACA,WACA,YACA,YACA,WACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,WACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,UACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,UACA,WACA,WACA,WACA,UACA,YACA,WACA,YACA,MACA,SACA,UACA,YACA,UACA,YACA,SACA,WACA,SACA,QACA,QACA,YACA,UACA,WACA,WACA,WACA,SACA,SACA,UACA,SACA,WACA,UACA,QACA,QACA,SACA,UACA,SACA,YACA,OACA,WACA,YACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,QACA,WACA,OACA,YACA,QACA,UACA,WACA,YACA,UACA,YACA,SACA,QACA,YACA,YACA,SACA,QACA,UACA,UACA,WACA,YACA,SACA,UACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,WACA,YACA,SACA,UACA,YACA,SACA,SACA,QACA,UACA,UACA,SACA,WACA,SACA,SACA,UACA,UACA,UACA,SACA,UACA,YACA,SACA,UACA,YACA,QACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,QACA,SACA,SACA,UACA,SACA,WACA,UACA,QACA,YACA,SACA,WACA,YACA,OACA,WACA,UACA,QACA,YACA,UACA,SACA,YACA,YACA,SACA,WACA,QACA,YACA,WACA,SACA,SACA,UACA,UACA,WACA,SACA,QACA,QACA,SACA,UACA,WACA,UACA,SACA,SACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,UACA,SACA,OACA,SACA,WACA,UACA,SACA,UACA,UACA,YACA,WACA,UACA,YACA,QACA,SACA,UACA,WACA,YACA,MACA,WACA,UACA,QACA,YACA,YACA,YACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,QACA,OACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,QACA,OACA,YACA,YACA,SACA,YACA,QACA,SACA,WACA,QACA,YACA,SACA,YACA,YACA,QACA,UACA,UACA,SACA,UACA,YACA,SACA,UACA,YACA,QACA,YACA,QACA,SACA,WACA,UACA,UACA,WACA,QACA,UACA,QACA,SACA,UACA,UACA,SACA,WACA,UACA,WACA,WACA,UACA,WACA,YACA,YACA,WACA,WACA,SACA,UACA,YACA,YACA,UACA,WACA,YACA,WACA,UACA,UACA,WACA,UACA,YACA,WACA,QACA,WACA,QACA,SACA,YACA,SACA,WACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,UACA,WACA,SACA,OACA,YACA,UACA,QACA,MACA,OACA,OACA,OACA,UACA,UACA,WACA,YACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,SACA,QACA,SACA,WACA,QACA,OACA,YACA,UACA,YACA,UACA,SACA,OACA,OACA,UACA,OACA,SACA,SACA,QACA,WACA,WACA,UACA,WACA,YACA,OACA,SACA,WACA,WACA,SACA,YACA,WACA,UACA,SACA,WACA,QACA,OACA,SACA,WACA,WACA,SACA,UACA,SACA,UACA,WACA,SACA,SACA,UACA,YACA,UACA,UACA,QACA,SACA,WACA,QACA,UACA,OACA,WACA,YACA,UACA,QACA,SACA,MACA,WACA,SACA,WACA,UACA,WACA,YACA,SACA,UACA,WACA,YACA,UACA,WACA,WACA,UACA,YACA,UACA,SACA,WACA,YACA,UACA,UACA,SACA,YACA,YACA,UACA,YACA,WACA,YACA,YACA,SACA,UACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,SACA,UACA,SACA,YACA,YACA,YACA,SACA,UACA,YACA,UACA,QACA,UACA,YACA,UACA,YACA,YACA,WACA,UACA,SACA,UACA,UACA,YACA,UACA,UACA,WACA,SACA,YACA,WACA,QACA,SACA,YACA,UACA,UACA,SACA,QACA,WACA,QACA,QACA,QACA,SACA,SACA,WACA,UACA,UACA,YACA,QACA,YACA,WACA,WACA,YACA,QACA,UACA,YACA,UACA,YACA,UACA,WACA,YACA,WACA,WACA,UACA,UACA,UACA,UACA,YACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,QACA,QACA,YACA,SACA,WACA,YACA,SACA,YACA,WACA,WACA,YACA,WACA,UACA,QACA,UACA,YACA,WACA,SACA,YACA,YACA,WACA,WACA,QACA,WACA,SACA,SACA,WACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,UACA,UACA,WACA,YACA,QACA,SACA,QACA,YACA,QACA,UACA,MACA,UACA,SACA,YACA,SACA,SACA,MACA,OACA,YACA,OACA,UACA,QACA,YACA,OACA,SACA,SACA,QACA,WACA,YACA,YACA,UACA,WACA,OACA,QACA,SACA,QACA,WACA,YACA,WACA,SACA,WACA,YACA,QACA,UACA,WACA,SACA,SACA,UACA,SACA,SACA,WACA,YACA,OACA,QACA,YACA,WACA,UACA,WACA,WACA,YACA,SACA,YACA,UACA,WACA,UACA,SACA,QACA,UACA,OACA,SACA,WACA,UACA,YACA,SACA,QACA,WACA,QACA,WACA,QACA,UACA,YACA,YACA,UACA,UACA,QACA,UACA,UACA,SACA,YACA,YACA,WACA,UACA,SACA,QACA,UACA,UACA,YACA,YACA,YACA,QACA,QACA,QACA,UACA,YACA,QACA,OACA,SACA,YACA,WACA,YACA,QACA,QACA,OACA,SACA,SACA,OACA,SACA,QACA,SACA,WACA,YACA,WACA,YACA,WACA,QACA,SACA,SACA,OACA,OACA,SACA,SACA,UACA,SACA,UACA,UACA,WACA,UACA,SACA,OACA,SACA,QACA,SACA,WACA,OACA,SACA,QACA,YACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,QACA,OACA,SACA,SACA,OACA,UACA,SACA,QACA,SACA,SACA,UACA,YACA,WACA,QACA,YACA,WACA,WACA,UACA,WACA,OACA,YACA,WACA,UACA,YACA,YACA,YACA,WACA,SACA,WACA,WACA,WACA,UACA,YACA,SACA,QACA,UACA,SACA,SACA,UACA,SACA,UACA,UACA,WACA,WACA,SACA,SACA,YACA,SACA,SACA,SACA,SACA,YACA,YACA,UACA,SACA,WACA,UACA,WACA,YACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,YACA,SACA,SACA,UACA,SACA,WACA,WACA,SACA,YACA,YACA,UACA,WACA,WACA,YACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,YACA,UACA,WACA,WACA,WACA,YACA,YACA,SACA,SACA,UACA,SACA,WACA,WACA,WACA,WACA,YACA,UACA,UACA,WACA,UACA,UACA,YACA,SACA,YACA,YACA,UACA,SACA,WACA,YACA,SACA,SACA,UACA,UACA,SACA,SACA,SACA,WACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,YACA,QACA,SACA,SACA,YACA,YACA,UACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,YACA,UACA,WACA,WACA,QACA,QACA,UACA,UACA,YACA,WACA,WACA,WACA,UACA,QACA,UACA,YACA,UACA,SACA,SACA,SACA,WACA,SACA,YACA,OACA,SACA,SACA,UACA,UACA,WACA,SACA,WACA,WACA,YACA,YACA,QACA,UACA,YACA,SACA,UACA,SACA,YACA,UACA,UACA,UACA,WACA,SACA,WACA,YACA,YACA,WACA,YACA,YACA,UACA,UACA,WACA,WACA,YACA,WACA,SACA,SACA,SACA,WACA,UACA,SACA,UACA,YACA,YACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,WACA,SACA,WACA,UACA,SACA,UACA,QACA,WACA,SACA,YACA,SACA,YACA,YACA,UACA,UACA,WACA,YACA,YACA,YACA,OACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,YACA,UACA,QACA,SACA,WACA,UACA,SACA,WACA,WACA,WACA,WACA,SACA,SACA,QACA,UACA,UACA,YACA,YACA,YACA,WACA,WACA,UACA,WACA,YACA,YACA,YACA,SACA,WACA,WACA,WACA,WACA,SACA,WACA,UACA,WACA,SACA,SACA,WACA,YACA,YACA,SACA,WACA,YACA,SACA,YACA,YACA,UACA,UACA,UACA,UACA,WACA,SACA,SACA,WACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YACA,YACA,QACA,SACA,UACA,SACA,UACA,UACA,WACA,QACA,SACA,UACA,UACA,UACA,SACA,UACA,YACA,WACA,WACA,UACA,YACA,YACA,SACA,YACA,SACA,WACA,UACA,YACA,UACA,UACA,WACA,YACA,SACA,SACA,WACA,YACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,QACA,SACA,UACA,OACA,SACA,SACA,WACA,UACA,UACA,WACA,SACA,OACA,SACA,UACA,OACA,UACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,UACA,OACA,UACA,WACA,WACA,UACA,SACA,WACA,UACA,OACA,SACA,OACA,UACA,UACA,QACA,QACA,YACA,WACA,YACA,YACA,UACA,WACA,SACA,UACA,QACA,UACA,OACA,QACA,WACA,SACA,WACA,SACA,SACA,WACA,YACA,UACA,WACA,YACA,WACA,QACA,QACA,QACA,OACA,OACA,SACA,SACA,OACA,SACA,UACA,UACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,UACA,QACA,SACA,QACA,SACA,SACA,UACA,SACA,UACA,OACA,SACA,SACA,MACA,SACA,OACA,SACA,WACA,UACA,QACA,YACA,UACA,SACA,UACA,QACA,OACA,SACA,UACA,QACA,OACA,OACA,OACA,MACA,UACA,WACA,YACA,SACA,YACA,SACA,YACA,UACA,WACA,QACA,UACA,SACA,YACA,YACA,SACA,WACA,UACA,OACA,OACA,UACA,QACA,OACA,QACA,OACA,QACA,SACA,WACA,SACA,SACA,QACA,SACA,QACA,OACA,WACA,SACA,UACA,YACA,YACA,OACA,SACA,WACA,WACA,WACA,YACA,SACA,UACA,WACA,UACA,YACA,UACA,SACA,WACA,UACA,UACA,YACA,UACA,YACA,YACA,WACA,QACA,WACA,YACA,OACA,QACA,UACA,YACA,QACA,UACA,YACA,UACA,OACA,YACA,QACA,UACA,WACA,QACA,YACA,YACA,UACA,WACA,WACA,YACA,QACA,QACA,SACA,UACA,QACA,UACA,SACA,QACA,YACA,MACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,WACA,OACA,UACA,UACA,WACA,QACA,YACA,SACA,WACA,YACA,SACA,QACA,UACA,YACA,WACA,QACA,YACA,SACA,WACA,YACA,SACA,WACA,YACA,WACA,UACA,UACA,YACA,QACA,QACA,WACA,QACA,QACA,UACA,QACA,SACA,YACA,YACA,SACA,YACA,SACA,UACA,QACA,WACA,SACA,YACA,UACA,WACA,WACA,SACA,WACA,WACA,WACA,YACA,YACA,QACA,UACA,UACA,SACA,WACA,SACA,WACA,YACA,SACA,SACA,UACA,YACA,WACA,WACA,UACA,UACA,WACA,QACA,QACA,WACA,YACA,SACA,UACA,WACA,YACA,YACA,SACA,UACA,SACA,YACA,SACA,UACA,WACA,WACA,QACA,SACA,WACA,WACA,WACA,SACA,WACA,UACA,UACA,UACA,SACA,WACA,YACA,YACA,WACA,OACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,SACA,UACA,OACA,SACA,WACA,YACA,YACA,YACA,YACA,WACA,QACA,YACA,SACA,SACA,SACA,WACA,YACA,SACA,SACA,YACA,UACA,WACA,QACA,UACA,UACA,SACA,WACA,UACA,UACA,SACA,WACA,QACA,YACA,YACA,UACA,UACA,WACA,SACA,QACA,SACA,UACA,YACA,UACA,SACA,QACA,QACA,WACA,UACA,YACA,UACA,QACA,QACA,UACA,UACA,QACA,UACA,WACA,QACA,SACA,QACA,UACA,QACA,YACA,UACA,UACA,UACA,YACA,QACA,SACA,OACA,QACA,QACA,QACA,QACA,UACA,SACA,WACA,SACA,SACA,UACA,WACA,YACA,SACA,UACA,SACA,UACA,QACA,UACA,YACA,UACA,QACA,OACA,QACA,YACA,QACA,QACA,WACA,UACA,WACA,WACA,QACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,YACA,SACA,QACA,QACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,QACA,UACA,YACA,YACA,WACA,QACA,SACA,WACA,WACA,YACA,WACA,SACA,SACA,SACA,SACA,SACA,UACA,WACA,YACA,SACA,QACA,SACA,WACA,UACA,UACA,YACA,OACA,QACA,OACA,MACA,UACA,WACA,UACA,SACA,SACA,SACA,OACA,UACA,WACA,WACA,SACA,SACA,UACA,OACA,YACA,QACA,OACA,OACA,SACA,YACA,SACA,YACA,SACA,WACA,SACA,UACA,YACA,SACA,UACA,SACA,WACA,WACA,UACA,SACA,UACA,MACA,QACA,SACA,SACA,SACA,UACA,WACA,YACA,UACA,UACA,QACA,UACA,WACA,YACA,UACA,UACA,OACA,SACA,SACA,WACA,SACA,UACA,YACA,WACA,WACA,UACA,SACA,SACA,SACA,OACA,QACA,QACA,QACA,SACA,UACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,YACA,UACA,WACA,WACA,QACA,UACA,WACA,WACA,UACA,QACA,YACA,UACA,OACA,UACA,UACA,WACA,YACA,SACA,QACA,OACA,UACA,QACA,WACA,YACA,UACA,WACA,QACA,UACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,YACA,SACA,SACA,UACA,QACA,SACA,YACA,UACA,WACA,YACA,WACA,WACA,QACA,WACA,YACA,SACA,OACA,OACA,SACA,WACA,SACA,SACA,UACA,WACA,SACA,OACA,YACA,UACA,SACA,OACA,OACA,QACA,QACA,MACA,QACA,UACA,YACA,UACA,WACA,UACA,QACA,WACA,QACA,YACA,QACA,QACA,QACA,UACA,QACA,OACA,SACA,YACA,YACA,UACA,QACA,UACA,SACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,QACA,UACA,UACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,WACA,QACA,QACA,UACA,WACA,SACA,UACA,SACA,QACA,UACA,UACA,QACA,QACA,WACA,YACA,YACA,UACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,WACA,WACA,YACA,WACA,QACA,OACA,QACA,UACA,SACA,WACA,QACA,YACA,YACA,WACA,YACA,UACA,WACA,UACA,WACA,SACA,YACA,YACA,WACA,YACA,SACA,QACA,YACA,UACA,WACA,YACA,UACA,WACA,QACA,OACA,SACA,YACA,SACA,SACA,QACA,SACA,QACA,QACA,UACA,SACA,UACA,UACA,WACA,UACA,WACA,QACA,SACA,WACA,YACA,UACA,YACA,WACA,YACA,UACA,WACA,SACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,SACA,SACA,YACA,SACA,SACA,UACA,QACA,WACA,SACA,QACA,QACA,QACA,WACA,SACA,SACA,WACA,YACA,UACA,UACA,WACA,SACA,UACA,SACA,QACA,SACA,SACA,SACA,QACA,QACA,QACA,SACA,YACA,YACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,UACA,WACA,WACA,QACA,SACA,WACA,SACA,WACA,WACA,YACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,QACA,WACA,WACA,SACA,SACA,SACA,YACA,UACA,YACA,YACA,SACA,QACA,UACA,QACA,QACA,UACA,WACA,WACA,YACA,UACA,WACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,QACA,QACA,SACA,WACA,YACA,SACA,UACA,WACA,WACA,YACA,UACA,QACA,WACA,UACA,YACA,UACA,WACA,SACA,WACA,UACA,WACA,UACA,YACA,UACA,UACA,WACA,QACA,QACA,SACA,YACA,SACA,UACA,SACA,UACA,YACA,UACA,QACA,YACA,WACA,WACA,YACA,QACA,QACA,QACA,YACA,WACA,YACA,YACA,UACA,OACA,SACA,UACA,OACA,SACA,UACA,YACA,YACA,WACA,YACA,UACA,OACA,QACA,UACA,UACA,YACA,SACA,WACA,YACA,QACA,YACA,YACA,UACA,WACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,UACA,YACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,YACA,YACA,YACA,UACA,QACA,QACA,SACA,QACA,QACA,YACA,YACA,WACA,UACA,UACA,WACA,YACA,WACA,UACA,YACA,YACA,QACA,QACA,QACA,WACA,UACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,UACA,QACA,QACA,SACA,SACA,SACA,WACA,YACA,QACA,SACA,UACA,SACA,WACA,SACA,SACA,SACA,SACA,WACA,SACA,WACA,SACA,SACA,WACA,YACA,WACA,YACA,SACA,YACA,UACA,WACA,QACA,SACA,QACA,UACA,UACA,UACA,WACA,SACA,QACA,UACA,UACA,SACA,QACA,UACA,WACA,SACA,UACA,YACA,QACA,QACA,UACA,UACA,WACA,QACA,SACA,WACA,SACA,UACA,YACA,UACA,WACA,SACA,QACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,YACA,UACA,WACA,SACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,SACA,UACA,WACA,YACA,YACA,YACA,UACA,YACA,YACA,UACA,UACA,WACA,YACA,YACA,UACA,WACA,SACA,WACA,WACA,UACA,SACA,SACA,YACA,UACA,YACA,OACA,UACA,SACA,SACA,OACA,WACA,YACA,UACA,SACA,YACA,WACA,QACA,UACA,QACA,WACA,WACA,WACA,SACA,UACA,UACA,UACA,SACA,OACA,SACA,WACA,YACA,SACA,YACA,YACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,SACA,WACA,SACA,UACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,YACA,SACA,UACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,YACA,YACA,WACA,SACA,WACA,UACA,YACA,WACA,QACA,UACA,UACA,WACA,YACA,YACA,OACA,YACA,UACA,YACA,OACA,WACA,QACA,OACA,QACA,QACA,QACA,QACA,QACA,SACA,UACA,UACA,YACA,YACA,UACA,WACA,WACA,WACA,UACA,WACA,QACA,QACA,SACA,SACA,UACA,UACA,QACA,SACA,QACA,QACA,QACA,WACA,WACA,YACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,YACA,YACA,QACA,SACA,UACA,UACA,QACA,WACA,SACA,SACA,YACA,UACA,YACA,UACA,SACA,WACA,QACA,OACA,UACA,WACA,UACA,UACA,WACA,UACA,YACA,MACA,UACA,OACA,SACA,SACA,WACA,OACA,QACA,SACA,WACA,QACA,SACA,OACA,SACA,UACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,UACA,OACA,YACA,SACA,SACA,UACA,QACA,SACA,SACA,WACA,OACA,SACA,QACA,YACA,UACA,QACA,WACA,SACA,WACA,SACA,QACA,SACA,QACA,OACA,OACA,UACA,YACA,OACA,QACA,QACA,WACA,WACA,UACA,UACA,YACA,QACA,SACA,WACA,UACA,UACA,YACA,WACA,WACA,QACA,UACA,QACA,QACA,SACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,SACA,QACA,QACA,QACA,WACA,SACA,SACA,WACA,YACA,SACA,SACA,SACA,WACA,SACA,YACA,SACA,WACA,YACA,YACA,UACA,WACA,OACA,QACA,WACA,WACA,OACA,YACA,UACA,QACA,QACA,QACA,SACA,WACA,UACA,OACA,QACA,UACA,UACA,YACA,YACA,WACA,UACA,OACA,SACA,OACA,OACA,QACA,SACA,UACA,YACA,UACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,OACA,UACA,OACA,SACA,SACA,SACA,UACA,YACA,SACA,SACA,SACA,QACA,UACA,QACA,WACA,UACA,QACA,UACA,YACA,UACA,UACA,WACA,YACA,QACA,UACA,SACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,QACA,QACA,SACA,WACA,WACA,OACA,YACA,WACA,YACA,UACA,QACA,SACA,OACA,UACA,UACA,YACA,SACA,SACA,QACA,WACA,SACA,QACA,WACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,WACA,WACA,UACA,YACA,SACA,WACA,WACA,UACA,QACA,SACA,YACA,WACA,UACA,YACA,UACA,WACA,WACA,UACA,OACA,SACA,WACA,UACA,UACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,YACA,SACA,WACA,QACA,SACA,QACA,QACA,UACA,QACA,SACA,YACA,UACA,WACA,WACA,YACA,QACA,MACA,QACA,WACA,UACA,UACA,UACA,MACA,UACA,QACA,SACA,WACA,QACA,SACA,UACA,WACA,WACA,YACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,OACA,MACA,QACA,QACA,QACA,WACA,SACA,YACA,SACA,QACA,QACA,UACA,YACA,OACA,WACA,QACA,QACA,QACA,YACA,UACA,UACA,WACA,SACA,SACA,UACA,SACA,QACA,OACA,QACA,WACA,YACA,QACA,YACA,WACA,SACA,YACA,SACA,YACA,YACA,WACA,UACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,UACA,YACA,WACA,SACA,SACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,UACA,WACA,WACA,YACA,UACA,YACA,YACA,UACA,UACA,SACA,YACA,YACA,UACA,QACA,SACA,UACA,SACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,SACA,YACA,YACA,WACA,UACA,UACA,UACA,UACA,YACA,UACA,YACA,WACA,QACA,YACA,UACA,YACA,SACA,YACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,SACA,YACA,UACA,YACA,WACA,UACA,WACA,UACA,SACA,WACA,SACA,YACA,UACA,WACA,YACA,WACA,YACA,WACA,UACA,YACA,SACA,YACA,YACA,YACA,SACA,WACA,UACA,YACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,SACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,SACA,UACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,YACA,WACA,UACA,YACA,SACA,SACA,UACA,WACA,UACA,UACA,YACA,YACA,QACA,YACA,YACA,YACA,YACA,YACA,QACA,WACA,YACA,SACA,WACA,OACA,YACA,WACA,WACA,UACA,SACA,YACA,YACA,UACA,UACA,UACA,WACA,WACA,YACA,UACA,SACA,YACA,YACA,YACA,YACA,UACA,WACA,WACA,QACA,YACA,WACA,WACA,WACA,YACA,YACA,UACA,WACA,WACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,UACA,WACA,UACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,UACA,YACA,YACA,WACA,YACA,SACA,WACA,SACA,YACA,WACA,UACA,WACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,SACA,YACA,WACA,UACA,WACA,UACA,YACA,YACA,SACA,SACA,YACA,YACA,YACA,WACA,SACA,YACA,YACA,WACA,SACA,YACA,YACA,UACA,SACA,YACA,SACA,WACA,WACA,SACA,SACA,WACA,UACA,WACA,YACA,YACA,UACA,WACA,WACA,YACA,WACA,WACA,SACA,WACA,YACA,SACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,SACA,WACA,WACA,SACA,WACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,YACA,YACA,WACA,WACA,WACA,SACA,UACA,WACA,YACA,UACA,UACA,YACA,WACA,UACA,WACA,WACA,SACA,QACA,QACA,UACA,WACA,WACA,YACA,SACA,YACA,YACA,YACA,YACA,UACA,YACA,SACA,UACA,WACA,UACA,UACA,WACA,SACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,WACA,YACA,UACA,WACA,YACA,SACA,WACA,YACA,UACA,QACA,YACA,SACA,WACA,YACA,SACA,UACA,YACA,YACA,YACA,SACA,YACA,WACA,UACA,UACA,YACA,YACA,QACA,SACA,UACA,WACA,YACA,SACA,UACA,UACA,WACA,SACA,SACA,SACA,WACA,YACA,SACA,OACA,QACA,UACA,WACA,UACA,SACA,SACA,UACA,SACA,UACA,WACA,UACA,UACA,WACA,WACA,UACA,SACA,UACA,SACA,WACA,SACA,SACA,UACA,QACA,SACA,WACA,UACA,SACA,SACA,YACA,UACA,SACA,QACA,UACA,OACA,YACA,OACA,QACA,QACA,UACA,UACA,UACA,SACA,SACA,QACA,UACA,SACA,SACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,QACA,SACA,SACA,YACA,QACA,UACA,SACA,SACA,WACA,UACA,YACA,WACA,WACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,WACA,SACA,WACA,OACA,QACA,SACA,YACA,SACA,WACA,SACA,WACA,UACA,SACA,YACA,WACA,WACA,YACA,UACA,QACA,QACA,YACA,WACA,UACA,UACA,SACA,QACA,UACA,SACA,YACA,WACA,UACA,OACA,SACA,OACA,UACA,OACA,WACA,YACA,SACA,QACA,OACA,WACA,UACA,QACA,WACA,SACA,UACA,WACA,YACA,WACA,UACA,UACA,YACA,WACA,UACA,UACA,YACA,WACA,SACA,SACA,QACA,QACA,UACA,WACA,QACA,OACA,YACA,UACA,WACA,UACA,UACA,SACA,WACA,UACA,QACA,QACA,WACA,WACA,UACA,WACA,YACA,UACA,YACA,QACA,WACA,WACA,UACA,WACA,QACA,UACA,OACA,WACA,SACA,UACA,UACA,QACA,SACA,UACA,QACA,QACA,SACA,YACA,MACA,QACA,SACA,QACA,QACA,QACA,SACA,QACA,OACA,SACA,OACA,UACA,SACA,SACA,QACA,OACA,UACA,SACA,UACA,SACA,WACA,YACA,YACA,WACA,YACA,UACA,SACA,SACA,YACA,UACA,UACA,WACA,YACA,UACA,OACA,UACA,QACA,QACA,WACA,SACA,OACA,WACA,SACA,OACA,QACA,QACA,WACA,QACA,YACA,SACA,QACA,WACA,UACA,QACA,WACA,UACA,WACA,SACA,MACA,OACA,SACA,QACA,SACA,QACA,QACA,YACA,UACA,OACA,OACA,YACA,WACA,UACA,SACA,WACA,WACA,WACA,WACA,SACA,WACA,SACA,YACA,UACA,SACA,YACA,OACA,OACA,QACA,UACA,OACA,OACA,UACA,SACA,WACA,SACA,OACA,QACA,WACA,SACA,OACA,SACA,OACA,OACA,WACA,QACA,UACA,SACA,SACA,WACA,SACA,MACA,OACA,YACA,YACA,YACA,YACA,YACA,UACA,OACA,OACA,SACA,OACA,QACA,OACA,OACA,UACA,UACA,YACA,QACA,YACA,YACA,QACA,QACA,QACA,MACA,UACA,QACA,SACA,WACA,UACA,WACA,SACA,UACA,UACA,UACA,UACA,QACA,UACA,UACA,YACA,UACA,WACA,UACA,YACA,UACA,OACA,QACA,QACA,MACA,UACA,UACA,OACA,OACA,OACA,WACA,WACA,SACA,WACA,QACA,UACA,OACA,MACA,YACA,UACA,QACA,MACA,SACA,QACA,QACA,OACA,SACA,SACA,OACA,QACA,MACA,UACA,QACA,MACA,WACA,OACA,YACA,QACA,YACA,UACA,UACA,QACA,OACA,MACA,SACA,SACA,OACA,SACA,YACA,YACA,UACA,k9CCjmPJ,IAAAS,EAAAp1I,EAAA,KAEAof,EAAApf,EAAA,IAOAkZ,EAAA,WAUI,SAAAA,EAAoBkL,EAAgCupC,EACxC0nF,GADQ5yI,KAAA2hB,aAAgC3hB,KAAAkrD,iBACxClrD,KAAA4yI,uBAoGhB,OAlGIn8H,EAAAja,UAAA62G,eAAA,WACI,OAAwB,MAApBrzG,KAAKozG,YACEpzG,KAAKozG,YACLpzG,KAAK2d,QACL3d,KAAK2d,QAET,MAGLlH,EAAAja,UAAAq2I,mBAAN,6GACyB,SAAM7yI,KAAKkrD,eAAe5sD,IAAIqe,EAAAlI,iBAAiBC,4BAcpE,OAdMo+H,EAAe9hI,EAAAkH,OACf+/G,EAAO6a,GAAW,CACpB7xH,KAAM,KACNm3G,IAAK,KACLxsG,SAAU,KACVmnH,MAAO,KACPC,cAAe,KACfj+G,OAAQ,KACRk+G,SAAU,KACVC,WAAY,MAGVC,EAAU,IAAIR,EAAA/mB,gBAEhBqM,EAAKh3G,MACLjhB,KAAK2d,QAAUw1H,EAAQlyH,KAAOg3G,EAAKh3G,KACnCjhB,KAAK2hB,WAAWq2G,QAAQmb,GACxB,MAGJnzI,KAAKozG,YAAc6kB,EAAKgb,SACxBjzI,KAAKozI,OAASD,EAAQ/a,IAAMH,EAAKG,IACjCp4H,KAAKqzI,YAAcF,EAAQvnH,SAAWqsG,EAAKrsG,SAC3C5rB,KAAK0d,SAAWu6G,EAAK8a,MACrB/yI,KAAKszI,iBAAmBrb,EAAK+a,cAC7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","file":"app/main.164bd5060b8279190884.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([739,2]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export abstract class I18nService {\n locale: string;\n supportedTranslationLocales: string[];\n translationLocale: string;\n collator: Intl.Collator;\n localeNames: Map;\n t: (id: string, p1?: string, p2?: string, p3?: string) => string;\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\n}\n","import { PolicyType } from '../enums/policyType';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { EmergencyAccessAcceptRequest } from '../models/request/emergencyAccessAcceptRequest';\nimport { EmergencyAccessConfirmRequest } from '../models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessInviteRequest } from '../models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessPasswordRequest } from '../models/request/emergencyAccessPasswordRequest';\nimport { EmergencyAccessUpdateRequest } from '../models/request/emergencyAccessUpdateRequest';\nimport { EventRequest } from '../models/request/eventRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { IapCheckRequest } from '../models/request/iapCheckRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KdfRequest } from '../models/request/kdfRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { PolicyRequest } from '../models/request/policyRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\nimport { SendAccessRequest } from '../models/request/sendAccessRequest';\nimport { SendRequest } from '../models/request/sendRequest';\nimport { SetPasswordRequest } from '../models/request/setPasswordRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport {\n EmergencyAccessGranteeDetailsResponse,\n EmergencyAccessGrantorDetailsResponse,\n EmergencyAccessTakeoverResponse,\n EmergencyAccessViewResponse\n} from '../models/response/emergencyAccessResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { PaymentResponse } from '../models/response/paymentResponse';\nimport { PlanResponse } from '../models/response/planResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { PreloginResponse } from '../models/response/preloginResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\nimport { SendAccessResponse } from '../models/response/sendAccessResponse';\nimport { SendResponse } from '../models/response/sendResponse';\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TaxInfoResponse } from '../models/response/taxInfoResponse';\nimport { TaxRateResponse } from '../models/response/taxRateResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport abstract class ApiService {\n urlsSet: boolean;\n apiBaseUrl: string;\n identityBaseUrl: string;\n eventsBaseUrl: string;\n\n setUrls: (urls: EnvironmentUrls) => void;\n postIdentityToken: (request: TokenRequest) => Promise;\n refreshIdentityToken: () => Promise;\n\n getProfile: () => Promise;\n getUserBilling: () => Promise;\n getUserSubscription: () => Promise;\n getTaxInfo: () => Promise;\n putProfile: (request: UpdateProfileRequest) => Promise;\n putTaxInfo: (request: TaxInfoUpdateRequest) => Promise;\n postPrelogin: (request: PreloginRequest) => Promise;\n postEmailToken: (request: EmailTokenRequest) => Promise;\n postEmail: (request: EmailRequest) => Promise;\n postPassword: (request: PasswordRequest) => Promise;\n setPassword: (request: SetPasswordRequest) => Promise;\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\n getAccountRevisionDate: () => Promise;\n postPasswordHint: (request: PasswordHintRequest) => Promise;\n postRegister: (request: RegisterRequest) => Promise;\n postPremium: (data: FormData) => Promise;\n postIapCheck: (request: IapCheckRequest) => Promise;\n postReinstatePremium: () => Promise;\n postCancelPremium: () => Promise;\n postAccountStorage: (request: StorageRequest) => Promise;\n postAccountPayment: (request: PaymentRequest) => Promise;\n postAccountLicense: (data: FormData) => Promise;\n postAccountKey: (request: UpdateKeyRequest) => Promise;\n postAccountKeys: (request: KeysRequest) => Promise;\n postAccountVerifyEmail: () => Promise;\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\n postAccountVerifyPassword: (request: PasswordVerificationRequest) => Promise;\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\n postAccountKdf: (request: KdfRequest) => Promise;\n getEnterprisePortalSignInToken: () => Promise;\n postUserApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postUserRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n\n getFolder: (id: string) => Promise;\n postFolder: (request: FolderRequest) => Promise;\n putFolder: (id: string, request: FolderRequest) => Promise;\n deleteFolder: (id: string) => Promise;\n\n getSend: (id: string) => Promise;\n postSendAccess: (id: string, request: SendAccessRequest) => Promise;\n getSends: () => Promise>;\n postSend: (request: SendRequest) => Promise;\n postSendFile: (data: FormData) => Promise;\n putSend: (id: string, request: SendRequest) => Promise;\n putSendRemovePassword: (id: string) => Promise;\n deleteSend: (id: string) => Promise;\n\n getCipher: (id: string) => Promise;\n getCipherAdmin: (id: string) => Promise;\n getCiphersOrganization: (organizationId: string) => Promise>;\n postCipher: (request: CipherRequest) => Promise;\n postCipherCreate: (request: CipherCreateRequest) => Promise;\n postCipherAdmin: (request: CipherCreateRequest) => Promise;\n putCipher: (id: string, request: CipherRequest) => Promise;\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\n deleteCipher: (id: string) => Promise;\n deleteCipherAdmin: (id: string) => Promise;\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n deleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise;\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\n postPurgeCiphers: (request: PasswordVerificationRequest, organizationId?: string) => Promise;\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\n putDeleteCipher: (id: string) => Promise;\n putDeleteCipherAdmin: (id: string) => Promise;\n putDeleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n putDeleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise;\n putRestoreCipher: (id: string) => Promise;\n putRestoreCipherAdmin: (id: string) => Promise;\n putRestoreManyCiphers: (request: CipherBulkRestoreRequest) => Promise>;\n\n postCipherAttachment: (id: string, data: FormData) => Promise;\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\n organizationId: string) => Promise;\n\n getCollectionDetails: (organizationId: string, id: string) => Promise;\n getUserCollections: () => Promise>;\n getCollections: (organizationId: string) => Promise>;\n getCollectionUsers: (organizationId: string, id: string) => Promise;\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\n putCollectionUsers: (organizationId: string, id: string, request: SelectionReadOnlyRequest[]) => Promise;\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\n deleteCollection: (organizationId: string, id: string) => Promise;\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getGroupDetails: (organizationId: string, id: string) => Promise;\n getGroups: (organizationId: string) => Promise>;\n getGroupUsers: (organizationId: string, id: string) => Promise;\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\n putGroupUsers: (organizationId: string, id: string, request: string[]) => Promise;\n deleteGroup: (organizationId: string, id: string) => Promise;\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getPolicy: (organizationId: string, type: PolicyType) => Promise;\n getPolicies: (organizationId: string) => Promise>;\n getPoliciesByToken: (organizationId: string, token: string, email: string, organizationUserId: string) =>\n Promise>;\n putPolicy: (organizationId: string, type: PolicyType, request: PolicyRequest) => Promise;\n\n getOrganizationUser: (organizationId: string, id: string) => Promise;\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\n getOrganizationUsers: (organizationId: string) => Promise>;\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\n postOrganizationUserAccept: (organizationId: string, id: string,\n request: OrganizationUserAcceptRequest) => Promise;\n postOrganizationUserConfirm: (organizationId: string, id: string,\n request: OrganizationUserConfirmRequest) => Promise;\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\n putOrganizationUserGroups: (organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest) => Promise;\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\n\n getSync: () => Promise;\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\n\n getSettingsDomains: () => Promise;\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\n\n getTwoFactorProviders: () => Promise>;\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorOrganizationDuo: (organizationId: string,\n request: PasswordVerificationRequest) => Promise;\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2fChallenge: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\n putTwoFactorAuthenticator: (\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorOrganizationDuo: (organizationId: string,\n request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\n deleteTwoFactorU2f: (request: UpdateTwoFactorU2fDeleteRequest) => Promise;\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\n putTwoFactorOrganizationDisable: (organizationId: string,\n request: TwoFactorProviderRequest) => Promise;\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\n\n getEmergencyAccessTrusted: () => Promise>;\n getEmergencyAccessGranted: () => Promise>;\n getEmergencyAccess: (id: string) => Promise;\n putEmergencyAccess: (id: string, request: EmergencyAccessUpdateRequest) => Promise;\n deleteEmergencyAccess: (id: string) => Promise;\n postEmergencyAccessInvite: (request: EmergencyAccessInviteRequest) => Promise;\n postEmergencyAccessReinvite: (id: string) => Promise;\n postEmergencyAccessAccept: (id: string, request: EmergencyAccessAcceptRequest) => Promise;\n postEmergencyAccessConfirm: (id: string, request: EmergencyAccessConfirmRequest) => Promise;\n postEmergencyAccessInitiate: (id: string) => Promise;\n postEmergencyAccessApprove: (id: string) => Promise;\n postEmergencyAccessReject: (id: string) => Promise;\n postEmergencyAccessTakeover: (id: string) => Promise;\n postEmergencyAccessPassword: (id: string, request: EmergencyAccessPasswordRequest) => Promise;\n postEmergencyAccessView: (id: string) => Promise;\n\n getOrganization: (id: string) => Promise;\n getOrganizationBilling: (id: string) => Promise;\n getOrganizationSubscription: (id: string) => Promise;\n getOrganizationLicense: (id: string, installationId: string) => Promise;\n getOrganizationTaxInfo: (id: string) => Promise;\n postOrganization: (request: OrganizationCreateRequest) => Promise;\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\n putOrganizationTaxInfo: (id: string, request: OrganizationTaxInfoUpdateRequest) => Promise;\n postLeaveOrganization: (id: string) => Promise;\n postOrganizationLicense: (data: FormData) => Promise;\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\n postOrganizationApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postOrganizationRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postOrganizationUpgrade: (id: string, request: OrganizationUpgradeRequest) => Promise;\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\n postOrganizationCancel: (id: string) => Promise;\n postOrganizationReinstate: (id: string) => Promise;\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\n getPlans: () => Promise>;\n getTaxRates: () => Promise>;\n\n getEvents: (start: string, end: string, token: string) => Promise>;\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\n getEventsOrganization: (id: string, start: string, end: string,\n token: string) => Promise>;\n getEventsOrganizationUser: (organizationId: string, id: string,\n start: string, end: string, token: string) => Promise>;\n postEventsCollect: (request: EventRequest[]) => Promise;\n\n deleteSsoUser: (organizationId: string) => Promise;\n getSsoUserIdentifier: () => Promise;\n\n getUserPublicKey: (id: string) => Promise;\n\n getHibpBreach: (username: string) => Promise;\n\n postBitPayInvoice: (request: BitPayInvoiceRequest) => Promise;\n postSetupPayment: () => Promise;\n\n getActiveBearerToken: () => Promise;\n fetch: (request: Request) => Promise;\n nativeFetch: (request: Request) => Promise;\n\n preValidateSso: (identifier: string) => Promise;\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 isViewOpen: () => Promise;\n /**\n * @deprecated This only ever returns null. Pull from your platform's storage using ConstantsService.vaultTimeoutKey\n */\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 | string[],\n options?: any) => void;\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\n type?: string) => Promise;\n eventTrack: (action: string, label?: string, options?: any) => void;\n isDev: () => boolean;\n isSelfHost: () => boolean;\n copyToClipboard: (text: string, options?: any) => void;\n readFromClipboard: (options?: any) => Promise;\n supportsBiometric: () => Promise;\n authenticateBiometric: () => Promise;\n getDefaultSystemTheme: () => 'light' | 'dark';\n onDefaultSystemThemeChange: (callback: ((theme: 'light' | 'dark') => unknown)) => unknown;\n supportsSecureStorage: () => boolean;\n}\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class UserService {\n setInformation: (userId: string, email: string, kdf: KdfType, kdfIterations: number) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n getKdf: () => Promise;\n getKdfIterations: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n canAccessPremium: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Pipe({\n name: 'i18n',\n})\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.i18nService.t(id, p1, p2, p3);\n }\n}\n","export abstract class MessagingService {\n send: (subscriber: string, arg?: any) => void;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\n\n@Directive({\n selector: '[appApiAction]',\n})\nexport class ApiActionDirective implements OnChanges {\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) {\n return;\n }\n\n this.el.nativeElement.loading = true;\n\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 });\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appA11yTitle]',\n})\nexport class A11yTitleDirective {\n @Input() set appA11yTitle(title: string) {\n this.title = title;\n }\n\n private title: string;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (!this.el.nativeElement.hasAttribute('title')) {\n this.renderer.setAttribute(this.el.nativeElement, 'title', this.title);\n }\n if (!this.el.nativeElement.hasAttribute('aria-label')) {\n this.renderer.setAttribute(this.el.nativeElement, 'aria-label', this.title);\n }\n }\n}\n","import { CipherString } from '../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class CryptoService {\n setKey: (key: SymmetricCryptoKey) => Promise;\n setKeyHash: (keyHash: string) => Promise<{}>;\n setEncKey: (encKey: string) => Promise<{}>;\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\n getKey: () => Promise;\n getKeyHash: () => Promise;\n getEncKey: (key?: SymmetricCryptoKey) => Promise;\n getPublicKey: () => Promise;\n getPrivateKey: () => Promise;\n getFingerprint: (userId: string, publicKey?: ArrayBuffer) => Promise;\n getOrgKeys: () => Promise>;\n getOrgKey: (orgId: string) => Promise;\n hasKey: () => Promise;\n hasEncKey: () => Promise;\n clearKey: () => Promise;\n clearKeyHash: () => Promise;\n clearEncKey: (memoryOnly?: boolean) => Promise;\n clearKeyPair: (memoryOnly?: boolean) => Promise;\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\n clearPinProtectedKey: () => Promise;\n clearKeys: () => Promise;\n toggleKey: () => Promise;\n makeKey: (password: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeKeyFromPin: (pin: string, salt: string, kdf: KdfType, kdfIterations: number,\n protectedKeyCs?: CipherString) => Promise;\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\n makePinKey: (pin: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeSendKey: (keyMaterial: ArrayBuffer) => Promise;\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n remakeEncKey: (key: SymmetricCryptoKey, encKey?: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer) => Promise;\n rsaDecrypt: (encValue: string) => Promise;\n decryptToBytes: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\n randomNumber: (min: number, max: number) => Promise;\n}\n","import { CipherType } from '../enums/cipherType';\nimport { UriMatchType } from '../enums/uriMatchType';\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 { 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, originalCipher?: Cipher) => 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[],\n defaultMatch?: UriMatchType) => Promise;\n getAllFromApiForOrganization: (organizationId: string) => Promise;\n getLastUsedForUrl: (url: string) => Promise;\n getLastLaunchedForUrl: (url: string) => Promise;\n getNextCipherForUrl: (url: string) => Promise;\n updateLastUsedIndexForUrl: (url: string) => void;\n updateLastUsedDate: (id: string) => Promise;\n updateLastLaunchedDate: (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 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 softDelete: (id: string | string[]) => Promise;\n softDeleteWithServer: (id: string) => Promise;\n softDeleteManyWithServer: (ids: string[]) => Promise;\n restore: (cipher: { id: string, revisionDate: string; } | { id: string, revisionDate: string; }[]) => Promise;\n restoreWithServer: (id: string) => Promise;\n restoreManyWithServer: (ids: string[]) => Promise;\n}\n","export abstract class BaseResponse {\n private response: any;\n\n constructor(response: any) {\n this.response = response;\n }\n\n protected getResponseProperty(propertyName: string, response: any = null, exactName = false): any {\n if (propertyName == null || propertyName === '') {\n throw new Error('propertyName must not be null/empty.');\n }\n if (response == null && this.response != null) {\n response = this.response;\n }\n if (response == null) {\n return null;\n }\n if (!exactName && response[propertyName] === undefined) {\n let otherCasePropertyName: string = null;\n if (propertyName.charAt(0) === propertyName.charAt(0).toUpperCase()) {\n otherCasePropertyName = propertyName.charAt(0).toLowerCase();\n } else {\n otherCasePropertyName = propertyName.charAt(0).toUpperCase();\n }\n if (propertyName.length > 1) {\n otherCasePropertyName += propertyName.slice(1);\n }\n\n propertyName = otherCasePropertyName;\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toLowerCase();\n }\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toUpperCase();\n }\n }\n return response[propertyName];\n }\n}\n","import * as papa from 'papaparse';\n\nimport { LogService } from '../abstractions/log.service';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { LoginUriView } from '../models/view/loginUriView';\n\nimport { Utils } from '../misc/utils';\n\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\nimport { ConsoleLogService } from '../services/consoleLog.service';\n\nexport abstract class BaseImporter {\n organizationId: string = null;\n\n protected logService: LogService = new ConsoleLogService(false);\n\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\n\n protected passwordFieldNames = [\n 'password', 'pass word', 'passphrase', 'pass phrase',\n 'pass', 'code', 'code word', 'codeword',\n 'secret', 'secret word', 'personpwd',\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\n 'p', 'serial', 'serial#', 'license key', 'reg #',\n\n // Non-English names\n 'passwort',\n ];\n\n protected usernameFieldNames = [\n 'user', 'name', 'user name', 'username', 'login name',\n 'email', 'e-mail', 'id', 'userid', 'user id',\n 'login', 'form_loginname', 'wpname', 'mail',\n 'loginid', 'login id', 'log', 'personlogin',\n 'first name', 'last name', 'card#', 'account #',\n 'member', 'member #',\n\n // Non-English names\n 'nom', 'benutzername',\n ];\n\n protected notesFieldNames = [\n 'note', 'notes', 'comment', 'comments', 'memo',\n 'description', 'free form', 'freeform',\n 'free text', 'freetext', 'free',\n\n // Non-English names\n 'kommentar',\n ];\n\n protected uriFieldNames: string[] = [\n 'url', 'hyper link', 'hyperlink', 'link',\n 'host', 'hostname', 'host name', 'server', 'address',\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\n 'web-site', 'uri',\n\n // Non-English names\n 'ort', 'adresse',\n ];\n\n protected parseCsvOptions = {\n encoding: 'UTF-8',\n skipEmptyLines: false,\n };\n\n protected get organization() {\n return this.organizationId != null;\n }\n\n protected parseXml(data: string): Document {\n const parser = new DOMParser();\n const doc = parser.parseFromString(data, 'application/xml');\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\n }\n\n protected parseCsv(data: string, header: boolean, options: any = {}): any[] {\n const parseOptions = Object.assign({ header: header }, this.parseCsvOptions, options);\n data = this.splitNewLine(data).join('\\n').trim();\n const result = papa.parse(data, parseOptions);\n if (result.errors != null && result.errors.length > 0) {\n result.errors.forEach((e) => {\n if (e.row != null) {\n // tslint:disable-next-line\n this.logService.warning('Error parsing row ' + e.row + ': ' + e.message);\n }\n });\n }\n return result.data && result.data.length > 0 ? result.data : null;\n }\n\n protected parseSingleRowCsv(rowData: string) {\n if (this.isNullOrWhitespace(rowData)) {\n return null;\n }\n const parsedRow = this.parseCsv(rowData, false);\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\n return parsedRow[0];\n }\n return null;\n }\n\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\n if (uri == null) {\n return null;\n }\n\n if (typeof uri === 'string') {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(uri);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return null;\n }\n loginUri.match = null;\n return [loginUri];\n }\n\n if (uri.length > 0) {\n const returnArr: LoginUriView[] = [];\n uri.forEach((u) => {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(u);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return;\n }\n loginUri.match = null;\n returnArr.push(loginUri);\n });\n return returnArr.length === 0 ? null : returnArr;\n }\n\n return null;\n }\n\n protected fixUri(uri: string) {\n if (uri == null) {\n return null;\n }\n uri = uri.trim();\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\n uri = 'http://' + uri;\n }\n if (uri.length > 1000) {\n return uri.substring(0, 1000);\n }\n return uri;\n }\n\n protected nameFromUrl(url: string) {\n const hostname = Utils.getHostname(url);\n if (this.isNullOrWhitespace(hostname)) {\n return null;\n }\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\n }\n\n protected isNullOrWhitespace(str: string): boolean {\n return Utils.isNullOrWhitespace(str);\n }\n\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\n if (this.isNullOrWhitespace(str)) {\n return defaultValue;\n }\n return str;\n }\n\n protected splitNewLine(str: string): string[] {\n return str.split(this.newLineRegex);\n }\n\n // ref https://stackoverflow.com/a/5911300\n protected getCardBrand(cardNum: string) {\n if (this.isNullOrWhitespace(cardNum)) {\n return null;\n }\n\n // Visa\n let re = new RegExp('^4');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n // Mastercard\n // Updated for Mastercard 2017 BINs expansion\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}))$/\n .test(cardNum)) {\n return 'Mastercard';\n }\n\n // AMEX\n re = new RegExp('^3[47]');\n if (cardNum.match(re) != null) {\n return 'Amex';\n }\n\n // Discover\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)');\n if (cardNum.match(re) != null) {\n return 'Discover';\n }\n\n // Diners\n re = new RegExp('^36');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // Diners - Carte Blanche\n re = new RegExp('^30[0-5]');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // JCB\n re = new RegExp('^35(2[89]|[3-8][0-9])');\n if (cardNum.match(re) != null) {\n return 'JCB';\n }\n\n // Visa Electron\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n return null;\n }\n\n protected setCardExpiration(cipher: CipherView, expiration: string): boolean {\n if (!this.isNullOrWhitespace(expiration)) {\n const parts = expiration.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 return true;\n }\n }\n }\n return false;\n }\n\n protected moveFoldersToCollections(result: ImportResult) {\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\n result.collections = result.folders.map((f) => {\n const collection = new CollectionView();\n collection.name = f.name;\n return collection;\n });\n result.folderRelationships = [];\n result.folders = [];\n }\n\n protected querySelectorDirectChild(parentEl: Element, query: string) {\n const els = this.querySelectorAllDirectChild(parentEl, query);\n return els.length === 0 ? null : els[0];\n }\n\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\n }\n\n protected initLoginCipher() {\n const cipher = new CipherView();\n cipher.favorite = false;\n cipher.notes = '';\n cipher.fields = [];\n cipher.login = new LoginView();\n cipher.type = CipherType.Login;\n return cipher;\n }\n\n protected cleanupCipher(cipher: CipherView) {\n if (cipher == null) {\n return;\n }\n if (cipher.type !== CipherType.Login) {\n cipher.login = null;\n }\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = '--';\n }\n if (this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = null;\n } else {\n cipher.notes = cipher.notes.trim();\n }\n if (cipher.fields != null && cipher.fields.length === 0) {\n cipher.fields = null;\n }\n }\n\n protected processKvp(cipher: CipherView, key: string, value: string, type: FieldType = FieldType.Text) {\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n if (this.isNullOrWhitespace(key)) {\n key = '';\n }\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\n if (cipher.notes == null) {\n cipher.notes = '';\n }\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\n } else {\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n const field = new FieldView();\n field.type = type;\n field.name = key;\n field.value = value;\n cipher.fields.push(field);\n }\n }\n\n protected processFolder(result: ImportResult, folderName: string) {\n let folderIndex = result.folders.length;\n const hasFolder = !this.isNullOrWhitespace(folderName);\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === folderName) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n if (addFolder) {\n const f = new FolderView();\n f.name = folderName;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\n }\n }\n\n protected convertToNoteIfNeeded(cipher: CipherView) {\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\n this.isNullOrWhitespace(cipher.login.password) &&\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n}\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: [number, number][] = [];\n collections: CollectionView[] = [];\n collectionRelationships: [number, number][] = [];\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Component({\n selector: 'app-callout',\n templateUrl: 'callout.component.html',\n})\nexport class CalloutComponent implements OnInit {\n @Input() type = 'info';\n @Input() icon: string;\n @Input() title: string;\n\n calloutStyle: string;\n\n constructor(private i18nService: I18nService) { }\n\n ngOnInit() {\n this.calloutStyle = this.type;\n\n if (this.type === 'warning' || this.type === 'danger') {\n if (this.type === 'danger') {\n this.calloutStyle = 'danger';\n }\n if (this.title === undefined) {\n this.title = this.i18nService.t('warning');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-warning';\n }\n } else if (this.type === 'error') {\n this.calloutStyle = 'danger';\n if (this.title === undefined) {\n this.title = this.i18nService.t('error');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-bolt';\n }\n } else if (this.type === 'tip') {\n this.calloutStyle = 'success';\n if (this.title === undefined) {\n this.title = this.i18nService.t('tip');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-lightbulb-o';\n }\n }\n }\n}\n","
\n

\n \n {{title}}\n

\n \n
\n","import * as tldjs from 'tldjs';\n\nimport { I18nService } from '../abstractions/i18n.service';\n\n// tslint:disable-next-line\nconst nodeURL = typeof window === 'undefined' ? require('url') : null;\n\nexport class Utils {\n static inited = false;\n static isNativeScript = false;\n static isNode = false;\n static isBrowser = true;\n static isMobileBrowser = false;\n static isAppleMobileBrowser = false;\n static global: any = null;\n static tldEndingRegex = /.*\\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/;\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.isNativeScript = !Utils.isNode && !Utils.isBrowser;\n Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);\n Utils.isAppleMobileBrowser = Utils.isBrowser && this.isAppleMobile(window);\n Utils.global = Utils.isNativeScript ? global : (Utils.isNode && !Utils.isBrowser ? global : window);\n }\n\n static fromB64ToArray(str: string): Uint8Array {\n if (Utils.isNode || Utils.isNativeScript) {\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 fromUrlB64ToArray(str: string): Uint8Array {\n return Utils.fromB64ToArray(Utils.fromUrlB64ToB64(str));\n }\n\n static fromHexToArray(str: string): Uint8Array {\n if (Utils.isNode || Utils.isNativeScript) {\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 || Utils.isNativeScript) {\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 || Utils.isNativeScript) {\n return Buffer.from(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 fromBufferToUrlB64(buffer: ArrayBuffer): string {\n return Utils.fromB64toUrlB64(Utils.fromBufferToB64(buffer));\n }\n\n static fromB64toUrlB64(b64Str: string) {\n return b64Str.replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '');\n }\n\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\n if (Utils.isNode || Utils.isNativeScript) {\n return Buffer.from(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 || Utils.isNativeScript) {\n return Buffer.from(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 fromUrlB64ToB64(urlB64Str: string): string {\n let output = urlB64Str.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 output;\n }\n\n static fromUrlB64ToUtf8(urlB64Str: string): string {\n return Utils.fromB64ToUtf8(Utils.fromUrlB64ToB64(urlB64Str));\n }\n\n static fromB64ToUtf8(b64Str: string): string {\n if (Utils.isNode || Utils.isNativeScript) {\n return Buffer.from(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 isGuid(id: string) {\n return RegExp(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/, 'i').test(id);\n }\n\n static getHostname(uriString: string): string {\n const url = Utils.getUrl(uriString);\n try {\n return url != null && url.hostname !== '' ? url.hostname : null;\n } catch {\n return null;\n }\n }\n\n static getHost(uriString: string): string {\n const url = Utils.getUrl(uriString);\n try {\n return url != null && url.host !== '' ? url.host : null;\n } catch {\n return null;\n }\n }\n\n static getDomain(uriString: string): string {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n if (uriString.startsWith('data:')) {\n return null;\n }\n\n let httpUrl = uriString.startsWith('http://') || uriString.startsWith('https://');\n if (!httpUrl && uriString.indexOf('://') < 0 && Utils.tldEndingRegex.test(uriString)) {\n uriString = 'http://' + uriString;\n httpUrl = true;\n }\n\n if (httpUrl) {\n try {\n const url = Utils.getUrlObject(uriString);\n if (url.hostname === 'localhost' || Utils.validIpAddress(url.hostname)) {\n return url.hostname;\n }\n\n const urlDomain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(url.hostname) : null;\n return urlDomain != null ? urlDomain : url.hostname;\n } catch (e) { }\n }\n\n try {\n const domain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(uriString) : null;\n\n if (domain != null) {\n return domain;\n }\n } catch {\n return null;\n }\n\n return 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 static isNullOrWhitespace(str: string): boolean {\n return str == null || typeof str !== 'string' || str.trim() === '';\n }\n\n private static validIpAddress(ipString: string): boolean {\n // tslint:disable-next-line\n const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n return ipRegex.test(ipString);\n }\n\n private static isMobile(win: Window) {\n let mobile = false;\n ((a) => {\n // tslint:disable-next-line\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n mobile = true;\n }\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\n }\n\n private static isAppleMobile(win: Window) {\n return win.navigator.userAgent.match(/iPhone/i) != null || win.navigator.userAgent.match(/iPad/i) != null;\n }\n\n private static getUrl(uriString: string): URL {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n let url = Utils.getUrlObject(uriString);\n if (url == null) {\n const hasHttpProtocol = uriString.indexOf('http://') === 0 || uriString.indexOf('https://') === 0;\n if (!hasHttpProtocol && uriString.indexOf('.') > -1) {\n url = Utils.getUrlObject('http://' + uriString);\n }\n }\n return url;\n }\n\n private static getUrlObject(uriString: string): URL {\n try {\n if (nodeURL != null) {\n return nodeURL.URL ? new nodeURL.URL(uriString) : nodeURL.parse(uriString);\n } else if (typeof URL === 'function') {\n return new URL(uriString);\n } else if (window != null) {\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 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 { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\nimport { PasswordGeneratorPolicyOptions } from '../models/domain/passwordGeneratorPolicyOptions';\n\nexport abstract class PasswordGenerationService {\n generatePassword: (options: any) => Promise;\n generatePassphrase: (options: any) => Promise;\n getOptions: () => Promise<[any, PasswordGeneratorPolicyOptions]>;\n enforcePasswordGeneratorPoliciesOnOptions: (options: any) => Promise<[any, PasswordGeneratorPolicyOptions]>;\n getPasswordGeneratorPolicyOptions: () => Promise;\n saveOptions: (options: any) => Promise;\n getHistory: () => Promise;\n addHistory: (password: string) => Promise;\n clear: () => Promise;\n passwordStrength: (password: string, userInputs?: string[]) => zxcvbn.ZXCVBNResult;\n normalizeOptions: (options: any, enforcedPolicyOptions: PasswordGeneratorPolicyOptions) => void;\n}\n","export abstract class StateService {\n get: (key: string) => Promise;\n save: (key: string, obj: any) => Promise;\n remove: (key: string) => Promise;\n purge: () => Promise;\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appStopClick]',\n})\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n $event.preventDefault();\n }\n}\n","export enum CipherType {\n Login = 1,\n SecureNote = 2,\n Card = 3,\n Identity = 4,\n}\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\nimport { TreeNode } from '../models/domain/treeNode';\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 getAllNested: (collections?: CollectionView[]) => Promise[]>;\n getNested: (id: string) => 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","export abstract class StorageService {\n get: (key: string) => Promise;\n save: (key: string, obj: any) => Promise;\n remove: (key: string) => Promise;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { TreeNode } from '../models/domain/treeNode';\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 getAllNested: () => Promise[]>;\n getNested: (id: string) => 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","import { PolicyData } from '../models/data/policyData';\n\nimport { MasterPasswordPolicyOptions } from '../models/domain/masterPasswordPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { PolicyType } from '../enums/policyType';\n\nexport abstract class PolicyService {\n policyCache: Policy[];\n\n clearCache: () => void;\n getAll: (type?: PolicyType) => Promise;\n replace: (policies: { [id: string]: PolicyData; }) => Promise;\n clear: (userId: string) => Promise;\n getMasterPasswordPolicyOptions: (policies?: Policy[]) => Promise;\n evaluateMasterPassword: (passwordStrength: number, newPassword: string,\n enforcedPolicyOptions?: MasterPasswordPolicyOptions) => boolean;\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appStopProp]',\n})\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n $event.stopPropagation();\n }\n}\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n ssoRedirectUrl: string;\n clientId: string;\n clientSecret: string;\n twoFactorProvidersData: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInSso: (code: string, codeVerifier: string, redirectUrl: string) => Promise;\n logInApiKey: (clientId: string, clientSecret: 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 logInSsoComplete: (code: string, codeVerifier: string, redirectUrl: string,\n twoFactorProvider: TwoFactorProviderType, twoFactorToken: string, remember?: boolean) => Promise;\n logInApiKeyComplete: (clientId: string, clientSecret: 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 makePreloginKey: (masterPassword: string, email: string) => Promise;\n authingWithApiKey: () => boolean;\n authingWithSso: () => boolean;\n authingWithPassword: () => boolean;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (!Utils.isMobileBrowser && this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import {\n SyncCipherNotification,\n SyncFolderNotification,\n SyncSendNotification,\n} from '../models/response/notificationResponse';\n\nexport abstract class SyncService {\n syncInProgress: boolean;\n\n getLastSync: () => Promise;\n setLastSync: (date: Date) => Promise;\n fullSync: (forceSync: boolean, allowThrowOnError?: boolean) => Promise;\n syncUpsertFolder: (notification: SyncFolderNotification, isEdit: boolean) => Promise;\n syncDeleteFolder: (notification: SyncFolderNotification) => Promise;\n syncUpsertCipher: (notification: SyncCipherNotification, isEdit: boolean) => Promise;\n syncDeleteCipher: (notification: SyncFolderNotification) => Promise;\n syncUpsertSend: (notification: SyncSendNotification, isEdit: boolean) => Promise;\n syncDeleteSend: (notification: SyncSendNotification) => Promise;\n}\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 vaultTimeoutKey: string = 'lockOption';\n static readonly vaultTimeoutActionKey: string = 'vaultTimeoutAction';\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 static readonly collapsedGroupingsKey: string = 'collapsedGroupings';\n static readonly autoConfirmFingerprints: string = 'autoConfirmFingerprints';\n static readonly dontShowCardsCurrentTab: string = 'dontShowCardsCurrentTab';\n static readonly dontShowIdentitiesCurrentTab: string = 'dontShowIdentitiesCurrentTab';\n static readonly defaultUriMatch: string = 'defaultUriMatch';\n static readonly pinProtectedKey: string = 'pinProtectedKey';\n static readonly protectedPin: string = 'protectedPin';\n static readonly clearClipboardKey: string = 'clearClipboardKey';\n static readonly eventCollectionKey: string = 'eventCollection';\n static readonly ssoCodeVerifierKey: string = 'ssoCodeVerifier';\n static readonly ssoStateKey: string = 'ssoState';\n static readonly biometricUnlockKey: string = 'biometric';\n static readonly biometricText: string = 'biometricText';\n static readonly biometricAwaitingAcceptance: string = 'biometricAwaitingAcceptance';\n static readonly biometricFingerprintValidated: string = 'biometricFingerprintValidated';\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 vaultTimeoutKey: string = ConstantsService.vaultTimeoutKey;\n readonly vaultTimeoutActionKey: string = ConstantsService.vaultTimeoutActionKey;\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 readonly collapsedGroupingsKey: string = ConstantsService.collapsedGroupingsKey;\n readonly autoConfirmFingerprints: string = ConstantsService.autoConfirmFingerprints;\n readonly dontShowCardsCurrentTab: string = ConstantsService.dontShowCardsCurrentTab;\n readonly dontShowIdentitiesCurrentTab: string = ConstantsService.dontShowIdentitiesCurrentTab;\n readonly defaultUriMatch: string = ConstantsService.defaultUriMatch;\n readonly pinProtectedKey: string = ConstantsService.pinProtectedKey;\n readonly protectedPin: string = ConstantsService.protectedPin;\n readonly clearClipboardKey: string = ConstantsService.clearClipboardKey;\n readonly eventCollectionKey: string = ConstantsService.eventCollectionKey;\n readonly ssoCodeVerifierKey: string = ConstantsService.ssoCodeVerifierKey;\n readonly ssoStateKey: string = ConstantsService.ssoStateKey;\n readonly biometricUnlockKey: string = ConstantsService.biometricUnlockKey;\n readonly biometricText: string = ConstantsService.biometricText;\n readonly biometricAwaitingAcceptance: string = ConstantsService.biometricAwaitingAcceptance;\n readonly biometricFingerprintValidated: string = ConstantsService.biometricFingerprintValidated;\n}\n","import { EventType } from '../enums/eventType';\n\nexport abstract class EventService {\n collect: (eventType: EventType, cipherId?: string, uploadImmediately?: boolean) => Promise;\n uploadEvents: () => Promise;\n clearEvents: () => Promise;\n}\n","export abstract class EnvironmentService {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n notificationsUrl: string;\n eventsUrl: string;\n enterpriseUrl: string;\n\n getWebVaultUrl: () => string;\n setUrlsFromStorage: () => Promise;\n setUrls: (urls: any) => Promise;\n}\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport default 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,\n key: SymmetricCryptoKey = null): 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, key);\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 * as jq from 'jquery';\n\nimport {\n Component,\n ComponentFactoryResolver,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\nimport { Utils } from 'jslib/misc/utils';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent extends BaseModalComponent {\n el: any = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService) {\n super(componentFactoryResolver, messagingService);\n }\n\n ngOnDestroy() { /* Nothing */ }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true,\n setComponentParameters: (component: T) => void = null): T {\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n if (setComponentParameters != null) {\n setComponentParameters(componentRef.instance);\n }\n\n const modals = Array.from(document.querySelectorAll('.modal'));\n if (modals.length > 0) {\n this.el = jq(modals[0]);\n this.el.modal('show');\n\n this.el.on('show.bs.modal', () => {\n this.onShow.emit();\n this.messagingService.send('modalShow');\n });\n this.el.on('shown.bs.modal', () => {\n this.onShown.emit();\n this.messagingService.send('modalShown');\n if (!Utils.isMobileBrowser) {\n this.el.find('*[appAutoFocus]').focus();\n }\n });\n this.el.on('hide.bs.modal', () => {\n this.onClose.emit();\n this.messagingService.send('modalClose');\n });\n this.el.on('hidden.bs.modal', () => {\n this.onClosed.emit();\n this.messagingService.send('modalClosed');\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n });\n }\n\n return componentRef.instance;\n }\n\n close() {\n if (this.el != null) {\n this.el.modal('hide');\n }\n }\n}\n","import { CipherView } from '../models/view/cipherView';\nimport { SendView } from '../models/view/sendView';\n\nexport abstract class SearchService {\n clearIndex: () => void;\n isSearchable: (query: string) => boolean;\n indexCiphers: () => Promise;\n searchCiphers: (query: string,\n filter?: ((cipher: CipherView) => boolean) | (((cipher: CipherView) => boolean)[]),\n ciphers?: CipherView[]) => Promise;\n searchCiphersBasic: (ciphers: CipherView[], query: string, deleted?: boolean) => CipherView[];\n searchSends: (sends: SendView[], query: string) => SendView[];\n}\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","import { View } from './view';\n\nimport { Card } from '../domain/card';\n\nexport class CardView implements View {\n cardholderName: string = null;\n expMonth: string = null;\n expYear: string = null;\n code: string = null;\n\n // tslint:disable\n private _brand: string = null;\n private _number: string = null;\n private _subTitle: string = null;\n // tslint:enable\n\n constructor(c?: Card) {\n // ctor\n }\n\n get maskedCode(): string {\n return this.code != null ? '•'.repeat(this.code.length) : null;\n }\n\n get brand(): string {\n return this._brand;\n }\n set brand(value: string) {\n this._brand = value;\n this._subTitle = null;\n }\n\n get number(): string {\n return this._number;\n }\n set number(value: string) {\n this._number = value;\n this._subTitle = null;\n }\n\n get subTitle(): string {\n if (this._subTitle == null) {\n this._subTitle = this.brand;\n if (this.number != null && this.number.length >= 4) {\n if (this._subTitle != null && this._subTitle !== '') {\n this._subTitle += ', ';\n } else {\n this._subTitle = '';\n }\n\n // Show last 5 on amex, last 4 for all others\n const count = this.number.length >= 5 && this.number.match(new RegExp('^3[47]')) != null ? 5 : 4;\n this._subTitle += ('*' + this.number.substr(this.number.length - count));\n }\n }\n return this._subTitle;\n }\n\n get expiration(): string {\n if (!this.expMonth && !this.expYear) {\n return null;\n }\n\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\n return exp;\n }\n\n private formatYear(year: string): string {\n return year.length === 2 ? '20' + year : year;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { View } from './view';\n\nimport { SecureNote } from '../domain/secureNote';\n\nexport class SecureNoteView implements View {\n type: SecureNoteType = null;\n\n constructor(n?: SecureNote) {\n if (!n) {\n return;\n }\n\n this.type = n.type;\n }\n\n get subTitle(): string {\n return null;\n }\n}\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 toggleTokens: () => 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 { 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 hkdf: (ikm: ArrayBuffer, salt: string | ArrayBuffer, info: string | ArrayBuffer,\n outputByteSize: number, algorithm: 'sha256' | 'sha512') => Promise;\n hkdfExpand: (prk: ArrayBuffer, info: string | ArrayBuffer, outputByteSize: number,\n algorithm: 'sha256' | 'sha512') => 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 { EncryptionType } from '../../enums/encryptionType';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\n\nimport { Utils } from '../../misc/utils';\n\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class CipherString {\n encryptedString?: string;\n encryptionType?: EncryptionType;\n decryptedValue?: string;\n data?: string;\n iv?: string;\n mac?: string;\n\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\n if (data != null) {\n // data and header\n const encType = encryptedStringOrType as EncryptionType;\n\n if (iv != null) {\n this.encryptedString = encType + '.' + iv + '|' + data;\n } else {\n this.encryptedString = encType + '.' + data;\n }\n\n // mac\n if (mac != null) {\n this.encryptedString += ('|' + mac);\n }\n\n this.encryptionType = encType;\n this.data = data;\n this.iv = iv;\n this.mac = mac;\n\n return;\n }\n\n this.encryptedString = encryptedStringOrType as string;\n if (!this.encryptedString) {\n return;\n }\n\n const headerPieces = this.encryptedString.split('.');\n let encPieces: string[] = null;\n\n if (headerPieces.length === 2) {\n try {\n this.encryptionType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) {\n return;\n }\n } else {\n encPieces = this.encryptedString.split('|');\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\n EncryptionType.AesCbc256_B64;\n }\n\n switch (this.encryptionType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encPieces.length !== 3) {\n return;\n }\n\n this.iv = encPieces[0];\n this.data = encPieces[1];\n this.mac = encPieces[2];\n break;\n case EncryptionType.AesCbc256_B64:\n if (encPieces.length !== 2) {\n return;\n }\n\n this.iv = encPieces[0];\n this.data = encPieces[1];\n break;\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n if (encPieces.length !== 1) {\n return;\n }\n\n this.data = encPieces[0];\n break;\n default:\n return;\n }\n }\n\n async decrypt(orgId: string, key: SymmetricCryptoKey = null): Promise {\n if (this.decryptedValue != null) {\n return this.decryptedValue;\n }\n\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n if (key == null) {\n key = await cryptoService.getOrgKey(orgId);\n }\n this.decryptedValue = await cryptoService.decryptToUtf8(this, key);\n } catch (e) {\n this.decryptedValue = '[error: cannot decrypt]';\n }\n return this.decryptedValue;\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CipherView } from '../../models/view/cipherView';\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\nconst IconMap: any = {\n 'fa-globe': String.fromCharCode(0xf0ac),\n 'fa-sticky-note-o': String.fromCharCode(0xf24a),\n 'fa-id-card-o': String.fromCharCode(0xf2c3),\n 'fa-credit-card': String.fromCharCode(0xf09d),\n 'fa-android': String.fromCharCode(0xf17b),\n 'fa-apple': String.fromCharCode(0xf179),\n};\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: CipherView;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(environmentService: EnvironmentService, protected 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 this.load();\n }\n\n get iconCode(): string {\n return IconMap[this.icon];\n }\n\n protected load() {\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","
\n \"\"\n \n
\n","import { CipherString } from '../models/domain/cipherString';\n\nexport abstract class VaultTimeoutService {\n biometricLocked: boolean;\n pinProtectedKey: CipherString;\n isLocked: () => Promise;\n checkVaultTimeout: () => Promise;\n lock: (allowSoftLock?: boolean) => Promise;\n logOut: () => Promise;\n setVaultTimeoutOptions: (vaultTimeout: number, vaultTimeoutAction: string) => Promise;\n isPinLockSet: () => Promise<[boolean, boolean]>;\n isBiometricLockSet: () => Promise;\n clear: () => Promise;\n}\n","export enum SecureNoteType {\n Generic = 0,\n}\n","export enum TwoFactorProviderType {\n Authenticator = 0,\n Email = 1,\n Duo = 2,\n Yubikey = 3,\n U2f = 4,\n Remember = 5,\n OrganizationDuo = 6,\n}\n","export abstract class TotpService {\n getCode: (key: string) => Promise;\n getTimeInterval: (key: string) => number;\n isAutoCopyEnabled: () => Promise;\n}\n","import { Injectable } from '@angular/core';\n\nimport { BroadcasterService as BaseBroadcasterService } from '../../services/broadcaster.service';\n\n@Injectable()\nexport class BroadcasterService extends BaseBroadcasterService {\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { WebConstants } from '../../services/webConstants';\n\nconst StripeElementStyle = {\n base: {\n color: '#333333',\n fontFamily: '\"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, ' +\n '\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n fontSize: '14px',\n fontSmoothing: 'antialiased',\n },\n invalid: {\n color: '#333333',\n },\n};\n\nconst StripeElementClasses = {\n focus: 'is-focused',\n empty: 'is-empty',\n invalid: 'is-invalid',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showMethods = true;\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.Card;\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n @Input() hideCredit = false;\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\n paymentMethodType = PaymentMethodType;\n\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n private stripeScript: HTMLScriptElement;\n private stripe: any = null;\n private stripeElements: any = null;\n private stripeCardNumberElement: any = null;\n private stripeCardExpiryElement: any = null;\n private stripeCardCvcElement: any = null;\n\n constructor(private platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v3/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n this.stripe = (window as any).Stripe(this.platformUtilsService.isDev() ?\n WebConstants.stripeTestKey : WebConstants.stripeLiveKey);\n this.stripeElements = this.stripe.elements();\n this.setStripeElement();\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'scripts/dropin.js';\n this.btScript.async = true;\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== PaymentMethodType.PayPal;\n this.hideBank = this.method !== PaymentMethodType.BankAccount;\n this.hideCredit = this.method !== PaymentMethodType.Credit;\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 window.setTimeout(() => {\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n try {\n window.document.body.removeChild(el);\n } catch { }\n }\n });\n }, 500);\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n window.setTimeout(() => {\n Array.from(window.document.head.querySelectorAll('script')).forEach((el) => {\n if (el.src != null && el.src.indexOf('paypal') > -1) {\n try {\n window.document.head.removeChild(el);\n } catch { }\n }\n });\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n try {\n window.document.head.removeChild(btStylesheet);\n } catch { }\n }\n }, 500);\n }\n }\n\n changeMethod() {\n this.btInstance = null;\n\n if (this.method === PaymentMethodType.PayPal) {\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ?\n WebConstants.btSandboxKey : WebConstants.btProductionKey,\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 } else {\n this.setStripeElement();\n }\n }\n\n createPaymentToken(): Promise<[string, PaymentMethodType]> {\n return new Promise((resolve, reject) => {\n if (this.method === PaymentMethodType.Credit) {\n resolve([null, this.method]);\n } else if (this.method === PaymentMethodType.PayPal) {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve([payload.nonce, this.method]);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === PaymentMethodType.Card || this.method === PaymentMethodType.BankAccount) {\n if (this.method === PaymentMethodType.Card) {\n this.apiService.postSetupPayment().then((clientSecret) =>\n this.stripe.handleCardSetup(clientSecret, this.stripeCardNumberElement))\n .then((result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.setupIntent && result.setupIntent.status === 'succeeded') {\n resolve([result.setupIntent.payment_method, this.method]);\n } else {\n reject();\n }\n });\n } else {\n this.stripe.createToken('bank_account', this.bank).then((result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.token && result.token.id != null) {\n resolve([result.token.id, this.method]);\n } else {\n reject();\n }\n });\n }\n }\n });\n }\n\n handleStripeCardPayment(clientSecret: string, successCallback: () => Promise): Promise {\n return new Promise((resolve, reject) => {\n if (this.showMethods && this.stripeCardNumberElement == null) {\n reject();\n return;\n }\n const handleCardPayment = () => this.showMethods ?\n this.stripe.handleCardSetup(clientSecret, this.stripeCardNumberElement) :\n this.stripe.handleCardSetup(clientSecret);\n return handleCardPayment().then(async (result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.paymentIntent && result.paymentIntent.status === 'succeeded') {\n if (successCallback != null) {\n await successCallback();\n }\n resolve();\n } else {\n reject();\n }\n });\n });\n }\n\n private setStripeElement() {\n window.setTimeout(() => {\n if (this.showMethods && this.method === PaymentMethodType.Card) {\n if (this.stripeCardNumberElement == null) {\n this.stripeCardNumberElement = this.stripeElements.create('cardNumber', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n if (this.stripeCardExpiryElement == null) {\n this.stripeCardExpiryElement = this.stripeElements.create('cardExpiry', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n });\n }\n if (this.stripeCardCvcElement == null) {\n this.stripeCardCvcElement = this.stripeElements.create('cardCvc', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n this.stripeCardNumberElement.mount('#stripe-card-number-element');\n this.stripeCardExpiryElement.mount('#stripe-card-expiry-element');\n this.stripeCardCvcElement.mount('#stripe-card-cvc-element');\n }\n }, 50);\n }\n}\n","
\n
\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 {{'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\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'makeSureEnoughCredit' | i18n}}\n \n\n","export enum FieldType {\n Text = 0,\n Hidden = 1,\n Boolean = 2,\n}\n","import { View } from './view';\n\nimport { Folder } from '../domain/folder';\nimport { ITreeNodeObject } from '../domain/treeNode';\n\nexport class FolderView implements View, ITreeNodeObject {\n id: string = null;\n name: string = null;\n revisionDate: Date = null;\n\n constructor(f?: Folder) {\n if (!f) {\n return;\n }\n\n this.id = f.id;\n this.revisionDate = f.revisionDate;\n }\n}\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","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n externalId: string;\n readOnly: boolean;\n hidePasswords: 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 externalId: null,\n readOnly: null,\n hidePasswords: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'externalId', 'readOnly', 'hidePasswords']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { OrganizationTaxInfoUpdateRequest } from 'jslib/models/request/organizationTaxInfoUpdateRequest';\nimport { TaxInfoUpdateRequest } from 'jslib/models/request/taxInfoUpdateRequest';\nimport { TaxRateResponse } from 'jslib/models/response/taxRateResponse';\n\n@Component({\n selector: 'app-tax-info',\n templateUrl: 'tax-info.component.html',\n})\nexport class TaxInfoComponent {\n @Output() onCountryChanged = new EventEmitter();\n\n loading: boolean = true;\n organizationId: string;\n taxInfo: any = {\n taxId: null,\n line1: null,\n line2: null,\n city: null,\n state: null,\n postalCode: null,\n country: 'US',\n includeTaxId: false,\n };\n\n taxRates: TaxRateResponse[];\n\n private pristine: any = {\n taxId: null,\n line1: null,\n line2: null,\n city: null,\n state: null,\n postalCode: null,\n country: 'US',\n includeTaxId: false,\n };\n\n constructor(private apiService: ApiService, private route: ActivatedRoute) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n if (this.organizationId) {\n try {\n const taxInfo = await this.apiService.getOrganizationTaxInfo(this.organizationId);\n if (taxInfo) {\n this.taxInfo.taxId = taxInfo.taxId;\n this.taxInfo.state = taxInfo.state;\n this.taxInfo.line1 = taxInfo.line1;\n this.taxInfo.line2 = taxInfo.line2;\n this.taxInfo.city = taxInfo.city;\n this.taxInfo.state = taxInfo.state;\n this.taxInfo.postalCode = taxInfo.postalCode;\n this.taxInfo.country = taxInfo.country || 'US';\n this.taxInfo.includeTaxId = this.taxInfo.country !== 'US' && (\n !!taxInfo.taxId\n || !!taxInfo.line1\n || !!taxInfo.line2\n || !!taxInfo.city\n || !!taxInfo.state);\n }\n } catch { }\n } else {\n const taxInfo = await this.apiService.getTaxInfo();\n if (taxInfo) {\n this.taxInfo.postalCode = taxInfo.postalCode;\n this.taxInfo.country = taxInfo.country || 'US';\n }\n }\n this.pristine = Object.assign({}, this.taxInfo);\n // If not the default (US) then trigger onCountryChanged\n if (this.taxInfo.country !== 'US') {\n this.onCountryChanged.emit();\n }\n });\n\n const taxRates = await this.apiService.getTaxRates();\n this.taxRates = taxRates.data;\n this.loading = false;\n }\n\n get taxRate() {\n if (this.taxRates != null) {\n const localTaxRate = this.taxRates.find(x =>\n x.country === this.taxInfo.country &&\n x.postalCode === this.taxInfo.postalCode\n );\n return localTaxRate?.rate ?? null;\n }\n }\n\n getTaxInfoRequest(): TaxInfoUpdateRequest {\n if (this.organizationId) {\n const request = new OrganizationTaxInfoUpdateRequest();\n request.taxId = this.taxInfo.taxId;\n request.state = this.taxInfo.state;\n request.line1 = this.taxInfo.line1;\n request.line2 = this.taxInfo.line2;\n request.city = this.taxInfo.city;\n request.state = this.taxInfo.state;\n request.postalCode = this.taxInfo.postalCode;\n request.country = this.taxInfo.country;\n return request;\n } else {\n const request = new TaxInfoUpdateRequest();\n request.postalCode = this.taxInfo.postalCode;\n request.country = this.taxInfo.country;\n return request;\n }\n }\n\n submitTaxInfo(): Promise {\n if (!this.hasChanged()) {\n return new Promise((resolve) => { resolve(); });\n }\n const request = this.getTaxInfoRequest();\n return this.organizationId ? this.apiService.putOrganizationTaxInfo(this.organizationId,\n request as OrganizationTaxInfoUpdateRequest) : this.apiService.putTaxInfo(request);\n }\n\n changeCountry() {\n if (this.taxInfo.country === 'US') {\n this.taxInfo.includeTaxId = false;\n this.taxInfo.taxId = null;\n this.taxInfo.line1 = null;\n this.taxInfo.line2 = null;\n this.taxInfo.city = null;\n this.taxInfo.state = null;\n }\n this.onCountryChanged.emit();\n }\n\n private hasChanged(): boolean {\n for (const key in this.taxInfo) {\n if (this.pristine.hasOwnProperty(key) && this.pristine[key] !== this.taxInfo[key]) {\n return true;\n }\n }\n return false;\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\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 { 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 = null;\n organizationId: string = null;\n folderId: string = null;\n name: string = null;\n notes: string = null;\n type: CipherType = null;\n favorite = false;\n organizationUseTotp = false;\n edit = false;\n viewPassword = true;\n localData: any;\n login = new LoginView();\n identity = new IdentityView();\n card = new CardView();\n secureNote = new SecureNoteView();\n attachments: AttachmentView[] = null;\n fields: FieldView[] = null;\n passwordHistory: PasswordHistoryView[] = null;\n collectionIds: string[] = null;\n revisionDate: Date = null;\n deletedDate: Date = null;\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.viewPassword = c.viewPassword;\n this.type = c.type;\n this.localData = c.localData;\n this.collectionIds = c.collectionIds;\n this.revisionDate = c.revisionDate;\n this.deletedDate = c.deletedDate;\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 hasOldAttachments(): boolean {\n if (this.hasAttachments) {\n for (let i = 0; i < this.attachments.length; i++) {\n if (this.attachments[i].key == null) {\n return true;\n }\n }\n }\n return false;\n }\n\n get hasFields(): boolean {\n return this.fields && this.fields.length > 0;\n }\n\n get passwordRevisionDisplayDate(): Date {\n if (this.type !== CipherType.Login || 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 get isDeleted(): boolean {\n return this.deletedDate != null;\n }\n}\n","import { View } from './view';\n\nimport { Identity } from '../domain/identity';\n\nimport { Utils } from '../../misc/utils';\n\nexport class IdentityView implements View {\n title: string = null;\n middleName: string = null;\n address1: string = null;\n address2: string = null;\n address3: string = null;\n city: string = null;\n state: string = null;\n postalCode: string = null;\n country: string = null;\n company: string = null;\n email: string = null;\n phone: string = null;\n ssn: string = null;\n username: string = null;\n passportNumber: string = null;\n licenseNumber: string = null;\n\n // tslint:disable\n private _firstName: string = null;\n private _lastName: string = null;\n private _subTitle: string = null;\n // tslint:enable\n\n constructor(i?: Identity) {\n // ctor\n }\n\n get firstName(): string {\n return this._firstName;\n }\n set firstName(value: string) {\n this._firstName = value;\n this._subTitle = null;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n set lastName(value: string) {\n this._lastName = value;\n this._subTitle = null;\n }\n\n get subTitle(): string {\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\n this._subTitle = '';\n if (this.firstName != null) {\n this._subTitle = this.firstName;\n }\n if (this.lastName != null) {\n if (this._subTitle !== '') {\n this._subTitle += ' ';\n }\n this._subTitle += this.lastName;\n }\n }\n\n return this._subTitle;\n }\n\n get fullName(): string {\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\n let name = '';\n if (this.title != null) {\n name += (this.title + ' ');\n }\n if (this.firstName != null) {\n name += (this.firstName + ' ');\n }\n if (this.middleName != null) {\n name += (this.middleName + ' ');\n }\n if (this.lastName != null) {\n name += this.lastName;\n }\n return name.trim();\n }\n\n return null;\n }\n\n get fullAddress(): string {\n let address = this.address1;\n if (!Utils.isNullOrWhitespace(this.address2)) {\n if (!Utils.isNullOrWhitespace(address)) {\n address += ', ';\n }\n address += this.address2;\n }\n if (!Utils.isNullOrWhitespace(this.address3)) {\n if (!Utils.isNullOrWhitespace(address)) {\n address += ', ';\n }\n address += this.address3;\n }\n return address;\n }\n\n get fullAddressPart2(): string {\n if (this.city == null && this.state == null && this.postalCode == null) {\n return null;\n }\n const city = this.city || '-';\n const state = this.state;\n const postalCode = this.postalCode || '-';\n let addressPart2 = city;\n if (!Utils.isNullOrWhitespace(state)) {\n addressPart2 += ', ' + state;\n }\n addressPart2 += ', ' + postalCode;\n return addressPart2;\n }\n}\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n externalId: 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.externalId = response.externalId;\n this.readOnly = response.readOnly;\n }\n}\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\nimport { ITreeNodeObject } from '../domain/treeNode';\n\nimport { CollectionGroupDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionView implements View, ITreeNodeObject {\n id: string = null;\n organizationId: string = null;\n name: string = null;\n externalId: string = null;\n readOnly: boolean = null;\n hidePasswords: boolean = null;\n\n constructor(c?: Collection | CollectionGroupDetailsResponse) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.externalId = c.externalId;\n if (c instanceof Collection) {\n this.readOnly = c.readOnly;\n this.hidePasswords = c.hidePasswords;\n }\n }\n}\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 { PasswordHistoryData } from './passwordHistoryData';\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 viewPassword: boolean;\n organizationUseTotp: boolean;\n favorite: boolean;\n revisionDate: string;\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 passwordHistory?: PasswordHistoryData[];\n collectionIds?: string[];\n deletedDate: 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.viewPassword = response.viewPassword;\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 this.collectionIds = collectionIds != null ? collectionIds : response.collectionIds;\n this.deletedDate = response.deletedDate;\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 = response.fields.map((f) => new FieldData(f));\n }\n if (response.attachments != null) {\n this.attachments = response.attachments.map((a) => new AttachmentData(a));\n }\n if (response.passwordHistory != null) {\n this.passwordHistory = response.passwordHistory.map((ph) => new PasswordHistoryData(ph));\n }\n }\n}\n","import { LoginUriView } from './loginUriView';\nimport { View } from './view';\n\nimport { Utils } from '../../misc/utils';\nimport { Login } from '../domain/login';\n\nexport class LoginView implements View {\n username: string = null;\n password: string = null;\n passwordRevisionDate?: Date = null;\n totp: string = null;\n uris: LoginUriView[] = null;\n\n constructor(l?: Login) {\n if (!l) {\n return;\n }\n\n this.passwordRevisionDate = l.passwordRevisionDate;\n }\n\n get uri(): string {\n return this.hasUris ? this.uris[0].uri : null;\n }\n\n get maskedPassword(): string {\n return this.password != null ? '••••••••' : null;\n }\n\n get subTitle(): string {\n return this.username;\n }\n\n get canLaunch(): boolean {\n return this.hasUris && this.uris.some((u) => u.canLaunch);\n }\n\n get hasTotp(): boolean {\n return !Utils.isNullOrWhitespace(this.totp);\n }\n\n get launchUri(): string {\n if (this.hasUris) {\n const uri = this.uris.find((u) => u.canLaunch);\n if (uri != null) {\n return uri.launchUri;\n }\n }\n return null;\n }\n\n get hasUris(): boolean {\n return this.uris != null && this.uris.length > 0;\n }\n}\n","export enum SendType {\n Text = 0,\n File = 1,\n}\n","export enum PolicyType {\n TwoFactorAuthentication = 0, // Requires users to have 2fa enabled\n MasterPassword = 1, // Sets minimum requirements for master password complexity\n PasswordGenerator = 2, // Sets minimum requirements/default type for generated passwords/passphrases\n SingleOrg = 3, // Allows users to only be apart of one organization\n RequireSso = 4, // Requires users to authenticate with SSO\n PersonalOwnership = 5, // Disables personal vault ownership for adding/cloning items\n}\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","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","export abstract class ExportService {\n getExport: (format?: 'csv' | 'json' | 'encrypted_json') => Promise;\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json' | 'encrypted_json') => Promise;\n getFileName: (prefix?: string, extension?: string) => string;\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 './domainBase';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { Password } from './password';\nimport { SecureNote } from './secureNote';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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 viewPassword: 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 passwordHistory: Password[];\n collectionIds: string[];\n deletedDate: Date;\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 if (obj.viewPassword != null) {\n this.viewPassword = obj.viewPassword;\n } else {\n this.viewPassword = true; // Default for already synced Ciphers without viewPassword\n }\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n this.deletedDate = obj.deletedDate != null ? new Date(obj.deletedDate) : null;\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 = obj.attachments.map((a) => new Attachment(a, alreadyEncrypted));\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = obj.fields.map((f) => new Field(f, alreadyEncrypted));\n } else {\n this.fields = null;\n }\n\n if (obj.passwordHistory != null) {\n this.passwordHistory = obj.passwordHistory.map((ph) => new Password(ph, alreadyEncrypted));\n } else {\n this.passwordHistory = null;\n }\n }\n\n async decrypt(encKey?: SymmetricCryptoKey): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId, encKey);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId, encKey);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId, encKey);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId, encKey);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId, encKey);\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, encKey);\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, encKey);\n }).then((decField) => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n if (this.passwordHistory != null && this.passwordHistory.length > 0) {\n const passwordHistory: any[] = [];\n await this.passwordHistory.reduce((promise, ph) => {\n return promise.then(() => {\n return ph.decrypt(orgId, encKey);\n }).then((decPh) => {\n passwordHistory.push(decPh);\n });\n }, Promise.resolve());\n model.passwordHistory = passwordHistory;\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.viewPassword = this.viewPassword;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate != null ? this.revisionDate.toISOString() : null;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n c.deletedDate = this.deletedDate != null ? this.deletedDate.toISOString() : null;\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 = this.fields.map((f) => f.toFieldData());\n }\n if (this.attachments != null) {\n c.attachments = this.attachments.map((a) => a.toAttachmentData());\n }\n if (this.passwordHistory != null) {\n c.passwordHistory = this.passwordHistory.map((ph) => ph.toPasswordHistoryData());\n }\n return c;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { View } from './view';\n\nimport { Field } from '../domain/field';\n\nexport class FieldView implements View {\n name: string = null;\n value: string = null;\n type: FieldType = null;\n newField: boolean = false; // Marks if the field is new and hasn't been saved\n showValue: boolean = false;\n\n constructor(f?: Field) {\n if (!f) {\n return;\n }\n\n this.type = f.type;\n }\n\n get maskedValue(): string {\n return this.value != null ? '••••••••' : 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 { LoginUriApi } from '../api/loginUriApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nimport { AttachmentRequest } from './attachmentRequest';\nimport { PasswordHistoryRequest } from './passwordHistoryRequest';\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 passwordHistory: PasswordHistoryRequest[];\n // Deprecated, remove at some point and rename attachments2 to attachments\n attachments: { [id: string]: string; };\n attachments2: { [id: string]: AttachmentRequest; };\n lastKnownRevisionDate: Date;\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 this.lastKnownRevisionDate = cipher.revisionDate;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new LoginApi();\n this.login.uris = null;\n this.login.username = cipher.login.username ? cipher.login.username.encryptedString : null;\n this.login.password = cipher.login.password ? cipher.login.password.encryptedString : null;\n this.login.passwordRevisionDate = cipher.login.passwordRevisionDate != null ?\n cipher.login.passwordRevisionDate.toISOString() : null;\n this.login.totp = cipher.login.totp ? cipher.login.totp.encryptedString : null;\n\n if (cipher.login.uris != null) {\n this.login.uris = cipher.login.uris.map((u) => {\n const uri = new LoginUriApi();\n uri.uri = u.uri != null ? u.uri.encryptedString : null;\n uri.match = u.match != null ? u.match : null;\n return uri;\n });\n }\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNoteApi();\n this.secureNote.type = cipher.secureNote.type;\n break;\n case CipherType.Card:\n this.card = new CardApi();\n this.card.cardholderName = cipher.card.cardholderName != null ?\n cipher.card.cardholderName.encryptedString : null;\n this.card.brand = cipher.card.brand != null ? cipher.card.brand.encryptedString : null;\n this.card.number = cipher.card.number != null ? cipher.card.number.encryptedString : null;\n this.card.expMonth = cipher.card.expMonth != null ? cipher.card.expMonth.encryptedString : null;\n this.card.expYear = cipher.card.expYear != null ? cipher.card.expYear.encryptedString : null;\n this.card.code = cipher.card.code != null ? cipher.card.code.encryptedString : null;\n break;\n case CipherType.Identity:\n this.identity = new IdentityApi();\n this.identity.title = cipher.identity.title != null ? cipher.identity.title.encryptedString : null;\n this.identity.firstName = cipher.identity.firstName != null ?\n cipher.identity.firstName.encryptedString : null;\n this.identity.middleName = cipher.identity.middleName != null ?\n cipher.identity.middleName.encryptedString : null;\n this.identity.lastName = cipher.identity.lastName != null ?\n cipher.identity.lastName.encryptedString : null;\n this.identity.address1 = cipher.identity.address1 != null ?\n cipher.identity.address1.encryptedString : null;\n this.identity.address2 = cipher.identity.address2 != null ?\n cipher.identity.address2.encryptedString : null;\n this.identity.address3 = cipher.identity.address3 != null ?\n cipher.identity.address3.encryptedString : null;\n this.identity.city = cipher.identity.city != null ? cipher.identity.city.encryptedString : null;\n this.identity.state = cipher.identity.state != null ? cipher.identity.state.encryptedString : null;\n this.identity.postalCode = cipher.identity.postalCode != null ?\n cipher.identity.postalCode.encryptedString : null;\n this.identity.country = cipher.identity.country != null ?\n cipher.identity.country.encryptedString : null;\n this.identity.company = cipher.identity.company != null ?\n cipher.identity.company.encryptedString : null;\n this.identity.email = cipher.identity.email != null ? cipher.identity.email.encryptedString : null;\n this.identity.phone = cipher.identity.phone != null ? cipher.identity.phone.encryptedString : null;\n this.identity.ssn = cipher.identity.ssn != null ? cipher.identity.ssn.encryptedString : null;\n this.identity.username = cipher.identity.username != null ?\n cipher.identity.username.encryptedString : null;\n this.identity.passportNumber = cipher.identity.passportNumber != null ?\n cipher.identity.passportNumber.encryptedString : null;\n this.identity.licenseNumber = cipher.identity.licenseNumber != null ?\n cipher.identity.licenseNumber.encryptedString : null;\n break;\n default:\n break;\n }\n\n if (cipher.fields != null) {\n this.fields = cipher.fields.map((f) => {\n const field = new FieldApi();\n field.type = f.type;\n field.name = f.name ? f.name.encryptedString : null;\n field.value = f.value ? f.value.encryptedString : null;\n return field;\n });\n }\n\n if (cipher.passwordHistory != null) {\n this.passwordHistory = [];\n cipher.passwordHistory.forEach((ph) => {\n this.passwordHistory.push({\n lastUsedDate: ph.lastUsedDate,\n password: ph.password ? ph.password.encryptedString : null,\n });\n });\n }\n\n if (cipher.attachments != null) {\n this.attachments = {};\n this.attachments2 = {};\n cipher.attachments.forEach((attachment) => {\n const fileName = attachment.fileName ? attachment.fileName.encryptedString : null;\n this.attachments[attachment.id] = fileName;\n const attachmentRequest = new AttachmentRequest();\n attachmentRequest.fileName = fileName;\n if (attachment.key != null) {\n attachmentRequest.key = attachment.key.encryptedString;\n }\n this.attachments2[attachment.id] = attachmentRequest;\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport {\n ActivatedRoute,\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Injectable()\nexport class RouterService {\n private previousUrl: string = undefined;\n private currentUrl: string = undefined;\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\n private titleService: Title, i18nService: I18nService) {\n this.currentUrl = this.router.url;\n router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.url;\n\n let title = i18nService.t('pageTitle', 'Bitwarden');\n let titleId: string = null;\n let rawTitle: string = null;\n let child = this.activatedRoute.firstChild;\n while (child != null) {\n if (child.firstChild != null) {\n child = child.firstChild;\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\n rawTitle = child.snapshot.data.title;\n break;\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\n titleId = child.snapshot.data.titleId;\n break;\n } else {\n titleId = null;\n rawTitle = null;\n break;\n }\n }\n\n if (titleId != null || rawTitle != null) {\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\n if (newTitle != null && newTitle !== '') {\n title = (newTitle + ' | ' + title);\n }\n }\n this.titleService.setTitle(title);\n }\n });\n }\n\n getPreviousUrl() {\n return this.previousUrl;\n }\n\n setPreviousUrl(url: string) {\n this.previousUrl = url;\n }\n}\n","export enum KdfType {\n PBKDF2_SHA256 = 0,\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-password-strength',\n templateUrl: 'password-strength.component.html',\n})\nexport class PasswordStrengthComponent implements OnChanges {\n @Input() score?: number;\n @Input() showText = false;\n\n scoreWidth = 0;\n color = 'bg-danger';\n text: string;\n\n constructor(private i18nService: I18nService) { }\n\n ngOnChanges(): void {\n this.scoreWidth = this.score == null ? 0 : (this.score + 1) * 20;\n switch (this.score) {\n case 4:\n this.color = 'bg-success';\n this.text = this.i18nService.t('strong');\n break;\n case 3:\n this.color = 'bg-primary';\n this.text = this.i18nService.t('good');\n break;\n case 2:\n this.color = 'bg-warning';\n this.text = this.i18nService.t('weak');\n break;\n default:\n this.color = 'bg-danger';\n this.text = this.score != null ? this.i18nService.t('weak') : null;\n break;\n }\n }\n}\n","
\n
\n \n {{text}}\n \n
\n
\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\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 { 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_Updated2fa:\n msg = this.i18nService.t('enabledUpdated2fa');\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 case EventType.User_ClientExportedVault:\n msg = this.i18nService.t('exportedVault');\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('permanentlyDeletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_SoftDeleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Restored:\n msg = this.i18nService.t('restoredItemId', 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_ClientViewed:\n msg = this.i18nService.t('viewedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledPasswordVisible:\n msg = this.i18nService.t('viewedPasswordItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledHiddenFieldVisible:\n msg = this.i18nService.t('viewedHiddenFieldItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledCardCodeVisible:\n msg = this.i18nService.t('viewedSecurityCodeItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedHiddenField:\n msg = this.i18nService.t('copiedHiddenFieldItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedPassword:\n msg = this.i18nService.t('copiedPasswordItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedCardCode:\n msg = this.i18nService.t('copiedSecurityCodeItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientAutofilled:\n msg = this.i18nService.t('autofilledItemId', 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 case EventType.OrganizationUser_UnlinkedSso:\n msg = this.i18nService.t('unlinkedSsoUser', this.formatOrgUserId(ev));\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n case EventType.Organization_PurgedVault:\n msg = this.i18nService.t('purgedOrganizationVault');\n break;\n /*\n case EventType.Organization_ClientExportedVault:\n msg = this.i18nService.t('exportedOrganizationVault');\n break;\n */\n // Policies\n case EventType.Policy_Updated:\n msg = this.i18nService.t('modifiedPolicy', this.formatPolicyId(ev));\n break;\n\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 formatPolicyId(ev: EventResponse) {\n const shortId = this.getShortId(ev.policyId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/policies?policyId=' + ev.policyId);\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 enum EventType {\n User_LoggedIn = 1000,\n User_ChangedPassword = 1001,\n User_Updated2fa = 1002,\n User_Disabled2fa = 1003,\n User_Recovered2fa = 1004,\n User_FailedLogIn = 1005,\n User_FailedLogIn2fa = 1006,\n User_ClientExportedVault = 1007,\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 Cipher_ClientViewed = 1107,\n Cipher_ClientToggledPasswordVisible = 1108,\n Cipher_ClientToggledHiddenFieldVisible = 1109,\n Cipher_ClientToggledCardCodeVisible = 1110,\n Cipher_ClientCopiedPassword = 1111,\n Cipher_ClientCopiedHiddenField = 1112,\n Cipher_ClientCopiedCardCode = 1113,\n Cipher_ClientAutofilled = 1114,\n Cipher_SoftDeleted = 1115,\n Cipher_Restored = 1116,\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 OrganizationUser_UnlinkedSso = 1505,\n\n Organization_Updated = 1600,\n Organization_PurgedVault = 1601,\n // Organization_ClientExportedVault = 1602,\n\n Policy_Updated = 1700,\n}\n","export enum PaymentMethodType {\n Card = 0,\n BankAccount = 1,\n PayPal = 2,\n BitPay = 3,\n Credit = 4,\n WireTransfer = 5,\n AppleInApp = 6,\n GoogleInApp = 7,\n Check = 8,\n}\n","import {\n Directive,\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\n@Directive()\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 {\n ComponentFactoryResolver,\n Directive,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { ModalComponent } from '../modal.component';\nimport { AddEditComponent as OrgAddEditComponent } from '../organizations/vault/add-edit.component';\nimport { AddEditComponent } from '../vault/add-edit.component';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Directive()\nexport class CipherReportComponent {\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n\n loading = false;\n hasLoaded = false;\n ciphers: CipherView[] = [];\n organization: Organization;\n\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, protected userService: UserService,\n protected messagingService: MessagingService, public requiresPaid: boolean) { }\n\n async load() {\n this.loading = true;\n await this.setCiphers();\n this.loading = false;\n this.hasLoaded = true;\n }\n\n selectCipher(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 let childComponent: OrgAddEditComponent | AddEditComponent;\n if (this.organization != null) {\n childComponent = this.modal.show(OrgAddEditComponent, this.cipherAddEditModalRef);\n (childComponent as OrgAddEditComponent).organization = this.organization;\n } else {\n childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n }\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n if (this.organization != null) {\n childComponent.organizationId = this.organization.id;\n }\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onRestoredCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n protected async checkAccess(): Promise {\n if (this.organization != null) {\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n if (this.requiresPaid && !this.organization.useTotp) {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n return false;\n }\n } else {\n const accessPremium = await this.userService.canAccessPremium();\n if (this.requiresPaid && !accessPremium) {\n this.messagingService.send('premiumRequired');\n this.loading = false;\n return false;\n }\n }\n return true;\n }\n\n protected async setCiphers() {\n this.ciphers = [];\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { View } from './view';\n\nimport { LoginUri } from '../domain/loginUri';\n\nimport { Utils } from '../../misc/utils';\n\nconst CanLaunchWhitelist = [\n 'https://',\n 'http://',\n 'ssh://',\n 'ftp://',\n 'sftp://',\n 'irc://',\n 'vnc://',\n // https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-uri\n 'rdp://', // Legacy RDP URI scheme\n 'ms-rd:', // Preferred RDP URI scheme\n 'chrome://',\n 'iosapp://',\n 'androidapp://',\n];\n\nexport class LoginUriView implements View {\n match: UriMatchType = null;\n\n // tslint:disable\n private _uri: string = null;\n private _domain: string = null;\n private _hostname: string = null;\n private _host: string = null;\n private _canLaunch: boolean = null;\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 this._canLaunch = null;\n }\n\n get domain(): string {\n if (this._domain == null && this.uri != null) {\n this._domain = Utils.getDomain(this.uri);\n if (this._domain === '') {\n this._domain = null;\n }\n }\n\n return this._domain;\n }\n\n get hostname(): string {\n if (this.match === UriMatchType.RegularExpression) {\n return null;\n }\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 host(): string {\n if (this.match === UriMatchType.RegularExpression) {\n return null;\n }\n if (this._host == null && this.uri != null) {\n this._host = Utils.getHost(this.uri);\n if (this._host === '') {\n this._host = null;\n }\n }\n\n return this._host;\n }\n\n get hostnameOrUri(): string {\n return this.hostname != null ? this.hostname : this.uri;\n }\n\n get hostOrUri(): string {\n return this.host != null ? this.host : this.uri;\n }\n\n get isWebsite(): boolean {\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0 ||\n (this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri)));\n }\n\n get canLaunch(): boolean {\n if (this._canLaunch != null) {\n return this._canLaunch;\n }\n if (this.uri != null && this.match !== UriMatchType.RegularExpression) {\n const uri = this.launchUri;\n for (let i = 0; i < CanLaunchWhitelist.length; i++) {\n if (uri.indexOf(CanLaunchWhitelist[i]) === 0) {\n this._canLaunch = true;\n return this._canLaunch;\n }\n }\n }\n this._canLaunch = false;\n return this._canLaunch;\n }\n\n get launchUri(): string {\n return this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri) ? ('http://' + this.uri) : this.uri;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { CipherType } from 'jslib/enums/cipherType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.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 {\n canAccessPremium: 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 viewOnly = false;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n protected totpService: TotpService, protected passwordGenerationService: PasswordGenerationService,\n protected messagingService: MessagingService, eventService: EventService,\n protected policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, messagingService, eventService, policyService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n await this.load();\n this.showRevisionDate = this.cipher.passwordRevisionDisplayDate != null;\n this.hasPasswordHistory = this.cipher.hasPasswordHistory;\n this.cleanUp();\n\n this.canAccessPremium = await this.userService.canAccessPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.canAccessPremium)) {\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.platformUtilsService.eventTrack('Launched Login URI');\n this.platformUtilsService.launchUri(uri.launchUri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.platformUtilsService.eventTrack('Copied ' + aType);\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n\n if (this.editMode) {\n if (typeI18nKey === 'password') {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, this.cipherId);\n } else if (typeI18nKey === 'securityCode') {\n this.eventService.collect(EventType.Cipher_ClientCopiedCardCode, this.cipherId);\n } else if (aType === 'H_Field') {\n this.eventService.collect(EventType.Cipher_ClientCopiedHiddenField, this.cipherId);\n }\n }\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = (await this.passwordGenerationService.getOptions())[0];\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n 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 protected allowOwnershipAssignment() {\n return (!this.editMode || this.cloneMode) && this.ownershipOptions != null\n && (this.ownershipOptions.length > 1 || !this.allowPersonal);\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
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'personalOwnershipPolicyInEffect' | 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 {{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 \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n \n

{{'ownership' | i18n}}

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

{{'collections' | i18n}}

\n
\n {{'noCollectionsInList' | i18n}}\n
\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","import { Importer } from '../importers/importer';\n\nexport interface ImportOption {\n id: string;\n name: string;\n}\nexport abstract class ImportService {\n featuredImportOptions: ImportOption[];\n regularImportOptions: ImportOption[];\n getImportOptions: () => ImportOption[];\n import: (importer: Importer, fileContents: string, organizationId?: string) => Promise;\n getImporter: (format: string, organizationId: string) => Importer;\n}\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 { EventService } from 'jslib/abstractions/event.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\n\nimport { CipherType } from 'jslib/enums/cipherType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\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 @Output() onCloneClicked = new EventEmitter();\n\n cipherType = CipherType;\n actionPromise: Promise;\n userHasPremiumAccess = false;\n\n constructor(searchService: SearchService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected cipherService: CipherService,\n protected eventService: EventService, protected totpService: TotpService, protected userService: UserService) {\n super(searchService);\n this.pageSize = 200;\n }\n\n async ngOnInit() {\n this.userHasPremiumAccess = await this.userService.canAccessPremium();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n launch(uri: string) {\n this.platformUtilsService.eventTrack('Launched Login URI');\n this.platformUtilsService.launchUri(uri);\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 clone(c: CipherView) {\n this.onCloneClicked.emit(c);\n }\n\n async delete(c: CipherView): Promise {\n if (this.actionPromise != null) {\n return;\n }\n const permanent = c.isDeleted;\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t(permanent ? 'permanentlyDeleteItemConfirmation' : 'deleteItemConfirmation'),\n this.i18nService.t(permanent ? 'permanentlyDeleteItem' : '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, permanent);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t(permanent ? 'permanentlyDeletedItem'\n : 'deletedItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n async restore(c: CipherView): Promise {\n if (this.actionPromise != null || !c.isDeleted) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('restoreItemConfirmation'),\n this.i18nService.t('restoreItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.cipherService.restoreWithServer(c.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Restored Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('restoredItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n async copy(cipher: CipherView, value: string, typeI18nKey: string, aType: string) {\n if (value == null || aType === 'TOTP' && !this.displayTotpCopyButton(cipher)) {\n return;\n } else if (value === cipher.login.totp) {\n value = await this.totpService.getCode(value);\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n\n if (typeI18nKey === 'password' || typeI18nKey === 'verificationCodeTotp') {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, cipher.id);\n } else if (typeI18nKey === 'securityCode') {\n this.eventService.collect(EventType.Cipher_ClientCopiedCardCode, cipher.id);\n }\n }\n\n selectAll(select: boolean) {\n if (select) {\n this.selectAll(false);\n }\n const selectCount = select && this.ciphers.length > MaxCheckedCount\n ? MaxCheckedCount\n : this.ciphers.length;\n for (let i = 0; i < selectCount; i++) {\n this.checkCipher(this.ciphers[i], select);\n }\n }\n\n checkCipher(c: CipherView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\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 displayTotpCopyButton(cipher: CipherView) {\n return (cipher?.login?.hasTotp ?? false) &&\n (cipher.organizationUseTotp || this.userHasPremiumAccess);\n }\n\n protected deleteCipher(id: string, permanent: boolean) {\n return permanent ? this.cipherService.deleteWithServer(id) : this.cipherService.softDeleteWithServer(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return c.hasOldAttachments && c.organizationId == null;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n \n {{'attachmentsNeedFix' | i18n}}\n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n {{'loading' | i18n}}\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","import { SendData } from '../models/data/sendData';\n\nimport { Send } from '../models/domain/send';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { SendView } from '../models/view/sendView';\n\nexport abstract class SendService {\n decryptedSendCache: SendView[];\n\n clearCache: () => void;\n encrypt: (model: SendView, file: File, password: string, key?: SymmetricCryptoKey) => Promise<[Send, ArrayBuffer]>;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n saveWithServer: (sendData: [Send, ArrayBuffer]) => Promise;\n upsert: (send: SendData | SendData[]) => Promise;\n replace: (sends: { [id: string]: SendData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n removePasswordWithServer: (id: string) => Promise;\n}\n","import { KdfType } from '../enums/kdfType';\nimport { 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 { PreloginRequest } from '../models/request/preloginRequest';\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 { AuthService as AuthServiceAbstraction } from '../abstractions/auth.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { LogService } from '../abstractions/log.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';\nimport { VaultTimeoutService } from '../abstractions/vaultTimeout.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 implements AuthServiceAbstraction {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n ssoRedirectUrl: string;\n clientId: string;\n clientSecret: string;\n twoFactorProvidersData: 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 vaultTimeoutService: VaultTimeoutService, private logService: LogService,\n private setCryptoKeys = true) {\n }\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 const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, null, null, null, null, null,\n key, null, null, null);\n }\n\n async logInSso(code: string, codeVerifier: string, redirectUrl: string): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, code, codeVerifier, redirectUrl, null, null,\n null, null, null, null);\n }\n\n async logInApiKey(clientId: string, clientSecret: string): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, null, null, null, clientId, clientSecret,\n null, null, null, null);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.code, this.codeVerifier,\n this.ssoRedirectUrl, this.clientId, this.clientSecret, 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 const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, null, null, null, null, null, key,\n twoFactorProvider, twoFactorToken, remember);\n }\n\n async logInSsoComplete(code: string, codeVerifier: string, redirectUrl: string,\n twoFactorProvider: TwoFactorProviderType, twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, code, codeVerifier, redirectUrl, null,\n null, null, twoFactorProvider, twoFactorToken, remember);\n }\n\n async logInApiKeyComplete(clientId: string, clientSecret: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, null, null, null, clientId, clientSecret, null,\n 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.twoFactorProvidersData == null) {\n return providers;\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProvidersData == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProvidersData.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProvidersData.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 async makePreloginKey(masterPassword: string, email: string): Promise {\n email = email.trim().toLowerCase();\n let kdf: KdfType = null;\n let kdfIterations: number = null;\n try {\n const preloginResponse = await this.apiService.postPrelogin(new PreloginRequest(email));\n if (preloginResponse != null) {\n kdf = preloginResponse.kdf;\n kdfIterations = preloginResponse.kdfIterations;\n }\n } catch (e) {\n if (e == null || e.statusCode !== 404) {\n throw e;\n }\n }\n return this.cryptoService.makeKey(masterPassword, email, kdf, kdfIterations);\n }\n\n authingWithApiKey(): boolean {\n return this.clientId != null && this.clientSecret != null;\n }\n\n authingWithSso(): boolean {\n return this.code != null && this.codeVerifier != null && this.ssoRedirectUrl != null;\n }\n\n authingWithPassword(): boolean {\n return this.email != null && this.masterPasswordHash != null;\n }\n\n private async logInHelper(email: string, hashedPassword: string, code: string, codeVerifier: string,\n redirectUrl: string, clientId: string, clientSecret: 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 emailPassword: string[] = [];\n let codeCodeVerifier: string[] = [];\n let clientIdClientSecret: string[] = [];\n\n if (email != null && hashedPassword != null) {\n emailPassword = [email, hashedPassword];\n } else {\n emailPassword = null;\n }\n if (code != null && codeVerifier != null && redirectUrl != null) {\n codeCodeVerifier = [code, codeVerifier, redirectUrl];\n } else {\n codeCodeVerifier = null;\n }\n if (clientId != null && clientSecret != null) {\n clientIdClientSecret = [clientId, clientSecret];\n } else {\n clientIdClientSecret = null;\n }\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, twoFactorProvider,\n twoFactorToken, remember, deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, null,\n 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.code = code;\n this.codeVerifier = codeVerifier;\n this.ssoRedirectUrl = redirectUrl;\n this.clientId = clientId;\n this.clientSecret = clientSecret;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProvidersData = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n result.resetMasterPassword = tokenResponse.resetMasterPassword;\n if (tokenResponse.twoFactorToken != null) {\n await this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setInformation(this.tokenService.getUserId(), this.tokenService.getEmail(),\n tokenResponse.kdf, tokenResponse.kdfIterations);\n if (this.setCryptoKeys) {\n if (key != null) {\n await this.cryptoService.setKey(key);\n }\n if (hashedPassword != null) {\n await this.cryptoService.setKeyHash(hashedPassword);\n }\n\n // Skip this step during SSO new user flow. No key is returned from server.\n if (code == null || tokenResponse.key != null) {\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 this.logService.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n }\n\n if (this.vaultTimeoutService != null) {\n this.vaultTimeoutService.biometricLocked = false;\n }\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.key = null;\n this.email = null;\n this.masterPasswordHash = null;\n this.code = null;\n this.codeVerifier = null;\n this.ssoRedirectUrl = null;\n this.clientId = null;\n this.clientSecret = null;\n this.twoFactorProvidersData = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n hidePasswords: boolean;\n\n constructor(id: string, readOnly: boolean, hidePasswords: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n this.hidePasswords = hidePasswords;\n }\n}\n","export enum OrganizationUserType {\n Owner = 0,\n Admin = 1,\n User = 2,\n Manager = 3,\n Custom = 4,\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","export abstract class SettingsService {\n clearCache: () => void;\n getEquivalentDomains: () => Promise;\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\n clear: (userId: string) => Promise;\n}\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually2019 = 1,\n TeamsMonthly2019 = 2,\n TeamsAnnually2019 = 3,\n EnterpriseMonthly2019 = 4,\n EnterpriseAnnually2019 = 5,\n Custom = 6,\n FamiliesAnnually = 7,\n TeamsMonthly = 8,\n TeamsAnnually = 9,\n EnterpriseMonthly = 10,\n EnterpriseAnnually = 11,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\nimport { TaxInfoComponent } from './tax-info.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { PolicyType } from 'jslib/enums/policyType';\nimport { ProductType } from 'jslib/enums/productType';\n\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\nimport { OrganizationUpgradeRequest } from 'jslib/models/request/organizationUpgradeRequest';\nimport { PlanResponse } from 'jslib/models/response/planResponse';\n\n@Component({\n selector: 'app-organization-plans',\n templateUrl: 'organization-plans.component.html',\n})\nexport class OrganizationPlansComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n @ViewChild(TaxInfoComponent) taxComponent: TaxInfoComponent;\n\n @Input() organizationId: string;\n @Input() showFree = true;\n @Input() showCancel = false;\n @Input() product: ProductType = ProductType.Free;\n @Input() plan: PlanType = PlanType.Free;\n @Output() onSuccess = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n loading: boolean = true;\n selfHosted: boolean = false;\n ownedBusiness: boolean = false;\n premiumAccessAddon: boolean = false;\n additionalStorage: number = 0;\n additionalSeats: number = 0;\n name: string;\n billingEmail: string;\n businessName: string;\n productTypes = ProductType;\n formPromise: Promise;\n singleOrgPolicyBlock: boolean = false;\n\n plans: PlanResponse[];\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 policyService: PolicyService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n if (!this.selfHosted) {\n const plans = await this.apiService.getPlans();\n this.plans = plans.data;\n if (this.product === ProductType.Enterprise || this.product === ProductType.Teams) {\n this.ownedBusiness = true;\n }\n }\n this.loading = false;\n }\n\n get createOrganization() {\n return this.organizationId == null;\n }\n\n get selectedPlan() {\n return this.plans.find((plan) => plan.type === this.plan);\n }\n\n get selectedPlanInterval() {\n return this.selectedPlan.isAnnual\n ? 'year'\n : 'month';\n }\n\n get selectableProducts() {\n let validPlans = this.plans.filter((plan) => plan.type !== PlanType.Custom);\n\n if (this.ownedBusiness) {\n validPlans = validPlans.filter((plan) => plan.canBeUsedByBusiness);\n }\n\n if (!this.showFree) {\n validPlans = validPlans.filter((plan) => plan.product !== ProductType.Free);\n }\n\n validPlans = validPlans\n .filter((plan) => !plan.legacyYear\n && !plan.disabled\n && (plan.isAnnual || plan.product === this.productTypes.Free));\n\n return validPlans;\n }\n\n get selectablePlans() {\n return this.plans.filter((plan) => !plan.legacyYear && !plan.disabled && plan.product === this.product);\n }\n\n additionalStoragePriceMonthly(selectedPlan: PlanResponse) {\n if (!selectedPlan.isAnnual) {\n return selectedPlan.additionalStoragePricePerGb;\n }\n return selectedPlan.additionalStoragePricePerGb / 12;\n }\n\n seatPriceMonthly(selectedPlan: PlanResponse) {\n if (!selectedPlan.isAnnual) {\n return selectedPlan.seatPrice;\n }\n return selectedPlan.seatPrice / 12;\n }\n\n additionalStorageTotal(plan: PlanResponse): number {\n if (!plan.hasAdditionalStorageOption) {\n return 0;\n }\n\n return plan.additionalStoragePricePerGb * Math.abs(this.additionalStorage || 0);\n }\n\n seatTotal(plan: PlanResponse): number {\n if (!plan.hasAdditionalSeatsOption) {\n return 0;\n }\n\n return plan.seatPrice * Math.abs(this.additionalSeats || 0);\n }\n\n get subtotal() {\n let subTotal = this.selectedPlan.basePrice;\n if (this.selectedPlan.hasAdditionalSeatsOption && this.additionalSeats) {\n subTotal += this.seatTotal(this.selectedPlan);\n }\n if (this.selectedPlan.hasAdditionalStorageOption && this.additionalStorage) {\n subTotal += this.additionalStorageTotal(this.selectedPlan);\n }\n if (this.selectedPlan.hasPremiumAccessOption && this.premiumAccessAddon) {\n subTotal += this.selectedPlan.premiumAccessOptionPrice;\n }\n return subTotal;\n }\n\n get taxCharges() {\n return this.taxComponent != null && this.taxComponent.taxRate != null ?\n (this.taxComponent.taxRate / 100) * this.subtotal :\n 0;\n }\n\n get total() {\n return (this.subtotal + this.taxCharges) || 0;\n }\n\n changedProduct() {\n this.plan = this.selectablePlans[0].type;\n if (!this.selectedPlan.hasPremiumAccessOption) {\n this.premiumAccessAddon = false;\n }\n if (!this.selectedPlan.hasAdditionalStorageOption) {\n this.additionalStorage = 0;\n }\n if (!this.selectedPlan.hasAdditionalSeatsOption) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.selectedPlan.baseSeats &&\n this.selectedPlan.hasAdditionalSeatsOption) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.selectedPlan.canBeUsedByBusiness) {\n return;\n }\n this.product = ProductType.Teams;\n this.plan = PlanType.TeamsAnnually;\n }\n\n changedCountry() {\n this.paymentComponent.hideBank = this.taxComponent.taxInfo.country !== 'US';\n // Bank Account payments are only available for US customers\n if (this.paymentComponent.hideBank &&\n this.paymentComponent.method === PaymentMethodType.BankAccount) {\n this.paymentComponent.method = PaymentMethodType.Card;\n this.paymentComponent.changeMethod();\n }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n async submit() {\n if (this.singleOrgPolicyBlock) {\n return;\n } else {\n const policies = await this.policyService.getAll(PolicyType.SingleOrg);\n this.singleOrgPolicyBlock = policies.some(policy => policy.enabled);\n if (this.singleOrgPolicyBlock) {\n return;\n }\n }\n\n let files: FileList = null;\n if (this.createOrganization && 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 const doSubmit = async () => {\n let orgId: string = null;\n if (this.createOrganization) {\n let tokenResult: [string, PaymentMethodType] = null;\n if (!this.selfHosted && this.plan !== PlanType.Free) {\n tokenResult = await this.paymentComponent.createPaymentToken();\n }\n const shareKey = await this.cryptoService.makeShareKey();\n const key = shareKey[0].encryptedString;\n const collection = await this.cryptoService.encrypt(\n this.i18nService.t('defaultCollection'), shareKey[1]);\n const collectionCt = collection.encryptedString;\n\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 const response = await this.apiService.postOrganizationLicense(fd);\n orgId = response.id;\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.selectedPlan.type === PlanType.Free) {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = tokenResult[0];\n request.paymentMethodType = tokenResult[1];\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.premiumAccessAddon = this.selectedPlan.hasPremiumAccessOption &&\n this.premiumAccessAddon;\n request.planType = this.selectedPlan.type;\n request.billingAddressPostalCode = this.taxComponent.taxInfo.postalCode;\n request.billingAddressCountry = this.taxComponent.taxInfo.country;\n if (this.taxComponent.taxInfo.includeTaxId) {\n request.taxIdNumber = this.taxComponent.taxInfo.taxId;\n request.billingAddressLine1 = this.taxComponent.taxInfo.line1;\n request.billingAddressLine2 = this.taxComponent.taxInfo.line2;\n request.billingAddressCity = this.taxComponent.taxInfo.city;\n request.billingAddressState = this.taxComponent.taxInfo.state;\n }\n }\n const response = await this.apiService.postOrganization(request);\n orgId = response.id;\n }\n } else {\n const request = new OrganizationUpgradeRequest();\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.premiumAccessAddon = this.selectedPlan.hasPremiumAccessOption &&\n this.premiumAccessAddon;\n request.planType = this.selectedPlan.type;\n request.billingAddressCountry = this.taxComponent.taxInfo.country;\n request.billingAddressPostalCode = this.taxComponent.taxInfo.postalCode;\n\n const result = await this.apiService.postOrganizationUpgrade(this.organizationId, request);\n if (!result.success && result.paymentIntentClientSecret != null) {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n }\n orgId = this.organizationId;\n }\n\n if (orgId != null) {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n if (this.createOrganization) {\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success',\n this.i18nService.t('organizationCreated'), this.i18nService.t('organizationReadyToGo'));\n } else {\n this.analytics.eventTrack.next({ action: 'Upgraded Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpgraded'));\n }\n this.router.navigate(['/organizations/' + orgId]);\n }\n };\n\n this.formPromise = doSubmit();\n await this.formPromise;\n this.onSuccess.emit();\n } catch { }\n }\n\n}\n","\n \n {{'loading' | i18n}}\n\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

{{'users' | i18n}}

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

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : selectedPlan.baseSeats : (seatPriceMonthly(selectedPlan) | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (additionalStoragePriceMonthly(selectedPlan) | currency:'$') : ('month' | i18n)}}\n
\n
\n
\n
\n
\n \n \n
\n {{'premiumAccessDesc' | i18n : (3.33 | currency:'$') : ('month' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

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

{{ (createOrganization ? 'paymentInformation' : 'billingInformation') | i18n}}

\n \n \n
\n
\n {{ 'planPrice' | i18n }}: {{ subtotal | currency: 'USD $' }}\n
\n \n {{ 'estimatedTax' | i18n }}: {{ taxCharges | currency: 'USD $' }}\n \n
\n
\n

{{'total' | i18n}}:\n {{total | currency:'USD $'}}/{{selectedPlanInterval | i18n}}

\n
\n {{'paymentChargedWithTrial' | i18n : (selectedPlanInterval | i18n) }}\n \n \n \n \n {{'paymentCharged' | i18n : (selectedPlanInterval | i18n) }}\n
\n
\n {{'singleOrgBlockCreateMessage' | i18n}}\n
\n
\n \n \n
\n
\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 { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { CardView } from '../view/cardView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): 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, encKey);\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 { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { FieldView } from '../view/fieldView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId, encKey);\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 { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): 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, encKey);\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 { LoginUri } from './loginUri';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n passwordRevisionDate?: Date;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.passwordRevisionDate = obj.passwordRevisionDate != null ? new Date(obj.passwordRevisionDate) : null;\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, encKey?: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId, encKey);\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, encKey);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n l.passwordRevisionDate = this.passwordRevisionDate != null ? this.passwordRevisionDate.toISOString() : null;\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 { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId, encKey);\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","export enum UriMatchType {\n Domain = 0,\n Host = 1,\n StartsWith = 2,\n Exact = 3,\n RegularExpression = 4,\n Never = 5,\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domainBase';\n\nimport { SecureNoteView } from '../view/secureNoteView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): 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 {\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n Renderer2,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\n@Directive({\n selector: 'input[type=checkbox][appTrueFalseValue]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TrueFalseValueDirective),\n multi: true,\n },\n ],\n})\nexport class TrueFalseValueDirective implements ControlValueAccessor {\n @Input() trueValue = true;\n @Input() falseValue = false;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\n\n @HostListener('change', ['$event'])\n onHostChange(ev: any) {\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\n }\n\n writeValue(obj: any): void {\n if (obj === this.trueValue) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\n } else {\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void { /* nothing */ }\n\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\n\n private propagateChange = (_: any) => { /* nothing */ };\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\n\n@Component({\n selector: 'app-vault-groupings',\n templateUrl: 'groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n @Output() onSearchTextChanged = new EventEmitter();\n\n searchText: string = '';\n searchPlaceholder: string = null;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n searchTextChanged() {\n this.onSearchTextChanged.emit(this.searchText);\n }\n}\n","
\n
\n {{'filters' | i18n}}\n \n \n \n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n {{'loading' | i18n}}\n

\n \n \n

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

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","import { OrganizationData } from '../data/organizationData';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\n\nexport class Organization {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\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.usePolicies = obj.usePolicies;\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.useApi = obj.useApi;\n this.useBusinessPortal = obj.useBusinessPortal;\n this.useSso = obj.useSso;\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 this.ssoBound = obj.ssoBound;\n this.identifier = obj.identifier;\n this.permissions = obj.permissions;\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 isManager() {\n return this.type === OrganizationUserType.Manager || this.type === OrganizationUserType.Owner ||\n this.type === OrganizationUserType.Admin;\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 get canAccessBusinessPortal() {\n return this.isAdmin || this.permissions.accessBusinessPortal;\n }\n\n get canAccessEventLogs() {\n return this.isAdmin || this.permissions.accessEventLogs;\n }\n\n get canAccessImportExport() {\n return this.isAdmin || this.permissions.accessImportExport;\n }\n\n get canAccessReports() {\n return this.isAdmin || this.permissions.accessReports;\n }\n\n get canManageAllCollections() {\n return this.isAdmin || this.permissions.manageAllCollections;\n }\n\n get canManageAssignedCollections() {\n return this.isManager || this.permissions.manageAssignedCollections;\n }\n\n get canManageGroups() {\n return this.isAdmin || this.permissions.manageGroups;\n }\n\n get canManageSso() {\n return this.isAdmin || this.permissions.manageSso;\n }\n\n get canManagePolicies() {\n return this.isAdmin || this.permissions.managePolicies;\n }\n\n get canManageUsers() {\n return this.isAdmin || this.permissions.manageUsers;\n }\n}\n","import { View } from './view';\n\nimport { SendFile } from '../domain/sendFile';\n\nexport class SendFileView implements View {\n id: string = null;\n url: string = null;\n size: string = null;\n sizeName: string = null;\n fileName: string = null;\n\n constructor(f?: SendFile) {\n if (!f) {\n return;\n }\n\n this.id = f.id;\n this.url = f.url;\n this.size = f.size;\n this.sizeName = f.sizeName;\n }\n\n get fileSize(): number {\n try {\n if (this.size != null) {\n return parseInt(this.size, null);\n }\n } catch { }\n return 0;\n }\n}\n","import { View } from './view';\n\nimport { SendText } from '../domain/sendText';\n\nexport class SendTextView implements View {\n text: string = null;\n hidden: boolean;\n\n constructor(t?: SendText) {\n if (!t) {\n return;\n }\n\n this.hidden = t.hidden;\n }\n\n get maskedText(): string {\n return this.text != null ? '••••••••' : null;\n }\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.syncService.fullSync(true);\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 unlinkSso(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n 'Are you sure you want to unlink SSO for this organization?', 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.deleteSsoUser(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Unlinked SSO' });\n this.toasterService.popAsync('success', null, 'Unlinked SSO');\n await this.load();\n } catch { }\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","\n

\n \n {{'loading' | i18n}}\n

\n \n \n

{{'noOrganizationsList' | i18n}}

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

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

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n {{'loading' | i18n}}\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 {{'organizationIsDisabled' | i18n}}\n \n \n
\n \n \n
\n
\n
\n
\n","import { BaseResponse } from './baseResponse';\n\nexport class SelectionReadOnlyResponse extends BaseResponse {\n id: string;\n readOnly: boolean;\n hidePasswords: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.readOnly = this.getResponseProperty('ReadOnly');\n this.hidePasswords = this.getResponseProperty('HidePasswords');\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","\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","
\n
\n
\n © {{year}}, Bitwarden Inc.\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { ErrorResponse } from '../../models/response/errorResponse';\n\n@Injectable()\nexport class ValidationService {\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n let 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 = errors.concat((data as ErrorResponse).getAllMessages());\n } else {\n errors.push(data.message ? data.message : defaultErrorMessage);\n }\n\n if (errors.length === 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors[0]);\n } else if (errors.length > 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors, {\n timeout: 5000 * errors.length,\n });\n }\n\n return errors;\n }\n}\n","export enum EncryptionType {\n AesCbc256_B64 = 0,\n AesCbc128_HmacSha256_B64 = 1,\n AesCbc256_HmacSha256_B64 = 2,\n Rsa2048_OaepSha256_B64 = 3,\n Rsa2048_OaepSha1_B64 = 4,\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\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 { OnInit } from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { MasterPasswordPolicyOptions } from '../../models/domain/masterPasswordPolicyOptions';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class ChangePasswordComponent implements OnInit {\n masterPassword: string;\n masterPasswordRetype: string;\n formPromise: Promise;\n masterPasswordScore: number;\n enforcedPolicyOptions: MasterPasswordPolicyOptions;\n\n protected email: string;\n protected kdf: KdfType;\n protected kdfIterations: number;\n\n private masterPasswordStrengthTimeout: any;\n\n constructor(protected i18nService: I18nService, protected cryptoService: CryptoService,\n protected messagingService: MessagingService, protected userService: UserService,\n protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected policyService: PolicyService) { }\n\n async ngOnInit() {\n this.email = await this.userService.getEmail();\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions();\n }\n\n getPasswordScoreAlertDisplay() {\n if (this.enforcedPolicyOptions == null) {\n return '';\n }\n\n let str: string;\n switch (this.enforcedPolicyOptions.minComplexity) {\n case 4:\n str = this.i18nService.t('strong');\n break;\n case 3:\n str = this.i18nService.t('good');\n break;\n default:\n str = this.i18nService.t('weak');\n break;\n }\n return str + ' (' + this.enforcedPolicyOptions.minComplexity + ')';\n }\n\n async submit() {\n if (!await this.strongPassword()) {\n return;\n }\n\n if (!await this.setupSubmitActions()) {\n return;\n }\n\n const email = await this.userService.getEmail();\n if (this.kdf == null) {\n this.kdf = await this.userService.getKdf();\n }\n if (this.kdfIterations == null) {\n this.kdfIterations = await this.userService.getKdfIterations();\n }\n const key = await this.cryptoService.makeKey(this.masterPassword, email.trim().toLowerCase(),\n this.kdf, this.kdfIterations);\n const masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n let encKey: [SymmetricCryptoKey, CipherString] = null;\n const existingEncKey = await this.cryptoService.getEncKey();\n if (existingEncKey == null) {\n encKey = await this.cryptoService.makeEncKey(key);\n } else {\n encKey = await this.cryptoService.remakeEncKey(key);\n }\n\n await this.performSubmitActions(masterPasswordHash, key, encKey);\n }\n\n async setupSubmitActions(): Promise {\n // Override in sub-class\n // Can be used for additional validation and/or other processes the should occur before changing passwords\n return true;\n }\n\n async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,\n encKey: [SymmetricCryptoKey, CipherString]) {\n // Override in sub-class\n }\n\n async strongPassword(): Promise {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return false;\n }\n if (this.masterPassword.length < 8) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return false;\n }\n if (this.masterPassword !== this.masterPasswordRetype) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return false;\n }\n\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n\n if (this.enforcedPolicyOptions != null &&\n !this.policyService.evaluateMasterPassword(\n strengthResult.score,\n this.masterPassword,\n this.enforcedPolicyOptions)) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPasswordPolicyRequirementsNotMet'));\n return false;\n }\n\n if (strengthResult != null && strengthResult.score < 3) {\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\n 'warning');\n if (!result) {\n return false;\n }\n }\n\n return true;\n }\n\n updatePasswordStrength() {\n if (this.masterPasswordStrengthTimeout != null) {\n clearTimeout(this.masterPasswordStrengthTimeout);\n }\n this.masterPasswordStrengthTimeout = setTimeout(() => {\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\n }, 300);\n }\n\n async logOut() {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.messagingService.send('logout');\n }\n }\n\n private getPasswordStrengthUserInput() {\n let userInput: string[] = [];\n const atPosition = this.email.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\n }\n return userInput;\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 { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\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() onEditedUsers = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n showSelected = false;\n loading = true;\n formPromise: Promise;\n selectedCount = 0;\n searchText: string;\n\n private allUsers: OrganizationUserUserDetailsResponse[] = [];\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n get users() {\n if (this.showSelected) {\n return this.allUsers.filter((u) => (u as any).checked);\n } else {\n return this.allUsers;\n }\n }\n\n async loadUsers() {\n const users = await this.apiService.getOrganizationUsers(this.organizationId);\n this.allUsers = users.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'email'));\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach((s) => {\n const user = users.data.filter((u) => u.id === s);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n }\n });\n }\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach((s) => {\n const user = users.data.filter((u) => !u.accessAll && u.id === s.id);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n (user[0] as any).readOnly = s.readOnly;\n (user[0] as any).hidePasswords = s.hidePasswords;\n }\n });\n }\n }\n\n this.allUsers.forEach((u) => {\n if (this.entity === 'collection' && u.accessAll) {\n (u as any).checked = true;\n }\n if ((u as any).checked) {\n this.selectedCount++;\n }\n });\n }\n\n check(u: OrganizationUserUserDetailsResponse) {\n if (this.entity === 'collection' && u.accessAll) {\n return;\n }\n (u as any).checked = !(u as any).checked;\n this.selectedChanged(u);\n }\n\n selectedChanged(u: OrganizationUserUserDetailsResponse) {\n if ((u as any).checked) {\n this.selectedCount++;\n } else {\n if (this.entity === 'collection') {\n (u as any).readOnly = false;\n (u as any).hidePasswords = false;\n }\n this.selectedCount--;\n }\n }\n\n filterSelected(showSelected: boolean) {\n this.showSelected = showSelected;\n }\n\n async submit() {\n try {\n if (this.entity === 'group') {\n const selections = this.users.filter((u) => (u as any).checked).map((u) => u.id);\n this.formPromise = this.apiService.putGroupUsers(this.organizationId, this.entityId, selections);\n } else {\n const selections = this.users.filter((u) => (u as any).checked && !u.accessAll)\n .map((u) => new SelectionReadOnlyRequest(u.id, !!(u as any).readOnly, !!(u as any).hidePasswords));\n this.formPromise = this.apiService.putCollectionUsers(this.organizationId, this.entityId, selections);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.entity === 'group' ? 'Edited Group Users' : 'Edited Collection Users',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedUsers'));\n this.onEditedUsers.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\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 \n \n \n \n \n \n \n \n \n \n \n \n \n
  {{'name' | i18n}} {{'userType' | i18n}}{{'hidePasswords' |\n i18n}}{{'readOnly' |\n i18n}}
\n \n \n \n \n {{u.email}}\n {{'invited'\n | i18n}}\n {{'accepted'\n | i18n}}\n {{u.name}}\n \n \n \n {{'userAccessAllItems' | i18n}}\n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n {{'custom' | i18n}}\n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\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","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\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 {{e.appName}}, {{e.ip}}\n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class PermissionsApi extends BaseResponse {\n accessBusinessPortal: boolean;\n accessEventLogs: boolean;\n accessImportExport: boolean;\n accessReports: boolean;\n manageAllCollections: boolean;\n manageAssignedCollections: boolean;\n manageCiphers: boolean;\n manageGroups: boolean;\n manageSso: boolean;\n managePolicies: boolean;\n manageUsers: boolean;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return this;\n }\n this.accessBusinessPortal = this.getResponseProperty('AccessBusinessPortal');\n this.accessEventLogs = this.getResponseProperty('AccessEventLogs');\n this.accessImportExport = this.getResponseProperty('AccessImportExport');\n this.accessReports = this.getResponseProperty('AccessReports');\n this.manageAllCollections = this.getResponseProperty('ManageAllCollections');\n this.manageAssignedCollections = this.getResponseProperty('ManageAssignedCollections');\n this.manageCiphers = this.getResponseProperty('ManageCiphers');\n this.manageGroups = this.getResponseProperty('ManageGroups');\n this.manageSso = this.getResponseProperty('ManageSso');\n this.managePolicies = this.getResponseProperty('ManagePolicies');\n this.manageUsers = this.getResponseProperty('ManageUsers');\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\nimport { ApiKeyResponse } from 'jslib/models/response/apiKeyResponse';\n\n@Component({\n selector: 'app-api-key',\n templateUrl: 'api-key.component.html',\n})\nexport class ApiKeyComponent {\n keyType: string;\n isRotation: boolean;\n postKey: (entityId: string, request: PasswordVerificationRequest) => Promise;\n entityId: string;\n scope: string;\n grantType: string;\n apiKeyTitle: string;\n apiKeyWarning: string;\n apiKeyDescription: string;\n\n masterPassword: string;\n formPromise: Promise;\n clientId: string;\n clientSecret: string;\n\n constructor(private i18nService: I18nService, private analytics: Angulartics2,\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 = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.postKey(this.entityId, request);\n const response = await this.formPromise;\n this.clientSecret = response.apiKey;\n this.clientId = `${this.keyType}.${this.entityId}`;\n this.analytics.eventTrack.next({ action: `Viewed ${this.keyType} API Key` });\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{apiKeyTitle | i18n}}

\n \n
\n
\n

{{apiKeyDescription | i18n}}

\n \n \n \n \n {{apiKeyWarning | i18n}}\n \n

\n client_id:
\n {{clientId}}\n

\n

\n client_secret:
\n {{clientSecret}}\n

\n

\n scope:
\n {{scope}}\n

\n

\n grant_type:
\n {{grantType}}\n

\n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n Input,\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 { 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-purge-vault',\n templateUrl: 'purge-vault.component.html',\n})\nexport class PurgeVaultComponent {\n @Input() organizationId?: string = null;\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.postPurgeCiphers(request, this.organizationId);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.organizationId != null ? 'Purged Organization Vault' : 'Purged Vault',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\n if (this.organizationId != null) {\n this.router.navigate(['organizations', this.organizationId, 'vault']);\n } else {\n this.router.navigate(['vault']);\n }\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{(organizationId ? 'purgeOrgVaultDesc' : 'purgeVaultDesc') | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\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';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { TransactionType } from 'jslib/enums/transactionType';\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\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 showAdjustPayment = false;\n showAddCredit = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n transactionType = TransactionType;\n organizationId: string;\n verifyAmount1: number;\n verifyAmount2: number;\n\n verifyBankPromise: Promise;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\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 this.loading = true;\n if (this.organizationId != null) {\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n } else {\n this.billing = await this.apiService.getUserBilling();\n }\n this.loading = false;\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 addCredit() {\n if (this.paymentSourceInApp) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t('addCredit'), null, null, 'warning');\n return;\n }\n this.showAddCredit = true;\n }\n\n closeAddCredit(load: boolean) {\n this.showAddCredit = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n if (this.paymentSourceInApp) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t('changePaymentMethod'), null, null, 'warning');\n return;\n }\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 isCreditBalance() {\n return this.billing == null || this.billing.balance <= 0;\n }\n\n get creditOrBalance() {\n return Math.abs(this.billing != null ? this.billing.balance : 0);\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get paymentSourceInApp() {\n return this.paymentSource != null &&\n (this.paymentSource.type === PaymentMethodType.AppleInApp ||\n this.paymentSource.type === PaymentMethodType.GoogleInApp);\n }\n\n get invoices() {\n return this.billing != null ? this.billing.invoices : null;\n }\n\n get transactions() {\n return this.billing != null ? this.billing.transactions : null;\n }\n}\n","
\n

\n {{'billing' | i18n}}\n

\n \n
\n\n \n {{'loading' | i18n}}\n\n\n

{{(isCreditBalance ? 'accountCredit' : 'accountBalance') | i18n}}

\n

{{creditOrBalance | currency:'$'}}

\n

{{'creditAppliedDesc' | i18n}}

\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 {{'inAppPurchase' | i18n}}\n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'invoices' | i18n}}

\n

{{'noInvoices' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{i.date | date:'mediumDate'}}\n \n \n \n {{'invoiceNumber' | i18n : i.number}}\n {{i.amount | currency:'$'}}\n \n \n {{'paid' | i18n}}\n \n \n \n {{'unpaid' | i18n}}\n \n
\n

{{'transactions' | i18n}}

\n

{{'noTransactions' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{t.createdDate | date:'mediumDate'}}\n \n {{'chargeNoun' | i18n}}\n \n {{'refundNoun' | i18n}}\n \n \n {{t.details}}\n \n {{t.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\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 { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { BitPayInvoiceRequest } from 'jslib/models/request/bitPayInvoiceRequest';\n\nimport { WebConstants } from '../../services/webConstants';\n\n@Component({\n selector: 'app-add-credit',\n templateUrl: 'add-credit.component.html',\n})\nexport class AddCreditComponent implements OnInit {\n @Input() creditAmount: string;\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.PayPal;\n @Input() organizationId: string;\n @Output() onAdded = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n @ViewChild('ppButtonForm', { read: ElementRef, static: true }) ppButtonFormRef: ElementRef;\n\n paymentMethodType = PaymentMethodType;\n ppButtonFormAction = WebConstants.paypal.buttonActionProduction;\n ppButtonBusinessId = WebConstants.paypal.businessIdProduction;\n ppButtonCustomField: string;\n ppLoading = false;\n subject: string;\n returnUrl: string;\n formPromise: Promise;\n\n private userId: string;\n private name: string;\n private email: string;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) {\n if (platformUtilsService.isDev()) {\n this.ppButtonFormAction = WebConstants.paypal.buttonActionSandbox;\n this.ppButtonBusinessId = WebConstants.paypal.businessIdSandbox;\n }\n }\n\n async ngOnInit() {\n if (this.organizationId != null) {\n if (this.creditAmount == null) {\n this.creditAmount = '20.00';\n }\n this.ppButtonCustomField = 'organization_id:' + this.organizationId;\n const org = await this.userService.getOrganization(this.organizationId);\n if (org != null) {\n this.subject = org.name;\n this.name = org.name;\n }\n } else {\n if (this.creditAmount == null) {\n this.creditAmount = '10.00';\n }\n this.userId = await this.userService.getUserId();\n this.subject = await this.userService.getEmail();\n this.email = this.subject;\n this.ppButtonCustomField = 'user_id:' + this.userId;\n }\n this.ppButtonCustomField += ',account_credit:1';\n this.returnUrl = window.location.href;\n }\n\n async submit() {\n if (this.creditAmount == null || this.creditAmount === '') {\n return;\n }\n\n if (this.method === PaymentMethodType.PayPal) {\n this.ppButtonFormRef.nativeElement.submit();\n this.ppLoading = true;\n return;\n }\n if (this.method === PaymentMethodType.BitPay) {\n try {\n const req = new BitPayInvoiceRequest();\n req.email = this.email;\n req.name = this.name;\n req.credit = true;\n req.amount = this.creditAmountNumber;\n req.organizationId = this.organizationId;\n req.userId = this.userId;\n req.returnUrl = this.returnUrl;\n this.formPromise = this.apiService.postBitPayInvoice(req);\n const bitPayUrl: string = await this.formPromise;\n this.platformUtilsService.launchUri(bitPayUrl);\n } catch { }\n return;\n }\n try {\n this.analytics.eventTrack.next({\n action: 'Added Credit',\n });\n this.onAdded.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n formatAmount() {\n try {\n if (this.creditAmount != null && this.creditAmount !== '') {\n const floatAmount = Math.abs(parseFloat(this.creditAmount));\n if (floatAmount > 0) {\n this.creditAmount = parseFloat((Math.round(floatAmount * 100) / 100).toString())\n .toFixed(2).toString();\n return;\n }\n }\n } catch { }\n this.creditAmount = '';\n }\n\n get creditAmountNumber(): number {\n if (this.creditAmount != null && this.creditAmount !== '') {\n try {\n return parseFloat(this.creditAmount);\n } catch { }\n }\n return null;\n }\n}\n","
\n
\n \n

{{'addCredit' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
$USD
\n \n
\n
\n
\n {{'creditDelayed' | i18n}}\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \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';\nimport { TaxInfoComponent } from './tax-info.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n @ViewChild(TaxInfoComponent, { static: true }) taxInfoComponent: TaxInfoComponent;\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((result) => {\n request.paymentToken = result[0];\n request.paymentMethodType = result[1];\n request.postalCode = this.taxInfoComponent.taxInfo.postalCode;\n request.country = this.taxInfoComponent.taxInfo.country;\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n request.taxId = this.taxInfoComponent.taxInfo.taxId;\n request.state = this.taxInfoComponent.taxInfo.state;\n request.line1 = this.taxInfoComponent.taxInfo.line1;\n request.line2 = this.taxInfoComponent.taxInfo.line2;\n request.city = this.taxInfoComponent.taxInfo.city;\n request.state = this.taxInfoComponent.taxInfo.state;\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 changeCountry() {\n if (this.taxInfoComponent.taxInfo.country === 'US') {\n this.paymentComponent.hideBank = !this.organizationId;\n } else {\n this.paymentComponent.hideBank = true;\n if (this.paymentComponent.method === PaymentMethodType.BankAccount) {\n this.paymentComponent.method = PaymentMethodType.Card;\n this.paymentComponent.changeMethod();\n }\n }\n }\n}\n","
\n
\n \n

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

\n \n \n \n \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 let updatePromise: Promise = null;\n if (this.organizationId == null) {\n updatePromise = this.apiService.postAccountLicense(fd);\n } else {\n updatePromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n this.formPromise = updatePromise.then(() => {\n return this.apiService.refreshIdentityToken();\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","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","export enum ProductType {\n Free = 0,\n Families = 1,\n Teams = 2,\n Enterprise = 3,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\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 { StorageRequest } from 'jslib/models/request/storageRequest';\n\nimport { PaymentResponse } from 'jslib/models/response/paymentResponse';\n\nimport { PaymentComponent } from './payment.component';\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 @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router, private activatedRoute: ActivatedRoute) { }\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 let paymentFailed = false;\n const action = async () => {\n let response: Promise;\n if (this.organizationId == null) {\n response = this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n response = this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n const result = await response;\n if (result != null && result.paymentIntentClientSecret != null) {\n try {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n } catch {\n paymentFailed = true;\n }\n }\n };\n this.formPromise = action();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.onAdjusted.emit(this.storageAdjustment);\n if (paymentFailed) {\n this.toasterService.popAsync({\n body: this.i18nService.t('couldNotChargeCardPayInvoice'),\n type: 'warning',\n timeout: 10000,\n });\n this.router.navigate(['../billing'], { relativeTo: this.activatedRoute });\n } else {\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n }\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","
\n
\n \n

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

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}}\n = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\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","
\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","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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { PolicyType } from 'jslib/enums/policyType';\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, static: true }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef, static: true }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef, static: true }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef, static: true }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef, static: true }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef, static: true }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n canAccessPremium: boolean;\n showPolicyWarning = false;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected userService: UserService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService,\n protected policyService: PolicyService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\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.evaluatePolicies();\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 if (!this.canAccessPremium) {\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 this.evaluatePolicies();\n }\n\n private async evaluatePolicies() {\n if (this.organizationId == null && this.providers.filter((p) => p.enabled).length === 1) {\n const policies = await this.policyService.getAll(PolicyType.TwoFactorAuthentication);\n this.showPolicyWarning = policies != null && policies.some((p) => p.enabled);\n } else {\n this.showPolicyWarning = false;\n }\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 {{'loading' | i18n}}\n \n

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

    \n {{p.name}}\n \n \n {{'enabled' | i18n}}\n \n \n {{'premium' | i18n}}\n \n

    \n {{p.description}}\n
    \n
    \n \n
    \n
  • \n
\n\n\n\n\n\n\n\n","import { Component } from '@angular/core';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\n\n@Component({\n selector: 'app-export',\n templateUrl: 'export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n organizationId: string;\n\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\n eventService: EventService) {\n super(cryptoService, i18nService, platformUtilsService, exportService, eventService, window);\n }\n\n protected saved() {\n super.saved();\n this.masterPassword = null;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('exportSuccess'));\n }\n}\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: 'exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n exposedPasswordMap = new Map();\n\n constructor(protected cipherService: CipherService, protected auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n ngOnInit() {\n this.checkAccess();\n }\n\n async load() {\n if (await this.checkAccess()) {\n super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const exposedPasswordCiphers: CipherView[] = [];\n const promises: Promise[] = [];\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n const promise = this.auditService.passwordLeaked(c.login.password).then((exposedCount) => {\n if (exposedCount > 0) {\n exposedPasswordCiphers.push(c);\n this.exposedPasswordMap.set(c.id, exposedCount);\n }\n });\n promises.push(promise);\n });\n await Promise.all(promises);\n this.ciphers = exposedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from the org view;\n return true;\n }\n}\n","
\n

{{'exposedPasswordsReport' | i18n}}

\n
\n

{{'exposedPasswordsReportDesc' | i18n}}

\n\n
\n \n {{'noExposedPasswords' | i18n}}\n \n \n \n {{'exposedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'exposedXTimes' | i18n : (exposedPasswordMap.get(c.id) | number)}}\n \n
\n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCreateRequest } from 'jslib/models/request/cipherCreateRequest';\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 {\n organization: Organization;\n originalCipher: Cipher = null;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\n private apiService: ApiService, messagingService: MessagingService,\n eventService: EventService, policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, totpService, passwordGenerationService, messagingService,\n eventService, policyService);\n }\n\n protected allowOwnershipAssignment() {\n if (this.ownershipOptions != null && (this.ownershipOptions.length > 1 || !this.allowPersonal)) {\n if (this.organization != null) {\n return this.cloneMode && this.organization.canManageAllCollections;\n } else {\n return !this.editMode || this.cloneMode;\n }\n }\n return false;\n }\n\n protected loadCollections() {\n if (!this.organization.canManageAllCollections) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n const data = new CipherData(response);\n this.originalCipher = new Cipher(data);\n return new Cipher(data);\n }\n\n protected encryptCipher() {\n if (!this.organization.canManageAllCollections) {\n return super.encryptCipher();\n }\n return this.cipherService.encrypt(this.cipher, null, this.originalCipher);\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.canManageAllCollections || cipher.organizationId == null) {\n return super.saveCipher(cipher);\n }\n if (this.editMode && !this.cloneMode) {\n const request = new CipherRequest(cipher);\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n const request = new CipherCreateRequest(cipher);\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipher();\n }\n return this.cipher.isDeleted ? this.apiService.deleteCipherAdmin(this.cipherId)\n : this.apiService.putDeleteCipherAdmin(this.cipherId);\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\n\nexport class AttachmentData {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\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.key = response.key;\n this.size = response.size;\n this.sizeName = response.sizeName;\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 { 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 { 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 { LoginApi } from '../api/loginApi';\n\nimport { LoginUriData } from './loginUriData';\n\nexport class LoginData {\n uris: LoginUriData[];\n username: string;\n password: string;\n passwordRevisionDate: 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.passwordRevisionDate = data.passwordRevisionDate;\n this.totp = data.totp;\n\n if (data.uris) {\n this.uris = data.uris.map((u) => new LoginUriData(u));\n }\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 { 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 { AttachmentData } from '../data/attachmentData';\n\nimport { AttachmentView } from '../view/attachmentView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\n\nimport { Utils } from '../../misc/utils';\n\nexport class Attachment extends Domain {\n id: string;\n url: string;\n size: string;\n sizeName: string;\n key: CipherString;\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 key: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n async decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new AttachmentView(this), {\n fileName: null,\n }, orgId, encKey);\n\n if (this.key != null) {\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n const orgKey = await cryptoService.getOrgKey(orgId);\n const decValue = await cryptoService.decryptToBytes(this.key, orgKey ?? encKey);\n view.key = new SymmetricCryptoKey(decValue);\n } catch (e) {\n // TODO: error?\n }\n }\n\n return view;\n }\n\n toAttachmentData(): AttachmentData {\n const a = new AttachmentData();\n a.size = this.size;\n this.buildDataModel(this, a, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n key: null,\n }, ['id', 'url', 'sizeName']);\n return a;\n }\n}\n","import { View } from './view';\n\nimport { Password } from '../domain/password';\n\nexport class PasswordHistoryView implements View {\n password: string = null;\n lastUsedDate: Date = null;\n\n constructor(ph?: Password) {\n if (!ph) {\n return;\n }\n\n this.lastUsedDate = ph.lastUsedDate;\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 { I18nService } from 'jslib/abstractions/i18n.service';\nimport { ImportOption, ImportService } from 'jslib/abstractions/import.service';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: ImportOption[];\n importOptions: ImportOption[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected organizationId: string = null;\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected importService: ImportService,\n protected router: Router) { }\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.importService.getImporter(this.format, this.organizationId);\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 try {\n this.formPromise = this.importService.import(importer, fileContents, this.organizationId);\n const error = await this.formPromise;\n if (error != null) {\n this.error(error);\n return;\n }\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 }\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 setImportOptions() {\n this.featuredImportOptions = [{\n id: null,\n name: '-- ' + this.i18nService.t('select') + ' --',\n }, ...this.importService.featuredImportOptions];\n this.importOptions = this.importService.regularImportOptions;\n }\n\n private error(error: Error) {\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'), error.message);\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 as any).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 as any).result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\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 \n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n \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\n 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\n \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the\n XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\n \"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\n (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save\n the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\n \"Settings\". Click 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\n data\" to save the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the\n \"Export to .csv File\" 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 \n https://help.bitwarden.com/article/import-from-chrome/\n \n \n See detailed instructions on our help site at\n \n https://bitwarden.com/help/article/import-from-firefox/.\n \n \n See detailed instructions on our help site at\n \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\n dialog that pops 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\n warning alert and save the CSV file. Note that the importer only supports files exported while Enpass is set\n to the English language, so adjust your settings accordingly.\n \n \n Using the Enpass 6 desktop application, click the menu button and navigate to \"File\" → \"Export\".\n Select the \".json\" file format option and save the JSON file.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\"\n and save the XML file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive\n (readable) in JSON format\" and save the JSON file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the\n CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export\n all\". Select 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\".\n Click the \"Export\" 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\n expand the navigation bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save\n the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" →\n \"Account & Data\" and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV\n file\" and then click the \"Export\" button to save the CSV file. Note: RoboForm only allows you to export\n Logins. Other items will not be exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you\n would like to export and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\"\n export format and click the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that\n pops up, select 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\n JSON - not encrypted\" and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All\n Secrets\" and click the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a\n text editor like Notepad 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.\n Navigate to \"Export\" → \"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\n click \"Backup to 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\n script to your desktop as 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\n export\" button and check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\"\n button to save the CSV file.\n \n \n Log into the Passpack website vault and navigate to \"Settings\" → \"Export\", then click the \"Download\"\n button to save the CSV file.\n \n \n Open your Passman vault and click on \"Settings\" in the bottom left corner. In the \"Settings\" window switch\n to the \"Export credentials\" tab and choose \"JSON\" as the export type. Enter your vault's passphrase and\n click the \"Export\" button to save the JSON file.\n \n \n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\n the \"Export\" button for the \"Export to CSV file\" option to save the CSV file.\n \n \n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\n the \"Export\" button for the \"Export to JSON file\" option to save the JSON file.\n \n \n Open the F-Secure KEY desktop application and navigate to \"Settings\" → \"Export Passwords\". Select the\n \"Export\" button, enter your master password, and save the FSK file.\n \n \n Open the Kaspersky Password Manager desktop application and navigate to \"Settings\" → \"Import/Export\".\n Locate the \"Export to text file\" section and select the \"Export\" button to save the TXT file.\n \n \n Open the RememBear desktop application and navigate to \"Settings\" → \"Account\" → \"Export\".\n Enter your master password and select the \"Export Anyway\" button to save the CSV file.\n \n \n Open the PasswordWallet desktop application and navigate to \"File\" → \"Export\" →\n \"Visible entries to text file\". Enter your password and select the \"Ok\" button to save the TXT file.\n \n \n Open the Myki desktop browser extension and navigate to \"Advanced\" → \"Export Accounts\" and then scan\n the QR code with your mobile device. Various CSV files will then be saved to your computer's\n downloads folder.\n \n \n Export your SecureSafe password safe to a CSV file with a comma delimiter.\n \n \n Open the LogMeOnce browser extension, then navigate to \"Open Menu\" → \"Export To\" and\n select \"CSV File\" to save the CSV file.\n \n \n Open the BlackBerry Password Keeper application, then navigate to \"Settings\" → \"Import/Export\".\n Select \"Export Passwords\" and follow the instructions on screen to save the unencrypted CSV file.\n \n \n Open the Buttercup desktop application and unlock your vault. Right click on your vault's icon and\n select \"Export\" to save the CSV file.\n \n \n Open the Codebook desktop application and log in. Navigate to \"File\" → \"Export all\", then click\n \"Yes\" on the dialog and save the CSV file.\n \n \n Open the newest version of the Encryptr desktop application and allow all of your data to sync.\n Once syncing of your data is complete, the download icon in the top right corner will turn pink. Click\n the download icon and save the CSV file.\n \n \n From the Yoti browser extension, click on \"Settings\", then \"Export Saved Logins\" and save the CSV file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: 'inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends CipherReportComponent implements OnInit {\n services = new Map();\n cipherDocs = new Map();\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n try {\n await this.load2fa();\n } catch { }\n if (this.services.size > 0) {\n const allCiphers = await this.getAllCiphers();\n const inactive2faCiphers: CipherView[] = [];\n const promises: Promise[] = [];\n const docs = new Map();\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || (c.login.totp != null && c.login.totp !== '') || !c.login.hasUris ||\n c.isDeleted) {\n return;\n }\n for (let i = 0; i < c.login.uris.length; i++) {\n const u = c.login.uris[i];\n if (u.uri != null && u.uri !== '') {\n const hostname = Utils.getHostname(u.uri);\n if (hostname != null && this.services.has(hostname)) {\n if (this.services.get(hostname) != null) {\n docs.set(c.id, this.services.get(hostname));\n }\n inactive2faCiphers.push(c);\n break;\n }\n }\n }\n });\n await Promise.all(promises);\n this.ciphers = inactive2faCiphers;\n this.cipherDocs = docs;\n }\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n private async load2fa() {\n if (this.services.size > 0) {\n return;\n }\n const response = await fetch(new Request('https://2fa.directory/api/v1/data.json'));\n if (response.status !== 200) {\n throw new Error();\n }\n const responseJson = await response.json();\n for (const categoryName in responseJson) {\n if (responseJson.hasOwnProperty(categoryName)) {\n const category = responseJson[categoryName];\n for (const serviceName in category) {\n if (category.hasOwnProperty(serviceName)) {\n const service = category[serviceName];\n if (service.tfa && service.software && service.url != null) {\n const hostname = Utils.getHostname(service.url);\n if (hostname != null) {\n this.services.set(hostname, service.doc);\n }\n }\n }\n }\n }\n }\n }\n}\n","
\n

\n {{'inactive2faReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'inactive2faReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noInactive2fa' | i18n}}\n \n \n \n {{'inactive2faFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'instructions' | i18n}}\n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: 'reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordUseMap: Map;\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const ciphersWithPasswords: CipherView[] = [];\n this.passwordUseMap = new Map();\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n ciphersWithPasswords.push(c);\n if (this.passwordUseMap.has(c.login.password)) {\n this.passwordUseMap.set(c.login.password, this.passwordUseMap.get(c.login.password) + 1);\n } else {\n this.passwordUseMap.set(c.login.password, 1);\n }\n });\n const reusedPasswordCiphers = ciphersWithPasswords.filter((c) =>\n this.passwordUseMap.has(c.login.password) && this.passwordUseMap.get(c.login.password) > 1);\n this.ciphers = reusedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from an organization view\n return true;\n }\n}\n","
\n

\n {{'reusedPasswordsReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'reusedPasswordsReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noReusedPasswords' | i18n}}\n \n \n \n {{'reusedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'reusedXTimes' | i18n : passwordUseMap.get(c.login.password)}}\n \n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: 'unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends CipherReportComponent implements OnInit {\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const unsecuredCiphers = allCiphers.filter((c) => {\n if (c.type !== CipherType.Login || !c.login.hasUris || c.isDeleted) {\n return false;\n }\n return c.login.uris.some((u) => u.uri != null && u.uri.indexOf('http://') === 0);\n });\n this.ciphers = unsecuredCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n}\n","
\n

\n {{'unsecuredWebsitesReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'unsecuredWebsitesReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noUnsecuredWebsites' | i18n}}\n \n \n \n {{'unsecuredWebsitesFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: 'weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordStrengthMap = new Map();\n\n private passwordStrengthCache = new Map();\n\n constructor(protected cipherService: CipherService, protected passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const weakPasswordCiphers: CipherView[] = [];\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n const hasUsername = c.login.username != null && c.login.username.trim() !== '';\n const cacheKey = c.login.password + '_____' + (hasUsername ? c.login.username : '');\n if (!this.passwordStrengthCache.has(cacheKey)) {\n let userInput: string[] = [];\n if (hasUsername) {\n const atPosition = c.login.username.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(\n c.login.username.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/))\n .filter((i) => i.length >= 3);\n } else {\n userInput = c.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/)\n .filter((i) => i.length >= 3);\n }\n }\n const result = this.passwordGenerationService.passwordStrength(c.login.password,\n userInput.length > 0 ? userInput : null);\n this.passwordStrengthCache.set(cacheKey, result.score);\n }\n const score = this.passwordStrengthCache.get(cacheKey);\n if (score != null && score <= 2) {\n this.passwordStrengthMap.set(c.id, this.scoreKey(score));\n weakPasswordCiphers.push(c);\n }\n });\n this.ciphers = weakPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from the org view;\n return true;\n }\n\n private scoreKey(score: number): [string, string] {\n switch (score) {\n case 4:\n return ['strong', 'success'];\n case 3:\n return ['good', 'primary'];\n case 2:\n return ['weak', 'warning'];\n default:\n return ['veryWeak', 'danger'];\n }\n }\n}\n","
\n

\n {{'weakPasswordsReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'weakPasswordsReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noWeakPasswords' | i18n}}\n \n \n \n {{'weakPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{passwordStrengthMap.get(c.id)[0] | i18n}}\n \n
\n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.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 { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\n\n@Component({\n selector: 'app-vault-attachments',\n templateUrl: 'attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService, window);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.showFixOldAttachments(attachment)) {\n await this.reuploadCipherAttachment(attachment, false);\n }\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.cipher.organizationId == null;\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
\n {{a.fileName}}\n
\n \n \n {{'attachmentFixDesc' | i18n}}\n \n
\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\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 { EventService } from 'jslib/abstractions/event.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { TotpService } from 'jslib/abstractions/totp.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 { 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 protected allCiphers: CipherView[] = [];\n\n constructor(searchService: SearchService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, cipherService: CipherService,\n private apiService: ApiService, eventService: EventService, totpService: TotpService, userService: UserService) {\n super(searchService, analytics, toasterService, i18nService, platformUtilsService,\n cipherService, eventService, totpService, userService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.canManageAllCollections) {\n await super.load(filter, this.deleted);\n return;\n }\n this.accessEvents = this.organization.useEvents;\n this.allCiphers = await this.cipherService.getAllFromApiForOrganization(this.organization.id);\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.canManageAllCollections) {\n await super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n await super.applyFilter(f);\n }\n }\n\n async search(timeout: number = null) {\n if (!this.organization.canManageAllCollections) {\n return super.search(timeout);\n }\n this.searchPending = false;\n let filteredCiphers = this.allCiphers;\n\n if (this.searchText == null || this.searchText.trim().length < 2) {\n this.ciphers = filteredCiphers.filter((c) => {\n if (c.isDeleted !== this.deleted) {\n return false;\n }\n return this.filter == null || this.filter(c);\n });\n } else {\n if (this.filter != null) {\n filteredCiphers = filteredCiphers.filter(this.filter);\n }\n this.ciphers = this.searchService.searchCiphersBasic(filteredCiphers, this.searchText, this.deleted);\n }\n await this.resetPaging();\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n\n protected deleteCipher(id: string) {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipher(id, this.deleted);\n }\n return this.deleted ? this.apiService.deleteCipherAdmin(id) : this.apiService.putDeleteCipherAdmin(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return this.organization.canManageAllCollections && c.hasOldAttachments;\n }\n}\n","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from 'jslib/angular/components/collections.component';\n\n@Component({\n selector: 'app-vault-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\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 this.collections.forEach((c) => this.check(c, select));\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","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\n\n@Component({\n selector: 'app-org-vault-groupings',\n templateUrl: '../../vault/groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService,\n private apiService: ApiService, private i18nService: I18nService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n async loadCollections() {\n if (!this.organization.canManageAllCollections) {\n await super.loadCollections(this.organization.id);\n return;\n }\n\n const collections = await this.apiService.getCollections(this.organization.id);\n if (collections != null && collections.data != null && collections.data.length) {\n const collectionDomains = collections.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collectionDomains);\n } else {\n this.collections = [];\n }\n\n const unassignedCollection = new CollectionView();\n unassignedCollection.name = this.i18nService.t('unassigned');\n unassignedCollection.id = 'unassigned';\n unassignedCollection.organizationId = this.organization.id;\n unassignedCollection.readOnly = true;\n this.collections.push(unassignedCollection);\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\n }\n\n collapse(grouping: CollectionView) {\n super.collapse(grouping, 'org_');\n }\n\n isCollapsed(grouping: CollectionView) {\n return super.isCollapsed(grouping, 'org_');\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n Input,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkRestoreComponent } from './bulk-restore.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\n\n@Component({\n selector: 'app-vault-bulk-actions',\n templateUrl: 'bulk-actions.component.html',\n})\nexport class BulkActionsComponent {\n @Input() ciphersComponent: CiphersComponent;\n @Input() modal: ModalComponent;\n @Input() deleted: boolean;\n @Input() organization: Organization;\n\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef, static: true }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkRestoreTemplate', { read: ViewContainerRef, static: true }) bulkRestoreModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef, static: true }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef, static: true }) bulkShareModalRef: ViewContainerRef;\n\n constructor(private toasterService: ToasterService,\n private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver) { }\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.permanent = this.deleted;\n childComponent.cipherIds = selectedIds;\n childComponent.organization = this.organization;\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 bulkRestore() {\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.bulkRestoreModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkRestoreComponent, this.bulkRestoreModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onRestored.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","
\n \n
\n \n \n \n \n
\n \n \n
\n
\n\n\n\n\n\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 { Folder } from '../domain/folder';\n\nexport class FolderRequest {\n name: string;\n\n constructor(folder: Folder) {\n this.name = folder.name ? folder.name.encryptedString : null;\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\n@Directive({\n selector: '[appSelectCopy]',\n})\nexport class SelectCopyDirective {\n constructor(private el: ElementRef, private platformUtilsService: PlatformUtilsService) { }\n\n @HostListener('copy') onCopy() {\n if (window == null) {\n return;\n }\n let copyText = '';\n const selection = window.getSelection();\n for (let i = 0; i < selection.rangeCount; i++) {\n const range = selection.getRangeAt(i);\n const text = range.toString();\n\n // The selection should only contain one line of text. In some cases however, the\n // selection contains newlines and space characters from the indentation of following\n // sibling nodes. To avoid copying passwords containing trailing newlines and spaces\n // that aren't part of the password, the selection has to be trimmed.\n let stringEndPos = text.length;\n const newLinePos = text.search(/(?:\\r\\n|\\r|\\n)/);\n if (newLinePos > -1) {\n const otherPart = text.substr(newLinePos).trim();\n if (otherPart === '') {\n stringEndPos = newLinePos;\n }\n }\n copyText += text.substring(0, stringEndPos);\n }\n this.platformUtilsService.copyToClipboard(copyText, { window: window });\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n/**\n * A pipe that sanitizes HTML and highlights numbers and special characters (in different colors each).\n */\n@Pipe({ name: 'colorPassword' })\nexport class ColorPasswordPipe implements PipeTransform {\n transform(password: string) {\n let colorizedPassword = '';\n for (let i = 0; i < password.length; i++) {\n let character = password[i];\n let isSpecial = false;\n // Sanitize HTML first.\n switch (character) {\n case '&':\n character = '&';\n isSpecial = true;\n break;\n case '<':\n character = '<';\n isSpecial = true;\n break;\n case '>':\n character = '>';\n isSpecial = true;\n break;\n case ' ':\n character = ' ';\n isSpecial = true;\n break;\n default:\n break;\n }\n let type = 'letter';\n if (isSpecial || character.match(/[^\\w ]/)) {\n type = 'special';\n } else if (character.match(/\\d/)) {\n type = 'number';\n }\n colorizedPassword += '' + character + '';\n }\n return colorizedPassword;\n }\n}\n","import { FolderResponse } from '../response/folderResponse';\n\nexport class FolderData {\n id: string;\n userId: string;\n name: string;\n revisionDate: string;\n\n constructor(response: FolderResponse, userId: string) {\n this.userId = userId;\n this.name = response.name;\n this.id = response.id;\n this.revisionDate = response.revisionDate;\n }\n}\n","import { FolderData } from '../data/folderData';\n\nimport { FolderView } from '../view/folderView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Folder extends Domain {\n id: string;\n name: CipherString;\n revisionDate: Date;\n\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n name: null,\n }, alreadyEncrypted, ['id']);\n\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n }\n\n decrypt(): Promise {\n return this.decryptObj(new FolderView(this), {\n name: null,\n }, null);\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\nimport { BaseResponse } from './baseResponse';\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 extends BaseResponse {\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 viewPassword: boolean;\n organizationUseTotp: boolean;\n revisionDate: string;\n attachments: AttachmentResponse[];\n passwordHistory: PasswordHistoryResponse[];\n collectionIds: string[];\n deletedDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.folderId = this.getResponseProperty('FolderId') || null;\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.notes = this.getResponseProperty('Notes');\n this.favorite = this.getResponseProperty('Favorite') || false;\n this.edit = !!this.getResponseProperty('Edit');\n if (this.getResponseProperty('ViewPassword') == null) {\n this.viewPassword = true;\n } else {\n this.viewPassword = this.getResponseProperty('ViewPassword');\n }\n this.organizationUseTotp = this.getResponseProperty('OrganizationUseTotp');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n this.collectionIds = this.getResponseProperty('CollectionIds');\n this.deletedDate = this.getResponseProperty('DeletedDate');\n\n const login = this.getResponseProperty('Login');\n if (login != null) {\n this.login = new LoginApi(login);\n }\n\n const card = this.getResponseProperty('Card');\n if (card != null) {\n this.card = new CardApi(card);\n }\n\n const identity = this.getResponseProperty('Identity');\n if (identity != null) {\n this.identity = new IdentityApi(identity);\n }\n\n const secureNote = this.getResponseProperty('SecureNote');\n if (secureNote != null) {\n this.secureNote = new SecureNoteApi(secureNote);\n }\n\n const fields = this.getResponseProperty('Fields');\n if (fields != null) {\n this.fields = fields.map((f: any) => new FieldApi(f));\n }\n\n const attachments = this.getResponseProperty('Attachments');\n if (attachments != null) {\n this.attachments = attachments.map((a: any) => new AttachmentResponse(a));\n }\n\n const passwordHistory = this.getResponseProperty('PasswordHistory');\n if (passwordHistory != null) {\n this.passwordHistory = passwordHistory.map((h: any) => new PasswordHistoryResponse(h));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { ProfileOrganizationResponse } from './profileOrganizationResponse';\n\nexport class ProfileResponse extends BaseResponse {\n id: string;\n name: string;\n email: string;\n emailVerified: boolean;\n masterPasswordHint: string;\n premium: boolean;\n culture: string;\n twoFactorEnabled: boolean;\n key: string;\n privateKey: string;\n securityStamp: string;\n organizations: ProfileOrganizationResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.emailVerified = this.getResponseProperty('EmailVerified');\n this.masterPasswordHint = this.getResponseProperty('MasterPasswordHint');\n this.premium = this.getResponseProperty('Premium');\n this.culture = this.getResponseProperty('Culture');\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\n this.key = this.getResponseProperty('Key');\n this.privateKey = this.getResponseProperty('PrivateKey');\n this.securityStamp = this.getResponseProperty('SecurityStamp');\n\n const organizations = this.getResponseProperty('Organizations');\n if (organizations != null) {\n this.organizations = organizations.map((o: any) => new ProfileOrganizationResponse(o));\n }\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class SendFileApi extends BaseResponse {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.id = this.getResponseProperty('Id');\n this.url = this.getResponseProperty('Url');\n this.fileName = this.getResponseProperty('FileName');\n this.key = this.getResponseProperty('Key');\n this.size = this.getResponseProperty('Size');\n this.sizeName = this.getResponseProperty('SizeName');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class SendTextApi extends BaseResponse {\n text: string;\n hidden: boolean;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.text = this.getResponseProperty('Text');\n this.hidden = this.getResponseProperty('Hidden') || false;\n }\n}\n","import { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { SendFileData } from '../data/sendFileData';\n\nimport { SendFileView } from '../view/sendFileView';\n\nexport class SendFile extends Domain {\n id: string;\n url: string;\n size: string;\n sizeName: string;\n fileName: CipherString;\n\n constructor(obj?: SendFileData, 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 async decrypt(key: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new SendFileView(this), {\n fileName: null,\n }, null, key);\n return view;\n }\n}\n","import { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { SendTextData } from '../data/sendTextData';\n\nimport { SendTextView } from '../view/sendTextView';\n\nexport class SendText extends Domain {\n text: CipherString;\n hidden: boolean;\n\n constructor(obj?: SendTextData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.hidden = obj.hidden;\n this.buildDomainModel(this, obj, {\n text: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(key: SymmetricCryptoKey): Promise {\n return this.decryptObj(new SendTextView(this), {\n text: null,\n }, null, key);\n }\n}\n","import { EnvironmentService } from './environment.service';\n\nexport abstract class NotificationsService {\n init: (environmentService: EnvironmentService) => Promise;\n updateConnection: (sync?: boolean) => Promise;\n reconnectFromActivity: () => Promise;\n disconnectFromInactivity: () => Promise;\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 = 521;","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-frontend-layout',\n templateUrl: 'frontend-layout.component.html',\n})\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\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 document.body.classList.add('layout_frontend');\n }\n\n ngOnDestroy() {\n document.body.classList.remove('layout_frontend');\n }\n}\n","\n
\n © {{year}}, Bitwarden Inc.\n
{{'versionNumber' | i18n : version}}\n
\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ActivatedRoute } from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nconst BroadcasterSubscriptionId = 'OrganizationLayoutComponent';\n\n@Component({\n selector: 'app-organization-layout',\n templateUrl: 'organization-layout.component.html',\n})\nexport class OrganizationLayoutComponent implements OnInit, OnDestroy {\n organization: Organization;\n businessTokenPromise: Promise;\n private organizationId: string;\n private businessUrl: string;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone,\n private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private environmentService: EnvironmentService) { }\n\n ngOnInit() {\n this.businessUrl = 'https://portal.bitwarden.com';\n if (this.environmentService.enterpriseUrl != null) {\n this.businessUrl = this.environmentService.enterpriseUrl;\n } else if (this.environmentService.baseUrl != null) {\n this.businessUrl = this.environmentService.baseUrl + '/portal';\n }\n\n document.body.classList.remove('layout_frontend');\n this.route.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n });\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'updatedOrgLicense':\n await this.load();\n break;\n }\n });\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.organization = await this.userService.getOrganization(this.organizationId);\n }\n\n async goToBusinessPortal() {\n if (this.businessTokenPromise != null) {\n return;\n }\n try {\n this.businessTokenPromise = this.apiService.getEnterprisePortalSignInToken();\n const token = await this.businessTokenPromise;\n if (token != null) {\n const userId = await this.userService.getUserId();\n this.platformUtilsService.launchUri(this.businessUrl + '/login?userId=' + userId +\n '&token=' + (window as any).encodeURIComponent(token) + '&organizationId=' + this.organization.id);\n }\n } catch { }\n this.businessTokenPromise = null;\n }\n\n get showMenuBar() {\n return this.showManageTab || this.showToolsTab || this.organization.isOwner;\n }\n\n get showManageTab(): boolean {\n return this.organization.canManageUsers ||\n this.organization.canManageAssignedCollections ||\n this.organization.canManageAllCollections ||\n this.organization.canManageGroups ||\n this.organization.canManagePolicies ||\n this.organization.canAccessEventLogs;\n }\n\n get showToolsTab(): boolean {\n return this.organization.canAccessImportExport || this.organization.canAccessReports;\n }\n\n get showBusinessPortalButton(): boolean {\n return this.organization.useBusinessPortal && this.organization.canAccessBusinessPortal;\n }\n\n get toolsRoute(): string {\n return this.organization.canAccessImportExport ?\n 'tools/import' :\n 'tools/exposed-passwords-report';\n }\n\n get manageRoute(): string {\n let route: string;\n switch (true) {\n case this.organization.canManageUsers:\n route = 'manage/people';\n break;\n case this.organization.canManageAssignedCollections || this.organization.canManageAllCollections:\n route = 'manage/collections';\n break;\n case this.organization.canManageGroups:\n route = 'manage/groups';\n break;\n case this.organization.canManagePolicies:\n route = 'manage/policies';\n break;\n case this.organization.canAccessEventLogs:\n route = 'manage/events';\n break;\n }\n return route;\n }\n}\n","\n
\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n
\n \n {{'organizationIsDisabled' | i18n}}\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n\n\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'app-user-layout',\n templateUrl: 'user-layout.component.html',\n})\nexport class UserLayoutComponent implements OnInit {\n ngOnInit() {\n document.body.classList.remove('layout_frontend');\n }\n}\n","\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';\nimport { EmergencyAccessAcceptRequest } from 'jslib/models/request/emergencyAccessAcceptRequest';\n\n@Component({\n selector: 'app-accept-emergency',\n templateUrl: 'accept-emergency.component.html',\n})\nexport class AcceptEmergencyComponent implements OnInit {\n loading = true;\n authed = false;\n name: 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('emergencyInvitation');\n let error = qParams.id == null || qParams.name == null || qParams.email == null || qParams.token == null;\n let errorMessage: string = null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new EmergencyAccessAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postEmergencyAccessAccept(qParams.id, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('emergencyInviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch (e) {\n error = true;\n errorMessage = e.message;\n }\n } else {\n await this.stateService.save('emergencyInvitation', qParams);\n this.email = qParams.email;\n this.name = qParams.name;\n if (this.name != null) {\n // Fix URL encoding of space issue with Angular\n this.name = this.name.replace(/\\+/g, ' ');\n }\n }\n }\n\n if (error) {\n const toast: Toast = {\n type: 'error',\n title: null,\n body: errorMessage != null ? this.i18nService.t('emergencyInviteAcceptFailedShort', errorMessage) :\n this.i18nService.t('emergencyInviteAcceptFailed'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\n

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

{{'emergencyAccess' | i18n}}

\n
\n
\n

\n {{name}}\n

\n

{{'acceptEmergencyAccess' | i18n}}

\n
\n \n
\n
\n
\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 let errorMessage: string = 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 (e) {\n error = true;\n errorMessage = e.message;\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 const toast: Toast = {\n type: 'error',\n title: null,\n body: errorMessage != null ? this.i18nService.t('inviteAcceptFailedShort', errorMessage) :\n this.i18nService.t('inviteAcceptFailed'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\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","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\n\n@Component({\n selector: 'app-hint',\n templateUrl: 'hint.component.html',\n})\nexport class HintComponent extends BaseHintComponent {\n constructor(router: Router, i18nService: I18nService,\n apiService: ApiService, platformUtilsService: PlatformUtilsService) {\n super(router, i18nService, apiService, platformUtilsService);\n }\n}\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 { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\nimport { RouterService } from '../services/router.service';\n\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\n\n@Component({\n selector: 'app-lock',\n templateUrl: 'lock.component.html',\n})\nexport class LockComponent extends BaseLockComponent {\n constructor(router: Router, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\n userService: UserService, cryptoService: CryptoService,\n storageService: StorageService, vaultTimeoutService: VaultTimeoutService,\n environmentService: EnvironmentService, private routerService: RouterService,\n stateService: StateService, apiService: ApiService) {\n super(router, i18nService, platformUtilsService, messagingService, userService, cryptoService,\n storageService, vaultTimeoutService, environmentService, stateService, apiService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n this.router.navigate(['/']);\n } else if (await this.cryptoService.hasKey()) {\n this.router.navigate(['vault']);\n }\n\n this.onSuccessfulSubmit = () => {\n const previousUrl = this.routerService.getPreviousUrl();\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\n this.successRoute = previousUrl;\n }\n this.router.navigate([this.successRoute]);\n };\n }\n}\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n \n {{'loggedInAsEmailOn' | i18n : email : webVaultHostname}}\n \n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.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 i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, stateService: StateService,\n platformUtilsService: PlatformUtilsService, environmentService: EnvironmentService,\n passwordGenerationService: PasswordGenerationService, cryptoFunctionService: CryptoFunctionService) {\n super(authService, router,\n platformUtilsService, i18nService,\n stateService, environmentService,\n passwordGenerationService, cryptoFunctionService,\n storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n const queryParamsSub = 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 if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async goAfterLogIn() {\n const orgInvite = await this.stateService.get('orgInvitation');\n const emergencyInvite = await this.stateService.get('emergencyInvitation');\n if (orgInvite != null) {\n this.router.navigate(['accept-organization'], { queryParams: orgInvite });\n } else if (emergencyInvite != null) {\n this.router.navigate(['accept-emergency'], { queryParams: emergencyInvite });\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","
\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","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.trim().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","
\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 { 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 { AuthService } from 'jslib/abstractions/auth.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 private authService: AuthService) { }\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.trim().toLowerCase();\n const key = await this.authService.makePreloginKey(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","
\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","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\nimport { MasterPasswordPolicyOptions } from 'jslib/models/domain/masterPasswordPolicyOptions';\nimport { Policy } from 'jslib/models/domain/policy';\n\nimport { PolicyData } from 'jslib/models/data/policyData';\nimport { ReferenceEventRequest } from 'jslib/models/request/referenceEventRequest';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n layout = '';\n enforcedPolicyOptions: MasterPasswordPolicyOptions;\n\n private policies: Policy[];\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService, platformUtilsService: PlatformUtilsService,\n passwordGenerationService: PasswordGenerationService, private policyService: PolicyService) {\n super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService,\n passwordGenerationService);\n }\n\n getPasswordScoreAlertDisplay() {\n if (this.enforcedPolicyOptions == null) {\n return '';\n }\n\n let str: string;\n switch (this.enforcedPolicyOptions.minComplexity) {\n case 4:\n str = this.i18nService.t('strong');\n break;\n case 3:\n str = this.i18nService.t('good');\n break;\n default:\n str = this.i18nService.t('weak');\n break;\n }\n return str + ' (' + this.enforcedPolicyOptions.minComplexity + ')';\n }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe((qParams) => {\n this.referenceData = new ReferenceEventRequest();\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.referenceData.flow = qParams.org;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n if (qParams.layout != null) {\n this.layout = this.referenceData.layout = qParams.layout;\n }\n if (qParams.reference != null) {\n this.referenceData.id = qParams.reference;\n } else {\n this.referenceData.id = ('; ' + document.cookie).split('; reference=').pop().split(';').shift();\n }\n if (this.referenceData.id === '') {\n this.referenceData.id = null;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n try {\n const policies = await this.apiService.getPoliciesByToken(invite.organizationId, invite.token,\n invite.email, invite.organizationUserId);\n if (policies.data != null) {\n const policiesData = policies.data.map((p) => new PolicyData(p));\n this.policies = policiesData.map((p) => new Policy(p));\n }\n } catch { }\n }\n\n if (this.policies != null) {\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions(this.policies);\n }\n }\n\n async submit() {\n if (this.enforcedPolicyOptions != null &&\n !this.policyService.evaluateMasterPassword(this.masterPasswordScore, this.masterPassword,\n this.enforcedPolicyOptions)) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPasswordPolicyRequirementsNotMet'));\n return;\n }\n\n await super.submit();\n }\n}\n","
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n

Companies globally trust Bitwarden for password management.

\n

Start your 7-day free trial!

\n

Quickly deploy your organization

\n

Use Bitwarden across all platforms

\n

Collaborate and share securely

\n
\n
\n \n \"Wired\"\n \n
\n
\n \"Bitwarden has become a popular choice among open-source software advocates. After using\n it for a few months, I can see why.\" - February 2020\n
\n
\n
\n
\n

Enterprise 3 layout

\n
\n
\n

Enterprise 4 layout

\n
\n
\n
\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 {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • \n {{'policyInEffectUppercase' | i18n}}
  • \n
  • \n {{'policyInEffectLowercase' | i18n}}
  • \n
  • \n {{'policyInEffectNumbers' | i18n}}
  • \n
  • \n {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \n
\n
\n \n
\n
\n \n \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
\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { PolicyData } from '../data/policyData';\n\nimport Domain from './domainBase';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class Policy extends Domain {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(obj?: PolicyData) {\n super();\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.organizationId = obj.organizationId;\n this.type = obj.type;\n this.data = obj.data;\n this.enabled = obj.enabled;\n }\n}\n","import { PolicyResponse } from '../response/policyResponse';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class PolicyData {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(response: PolicyResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.type = response.type;\n this.data = response.data;\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n SetPasswordComponent as BaseSetPasswordComponent,\n} from 'jslib/angular/components/set-password.component';\n\n@Component({\n selector: 'app-set-password',\n templateUrl: 'set-password.component.html',\n})\nexport class SetPasswordComponent extends BaseSetPasswordComponent {\n constructor(apiService: ApiService, i18nService: I18nService,\n cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService, router: Router,\n syncService: SyncService, route: ActivatedRoute) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService, router, apiService, syncService, route);\n }\n}\n","
\n
\n
\n

{{'setMasterPassword' | i18n}}

\n
\n
\n \n {{'loading' | i18n}}\n
\n
\n {{'ssoCompleteRegistration' | i18n}}\n
\n \n {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • \n {{'policyInEffectUppercase' | i18n}}
  • \n
  • \n {{'policyInEffectLowercase' | i18n}}
  • \n
  • \n {{'policyInEffectNumbers' | i18n}}
  • \n
  • \n {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \n
\n
\n \n
\n
\n \n \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
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { SsoComponent as BaseSsoComponent } from 'jslib/angular/components/sso.component';\n\nconst IdentifierStorageKey = 'ssoOrgIdentifier';\n\n@Component({\n selector: 'app-sso',\n templateUrl: 'sso.component.html',\n})\nexport class SsoComponent extends BaseSsoComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, route: ActivatedRoute,\n storageService: StorageService, stateService: StateService,\n platformUtilsService: PlatformUtilsService, apiService: ApiService,\n cryptoFunctionService: CryptoFunctionService,\n passwordGenerationService: PasswordGenerationService) {\n super(authService, router, i18nService, route, storageService, stateService, platformUtilsService,\n apiService, cryptoFunctionService, passwordGenerationService);\n this.redirectUri = window.location.origin + '/sso-connector.html';\n this.clientId = 'web';\n }\n\n async ngOnInit() {\n super.ngOnInit();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n } else {\n const storedIdentifier = await this.storageService.get(IdentifierStorageKey);\n if (storedIdentifier != null) {\n this.identifier = storedIdentifier;\n }\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async submit() {\n await this.storageService.save(IdentifierStorageKey, this.identifier);\n if (this.clientId === 'browser') {\n document.cookie = `ssoHandOffMessage=${this.i18nService.t('ssoHandOff')};SameSite=strict`;\n }\n super.submit();\n }\n}\n","
\n
\n
\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{'ssoLogInWithOrgIdentifier' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoFunctionService } from '../../abstractions/cryptoFunction.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nexport class SsoComponent {\n identifier: string;\n loggingIn = false;\n\n formPromise: Promise;\n initiateSsoFormPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n onSuccessfulLoginTwoFactorNavigate: () => Promise;\n onSuccessfulLoginChangePasswordNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'lock';\n protected changePasswordRoute = 'set-password';\n protected clientId: string;\n protected redirectUri: string;\n protected state: string;\n protected codeChallenge: string;\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected route: ActivatedRoute,\n protected storageService: StorageService, protected stateService: StateService,\n protected platformUtilsService: PlatformUtilsService, protected apiService: ApiService,\n protected cryptoFunctionService: CryptoFunctionService,\n protected passwordGenerationService: PasswordGenerationService) { }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.code != null && qParams.state != null) {\n const codeVerifier = await this.storageService.get(ConstantsService.ssoCodeVerifierKey);\n const state = await this.storageService.get(ConstantsService.ssoStateKey);\n await this.storageService.remove(ConstantsService.ssoCodeVerifierKey);\n await this.storageService.remove(ConstantsService.ssoStateKey);\n if (qParams.code != null && codeVerifier != null && state != null && this.checkState(state, qParams.state)) {\n await this.logIn(qParams.code, codeVerifier, this.getOrgIdentiferFromState(qParams.state));\n }\n } else if (qParams.clientId != null && qParams.redirectUri != null && qParams.state != null &&\n qParams.codeChallenge != null) {\n this.redirectUri = qParams.redirectUri;\n this.state = qParams.state;\n this.codeChallenge = qParams.codeChallenge;\n this.clientId = qParams.clientId;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async submit(returnUri?: string, includeUserIdentifier?: boolean) {\n this.initiateSsoFormPromise = this.preValidate();\n if (await this.initiateSsoFormPromise) {\n const authorizeUrl = await this.buildAuthorizeUrl(returnUri, includeUserIdentifier);\n this.platformUtilsService.launchUri(authorizeUrl, { sameWindow: true });\n }\n }\n\n async preValidate(): Promise {\n if (this.identifier == null || this.identifier === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('ssoValidationFailed'),\n this.i18nService.t('ssoIdentifierRequired'));\n return false;\n }\n return await this.apiService.preValidateSso(this.identifier);\n }\n\n protected async buildAuthorizeUrl(returnUri?: string, includeUserIdentifier?: boolean): Promise {\n let codeChallenge = this.codeChallenge;\n let state = this.state;\n\n const passwordOptions: any = {\n type: 'password',\n length: 64,\n uppercase: true,\n lowercase: true,\n numbers: true,\n special: false,\n };\n\n if (codeChallenge == null) {\n const codeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);\n const codeVerifierHash = await this.cryptoFunctionService.hash(codeVerifier, 'sha256');\n codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);\n await this.storageService.save(ConstantsService.ssoCodeVerifierKey, codeVerifier);\n }\n\n if (state == null) {\n state = await this.passwordGenerationService.generatePassword(passwordOptions);\n if (returnUri) {\n state += `_returnUri='${returnUri}'`;\n }\n }\n\n // Add Organization Identifier to state\n state += `_identifier=${this.identifier}`;\n\n // Save state (regardless of new or existing)\n await this.storageService.save(ConstantsService.ssoStateKey, state);\n\n let authorizeUrl = this.apiService.identityBaseUrl + '/connect/authorize?' +\n 'client_id=' + this.clientId + '&redirect_uri=' + encodeURIComponent(this.redirectUri) + '&' +\n 'response_type=code&scope=api offline_access&' +\n 'state=' + state + '&code_challenge=' + codeChallenge + '&' +\n 'code_challenge_method=S256&response_mode=query&' +\n 'domain_hint=' + encodeURIComponent(this.identifier);\n\n if (includeUserIdentifier) {\n const userIdentifier = await this.apiService.getSsoUserIdentifier();\n authorizeUrl += `&user_identifier=${encodeURIComponent(userIdentifier)}`;\n }\n\n return authorizeUrl;\n }\n\n private async logIn(code: string, codeVerifier: string, orgIdFromState: string) {\n this.loggingIn = true;\n try {\n this.formPromise = this.authService.logInSso(code, codeVerifier, this.redirectUri);\n const response = await this.formPromise;\n if (response.twoFactor) {\n this.platformUtilsService.eventTrack('SSO Logged In To Two-step');\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\n this.onSuccessfulLoginTwoFactorNavigate();\n } else {\n this.router.navigate([this.twoFactorRoute], {\n queryParams: {\n identifier: orgIdFromState,\n sso: 'true'\n },\n });\n }\n } else if (response.resetMasterPassword) {\n this.platformUtilsService.eventTrack('SSO - routing to complete registration');\n if (this.onSuccessfulLoginChangePasswordNavigate != null) {\n this.onSuccessfulLoginChangePasswordNavigate();\n } else {\n this.router.navigate([this.changePasswordRoute], {\n queryParams: {\n identifier: orgIdFromState,\n },\n });\n }\n } else {\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('SSO Logged In');\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n this.loggingIn = false;\n }\n\n private getOrgIdentiferFromState(state: string): string {\n if (state === null || state === undefined) {\n return null;\n }\n\n const stateSplit = state.split('_identifier=');\n return stateSplit.length > 1 ? stateSplit[1] : null;\n }\n\n private checkState(state: string, checkState: string): boolean {\n if (state === null || state === undefined) {\n return false;\n }\n if (checkState === null || checkState === undefined) {\n return false;\n }\n\n const stateSplit = state.split('_identifier=');\n const checkStateSplit = checkState.split('_identifier=');\n return stateSplit[0] === checkStateSplit[0];\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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';\nimport { StorageService } from 'jslib/abstractions/storage.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, static: true }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver,\n storageService: StorageService, route: ActivatedRoute) {\n super(authService, router, i18nService, apiService, platformUtilsService, window, environmentService,\n stateService, storageService, route);\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 orgInvite = await this.stateService.get('orgInvitation');\n const emergencyInvite = await this.stateService.get('emergencyInvitation');\n if (orgInvite != null) {\n this.router.navigate(['accept-organization'], { queryParams: orgInvite });\n } else if (emergencyInvite != null) {\n this.router.navigate(['accept-emergency'], { queryParams: emergencyInvite });\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 queryParams: {\n identifier: this.identifier,\n },\n });\n }\n }\n }\n}\n","
\n
\n
\n

{{title}}

\n
\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 {{'loading' | i18n}}\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 { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\n} from 'jslib/angular/components/two-factor-options.component';\n\n@Component({\n selector: 'app-two-factor-options',\n templateUrl: 'two-factor-options.component.html',\n})\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\n super(authService, router, i18nService, platformUtilsService, window);\n }\n}\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\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 { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class AuthResult {\n twoFactor: boolean = false;\n resetMasterPassword: boolean = false;\n twoFactorProviders: Map = null;\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","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\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';\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","
\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","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';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport {\n CollectionDetailsResponse,\n CollectionResponse,\n} from 'jslib/models/response/collectionResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\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, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef, static: true }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n pagedCollections: CollectionView[];\n searchText: string;\n\n protected didScroll = false;\n protected pageSize = 100;\n\n private pagedCollectionsCount = 0;\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 private userService: UserService, private searchService: SearchService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const organization = await this.userService.getOrganization(this.organizationId);\n let response: ListResponse;\n if (organization.canManageAllCollections) {\n response = await this.apiService.getCollections(this.organizationId);\n } else {\n response = await this.apiService.getUserCollections();\n }\n const collections = response.data.filter((c) => c.organizationId === this.organizationId).map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.resetPaging();\n this.loading = false;\n }\n\n loadMore() {\n if (!this.collections || this.collections.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedCollections.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedCollectionsCount > this.pageSize) {\n pagedSize = this.pagedCollectionsCount;\n }\n if (this.collections.length > pagedLength) {\n this.pagedCollections =\n this.pagedCollections.concat(this.collections.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedCollectionsCount = this.pagedCollections.length;\n this.didScroll = this.pagedCollections.length > this.pageSize;\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 childComponent.onEditedUsers.subscribe(() => {\n this.load();\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async resetPaging() {\n this.pagedCollections = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.collections && this.collections.length > this.pageSize;\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 this.resetPaging();\n }\n }\n}\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n\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 { 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 externalId: 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 this.externalId = collection.externalId;\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 (group[0] as any).hidePasswords = s.hidePasswords;\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 (g as any).hidePasswords = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n if (this.orgKey == null) {\n throw new Error('No encryption key for this organization.');\n }\n\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.externalId = this.externalId;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly, !!(g as any).hidePasswords));\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","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdDesc' | i18n}}\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 \n \n
 {{'name' | i18n}}{{'hidePasswords' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{g.name}}\n \n \n {{'groupAccessAllItems' | i18n}}\n \n \n \n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n externalId: 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 this.externalId = collection.externalId;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute, Router } 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 { 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-org-events',\n templateUrl: 'events.component.html',\n})\nexport class EventsComponent implements OnInit {\n loading = true;\n loaded = false;\n organizationId: string;\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 route: ActivatedRoute,\n private eventService: EventService, private i18nService: I18nService,\n private toasterService: ToasterService, 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.useEvents) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n });\n }\n\n async load() {\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 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 const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\n clearExisting ? null : this.continuationToken);\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 = 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.i18nService.t('unknown'),\n userEmail: user != null ? user.email : '',\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","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\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 {{e.appName}}, {{e.ip}}\n \n {{e.userName}}\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 { SearchService } from 'jslib/abstractions/search.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, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef, static: true }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n pagedGroups: GroupResponse[];\n searchText: string;\n\n protected didScroll = false;\n protected pageSize = 100;\n\n private pagedGroupsCount = 0;\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, private searchService: SearchService) { }\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 const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\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.resetPaging();\n this.loading = false;\n }\n\n loadMore() {\n if (!this.groups || this.groups.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedGroups.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedGroupsCount > this.pageSize) {\n pagedSize = this.pagedGroupsCount;\n }\n if (this.groups.length > pagedLength) {\n this.pagedGroups = this.pagedGroups.concat(this.groups.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedGroupsCount = this.pagedGroups.length;\n this.didScroll = this.pagedGroups.length > this.pageSize;\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 childComponent.onEditedUsers.subscribe(() => {\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async resetPaging() {\n this.pagedGroups = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.groups && this.groups.length > this.pageSize;\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 this.resetPaging();\n }\n }\n}\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\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 { 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 { GroupRequest } from 'jslib/models/request/groupRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\n@Component({\n selector: 'app-group-add-edit',\n templateUrl: 'group-add-edit.component.html',\n})\nexport class GroupAddEditComponent implements OnInit {\n @Input() groupId: string;\n @Input() organizationId: string;\n @Output() onSavedGroup = new EventEmitter();\n @Output() onDeletedGroup = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n name: string;\n externalId: string;\n access: 'all' | 'selected' = 'selected';\n collections: CollectionView[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.groupId != null;\n await this.loadCollections();\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editGroup');\n try {\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\n this.access = group.accessAll ? 'all' : 'selected';\n this.name = group.name;\n this.externalId = group.externalId;\n if (group.collections != null && this.collections != null) {\n group.collections.forEach((s) => {\n const collection = this.collections.filter((c) => c.id === s.id);\n if (collection != null && collection.length > 0) {\n (collection[0] as any).checked = true;\n collection[0].readOnly = s.readOnly;\n collection[0].hidePasswords = s.hidePasswords;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addGroup');\n }\n\n this.loading = false;\n }\n\n async loadCollections() {\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 }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n if (!(c as any).checked) {\n c.readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.collections.forEach((c) => this.check(c, select));\n }\n\n async submit() {\n const request = new GroupRequest();\n request.name = this.name;\n request.externalId = this.externalId;\n request.accessAll = this.access === 'all';\n if (!request.accessAll) {\n request.collections = this.collections.filter((c) => (c as any).checked)\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly, !!c.hidePasswords));\n }\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\n } else {\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\n this.onSavedGroup.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('deleteGroupConfirmation'), 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.deleteGroup(this.organizationId, this.groupId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\n this.onDeletedGroup.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdDesc' | 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
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'hidePasswords' | 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","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-org-manage',\n templateUrl: 'manage.component.html',\n})\nexport class ManageComponent implements OnInit {\n organization: Organization;\n accessPolicies = false;\n accessGroups = false;\n accessEvents = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.accessPolicies = this.organization.usePolicies;\n this.accessEvents = this.organization.useEvents;\n this.accessGroups = this.organization.useGroups;\n });\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 { ConstantsService } from 'jslib/services/constants.service';\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 { SearchService } from 'jslib/abstractions/search.service';\nimport { StorageService } from 'jslib/abstractions/storage.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 { UserConfirmComponent } from './user-confirm.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, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef, static: true }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef, static: true }) eventsModalRef: ViewContainerRef;\n @ViewChild('confirmTemplate', { read: ViewContainerRef, static: true }) confirmModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n pagedUsers: 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 protected didScroll = false;\n protected pageSize = 100;\n\n private pagedUsersCount = 0;\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, private router: Router,\n private storageService: StorageService, private searchService: SearchService) { }\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.canManageUsers) {\n this.router.navigate(['../collections'], { relativeTo: this.route });\n return;\n }\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n const queryParamsSub = 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 if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\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 this.resetPaging();\n }\n\n loadMore() {\n if (!this.users || this.users.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedUsers.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedUsersCount > this.pageSize) {\n pagedSize = this.pagedUsersCount;\n }\n if (this.users.length > pagedLength) {\n this.pagedUsers = this.pagedUsers.concat(this.users.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedUsersCount = this.pagedUsers.length;\n this.didScroll = this.pagedUsers.length > this.pageSize;\n }\n\n get allCount() {\n return this.allUsers != null ? this.allUsers.length : 0;\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 get confirmedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Confirmed) ?\n this.statusMap.get(OrganizationUserStatusType.Confirmed).length : 0;\n }\n\n get showConfirmUsers(): boolean {\n return this.allUsers != null && this.statusMap != null && this.allUsers.length > 1 &&\n this.confirmedCount > 0 && this.confirmedCount < 3 && this.acceptedCount > 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 function updateUser(self: PeopleComponent) {\n user.status = OrganizationUserStatusType.Confirmed;\n const mapIndex = self.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (mapIndex > -1) {\n self.statusMap.get(OrganizationUserStatusType.Accepted).splice(mapIndex, 1);\n self.statusMap.get(OrganizationUserStatusType.Confirmed).push(user);\n }\n }\n\n if (this.actionPromise != null) {\n return;\n }\n\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\n if (autoConfirm == null || !autoConfirm) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.confirmModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserConfirmComponent, this.confirmModalRef);\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.userId = user != null ? user.userId : null;\n childComponent.onConfirmedUser.subscribe(() => {\n this.modal.close();\n updateUser(this);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return;\n }\n\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n updateUser(this);\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 async resetPaging() {\n this.pagedUsers = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.users && this.users.length > this.pageSize;\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 try {\n // tslint:disable-next-line\n console.log('User\\'s fingerprint: ' +\n (await this.cryptoService.getFingerprint(user.userId, publicKey.buffer)).join('-'));\n } catch { }\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 let index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n this.resetPaging();\n }\n if (this.statusMap.has(OrganizationUserStatusType.Accepted)) {\n index = this.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Accepted).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Invited)) {\n index = this.statusMap.get(OrganizationUserStatusType.Invited).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Invited).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Confirmed)) {\n index = this.statusMap.get(OrganizationUserStatusType.Confirmed).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Confirmed).splice(index, 1);\n }\n }\n }\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n {{'usersNeedConfirmed' | 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 {{'userUsingTwoStep' | i18n}}\n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n {{'custom' | i18n}}\n \n \n
\n
\n\n\n\n\n\n","export class OrganizationUserConfirmRequest {\n key: string;\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 { 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 { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { PermissionsApi } from 'jslib/models/api/permissionsApi';\n\n@Component({\n selector: 'app-user-add-edit',\n templateUrl: 'user-add-edit.component.html',\n})\nexport class UserAddEditComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n @Output() onDeletedUser = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n emails: string;\n type: OrganizationUserType = OrganizationUserType.User;\n permissions = new PermissionsApi();\n showCustom = false;\n access: 'all' | 'selected' = 'selected';\n collections: CollectionView[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n organizationUserType = OrganizationUserType;\n\n get customUserTypeSelected(): boolean {\n return this.type === OrganizationUserType.Custom;\n }\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.organizationUserId != null;\n await this.loadCollections();\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editUser');\n try {\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\n this.access = user.accessAll ? 'all' : 'selected';\n this.type = user.type;\n if (user.type === OrganizationUserType.Custom) {\n this.permissions = user.permissions;\n }\n if (user.collections != null && this.collections != null) {\n user.collections.forEach((s) => {\n const collection = this.collections.filter((c) => c.id === s.id);\n if (collection != null && collection.length > 0) {\n (collection[0] as any).checked = true;\n collection[0].readOnly = s.readOnly;\n collection[0].hidePasswords = s.hidePasswords;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('inviteUser');\n }\n\n this.loading = false;\n }\n\n async loadCollections() {\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 }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n if (!(c as any).checked) {\n c.readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.collections.forEach((c) => this.check(c, select));\n }\n\n setRequestPermissions(p: PermissionsApi, clearPermissions: boolean) {\n p.accessBusinessPortal = clearPermissions ?\n false :\n this.permissions.accessBusinessPortal;\n p.accessEventLogs = this.permissions.accessEventLogs = clearPermissions ?\n false :\n this.permissions.accessEventLogs;\n p.accessImportExport = clearPermissions ?\n false :\n this.permissions.accessImportExport;\n p.accessReports = clearPermissions ?\n false :\n this.permissions.accessReports;\n p.manageAllCollections = clearPermissions ?\n false :\n this.permissions.manageAllCollections;\n p.manageAssignedCollections = clearPermissions ?\n false :\n this.permissions.manageAssignedCollections;\n p.manageGroups = clearPermissions ?\n false :\n this.permissions.manageGroups;\n p.manageSso = clearPermissions ?\n false :\n this.permissions.manageSso;\n p.managePolicies = clearPermissions ?\n false :\n this.permissions.managePolicies;\n p.manageUsers = clearPermissions ?\n false :\n this.permissions.manageUsers;\n return p;\n }\n\n async submit() {\n let collections: SelectionReadOnlyRequest[] = null;\n if (this.access !== 'all') {\n collections = this.collections.filter((c) => (c as any).checked)\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly, !!c.hidePasswords));\n }\n\n try {\n if (this.editMode) {\n const request = new OrganizationUserUpdateRequest();\n request.accessAll = this.access === 'all';\n request.type = this.type;\n request.collections = collections;\n request.permissions = this.setRequestPermissions(request.permissions ?? new PermissionsApi(), request.type !== OrganizationUserType.Custom);\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\n request);\n } else {\n const request = new OrganizationUserInviteRequest();\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\n request.accessAll = this.access === 'all';\n request.type = this.type;\n request.permissions = this.setRequestPermissions(request.permissions ?? new PermissionsApi(), request.type !== OrganizationUserType.Custom);\n request.collections = collections;\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\n this.onSavedUser.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('removeUserConfirmation'), 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.deleteOrganizationUser(this.organizationId, this.organizationUserId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\n this.onDeletedUser.emit();\n } catch { }\n }\n\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n \n

{{'inviteUserDesc' | i18n}}

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

\n {{'userType' | 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 {{'permissions' | 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 {{'accessControl' | i18n}}\n \n \n \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 \n \n
 {{'name' | i18n}}{{'hidePasswords' | 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","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 { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-confirm',\n templateUrl: 'user-confirm.component.html',\n})\nexport class UserConfirmComponent implements OnInit {\n @Input() name: string;\n @Input() userId: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onConfirmedUser = new EventEmitter();\n\n dontAskAgain = false;\n loading = true;\n fingerprint: string;\n formPromise: Promise;\n\n private publicKey: Uint8Array = null;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async ngOnInit() {\n try {\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\n if (publicKeyResponse != null) {\n this.publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, this.publicKey.buffer);\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n } catch { }\n this.loading = false;\n }\n\n async submit() {\n if (this.loading) {\n return;\n }\n\n if (this.dontAskAgain) {\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\n }\n\n try {\n this.formPromise = this.doConfirmation();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', this.name));\n this.onConfirmedUser.emit();\n } catch { }\n }\n\n private async doConfirmation() {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, this.publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, this.organizationUserId, request);\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n

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

\n

{{fingerprint}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\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","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\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","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 { PolicyType } from 'jslib/enums/policyType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { EnvironmentService } from 'jslib/abstractions';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PolicyResponse } from 'jslib/models/response/policyResponse';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { PolicyEditComponent } from './policy-edit.component';\n\n@Component({\n selector: 'app-org-policies',\n templateUrl: 'policies.component.html',\n})\nexport class PoliciesComponent implements OnInit {\n @ViewChild('editTemplate', { read: ViewContainerRef, static: true }) editModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n policies: any[];\n\n // Remove when removing deprecation warning\n enterpriseTokenPromise: Promise;\n userCanAccessBusinessPortal = false;\n\n private enterpriseUrl: string;\n\n private modal: ModalComponent = null;\n private orgPolicies: PolicyResponse[];\n private policiesEnabledMap: Map = new Map();\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router, private environmentService: EnvironmentService) { }\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.usePolicies) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n this.userCanAccessBusinessPortal = organization.canAccessBusinessPortal;\n this.policies = [\n {\n name: this.i18nService.t('twoStepLogin'),\n description: this.i18nService.t('twoStepLoginPolicyDesc'),\n type: PolicyType.TwoFactorAuthentication,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('masterPass'),\n description: this.i18nService.t('masterPassPolicyDesc'),\n type: PolicyType.MasterPassword,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('passwordGenerator'),\n description: this.i18nService.t('passwordGeneratorPolicyDesc'),\n type: PolicyType.PasswordGenerator,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('singleOrg'),\n description: this.i18nService.t('singleOrgDesc'),\n type: PolicyType.SingleOrg,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('requireSso'),\n description: this.i18nService.t('requireSsoPolicyDesc'),\n type: PolicyType.RequireSso,\n enabled: false,\n display: organization.useSso,\n },\n {\n name: this.i18nService.t('personalOwnership'),\n description: this.i18nService.t('personalOwnershipPolicyDesc'),\n type: PolicyType.PersonalOwnership,\n enabled: false,\n display: true,\n },\n ];\n await this.load();\n\n // Handle policies component launch from Event message\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.policyId != null) {\n const policyIdFromEvents: string = qParams.policyId;\n for (const orgPolicy of this.orgPolicies) {\n if (orgPolicy.id === policyIdFromEvents) {\n for (let i = 0; i < this.policies.length; i++) {\n if (this.policies[i].type === orgPolicy.type) {\n this.edit(this.policies[i]);\n break;\n }\n }\n break;\n }\n }\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n\n // Remove when removing deprecation warning\n this.enterpriseUrl = 'https://portal.bitwarden.com';\n if (this.environmentService.enterpriseUrl != null) {\n this.enterpriseUrl = this.environmentService.enterpriseUrl;\n } else if (this.environmentService.baseUrl != null) {\n this.enterpriseUrl = this.environmentService.baseUrl + '/portal';\n }\n }\n\n async load() {\n const response = await this.apiService.getPolicies(this.organizationId);\n this.orgPolicies = response.data != null && response.data.length > 0 ? response.data : [];\n this.orgPolicies.forEach((op) => {\n this.policiesEnabledMap.set(op.type, op.enabled);\n });\n this.policies.forEach((p) => {\n p.enabled = this.policiesEnabledMap.has(p.type) && this.policiesEnabledMap.get(p.type);\n });\n this.loading = false;\n }\n\n edit(p: any) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.editModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n PolicyEditComponent, this.editModalRef);\n\n childComponent.name = p.name;\n childComponent.description = p.description;\n childComponent.type = p.type;\n childComponent.organizationId = this.organizationId;\n childComponent.policiesEnabledMap = this.policiesEnabledMap;\n childComponent.onSavedPolicy.subscribe(() => {\n this.modal.close();\n this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n\n // Remove when removing deprecation warning\n async goToEnterprisePortal() {\n if (this.enterpriseTokenPromise != null) {\n return;\n }\n try {\n this.enterpriseTokenPromise = this.apiService.getEnterprisePortalSignInToken();\n const token = await this.enterpriseTokenPromise;\n if (token != null) {\n const userId = await this.userService.getUserId();\n this.platformUtilsService.launchUri(this.enterpriseUrl + '/login?userId=' + userId +\n '&token=' + (window as any).encodeURIComponent(token) + '&organizationId=' + this.organizationId);\n }\n } catch { }\n this.enterpriseTokenPromise = null;\n }\n}\n","\n

{{'webPoliciesDeprecationWarning' | i18n}}

\n \n
\n
\n

{{'policies' | i18n}}

\n
\n\n \n {{'loading' | i18n}}\n\n\n \n \n \n \n \n
\n {{p.name}}\n {{'enabled' | i18n}}\n {{p.description}}\n
\n\n","// Using index.ts is deprecated, please do not extend\nexport { 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 { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LogService } from './log.service';\nexport { MessagingService } from './messaging.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { PlatformUtilsService } from './platformUtils.service';\nexport { SearchService } from './search.service';\nexport { SettingsService } from './settings.service';\nexport { StorageService } from './storage.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';\nexport { VaultTimeoutService } from './vaultTimeout.service';\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 { PolicyType } from 'jslib/enums/policyType';\n\nimport { PolicyRequest } from 'jslib/models/request/policyRequest';\n\nimport { PolicyResponse } from 'jslib/models/response/policyResponse';\n\n@Component({\n selector: 'app-policy-edit',\n templateUrl: 'policy-edit.component.html',\n})\nexport class PolicyEditComponent implements OnInit {\n @Input() name: string;\n @Input() description: string;\n @Input() type: PolicyType;\n @Input() organizationId: string;\n @Input() policiesEnabledMap: Map = new Map();\n @Output() onSavedPolicy = new EventEmitter();\n\n policyType = PolicyType;\n loading = true;\n enabled = false;\n formPromise: Promise;\n passwordScores: any[];\n defaultTypes: any[];\n\n // Master password\n\n masterPassMinComplexity?: number = null;\n masterPassMinLength?: number;\n masterPassRequireUpper?: number;\n masterPassRequireLower?: number;\n masterPassRequireNumbers?: number;\n masterPassRequireSpecial?: number;\n\n // Password generator\n\n passGenDefaultType?: string;\n passGenMinLength?: number;\n passGenUseUpper?: boolean;\n passGenUseLower?: boolean;\n passGenUseNumbers?: boolean;\n passGenUseSpecial?: boolean;\n passGenMinNumbers?: number;\n passGenMinSpecial?: number;\n passGenMinNumberWords?: number;\n passGenCapitalize?: boolean;\n passGenIncludeNumber?: boolean;\n\n private policy: PolicyResponse;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) {\n this.passwordScores = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('weak') + ' (0)', value: 0 },\n { name: i18nService.t('weak') + ' (1)', value: 1 },\n { name: i18nService.t('weak') + ' (2)', value: 2 },\n { name: i18nService.t('good') + ' (3)', value: 3 },\n { name: i18nService.t('strong') + ' (4)', value: 4 },\n ];\n this.defaultTypes = [\n { name: i18nService.t('userPreference'), value: null },\n { name: i18nService.t('password'), value: 'password' },\n { name: i18nService.t('passphrase'), value: 'passphrase' },\n ];\n }\n\n async ngOnInit() {\n await this.load();\n this.loading = false;\n }\n\n async load() {\n try {\n this.policy = await this.apiService.getPolicy(this.organizationId, this.type);\n\n if (this.policy != null) {\n this.enabled = this.policy.enabled;\n if (this.policy.data != null) {\n switch (this.type) {\n case PolicyType.PasswordGenerator:\n this.passGenDefaultType = this.policy.data.defaultType;\n this.passGenMinLength = this.policy.data.minLength;\n this.passGenUseUpper = this.policy.data.useUpper;\n this.passGenUseLower = this.policy.data.useLower;\n this.passGenUseNumbers = this.policy.data.useNumbers;\n this.passGenUseSpecial = this.policy.data.useSpecial;\n this.passGenMinNumbers = this.policy.data.minNumbers;\n this.passGenMinSpecial = this.policy.data.minSpecial;\n this.passGenMinNumberWords = this.policy.data.minNumberWords;\n this.passGenCapitalize = this.policy.data.capitalize;\n this.passGenIncludeNumber = this.policy.data.includeNumber;\n break;\n case PolicyType.MasterPassword:\n this.masterPassMinComplexity = this.policy.data.minComplexity;\n this.masterPassMinLength = this.policy.data.minLength;\n this.masterPassRequireUpper = this.policy.data.requireUpper;\n this.masterPassRequireLower = this.policy.data.requireLower;\n this.masterPassRequireNumbers = this.policy.data.requireNumbers;\n this.masterPassRequireSpecial = this.policy.data.requireSpecial;\n break;\n default:\n break;\n }\n }\n }\n } catch (e) {\n if (e.statusCode === 404) {\n this.enabled = false;\n } else {\n throw e;\n }\n }\n }\n\n async submit() {\n if (this.preValidate()) {\n const request = new PolicyRequest();\n request.enabled = this.enabled;\n request.type = this.type;\n request.data = null;\n switch (this.type) {\n case PolicyType.PasswordGenerator:\n request.data = {\n defaultType: this.passGenDefaultType,\n minLength: this.passGenMinLength || null,\n useUpper: this.passGenUseUpper,\n useLower: this.passGenUseLower,\n useNumbers: this.passGenUseNumbers,\n useSpecial: this.passGenUseSpecial,\n minNumbers: this.passGenMinNumbers || null,\n minSpecial: this.passGenMinSpecial || null,\n minNumberWords: this.passGenMinNumberWords || null,\n capitalize: this.passGenCapitalize,\n includeNumber: this.passGenIncludeNumber,\n };\n break;\n case PolicyType.MasterPassword:\n request.data = {\n minComplexity: this.masterPassMinComplexity || null,\n minLength: this.masterPassMinLength || null,\n requireUpper: this.masterPassRequireUpper,\n requireLower: this.masterPassRequireLower,\n requireNumbers: this.masterPassRequireNumbers,\n requireSpecial: this.masterPassRequireSpecial,\n };\n break;\n default:\n break;\n }\n try {\n this.formPromise = this.apiService.putPolicy(this.organizationId, this.type, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited Policy' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedPolicyId', this.name));\n this.onSavedPolicy.emit();\n } catch { }\n }\n }\n\n get checkboxDesc(): string {\n return this.type === PolicyType.PersonalOwnership ? this.i18nService.t('personalOwnershipCheckboxDesc') :\n this.i18nService.t('enabled');\n }\n\n private preValidate(): boolean {\n switch (this.type) {\n case PolicyType.RequireSso:\n // Don't need prevalidation checks if submitting to disable\n if (!this.enabled) {\n return true;\n }\n // Have SingleOrg policy enabled?\n if (!(this.policiesEnabledMap.has(PolicyType.SingleOrg)\n && this.policiesEnabledMap.get(PolicyType.SingleOrg))) {\n this.toasterService.popAsync('error', null, this.i18nService.t('requireSsoPolicyReqError'));\n return false;\n }\n return true;\n\n case PolicyType.SingleOrg:\n // Don't need prevalidation checks if submitting to enable\n if (this.enabled) {\n return true;\n }\n // If RequireSso Policy is enabled prevent submittal\n if (this.policiesEnabledMap.has(PolicyType.RequireSso)\n && this.policiesEnabledMap.get(PolicyType.RequireSso)) {\n this.toasterService.popAsync('error', null, this.i18nService.t('disableRequireSsoError'));\n return false;\n }\n return true;\n\n default:\n return true;\n }\n }\n}\n","
\n
\n
\n
\n

{{'editPolicy' | i18n}} - {{name}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{description}}

\n \n {{'twoStepLoginPolicyWarning' | i18n}}\n \n \n {{'singleOrgPolicyWarning' | i18n}}\n \n \n \n {{'requireSsoPolicyReq' | i18n}}\n \n \n {{'requireSsoExemption' | i18n}}\n \n \n \n {{'personalOwnershipExemption' | 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

{{'password' | 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

{{'passphrase' | 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","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 { PlatformUtilsService } from 'jslib/abstractions/platformUtils.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 { ApiKeyComponent } from '../../settings/api-key.component';\nimport { PurgeVaultComponent } from '../../settings/purge-vault.component';\nimport { TaxInfoComponent } from '../../settings/tax-info.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, static: true }) deleteModalRef: ViewContainerRef;\n @ViewChild('purgeOrganizationTemplate', { read: ViewContainerRef, static: true }) purgeModalRef: ViewContainerRef;\n @ViewChild('apiKeyTemplate', { read: ViewContainerRef, static: true }) apiKeyModalRef: ViewContainerRef;\n @ViewChild('rotateApiKeyTemplate', { read: ViewContainerRef, static: true }) rotateApiKeyModalRef: ViewContainerRef;\n @ViewChild(TaxInfoComponent) taxInfo: TaxInfoComponent;\n\n selfHosted = false;\n loading = true;\n canUseApi = false;\n org: OrganizationResponse;\n formPromise: Promise;\n taxFormPromise: 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 private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.selfHosted = this.platformUtilsService.isSelfHost();\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 this.canUseApi = this.org.useApi;\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 request.identifier = this.org.identifier;\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 async submitTaxInfo() {\n this.taxFormPromise = this.taxInfo.submitTaxInfo();\n await this.taxFormPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Tax Info' });\n this.toasterService.popAsync('success', null, this.i18nService.t('taxInfoUpdated'));\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 purgeVault() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.purgeModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(PurgeVaultComponent, this.purgeModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n viewApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.apiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.apiKeyModalRef);\n childComponent.keyType = 'organization';\n childComponent.entityId = this.organizationId;\n childComponent.postKey = this.apiService.postOrganizationApiKey.bind(this.apiService);\n childComponent.scope = 'api.organization';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'apiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n rotateApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.rotateApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.rotateApiKeyModalRef);\n childComponent.keyType = 'organization';\n childComponent.isRotation = true;\n childComponent.entityId = this.organizationId;\n childComponent.postKey = this.apiService.postOrganizationRotateApiKey.bind(this.apiService);\n childComponent.scope = 'api.organization';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'apiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyRotateDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n {{'loading' | 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

{{'apiKey' | i18n}}

\n
\n

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

\n \n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n

{{'taxInformationDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n \n
\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n
\n
\n\n\n\n\n","import { TaxInfoUpdateRequest } from './taxInfoUpdateRequest';\n\nexport class OrganizationTaxInfoUpdateRequest extends TaxInfoUpdateRequest {\n taxId: string;\n line1: string;\n line2: string;\n city: string;\n state: string;\n}\n","export class TaxInfoUpdateRequest {\n country: string;\n postalCode: string;\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","
\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","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 { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UserBillingComponent } from '../../settings/user-billing.component';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: '../../settings/user-billing.component.html',\n})\nexport class OrganizationBillingComponent extends UserBillingComponent implements OnInit {\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private route: ActivatedRoute, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\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","export class WebConstants {\n static readonly stripeTestKey = 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD';\n static readonly stripeLiveKey = 'pk_live_bpN0P37nMxrMQkcaHXtAybJk';\n static readonly btSandboxKey = 'sandbox_r72q8jq6_9pnxkwm75f87sdc2';\n static readonly btProductionKey = 'production_qfbsv8kc_njj2zjtyngtjmbjd';\n static readonly paypal = {\n businessIdProduction: '4ZDA7DLUUJGMN',\n businessIdSandbox: 'AD3LAUZSNVPJY',\n buttonActionProduction: 'https://www.paypal.com/cgi-bin/webscr',\n buttonActionSandbox: 'https://www.sandbox.paypal.com/cgi-bin/webscr',\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 { OrganizationSubscriptionResponse } from 'jslib/models/response/organizationSubscriptionResponse';\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';\n\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-subscription',\n templateUrl: 'organization-subscription.component.html',\n})\nexport class OrganizationSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n showDownloadLicense = false;\n showChangePlan = false;\n sub: OrganizationSubscriptionResponse;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private analytics: Angulartics2,\n private toasterService: ToasterService, private messagingService: MessagingService,\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.sub = await this.apiService.getOrganizationSubscription(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 if (this.subscription == null && this.sub.planType === PlanType.Free) {\n this.showChangePlan = !this.showChangePlan;\n return;\n }\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 closeChangePlan(changed: boolean) {\n this.showChangePlan = false;\n }\n\n downloadLicense() {\n this.showDownloadLicense = !this.showDownloadLicense;\n }\n\n closeDownloadLicense() {\n this.showDownloadLicense = false;\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(updated: boolean) {\n this.showUpdateLicense = false;\n if (updated) {\n this.load();\n this.messagingService.send('updatedOrgLicense');\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 get isExpired() {\n return this.sub != null && this.sub.expiration != null &&\n new Date(this.sub.expiration) < new Date();\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.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.sub.plan.isAnnual;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.sub.plan.additionalStoragePricePerGb;\n }\n\n get seatPrice() {\n return this.sub.plan.seatPrice;\n }\n\n get canAdjustSeats() {\n return this.sub.plan.hasAdditionalSeatsOption;\n }\n\n get canDownloadLicense() {\n return (this.sub.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","
\n

\n {{'subscription' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

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

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan.name}}
\n
{{'expiration' | i18n}}
\n
\n {{sub.expiration | date:'mediumDate'}}\n \n \n {{'licenseIsExpired' | i18n}}\n \n
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan.name}}
\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 \n

{{'updateLicense' | i18n}}

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

{{'userSeats' | i18n}}

\n

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

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

{{'storage' | i18n}}

\n

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

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { ProductType } from 'jslib/enums/productType';\n\n@Component({\n selector: 'app-change-plan',\n templateUrl: 'change-plan.component.html',\n})\nexport class ChangePlanComponent {\n @Input() organizationId: string;\n @Output() onChanged = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n defaultUpgradePlan: PlanType = PlanType.FamiliesAnnually;\n defaultUpgradeProduct: ProductType = ProductType.Families;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n try {\n this.platformUtilsService.eventTrack('Changed Plan');\n this.onChanged.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","
\n
\n \n

{{'changeBillingPlan' | i18n}}

\n

{{'changeBillingPlanUpgrade' | i18n}}

\n \n \n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-download-license',\n templateUrl: 'download-license.component.html',\n})\nexport class DownloadLicenseComponent {\n @Input() organizationId: string;\n @Output() onDownloaded = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n installationId: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n if (this.installationId == null || this.installationId === '') {\n return;\n }\n\n try {\n this.formPromise = this.apiService.getOrganizationLicense(this.organizationId, this.installationId);\n const license = await this.formPromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n this.platformUtilsService.eventTrack('Downloaded License');\n this.onDownloaded.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","
\n
\n \n

{{'downloadLicense' | i18n}}

\n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\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 { SeatRequest } from 'jslib/models/request/seatRequest';\n\nimport { PaymentComponent } from '../../settings/payment.component';\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 @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router, private activatedRoute: ActivatedRoute) { }\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 let paymentFailed = false;\n const action = async () => {\n const result = await this.apiService.postOrganizationSeat(this.organizationId, request);\n if (result != null && result.paymentIntentClientSecret != null) {\n try {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n } catch {\n paymentFailed = true;\n }\n }\n };\n this.formPromise = action();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.onAdjusted.emit(this.seatAdjustment);\n if (paymentFailed) {\n this.toasterService.popAsync({\n body: this.i18nService.t('couldNotChargeCardPayInvoice'),\n type: 'warning',\n timeout: 10000,\n });\n this.router.navigate(['../billing'], { relativeTo: this.activatedRoute });\n } else {\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n }\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatPrice;\n }\n}\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","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\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 selfHosted: boolean;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.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, userService: UserService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n policyService: PolicyService, private route: ActivatedRoute) {\n super(apiService, userService, componentFactoryResolver, messagingService, policyService);\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 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","
\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","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","
\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","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.onafterprint = () => w.close();\n w.print();\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","
\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","import {\n Component,\n NgZone,\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';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from 'jslib/models/request/updateTwoFactorU2fDeleteRequest';\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 name: string;\n keys: any[];\n keyIdAvailable: number = null;\n keysConfiguredCount = 0;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n challengePromise: Promise;\n formPromise: Promise;\n\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private ngZone: NgZone) {\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 window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.u2fResponse == null || this.keyIdAvailable == null) {\n // Should never happen.\n return Promise.reject();\n }\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n request.id = this.keyIdAvailable;\n request.name = this.name;\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 disable() {\n return super.disable(this.formPromise);\n }\n\n async remove(key: any) {\n if (this.keysConfiguredCount <= 1 || key.removePromise != null) {\n return;\n }\n const name = key.name != null ? key.name : this.i18nService.t('u2fkeyX', key.id);\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeU2fConfirmation'), name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n const request = new UpdateTwoFactorU2fDeleteRequest();\n request.id = key.id;\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n key.removePromise = this.apiService.deleteTwoFactorU2f(request);\n const response = await key.removePromise;\n key.removePromise = null;\n await this.processResponse(response);\n } catch { }\n }\n\n async readKey() {\n if (this.keyIdAvailable == null) {\n return;\n }\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n this.challengePromise = this.apiService.getTwoFactorU2fChallenge(request);\n const challenge = await this.challengePromise;\n this.readDevice(challenge);\n } catch { }\n }\n\n private readDevice(u2fChallenge: ChallengeResponse) {\n // tslint:disable-next-line\n console.log('listening for key...');\n this.resetU2f(true);\n (window as any).u2f.register(u2fChallenge.appId, [{\n version: u2fChallenge.version,\n challenge: u2fChallenge.challenge,\n }], [], (data: any) => {\n this.ngZone.run(() => {\n this.u2fListening = false;\n 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 });\n }, 15);\n }\n\n private resetU2f(listening = false) {\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = listening;\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.resetU2f();\n this.keys = [];\n this.keyIdAvailable = null;\n this.name = null;\n this.keysConfiguredCount = 0;\n for (let i = 1; i <= 5; i++) {\n if (response.keys != null) {\n const key = response.keys.filter((k) => k.id === i);\n if (key.length > 0) {\n this.keysConfiguredCount++;\n this.keys.push({\n id: i, name: key[0].name,\n configured: true,\n compromised: key[0].compromised,\n removePromise: null,\n });\n continue;\n }\n }\n this.keys.push({ id: i, name: null, configured: false, compromised: false, removePromise: null });\n if (this.keyIdAvailable == null) {\n this.keyIdAvailable = i;\n }\n }\n this.enabled = response.enabled;\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
  • \n \n {{'u2fkeyX' | i18n : i + 1}}\n {{k.name}}\n \n \n \n {{'keyCompromised' | i18n}}\n \n \n \n {{'enabled' | i18n}}\n \n \n 1 && k.configured\">\n \n -\n {{'remove' | i18n}}\n \n
  • \n
\n
\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fGiveName' | i18n}}
  2. \n
  3. {{'twoFactorU2fPlugInReadKey' | i18n}}
  4. \n
  5. {{'twoFactorU2fTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorU2fSaveForm' | i18n}}
  8. \n
\n
\n
\n \n \n
\n
\n \n \n \n \n \n \n \n {{'twoFactorU2fWaiting' | i18n}}...\n \n \n \n {{'twoFactorU2fClickSave' | i18n}}\n \n \n \n {{'twoFactorU2fProblemReadingTryAgain' | i18n}}\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 { 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","
\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","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\n\nimport { EventType } from 'jslib/enums/eventType';\n\n@Component({\n selector: 'app-org-export',\n templateUrl: '../../tools/export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\n eventService: EventService, private route: ActivatedRoute) {\n super(cryptoService, i18nService, platformUtilsService, exportService, eventService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n });\n }\n\n getExportData() {\n return this.exportService.getOrganizationExport(this.organizationId, this.format);\n }\n\n getFileName() {\n return super.getFileName('org');\n }\n\n async collectEvent(): Promise {\n // TODO\n // await this.eventService.collect(EventType.Organization_ClientExportedVault);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n ExposedPasswordsReportComponent as BaseExposedPasswordsReportComponent,\n} from '../../tools/exposed-passwords-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\nimport { Cipher } from 'jslib/models/domain/cipher';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: '../../tools/exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends BaseExposedPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, auditService, componentFactoryResolver, messagingService, userService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import { PasswordHistoryResponse } from '../response/passwordHistoryResponse';\n\nexport class PasswordHistoryData {\n password: string;\n lastUsedDate: string;\n\n constructor(response?: PasswordHistoryResponse) {\n if (response == null) {\n return;\n }\n\n this.password = response.password;\n this.lastUsedDate = response.lastUsedDate;\n }\n}\n","import { View } from './view';\n\nimport { Attachment } from '../domain/attachment';\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\n\nexport class AttachmentView implements View {\n id: string = null;\n url: string = null;\n size: string = null;\n sizeName: string = null;\n fileName: string = null;\n key: SymmetricCryptoKey = null;\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 get fileSize(): number {\n try {\n if (this.size != null) {\n return parseInt(this.size, null);\n }\n } catch { }\n return 0;\n }\n}\n","import { PasswordHistoryData } from '../data/passwordHistoryData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { PasswordHistoryView } from '../view/passwordHistoryView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Password extends Domain {\n password: CipherString;\n lastUsedDate: Date;\n\n constructor(obj?: PasswordHistoryData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n password: null,\n }, alreadyEncrypted);\n this.lastUsedDate = new Date(obj.lastUsedDate);\n }\n\n decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new PasswordHistoryView(this), {\n password: null,\n }, orgId, encKey);\n }\n\n toPasswordHistoryData(): PasswordHistoryData {\n const ph = new PasswordHistoryData();\n ph.lastUsedDate = this.lastUsedDate.toISOString();\n this.buildDataModel(this, ph, {\n password: null,\n });\n return ph;\n }\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherCreateRequest {\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 { BaseResponse } from '../response/baseResponse';\n\nexport class CardApi extends BaseResponse {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.cardholderName = this.getResponseProperty('CardholderName');\n this.brand = this.getResponseProperty('Brand');\n this.number = this.getResponseProperty('Number');\n this.expMonth = this.getResponseProperty('ExpMonth');\n this.expYear = this.getResponseProperty('ExpYear');\n this.code = this.getResponseProperty('Code');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { FieldType } from '../../enums/fieldType';\n\nexport class FieldApi extends BaseResponse {\n name: string;\n value: string;\n type: FieldType;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.value = this.getResponseProperty('Value');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class IdentityApi extends BaseResponse {\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: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.title = this.getResponseProperty('Title');\n this.firstName = this.getResponseProperty('FirstName');\n this.middleName = this.getResponseProperty('MiddleName');\n this.lastName = this.getResponseProperty('LastName');\n this.address1 = this.getResponseProperty('Address1');\n this.address2 = this.getResponseProperty('Address2');\n this.address3 = this.getResponseProperty('Address3');\n this.city = this.getResponseProperty('City');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.country = this.getResponseProperty('Country');\n this.company = this.getResponseProperty('Company');\n this.email = this.getResponseProperty('Email');\n this.phone = this.getResponseProperty('Phone');\n this.ssn = this.getResponseProperty('SSN');\n this.username = this.getResponseProperty('Username');\n this.passportNumber = this.getResponseProperty('PassportNumber');\n this.licenseNumber = this.getResponseProperty('LicenseNumber');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { LoginUriApi } from './loginUriApi';\n\nexport class LoginApi extends BaseResponse {\n uris: LoginUriApi[];\n username: string;\n password: string;\n passwordRevisionDate: string;\n totp: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.username = this.getResponseProperty('Username');\n this.password = this.getResponseProperty('Password');\n this.passwordRevisionDate = this.getResponseProperty('PasswordRevisionDate');\n this.totp = this.getResponseProperty('Totp');\n\n const uris = this.getResponseProperty('Uris');\n if (uris != null) {\n this.uris = uris.map((u: any) => new LoginUriApi(u));\n }\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nexport class LoginUriApi extends BaseResponse {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.uri = this.getResponseProperty('Uri');\n const match = this.getResponseProperty('Match');\n this.match = match != null ? match : null;\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { SecureNoteType } from '../../enums/secureNoteType';\n\nexport class SecureNoteApi extends BaseResponse {\n type: SecureNoteType;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.type = this.getResponseProperty('Type');\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appFallbackSrc]',\n})\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\n this.el.nativeElement.src = this.appFallbackSrc;\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 { I18nService } from 'jslib/abstractions/i18n.service';\nimport { ImportService } from 'jslib/abstractions/import.service';\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 constructor(i18nService: I18nService, analytics: Angulartics2,\n toasterService: ToasterService, importService: ImportService,\n router: Router, private route: ActivatedRoute) {\n super(i18nService, analytics, toasterService, importService, 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","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n InactiveTwoFactorReportComponent as BaseInactiveTwoFactorReportComponent,\n} from '../../tools/inactive-two-factor-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: '../../tools/inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends BaseInactiveTwoFactorReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n ReusedPasswordsReportComponent as BaseReusedPasswordsReportComponent,\n} from '../../tools/reused-passwords-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: '../../tools/reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends BaseReusedPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent {\n organization: Organization;\n accessReports = false;\n loading = true;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n this.accessReports = this.organization.useTotp;\n this.loading = false;\n });\n }\n\n upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n }\n}\n","\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n UnsecuredWebsitesReportComponent as BaseUnsecuredWebsitesReportComponent,\n} from '../../tools/unsecured-websites-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: '../../tools/unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends BaseUnsecuredWebsitesReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n WeakPasswordsReportComponent as BaseWeakPasswordsReportComponent,\n} from '../../tools/weak-passwords-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: '../../tools/weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends BaseWeakPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, passwordGenerationService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\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 { BroadcasterService } from 'jslib/angular/services/broadcaster.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\nconst BroadcasterSubscriptionId = 'OrgVaultComponent';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent, { static: true }) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent, { static: true }) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef, static: true }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef, static: true }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string = null;\n type: CipherType = null;\n deleted: boolean = false;\n\n modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\n\n ngOnInit() {\n const queryParams = 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 const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (!this.organization.canManageAllCollections) {\n await this.syncService.fullSync(false);\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.ciphersComponent.refresh(),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.reload();\n } else {\n if (qParams.deleted) {\n this.groupingsComponent.selectedTrash = true;\n await this.filterDeleted(true);\n } else 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.reload();\n }\n }\n\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 if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n if (queryParams != null) {\n queryParams.unsubscribe();\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.ciphersComponent.deleted = false;\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.ciphersComponent.deleted = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.reload(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 = true;\n this.ciphersComponent.deleted = 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 != null && c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.reload(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n async filterDeleted(load: boolean = false) {\n this.ciphersComponent.showAddNew = false;\n this.ciphersComponent.deleted = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchTrash');\n if (load) {\n await this.ciphersComponent.reload(null, true);\n } else {\n await this.ciphersComponent.applyFilter(null);\n }\n this.clearFilters();\n this.deleted = true;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n this.ciphersComponent.search(200);\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.canManageAllCollections) {\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.organizationId = this.organization.id;\n component.type = this.type;\n if (this.organization.canManageAllCollections) {\n component.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n if (this.collectionId != null) {\n component.collectionIds = [this.collectionId];\n }\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 childComponent.onRestoredCipher.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 cloneCipher(cipher: CipherView) {\n const component = this.editCipher(cipher);\n component.cloneMode = true;\n component.organizationId = this.organization.id;\n if (this.organization.canManageAllCollections) {\n component.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n // Regardless of Admin state, the collection Ids need to passed manually as they are not assigned value\n // in the add-edit componenet\n component.collectionIds = cipher.collectionIds;\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 this.deleted = false;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n deleted: this.deleted ? true : null,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'vault' | i18n}}\n \n \n \n {{'loading' | i18n}}\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 { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.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 { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\n\n@Component({\n selector: 'app-org-vault-attachments',\n templateUrl: '../../vault/attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n organization: Organization;\n\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.organization.canManageAllCollections && this.showFixOldAttachments(attachment)) {\n await super.reuploadCipherAttachment(attachment, true);\n }\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\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 saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.canManageAllCollections);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipherAttachment(attachmentId);\n }\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.organization.canManageAllCollections;\n }\n}\n","import { Component } from '@angular/core';\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';\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 { 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, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService,\n private apiService: ApiService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n this.allowSelectNone = true;\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\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.canManageAllCollections) {\n return super.loadCipherCollections();\n }\n return this.collectionIds;\n }\n\n protected loadCollections() {\n if (!this.organization.canManageAllCollections) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected saveCollections() {\n if (this.organization.canManageAllCollections) {\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","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\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';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherBulkDeleteRequest } from 'jslib/models/request/cipherBulkDeleteRequest';\n\n@Component({\n selector: 'app-vault-bulk-delete',\n templateUrl: 'bulk-delete.component.html',\n})\nexport class BulkDeleteComponent {\n @Input() cipherIds: string[] = [];\n @Input() permanent: boolean = false;\n @Input() organization: Organization;\n @Output() onDeleted = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private apiService: ApiService) { }\n\n async submit() {\n if (!this.organization || !this.organization.canManageAllCollections) {\n await this.deleteCiphers();\n } else {\n await this.deleteCiphersAdmin();\n }\n\n await this.formPromise;\n\n this.onDeleted.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t(this.permanent ? 'permanentlyDeletedItems'\n : 'deletedItems'));\n }\n\n private async deleteCiphers() {\n if (this.permanent) {\n this.formPromise = await this.cipherService.deleteManyWithServer(this.cipherIds);\n } else {\n this.formPromise = await this.cipherService.softDeleteManyWithServer(this.cipherIds);\n }\n }\n\n private async deleteCiphersAdmin() {\n const deleteRequest = new CipherBulkDeleteRequest(this.cipherIds, this.organization.id);\n if (this.permanent) {\n this.formPromise = await this.apiService.deleteManyCiphersAdmin(deleteRequest);\n } else {\n this.formPromise = await this.apiService.putDeleteManyCiphersAdmin(deleteRequest);\n }\n }\n}\n","
\n
\n
\n
\n

\n {{(permanent ? 'permanentlyDeleteSelected' : 'deleteSelected') | i18n}}\n

\n \n
\n
\n {{(permanent ? 'permanentlyDeleteSelectedItemsDesc' : 'deleteSelectedItemsDesc') | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","export class CipherBulkDeleteRequest {\n ids: string[];\n organizationId: string;\n\n constructor(ids: string[], organizationId?: string) {\n this.ids = ids == null ? [] : ids;\n this.organizationId = organizationId;\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 { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { FolderView } from 'jslib/models/view/folderView';\n\n@Component({\n selector: 'app-vault-bulk-move',\n templateUrl: 'bulk-move.component.html',\n})\nexport class BulkMoveComponent implements OnInit {\n @Input() cipherIds: string[] = [];\n @Output() onMoved = new EventEmitter();\n\n folderId: string = null;\n folders: FolderView[] = [];\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private folderService: FolderService) { }\n\n async ngOnInit() {\n this.folders = await this.folderService.getAllDecrypted();\n this.folderId = this.folders[0].id;\n }\n\n async submit() {\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\n await this.formPromise;\n this.onMoved.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\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","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 { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-vault-bulk-restore',\n templateUrl: 'bulk-restore.component.html',\n})\nexport class BulkRestoreComponent {\n @Input() cipherIds: string[] = [];\n @Output() onRestored = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async submit() {\n this.formPromise = this.cipherService.restoreManyWithServer(this.cipherIds);\n await this.formPromise;\n this.onRestored.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Restored Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('restoredItems'));\n }\n}\n","
\n
\n
\n
\n

\n {{'restoreSelected' | i18n}}\n

\n \n
\n
\n {{'restoreSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\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 { 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.hasOldAttachments && 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 try {\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 } 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 get canSave() {\n if (this.shareableCiphers != null && this.shareableCiphers.length > 0 && this.collections != null) {\n for (let i = 0; i < this.collections.length; i++) {\n if ((this.collections[i] as any).checked) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsCountDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}\n

\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","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { SendType } from 'jslib/enums/sendType';\n\nimport { SendView } from 'jslib/models/view/sendView';\n\nimport { AddEditComponent } from './add-edit.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SendService } from 'jslib/abstractions/send.service';\n\n@Component({\n selector: 'app-send',\n templateUrl: 'send.component.html',\n})\nexport class SendComponent implements OnInit {\n @ViewChild('sendAddEdit', { read: ViewContainerRef, static: true }) sendAddEditModalRef: ViewContainerRef;\n\n sendType = SendType;\n loaded = false;\n loading = true;\n refreshing = false;\n expired: boolean = false;\n type: SendType = null;\n sends: SendView[] = [];\n filteredSends: SendView[] = [];\n searchText: string;\n selectedType: SendType;\n selectedAll: boolean;\n searchPlaceholder: string;\n filter: (cipher: SendView) => boolean;\n searchPending = false;\n\n modal: ModalComponent = null;\n actionPromise: any;\n\n private searchTimeout: any;\n\n constructor(private apiService: ApiService, private sendService: SendService,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private environmentService: EnvironmentService) { }\n\n async ngOnInit() {\n await this.load();\n }\n async load(filter: (send: SendView) => boolean = null) {\n this.loading = true;\n const sends = await this.sendService.getAllDecrypted();\n this.sends = sends;\n this.selectAll();\n this.loading = false;\n this.loaded = true;\n }\n\n async reload(filter: (send: SendView) => boolean = null) {\n this.loaded = false;\n this.sends = [];\n await this.load(filter);\n }\n\n async refresh() {\n try {\n this.refreshing = true;\n await this.reload(this.filter);\n } finally {\n this.refreshing = false;\n }\n }\n\n async applyFilter(filter: (send: SendView) => boolean = null) {\n this.filter = filter;\n await this.search(null);\n }\n\n async search(timeout: number = null) {\n this.searchPending = false;\n if (this.searchTimeout != null) {\n clearTimeout(this.searchTimeout);\n }\n if (timeout == null) {\n this.filteredSends = this.sends.filter((s) => this.filter == null || this.filter(s));\n return;\n }\n this.searchPending = true;\n this.searchTimeout = setTimeout(async () => {\n this.filteredSends = this.sends.filter((s) => this.filter == null || this.filter(s));\n this.searchPending = false;\n }, timeout);\n }\n\n addSend() {\n const component = this.editSend(null);\n component.type = this.type;\n }\n\n editSend(send: SendView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.sendAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.sendAddEditModalRef);\n\n childComponent.sendId = send == null ? null : send.id;\n childComponent.onSavedSend.subscribe(async (s: SendView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onDeletedSend.subscribe(async (s: SendView) => {\n this.modal.close();\n await this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async removePassword(s: SendView): Promise {\n if (this.actionPromise != null || s.password == null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('removePasswordConfirmation'),\n this.i18nService.t('removePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.sendService.removePasswordWithServer(s.id);\n await this.actionPromise;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('removedPassword'));\n await this.load();\n } catch { }\n this.actionPromise = null;\n }\n\n async delete(s: SendView): Promise {\n if (this.actionPromise != null) {\n return false;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteSendConfirmation'),\n this.i18nService.t('deleteSend'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.sendService.deleteWithServer(s.id);\n await this.actionPromise;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));\n await this.load();\n } catch { }\n this.actionPromise = null;\n return true;\n }\n\n copy(s: SendView) {\n let webVaultUrl = this.environmentService.getWebVaultUrl();\n if (webVaultUrl == null) {\n webVaultUrl = 'https://vault.bitwarden.com';\n }\n const link = webVaultUrl + '/#/send/' + s.accessId + '/' + s.urlB64Key;\n this.platformUtilsService.copyToClipboard(link);\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('valueCopied', this.i18nService.t('sendLink')));\n }\n\n searchTextChanged() {\n this.search(200);\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.applyFilter(null);\n }\n\n selectType(type: SendType) {\n this.clearSelections();\n this.selectedType = type;\n this.applyFilter((s) => s.type === type);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedType = null;\n }\n}\n","
\n
\n
\n
\n
\n {{'filters' | i18n}}\n
\n
\n \n \n

{{'types' | i18n}}

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

\n Send\n \n \n \n {{'loading' | i18n}}\n \n \n

\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n
\n {{s.name}}\n \n {{'disabled' | i18n}}\n \n \n \n {{'password' | i18n}}\n \n \n \n {{'maxAccessCountReached' | i18n}}\n \n \n \n {{'expired' | i18n}}\n \n \n \n {{'pendingDeletion' | i18n}}\n \n
\n {{s.deletionDate | date:'medium'}}\n
\n \n
\n
\n \n \n {{'loading' | i18n}}\n \n \n

{{'noSendsInList' | i18n}}

\n \n
\n
\n
\n
\n
\n\n","import { DatePipe } from '@angular/common';\n\nimport {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { Component } from '@angular/core';\n\nimport { SendType } from 'jslib/enums/sendType';\n\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SendService } from 'jslib/abstractions/send.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { SendFileView } from 'jslib/models/view/sendFileView';\nimport { SendTextView } from 'jslib/models/view/sendTextView';\nimport { SendView } from 'jslib/models/view/sendView';\n\nimport { Send } from 'jslib/models/domain/send';\n\n@Component({\n selector: 'app-send-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent {\n @Input() sendId: string;\n @Input() type: SendType;\n\n @Output() onSavedSend = new EventEmitter();\n @Output() onDeletedSend = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n\n editMode: boolean = false;\n send: SendView;\n link: string;\n title: string;\n deletionDate: string;\n expirationDate: string;\n hasPassword: boolean;\n password: string;\n formPromise: Promise;\n deletePromise: Promise;\n sendType = SendType;\n typeOptions: any[];\n deletionDateOptions: any[];\n expirationDateOptions: any[];\n deletionDateSelect = 168;\n expirationDateSelect: number = null;\n canAccessPremium = true;\n premiumRequiredAlertShown = false;\n\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService,\n private environmentService: EnvironmentService, private datePipe: DatePipe,\n private sendService: SendService, private userService: UserService,\n private messagingService: MessagingService) {\n this.typeOptions = [\n { name: i18nService.t('sendTypeFile'), value: SendType.File },\n { name: i18nService.t('sendTypeText'), value: SendType.Text },\n ];\n this.deletionDateOptions = this.expirationDateOptions = [\n { name: i18nService.t('oneHour'), value: 1 },\n { name: i18nService.t('oneDay'), value: 24 },\n { name: i18nService.t('days', '2'), value: 48 },\n { name: i18nService.t('days', '3'), value: 72 },\n { name: i18nService.t('days', '7'), value: 168 },\n { name: i18nService.t('days', '30'), value: 720 },\n { name: i18nService.t('custom'), value: 0 },\n ];\n this.expirationDateOptions = [\n { name: i18nService.t('never'), value: null },\n ].concat([...this.deletionDateOptions]);\n }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n this.editMode = this.sendId != null;\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editSend');\n } else {\n this.title = this.i18nService.t('createSend');\n }\n\n this.canAccessPremium = await this.userService.canAccessPremium();\n if (!this.canAccessPremium) {\n this.type = SendType.Text;\n }\n\n if (this.send == null) {\n if (this.editMode) {\n const send = await this.loadSend();\n this.send = await send.decrypt();\n } else {\n this.send = new SendView();\n this.send.type = this.type == null ? SendType.File : this.type;\n this.send.file = new SendFileView();\n this.send.text = new SendTextView();\n this.send.deletionDate = new Date();\n this.send.deletionDate.setDate(this.send.deletionDate.getDate() + 7);\n }\n }\n\n this.hasPassword = this.send.password != null && this.send.password.trim() !== '';\n\n // Parse dates\n this.deletionDate = this.dateToString(this.send.deletionDate);\n this.expirationDate = this.dateToString(this.send.expirationDate);\n\n if (this.editMode) {\n let webVaultUrl = this.environmentService.getWebVaultUrl();\n if (webVaultUrl == null) {\n webVaultUrl = 'https://vault.bitwarden.com';\n }\n this.link = webVaultUrl + '/#/send/' + this.send.accessId + '/' + this.send.urlB64Key;\n }\n }\n\n async submit(): Promise {\n if (this.send.name == null || this.send.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n let file: File = null;\n if (this.send.type === SendType.File && !this.editMode) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n file = files[0];\n if (file.size > 104857600) { // 100 MB\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n }\n\n if (!this.editMode) {\n const now = new Date();\n if (this.deletionDateSelect > 0) {\n const d = new Date();\n d.setHours(now.getHours() + this.deletionDateSelect);\n this.deletionDate = this.dateToString(d);\n }\n if (this.expirationDateSelect != null && this.expirationDateSelect > 0) {\n const d = new Date();\n d.setHours(now.getHours() + this.expirationDateSelect);\n this.expirationDate = this.dateToString(d);\n }\n }\n\n const encSend = await this.encryptSend(file);\n try {\n this.formPromise = this.sendService.saveWithServer(encSend);\n await this.formPromise;\n this.send.id = encSend[0].id;\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode ? 'editedSend' : 'createdSend'));\n this.onSavedSend.emit(this.send);\n return true;\n } catch { }\n\n return false;\n }\n\n clearExpiration() {\n this.expirationDate = null;\n }\n\n async delete(): Promise {\n if (this.deletePromise != null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteSendConfirmation'),\n this.i18nService.t('deleteSend'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromise = this.sendService.deleteWithServer(this.send.id);\n await this.deletePromise;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));\n await this.load();\n this.onDeletedSend.emit(this.send);\n } catch { }\n }\n\n typeChanged() {\n if (!this.canAccessPremium && this.send.type === SendType.File && !this.premiumRequiredAlertShown) {\n this.premiumRequiredAlertShown = true;\n this.messagingService.send('premiumRequired');\n }\n }\n\n protected async loadSend(): Promise {\n return this.sendService.get(this.sendId);\n }\n\n protected async encryptSend(file: File): Promise<[Send, ArrayBuffer]> {\n const sendData = await this.sendService.encrypt(this.send, file, this.password, null);\n\n // Parse dates\n try {\n sendData[0].deletionDate = this.deletionDate == null ? null : new Date(this.deletionDate);\n } catch {\n sendData[0].deletionDate = null;\n }\n try {\n sendData[0].expirationDate = this.expirationDate == null ? null : new Date(this.expirationDate);\n } catch {\n sendData[0].expirationDate = null;\n }\n\n return sendData;\n }\n\n protected dateToString(d: Date) {\n return d == null ? null : this.datePipe.transform(d, 'yyyy-MM-ddTHH:mm');\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 {{'file' | i18n}}\n {{send.file.fileName}} ({{send.file.sizeName}})\n
\n
\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n
\n

{{'options' | i18n}}

\n
\n
\n \n
\n \n \n
\n
\n \n
\n
{{'deletionDateDesc' | i18n}}
\n
\n
\n
\n \n \n {{'clear' | i18n}}\n \n
\n
\n \n \n
\n
\n \n
\n
{{'expirationDateDesc' | i18n}}
\n
\n
\n
\n
\n \n \n
{{'maxAccessCountDesc' | i18n}}
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n
{{'sendPasswordDesc' | i18n}}
\n
\n
\n
\n \n \n
{{'sendNotesDesc' | i18n}}
\n
\n
\n
\n \n \n
\n
\n

{{'share' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import { SendType } from '../../enums/sendType';\nimport { Utils } from '../../misc/utils';\n\nimport { Send } from '../domain/send';\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\n\nimport { SendFileView } from './sendFileView';\nimport { SendTextView } from './sendTextView';\nimport { View } from './view';\n\nexport class SendView implements View {\n id: string = null;\n accessId: string = null;\n name: string = null;\n notes: string = null;\n key: ArrayBuffer;\n cryptoKey: SymmetricCryptoKey;\n type: SendType = null;\n text = new SendTextView();\n file = new SendFileView();\n maxAccessCount?: number = null;\n accessCount: number = 0;\n revisionDate: Date = null;\n deletionDate: Date = null;\n expirationDate: Date = null;\n password: string = null;\n disabled: boolean = false;\n\n constructor(s?: Send) {\n if (!s) {\n return;\n }\n\n this.id = s.id;\n this.accessId = s.accessId;\n this.type = s.type;\n this.maxAccessCount = s.maxAccessCount;\n this.accessCount = s.accessCount;\n this.revisionDate = s.revisionDate;\n this.deletionDate = s.deletionDate;\n this.expirationDate = s.expirationDate;\n this.disabled = s.disabled;\n this.password = s.password;\n }\n\n get urlB64Key(): string {\n return Utils.fromBufferToUrlB64(this.key);\n }\n\n get maxAccessCountReached(): boolean {\n if (this.maxAccessCount == null) {\n return false;\n }\n return this.accessCount >= this.maxAccessCount;\n }\n\n get expired(): boolean {\n if (this.expirationDate == null) {\n return false;\n }\n return this.expirationDate <= new Date();\n }\n\n get pendingDelete(): boolean {\n return this.deletionDate <= new Date();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent } from '../modal.component';\nimport { ApiKeyComponent } from './api-key.component';\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './delete-account.component';\nimport { PurgeVaultComponent } from './purge-vault.component';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef, static: true }) deauthModalRef: ViewContainerRef;\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef, static: true }) purgeModalRef: ViewContainerRef;\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef, static: true }) deleteModalRef: ViewContainerRef;\n @ViewChild('viewUserApiKeyTemplate', { read: ViewContainerRef, static: true }) viewUserApiKeyModalRef: ViewContainerRef;\n @ViewChild('rotateUserApiKeyTemplate', { read: ViewContainerRef, static: true }) rotateUserApiKeyModalRef: ViewContainerRef;\n\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private apiService: ApiService,\n private userService: UserService) { }\n\n deauthorizeSessions() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deauthModalRef.createComponent(factory).instance;\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n purgeVault() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.purgeModalRef.createComponent(factory).instance;\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n deleteAccount() {\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 this.modal.show(DeleteAccountComponent, this.deleteModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async viewUserApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.viewUserApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.viewUserApiKeyModalRef);\n childComponent.keyType = 'user';\n childComponent.entityId = await this.userService.getUserId();\n childComponent.postKey = this.apiService.postUserApiKey.bind(this.apiService);\n childComponent.scope = 'api';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'userApiKeyWarning';\n childComponent.apiKeyDescription = 'userApiKeyDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async rotateUserApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.rotateUserApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.rotateUserApiKeyModalRef);\n childComponent.keyType = 'user';\n childComponent.isRotation = true;\n childComponent.entityId = await this.userService.getUserId();\n childComponent.postKey = this.apiService.postUserRotateApiKey.bind(this.apiService);\n childComponent.scope = 'api';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'userApiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyRotateDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'encKeySettings' | i18n}}

\n
\n\n
\n

{{'apiKey' | i18n}}

\n
\n

\n {{'userApiKeyDesc' | i18n}}\n

\n\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\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 { 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-deauthorize-sessions',\n templateUrl: 'deauthorize-sessions.component.html',\n})\nexport class DeauthorizeSessionsComponent {\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.postSecurityStamp(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\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","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","
\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","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 { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\n\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\n\n@Component({\n selector: 'app-profile',\n templateUrl: 'profile.component.html',\n})\nexport class ProfileComponent implements OnInit {\n loading = true;\n profile: ProfileResponse;\n fingerprint: string;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private userService: UserService, private cryptoService: CryptoService) { }\n\n async ngOnInit() {\n this.profile = await this.apiService.getProfile();\n this.loading = false;\n const fingerprint = await this.cryptoService.getFingerprint(await this.userService.getUserId());\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n\n async submit() {\n try {\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\n this.formPromise = this.apiService.putProfile(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\n } catch { }\n }\n}\n","
\n \n {{'loading' | 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 {{'yourAccountsFingerprint' | i18n}}:\n \n
\n {{fingerprint}}\n

\n
\n
\n \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';\nimport { UserService } from 'jslib/abstractions/user.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 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 this.newEmail = this.newEmail.trim().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 kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail, kdf, kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].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","
\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","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import { Component } from '@angular/core';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n ChangePasswordComponent as BaseChangePasswordComponent,\n} from 'jslib/angular/components/change-password.component';\n\nimport { EmergencyAccessStatusType } from 'jslib/enums/emergencyAccessStatusType';\nimport { Utils } from 'jslib/misc/utils';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { EmergencyAccessUpdateRequest } from 'jslib/models/request/emergencyAccessUpdateRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent extends BaseChangePasswordComponent {\n rotateEncKey = false;\n currentMasterPassword: string;\n\n constructor(i18nService: I18nService,\n cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService,\n private folderService: FolderService, private cipherService: CipherService,\n private syncService: SyncService, private apiService: ApiService ) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n async rotateEncKeyClicked() {\n if (this.rotateEncKey) {\n const ciphers = await this.cipherService.getAllDecrypted();\n let hasOldAttachments = false;\n if (ciphers != null) {\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId == null && ciphers[i].hasOldAttachments) {\n hasOldAttachments = true;\n break;\n }\n }\n }\n\n if (hasOldAttachments) {\n const learnMore = await this.platformUtilsService.showDialog(\n this.i18nService.t('oldAttachmentsNeedFixDesc'), null,\n this.i18nService.t('learnMore'), this.i18nService.t('close'), 'warning');\n if (learnMore) {\n this.platformUtilsService.launchUri(\n 'https://help.bitwarden.com/article/attachments/#fixing-old-attachments');\n }\n this.rotateEncKey = false;\n return;\n }\n\n const result = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateEncryptionKeyWarning') + ' ' +\n this.i18nService.t('updateEncryptionKeyExportWarning') + ' ' +\n this.i18nService.t('rotateEncKeyConfirmation'), this.i18nService.t('rotateEncKeyTitle'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!result) {\n this.rotateEncKey = false;\n }\n }\n }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n await super.submit();\n }\n\n async setupSubmitActions() {\n if (this.currentMasterPassword == null || this.currentMasterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return false;\n }\n\n if (this.rotateEncKey) {\n await this.syncService.fullSync(true);\n }\n\n return super.setupSubmitActions();\n }\n\n async performSubmitActions(newMasterPasswordHash: string, newKey: SymmetricCryptoKey,\n newEncKey: [SymmetricCryptoKey, CipherString]) {\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n request.newMasterPasswordHash = newMasterPasswordHash;\n request.key = newEncKey[1].encryptedString;\n\n try {\n if (this.rotateEncKey) {\n this.formPromise = this.apiService.postPassword(request).then(() => {\n return this.updateKey(newKey, request.newMasterPasswordHash);\n });\n } else {\n this.formPromise = this.apiService.postPassword(request);\n }\n\n await this.formPromise;\n\n this.platformUtilsService.showToast('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n }\n\n private async updateKey(key: SymmetricCryptoKey, masterPasswordHash: string) {\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 = masterPasswordHash;\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\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n await this.apiService.postAccountKey(request);\n\n await this.updateEmergencyAccesses(encKey[0]);\n }\n\n private async updateEmergencyAccesses(encKey: SymmetricCryptoKey) {\n const emergencyAccess = await this.apiService.getEmergencyAccessTrusted();\n const allowedStatuses = [\n EmergencyAccessStatusType.Confirmed,\n EmergencyAccessStatusType.RecoveryInitiated,\n EmergencyAccessStatusType.RecoveryApproved,\n ];\n\n const filteredAccesses = emergencyAccess.data.filter(d => allowedStatuses.includes(d.status));\n\n for (const details of filteredAccesses) {\n const publicKeyResponse = await this.apiService.getUserPublicKey(details.granteeId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n\n const encryptedKey = await this.cryptoService.rsaEncrypt(encKey.key, publicKey.buffer);\n\n const updateRequest = new EmergencyAccessUpdateRequest();\n updateRequest.type = details.type;\n updateRequest.waitTimeDays = details.waitTimeDays;\n updateRequest.keyEncrypted = encryptedKey.encryptedString;\n\n await this.apiService.putEmergencyAccess(details.id, updateRequest);\n }\n }\n}\n","{{'loggedOutWarning' | i18n}}\n\n {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • {{'policyInEffectUppercase' | i18n}}
  • \n
  • {{'policyInEffectLowercase' | i18n}}
  • \n
  • {{'policyInEffectNumbers' | i18n}}
  • \n
  • {{'policyInEffectSpecial' | 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","export enum EmergencyAccessStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n RecoveryInitiated = 3,\n RecoveryApproved = 4,\n}\n","import { EmergencyAccessType } from '../../enums/emergencyAccessType';\n\nexport class EmergencyAccessUpdateRequest {\n type: EmergencyAccessType;\n waitTimeDays: number;\n keyEncrypted?: 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 { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\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 {\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 { 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';\n\nimport { KdfRequest } from 'jslib/models/request/kdfRequest';\n\nimport { KdfType } from 'jslib/enums/kdfType';\n\n@Component({\n selector: 'app-change-kdf',\n templateUrl: 'change-kdf.component.html',\n})\nexport class ChangeKdfComponent implements OnInit {\n masterPassword: string;\n kdfIterations: number;\n kdf = KdfType.PBKDF2_SHA256;\n kdfOptions: any[] = [];\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 this.kdfOptions = [\n { name: 'PBKDF2 SHA-256', value: KdfType.PBKDF2_SHA256 },\n ];\n }\n\n async ngOnInit() {\n this.kdf = await this.userService.getKdf();\n this.kdfIterations = await this.userService.getKdfIterations();\n }\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 const request = new KdfRequest();\n request.kdf = this.kdf;\n request.kdfIterations = this.kdfIterations;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const email = await this.userService.getEmail();\n const newKey = await this.cryptoService.makeKey(this.masterPassword, email, this.kdf, this.kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].encryptedString;\n try {\n this.formPromise = this.apiService.postAccountKdf(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed KDF' });\n this.toasterService.popAsync('success', this.i18nService.t('encKeySettingsChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","{{'loggedOutWarning' | 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

{{'kdfIterationsDesc' | i18n : (100000 | number)}}

\n {{'warning' | i18n}}: {{'kdfIterationsWarning' | i18n : (50000 | number)}}\n
\n
\n
\n
\n \n
\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { ProductType } from 'jslib/enums/productType';\n\nimport { OrganizationPlansComponent } from './organization-plans.component';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(OrganizationPlansComponent, { static: true }) orgPlansComponent: OrganizationPlansComponent;\n\n constructor(private route: ActivatedRoute) { }\n\n ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families') {\n this.orgPlansComponent.plan = PlanType.FamiliesAnnually;\n this.orgPlansComponent.product = ProductType.Families;\n } else if (qParams.plan === 'teams') {\n this.orgPlansComponent.plan = PlanType.TeamsAnnually;\n this.orgPlansComponent.product = ProductType.Teams;\n } else if (qParams.plan === 'enterprise') {\n this.orgPlansComponent.plan = PlanType.EnterpriseAnnually;\n this.orgPlansComponent.product = ProductType.Enterprise;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\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","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n {{'loading' | i18n}}\n

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

{{'globalEqDomains' | i18n}}

\n

\n \n {{'loading' | i18n}}\n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\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 { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.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 vaultTimeout: number = null;\n vaultTimeoutAction: string = 'lock';\n disableIcons: boolean;\n enableGravatars: boolean;\n enableFullWidth: boolean;\n locale: string;\n vaultTimeouts: 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 vaultTimeoutService: VaultTimeoutService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService) {\n this.vaultTimeouts = [\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.vaultTimeouts.push({ name: i18nService.t('never'), value: null });\n }\n\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n let name = locale;\n if (i18nService.localeNames.has(locale)) {\n name += (' - ' + i18nService.localeNames.get(locale));\n }\n localeOptions.push({ name: name, 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.vaultTimeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n this.vaultTimeoutAction = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.enableGravatars = await this.storageService.get('enableGravatars');\n this.enableFullWidth = await this.storageService.get('enableFullWidth');\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.vaultTimeoutService.setVaultTimeoutOptions(this.vaultTimeout != null ? this.vaultTimeout : null,\n this.vaultTimeoutAction);\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('enableFullWidth', this.enableFullWidth);\n this.messagingService.send('setFullWidth');\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 async vaultTimeoutActionChanged(newValue: string) {\n if (newValue === 'logOut') {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('vaultTimeoutLogOutConfirmation'),\n this.i18nService.t('vaultTimeoutLogOutConfirmationTitle'),\n this.i18nService.t('yes'), this.i18nService.t('cancel'), 'warning');\n if (!confirmed) {\n this.vaultTimeoutAction = 'lock';\n return;\n }\n }\n this.vaultTimeoutAction = newValue;\n }\n}\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n \n \n {{'vaultTimeoutDesc' | 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 {{'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\t
\n
\n \n \n
\n {{'enableFullWidthDesc' | i18n}}\n
\n \n
\n","import {\n AfterContentInit,\n Component,\n Input,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { SsoComponent } from 'jslib/angular/components/sso.component';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-link-sso',\n templateUrl: 'link-sso.component.html',\n})\nexport class LinkSsoComponent extends SsoComponent implements AfterContentInit {\n @Input() organization: Organization;\n returnUri: string = '/settings/organizations';\n\n constructor(platformUtilsService: PlatformUtilsService, i18nService: I18nService,\n apiService: ApiService, authService: AuthService,\n router: Router, route: ActivatedRoute,\n cryptoFunctionService: CryptoFunctionService, passwordGenerationService: PasswordGenerationService,\n storageService: StorageService, stateService: StateService) {\n super(authService, router,\n i18nService, route,\n storageService, stateService,\n platformUtilsService, apiService,\n cryptoFunctionService, passwordGenerationService);\n\n this.returnUri = '/settings/organizations';\n this.redirectUri = window.location.origin + '/sso-connector.html';\n this.clientId = 'web';\n }\n\n async ngAfterContentInit() {\n this.identifier = this.organization.identifier;\n }\n}\n","\n \n {{'linkSso' | i18n}}\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';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentComponent } from './payment.component';\nimport { TaxInfoComponent } from './tax-info.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 @ViewChild(TaxInfoComponent) taxInfoComponent: TaxInfoComponent;\n\n canAccessPremium = false;\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, private userService: UserService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/subscription']);\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((result) => {\n const fd = new FormData();\n fd.append('paymentMethodType', result[1].toString());\n if (result[0] != null) {\n fd.append('paymentToken', result[0]);\n }\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n fd.append('country', this.taxInfoComponent.taxInfo.country);\n fd.append('postalCode', this.taxInfoComponent.taxInfo.postalCode);\n return this.apiService.postPremium(fd);\n }).then((paymentResponse) => {\n if (!paymentResponse.success && paymentResponse.paymentIntentClientSecret != null) {\n return this.paymentComponent.handleStripeCardPayment(paymentResponse.paymentIntentClientSecret,\n () => this.finalizePremium());\n } else {\n return this.finalizePremium();\n }\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\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/subscription']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * Math.abs(this.additionalStorage || 0);\n }\n\n get subtotal(): number {\n return this.premiumPrice + this.additionalStorageTotal;\n }\n\n get taxCharges(): number {\n return this.taxInfoComponent != null && this.taxInfoComponent.taxRate != null ?\n (this.taxInfoComponent.taxRate / 100) * this.subtotal :\n 0;\n }\n\n get total(): number {\n return (this.subtotal + this.taxCharges) || 0;\n }\n}\n","
\n

{{'goPremium' | i18n}}

\n
\n\n {{'alreadyPremiumFromOrg' | i18n}}\n\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpReports' | 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 {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$') : ('year' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

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

{{'paymentInformation' | i18n}}

\n \n \n
\n
\n {{ 'planPrice' | i18n }}: {{ subtotal | currency: 'USD $' }}\n
\n \n {{ 'estimatedTax' | i18n }}: {{ taxCharges | currency: 'USD $' }}\n \n
\n
\n

{{'total' | i18n}}:\n {{total | currency:'USD $'}}/{{'year' | i18n}}

\n
\n {{'paymentChargedAnnually' | i18n}}\n \n
\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'SettingsComponent';\n\n@Component({\n selector: 'app-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent implements OnInit, OnDestroy {\n premium: boolean;\n selfHosted: boolean;\n\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\n private ngZone: NgZone, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'purchasedPremium':\n await this.load();\n break;\n default:\n }\n });\n });\n\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n await this.load();\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.premium = await this.tokenService.getPremium();\n }\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 { SubscriptionResponse } from 'jslib/models/response/subscriptionResponse';\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\n@Component({\n selector: 'app-user-subscription',\n templateUrl: 'user-subscription.component.html',\n})\nexport class UserSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n sub: SubscriptionResponse;\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 if (this.tokenService.getPremium()) {\n this.loading = true;\n this.sub = await this.apiService.getUserSubscription();\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 if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('manageSubscriptionFromStore'),\n this.i18nService.t('cancelSubscription'), null, null, 'warning');\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 if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('manageSubscriptionFromStore'),\n this.i18nService.t('cancelSubscription'), null, null, 'warning');\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.sub.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 if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t(add ? 'addStorage' : 'removeStorage'), null, null, 'warning');\n return;\n }\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 get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get usingInAppPurchase() {\n return this.sub != null ? this.sub.usingInAppPurchase : false;\n }\n}\n","
\n

\n {{'premiumMembership' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

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

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'expiration' | i18n}}
\n
{{sub.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 \n

{{'updateLicense' | i18n}}

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

{{'storage' | i18n}}

\n

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

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\n\n@Component({\n selector: 'app-breach-report',\n templateUrl: 'breach-report.component.html',\n})\nexport class BreachReportComponent implements OnInit {\n error = false;\n username: string;\n checkedUsername: string;\n breachedAccounts: BreachAccountResponse[] = [];\n formPromise: Promise;\n\n constructor(private auditService: AuditService, private userService: UserService) { }\n\n async ngOnInit() {\n this.username = await this.userService.getEmail();\n }\n\n async submit() {\n this.error = false;\n this.username = this.username.toLowerCase();\n try {\n this.formPromise = this.auditService.breachedAccounts(this.username);\n this.breachedAccounts = await this.formPromise;\n } catch {\n this.error = true;\n }\n this.checkedUsername = this.username;\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 {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\n} from 'jslib/angular/components/password-generator.component';\n\nimport { ModalComponent } from '../modal.component';\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator',\n templateUrl: 'password-generator.component.html',\n})\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\n @ViewChild('historyTemplate', { read: ViewContainerRef, static: true }) historyModalRef: ViewContainerRef;\n\n private modal: ModalComponent = null;\n\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n\n history() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.historyModalRef.createComponent(factory).instance;\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n lengthChanged() {\n document.getElementById('length').focus();\n }\n\n minNumberChanged() {\n document.getElementById('min-number').focus();\n }\n\n minSpecialChanged() {\n document.getElementById('min-special').focus();\n }\n}\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n\n {{'passwordGeneratorPolicyInEffect' | 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","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\n} from 'jslib/angular/components/password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator-history',\n templateUrl: 'password-generator-history.component.html',\n})\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n}\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    \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","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent implements OnInit {\n canAccessPremium = false;\n\n constructor(private userService: UserService, private messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n}\n","\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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 { 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\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'VaultComponent';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent, { static: true }) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent, { static: true }) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent, { static: true }) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef, static: true }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef, static: true }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef, static: true }) collectionsModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef, static: true }) 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 deleted: boolean = false;\n\n modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\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 broadcasterService: BroadcasterService,\n private ngZone: NgZone) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n\n this.showUpdateKey = !(await this.cryptoService.hasEncKey());\n const canAccessPremium = await this.userService.canAccessPremium();\n this.showPremiumCallout = !this.showVerifyEmail && !canAccessPremium &&\n !this.platformUtilsService.isSelfHost();\n\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.reload();\n } else {\n if (params.deleted) {\n this.groupingsComponent.selectedTrash = true;\n await this.filterDeleted();\n } else 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.reload();\n }\n }\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n this.ciphersComponent.load(this.ciphersComponent.filter),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.reload();\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.reload((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterDeleted() {\n this.ciphersComponent.showAddNew = false;\n this.ciphersComponent.deleted = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchTrash');\n await this.ciphersComponent.reload(null, true);\n this.clearFilters();\n this.deleted = 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.reload((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.reload((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 = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.reload((c) => c.collectionIds != null &&\n 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 this.ciphersComponent.search(200);\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const canAccessPremium = await this.userService.canAccessPremium();\n if (cipher.organizationId == null && !canAccessPremium) {\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 childComponent.onReuploadedAttachment.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 if (this.collectionId != null) {\n const collection = this.groupingsComponent.collections.filter((c) => c.id === this.collectionId);\n if (collection.length > 0) {\n component.organizationId = collection[0].organizationId;\n component.collectionIds = [this.collectionId];\n }\n }\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 childComponent.onRestoredCipher.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 cloneCipher(cipher: CipherView) {\n const component = this.editCipher(cipher);\n component.cloneMode = true;\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 this.deleted = false;\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 deleted: this.deleted ? true : null,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'myVault' | i18n}}\n \n \n \n {{'loading' | i18n}}\n \n \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","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

{{'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","import { Component } from '@angular/core';\n\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n FolderAddEditComponent as BaseFolderAddEditComponent,\n} from 'jslib/angular/components/folder-add-edit.component';\n\n@Component({\n selector: 'app-folder-add-edit',\n templateUrl: 'folder-add-edit.component.html',\n})\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\n constructor(folderService: FolderService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService) {\n super(folderService, i18nService, platformUtilsService);\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","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ShareComponent as BaseShareComponent } from 'jslib/angular/components/share.component';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent extends BaseShareComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, userService: UserService,\n cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, userService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\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","
\n
\n
\n
\n

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

\n \n
\n
\n {{'noOrganizationsList' | i18n}}\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 {{'newOrganization' | i18n}}\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';\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 {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Injectable()\nexport class OrganizationGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n if (org == null) {\n this.router.navigate(['/']);\n return false;\n }\n if (!org.isOwner && !org.enabled) {\n this.toasterService.popAsync('error', null, this.i18nService.t('organizationIsDisabled'));\n this.router.navigate(['/']);\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Permissions } from 'jslib/enums/permissions';\n\n@Injectable()\nexport class OrganizationTypeGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n const permissions = route.data == null ? null : route.data.permissions as Permissions[];\n\n if (\n (permissions.indexOf(Permissions.AccessBusinessPortal) !== -1 && org.canAccessBusinessPortal) ||\n (permissions.indexOf(Permissions.AccessEventLogs) !== -1 && org.canAccessEventLogs) ||\n (permissions.indexOf(Permissions.AccessImportExport) !== -1 && org.canAccessImportExport) ||\n (permissions.indexOf(Permissions.AccessReports) !== -1 && org.canAccessReports) ||\n (permissions.indexOf(Permissions.ManageAllCollections) !== -1 && org.canManageAllCollections) ||\n (permissions.indexOf(Permissions.ManageAssignedCollections) !== -1 && org.canManageAssignedCollections) ||\n (permissions.indexOf(Permissions.ManageGroups) !== -1 && org.canManageGroups) ||\n (permissions.indexOf(Permissions.ManageOrganization) !== -1 && org.isOwner) ||\n (permissions.indexOf(Permissions.ManagePolicies) !== -1 && org.canManagePolicies) ||\n (permissions.indexOf(Permissions.ManageUsers) !== -1 && org.canManageUsers)\n ) {\n return true;\n }\n\n this.router.navigate(['/organizations', org.id]);\n return false;\n }\n}\n","export enum Permissions {\n AccessBusinessPortal,\n AccessEventLogs,\n AccessImportExport,\n AccessReports,\n ManageAllCollections,\n ManageAssignedCollections,\n ManageGroups,\n ManageOrganization,\n ManagePolicies,\n ManageUsers,\n}\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\n@Injectable()\nexport class UnauthGuardService implements CanActivate {\n constructor(private vaultTimeoutService: VaultTimeoutService, private userService: UserService,\n private router: Router) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (isAuthed) {\n const locked = await this.vaultTimeoutService.isLocked();\n if (locked) {\n this.router.navigate(['lock']);\n } else {\n this.router.navigate(['vault']);\n }\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n RouterStateSnapshot,\n} from '@angular/router';\n\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { UserService } from '../../abstractions/user.service';\nimport { VaultTimeoutService } from '../../abstractions/vaultTimeout.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(private vaultTimeoutService: VaultTimeoutService, private userService: UserService,\n private router: Router, private messagingService: MessagingService) { }\n\n async canActivate(route: ActivatedRouteSnapshot, routerState: RouterStateSnapshot) {\n const isAuthed = await this.userService.isAuthenticated();\n if (!isAuthed) {\n this.messagingService.send('authBlocked');\n return false;\n }\n\n const locked = await this.vaultTimeoutService.isLocked();\n if (locked) {\n if (routerState != null) {\n this.messagingService.send('lockedUrl', { url: routerState.url });\n }\n this.router.navigate(['lock'], { queryParams: { promptBiometric: true }});\n return false;\n }\n\n return true;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\n\nimport { CipherData } from 'jslib/models/data';\nimport { Cipher, SymmetricCryptoKey } from 'jslib/models/domain';\nimport { EmergencyAccessViewResponse } from 'jslib/models/response/emergencyAccessResponse';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { EmergencyAddEditComponent } from './emergency-add-edit.component';\n\n@Component({\n selector: 'emergency-access-view',\n templateUrl: 'emergency-access-view.component.html',\n})\nexport class EmergencyAccessViewComponent implements OnInit {\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n\n id: string;\n ciphers: CipherView[] = [];\n\n private modal: ModalComponent = null;\n\n constructor(private cipherService: CipherService, private cryptoService: CryptoService,\n private componentFactoryResolver: ComponentFactoryResolver, private router: Router,\n private route: ActivatedRoute, private apiService: ApiService) { }\n\n ngOnInit() {\n this.route.params.subscribe((qParams) => {\n if (qParams.id == null) {\n return this.router.navigate(['settings/emergency-access']);\n }\n\n this.id = qParams.id;\n\n this.load();\n });\n }\n\n selectCipher(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(EmergencyAddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.cipher = cipher;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async load() {\n const response = await this.apiService.postEmergencyAccessView(this.id);\n this.ciphers = await this.getAllCiphers(response);\n }\n\n protected async getAllCiphers(response: EmergencyAccessViewResponse): Promise {\n const ciphers = response.ciphers;\n\n const decCiphers: CipherView[] = [];\n const oldKeyBuffer = await this.cryptoService.rsaDecrypt(response.keyEncrypted);\n const oldEncKey = new SymmetricCryptoKey(oldKeyBuffer);\n\n const promises: any[] = [];\n ciphers.forEach((cipherResponse) => {\n const cipherData = new CipherData(cipherResponse);\n const cipher = new Cipher(cipherData);\n promises.push(cipher.decrypt(oldEncKey).then((c) => decCiphers.push(c)));\n });\n\n await Promise.all(promises);\n decCiphers.sort(this.cipherService.getLocaleSortingFunction());\n\n return decCiphers;\n }\n}\n","
\n

{{'vault' | i18n}}

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\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","export class EnvironmentUrls {\n base: string;\n api: string;\n identity: string;\n events: string;\n}\n","export class GeneratedPasswordHistory {\n password: string;\n date: number;\n\n constructor(password: string, date: number) {\n this.password = password;\n this.date = date;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\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 EmergencyAddEditComponent extends BaseAddEditComponent {\n originalCipher: Cipher = null;\n viewOnly = true;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\n messagingService: MessagingService, eventService: EventService, policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, totpService, passwordGenerationService, messagingService,\n eventService, policyService);\n }\n\n async load() {\n this.title = this.i18nService.t('viewItem');\n }\n\n protected async loadCipher() {\n return Promise.resolve(this.originalCipher);\n }\n}\n","import { Component, ComponentFactoryResolver, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ToasterService } from 'angular2-toaster';\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 { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { EmergencyAccessStatusType } from 'jslib/enums/emergencyAccessStatusType';\nimport { EmergencyAccessType } from 'jslib/enums/emergencyAccessType';\nimport { Utils } from 'jslib/misc/utils';\nimport { EmergencyAccessConfirmRequest } from 'jslib/models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessGranteeDetailsResponse, EmergencyAccessGrantorDetailsResponse } from 'jslib/models/response/emergencyAccessResponse';\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ModalComponent } from '../modal.component';\nimport { EmergencyAccessAddEditComponent } from './emergency-access-add-edit.component';\nimport { EmergencyAccessConfirmComponent } from './emergency-access-confirm.component';\nimport { EmergencyAccessTakeoverComponent } from './emergency-access-takeover.component';\n\n@Component({\n selector: 'emergency-access',\n templateUrl: 'emergency-access.component.html',\n})\nexport class EmergencyAccessComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('takeoverTemplate', { read: ViewContainerRef, static: true}) takeoverModalRef: ViewContainerRef;\n @ViewChild('confirmTemplate', { read: ViewContainerRef, static: true }) confirmModalRef: ViewContainerRef;\n\n canAccessPremium: boolean;\n trustedContacts: EmergencyAccessGranteeDetailsResponse[];\n grantedContacts: EmergencyAccessGrantorDetailsResponse[];\n emergencyAccessType = EmergencyAccessType;\n emergencyAccessStatusType = EmergencyAccessStatusType;\n actionPromise: Promise;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private storageService: StorageService, private userService: UserService,\n private messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n this.load();\n }\n\n async load() {\n this.trustedContacts = (await this.apiService.getEmergencyAccessTrusted()).data;\n this.grantedContacts = (await this.apiService.getEmergencyAccessGranted()).data;\n }\n\n async premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n edit(details: EmergencyAccessGranteeDetailsResponse) {\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 EmergencyAccessAddEditComponent, this.addEditModalRef);\n\n childComponent.name = details?.name ?? details?.email;\n childComponent.emergencyAccessId = details?.id;\n childComponent.readOnly = !this.canAccessPremium;\n childComponent.onSaved.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeleted.subscribe(() => {\n this.modal.close();\n this.remove(details);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n async reinvite(contact: EmergencyAccessGranteeDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postEmergencyAccessReinvite(contact.id);\n await this.actionPromise;\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', contact.email));\n this.actionPromise = null;\n }\n\n async confirm(contact: EmergencyAccessGranteeDetailsResponse) {\n function updateUser() {\n contact.status = EmergencyAccessStatusType.Confirmed;\n }\n\n if (this.actionPromise != null) {\n return;\n }\n\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\n if (autoConfirm == null || !autoConfirm) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.confirmModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EmergencyAccessConfirmComponent, this.confirmModalRef);\n\n childComponent.name = contact?.name ?? contact?.email;\n childComponent.emergencyAccessId = contact.id;\n childComponent.userId = contact?.granteeId;\n childComponent.onConfirmed.subscribe(async () => {\n this.modal.close();\n\n childComponent.formPromise = this.doConfirmation(contact);\n await childComponent.formPromise;\n\n updateUser();\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', contact.name || contact.email));\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return;\n }\n\n this.actionPromise = this.doConfirmation(contact);\n await this.actionPromise;\n updateUser();\n\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', contact.name || contact.email));\n this.actionPromise = null;\n }\n\n async remove(details: EmergencyAccessGranteeDetailsResponse | EmergencyAccessGrantorDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), details.name || details.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.deleteEmergencyAccess(details.id);\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', details.name || details.email));\n\n if (details instanceof EmergencyAccessGranteeDetailsResponse) {\n this.removeGrantee(details);\n } else {\n this.removeGrantor(details);\n }\n } catch { }\n }\n\n async requestAccess(details: EmergencyAccessGrantorDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('requestAccessConfirmation', details.waitTimeDays.toString()),\n details.name || details.email,\n this.i18nService.t('requestAccess'),\n this.i18nService.t('no'),\n 'warning',\n );\n\n if (!confirmed) {\n return false;\n }\n\n await this.apiService.postEmergencyAccessInitiate(details.id);\n\n details.status = EmergencyAccessStatusType.RecoveryInitiated;\n this.toasterService.popAsync('success', null, this.i18nService.t('requestSent', details.name || details.email));\n }\n\n async approve(details: EmergencyAccessGranteeDetailsResponse) {\n const type = this.i18nService.t(details.type === EmergencyAccessType.View ? 'view' : 'takeover');\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('approveAccessConfirmation', details.name, type),\n details.name || details.email,\n this.i18nService.t('approve'),\n this.i18nService.t('no'),\n 'warning',\n );\n\n if (!confirmed) {\n return false;\n }\n\n await this.apiService.postEmergencyAccessApprove(details.id);\n details.status = EmergencyAccessStatusType.RecoveryApproved;\n\n this.toasterService.popAsync('success', null, this.i18nService.t('emergencyApproved', details.name || details.email));\n }\n\n async reject(details: EmergencyAccessGranteeDetailsResponse) {\n await this.apiService.postEmergencyAccessReject(details.id);\n details.status = EmergencyAccessStatusType.Confirmed;\n\n this.toasterService.popAsync('success', null, this.i18nService.t('emergencyRejected', details.name || details.email));\n }\n\n async takeover(details: EmergencyAccessGrantorDetailsResponse) {\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 EmergencyAccessTakeoverComponent, this.takeoverModalRef);\n\n childComponent.name = details != null ? details.name || details.email : null;\n childComponent.email = details.email;\n childComponent.emergencyAccessId = details != null ? details.id : null;\n\n childComponent.onDone.subscribe(() => {\n this.modal.close();\n this.toasterService.popAsync('success', null, this.i18nService.t('passwordResetFor', details.name || details.email));\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGrantee(details: EmergencyAccessGranteeDetailsResponse) {\n const index = this.trustedContacts.indexOf(details);\n if (index > -1) {\n this.trustedContacts.splice(index, 1);\n }\n }\n\n private removeGrantor(details: EmergencyAccessGrantorDetailsResponse) {\n const index = this.grantedContacts.indexOf(details);\n if (index > -1) {\n this.grantedContacts.splice(index, 1);\n }\n }\n\n // Encrypt the master password hash using the grantees public key, and send it to bitwarden for escrow.\n private async doConfirmation(details: EmergencyAccessGranteeDetailsResponse) {\n const encKey = await this.cryptoService.getEncKey();\n const publicKeyResponse = await this.apiService.getUserPublicKey(details.granteeId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n\n try {\n // tslint:disable-next-line\n console.log('User\\'s fingerprint: ' +\n (await this.cryptoService.getFingerprint(details.granteeId, publicKey.buffer)).join('-'));\n } catch { }\n\n const encryptedKey = await this.cryptoService.rsaEncrypt(encKey.key, publicKey.buffer);\n const request = new EmergencyAccessConfirmRequest();\n request.key = encryptedKey.encryptedString;\n await this.apiService.postEmergencyAccessConfirm(details.id, request);\n }\n}\n","
\n

{{'emergencyAccess' | i18n}}

\n
\n

\n {{'emergencyAccessDesc' | i18n}}\n \n {{'learnMore' | i18n}}.\n \n

\n\n
\n

\n {{'trustedEmergencyContacts' | i18n}}\n \n {{'premium' | i18n}}\n \n

\n
\n \n
\n
\n\n\n \n \n \n \n \n \n \n
\n \n \n {{c.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{'emergencyAccessRecoveryInitiated' | i18n}}\n {{'emergencyAccessRecoveryApproved' | i18n}}\n \n {{'view' | i18n}}\n {{'takeover' | i18n}}\n\n {{c.name}}\n \n \n
\n\n

{{'noTrustedContacts' | i18n}}

\n\n
\n

{{'designatedEmergencyContacts' | i18n}}

\n
\n\n\n \n \n \n \n \n \n \n
\n \n \n {{c.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{'emergencyAccessRecoveryInitiated' | i18n}}\n {{'emergencyAccessRecoveryApproved' | i18n}}\n \n {{'view' | i18n}}\n {{'takeover' | i18n}}\n\n {{c.name}}\n \n \n
\n\n

{{'noGrantedAccess' | i18n}}

\n\n\n\n\n","export enum EmergencyAccessType\n{\n View = 0,\n Takeover = 1,\n}\n","import { EmergencyAccessStatusType } from '../../enums/emergencyAccessStatusType';\nimport { EmergencyAccessType } from '../../enums/emergencyAccessType';\nimport { KdfType } from '../../enums/kdfType';\nimport { BaseResponse } from './baseResponse';\nimport { CipherResponse } from './cipherResponse';\n\nexport class EmergencyAccessGranteeDetailsResponse extends BaseResponse {\n id: string;\n granteeId: string;\n name: string;\n email: string;\n type: EmergencyAccessType;\n status: EmergencyAccessStatusType;\n waitTimeDays: number;\n creationDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.granteeId = this.getResponseProperty('GranteeId');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.waitTimeDays = this.getResponseProperty('WaitTimeDays');\n this.creationDate = this.getResponseProperty('CreationDate');\n }\n}\n\nexport class EmergencyAccessGrantorDetailsResponse extends BaseResponse {\n id: string;\n grantorId: string;\n name: string;\n email: string;\n type: EmergencyAccessType;\n status: EmergencyAccessStatusType;\n waitTimeDays: number;\n creationDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.grantorId = this.getResponseProperty('GrantorId');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.waitTimeDays = this.getResponseProperty('WaitTimeDays');\n this.creationDate = this.getResponseProperty('CreationDate');\n }\n}\n\nexport class EmergencyAccessTakeoverResponse extends BaseResponse {\n keyEncrypted: string;\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n\n this.keyEncrypted = this.getResponseProperty('KeyEncrypted');\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n\nexport class EmergencyAccessViewResponse extends BaseResponse {\n keyEncrypted: string;\n ciphers: CipherResponse[] = [];\n\n constructor(response: any) {\n super(response);\n\n this.keyEncrypted = this.getResponseProperty('KeyEncrypted');\n\n const ciphers = this.getResponseProperty('Ciphers');\n if (ciphers != null) {\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\n }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\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 { EmergencyAccessType } from 'jslib/enums/emergencyAccessType';\nimport { EmergencyAccessInviteRequest } from 'jslib/models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessUpdateRequest } from 'jslib/models/request/emergencyAccessUpdateRequest';\n\n@Component({\n selector: 'emergency-access-add-edit',\n templateUrl: 'emergency-access-add-edit.component.html',\n})\nexport class EmergencyAccessAddEditComponent implements OnInit {\n @Input() name: string;\n @Input() emergencyAccessId: string;\n @Output() onSaved = new EventEmitter();\n @Output() onDeleted = new EventEmitter();\n\n loading = true;\n readOnly: boolean = false;\n editMode: boolean = false;\n title: string;\n email: string;\n type: EmergencyAccessType = EmergencyAccessType.View;\n\n formPromise: Promise;\n\n emergencyAccessType = EmergencyAccessType;\n waitTimes: { name: string; value: number; }[];\n waitTime: number;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.emergencyAccessId != null;\n\n this.waitTimes = [\n { name: this.i18nService.t('oneDay'), value: 1 },\n { name: this.i18nService.t('days', '2'), value: 2 },\n { name: this.i18nService.t('days', '7'), value: 7 },\n { name: this.i18nService.t('days', '14'), value: 14 },\n { name: this.i18nService.t('days', '30'), value: 30 },\n { name: this.i18nService.t('days', '90'), value: 90 },\n ];\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editEmergencyContact');\n try {\n const emergencyAccess = await this.apiService.getEmergencyAccess(this.emergencyAccessId);\n this.type = emergencyAccess.type;\n this.waitTime = emergencyAccess.waitTimeDays;\n } catch { }\n } else {\n this.title = this.i18nService.t('inviteEmergencyContact');\n this.waitTime = this.waitTimes[2].value;\n }\n\n this.loading = false;\n }\n\n async submit() {\n try {\n if (this.editMode) {\n const request = new EmergencyAccessUpdateRequest();\n request.type = this.type;\n request.waitTimeDays = this.waitTime;\n\n this.formPromise = this.apiService.putEmergencyAccess(this.emergencyAccessId, request);\n } else {\n const request = new EmergencyAccessInviteRequest();\n request.email = this.email.trim();\n request.type = this.type;\n request.waitTimeDays = this.waitTime;\n\n this.formPromise = this.apiService.postEmergencyAccessInvite(request);\n }\n\n await this.formPromise;\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\n this.onSaved.emit();\n } catch { }\n }\n\n async delete() {\n this.onDeleted.emit();\n }\n}\n","
\n
\n
\n
\n

\n {{'premium' | i18n}}\n {{title}}\n {{name}}\n

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n \n

{{'inviteEmergencyContactDesc' | i18n}}

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

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

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n {{'waitTimeDesc' | i18n}}\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'emergency-access-confirm',\n templateUrl: 'emergency-access-confirm.component.html',\n})\nexport class EmergencyAccessConfirmComponent implements OnInit {\n @Input() name: string;\n @Input() userId: string;\n @Input() emergencyAccessId: string;\n @Input() formPromise: Promise;\n @Output() onConfirmed = new EventEmitter();\n\n dontAskAgain = false;\n loading = true;\n fingerprint: string;\n\n constructor(private apiService: ApiService, private cryptoService: CryptoService,\n private storageService: StorageService) { }\n\n async ngOnInit() {\n try {\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\n if (publicKeyResponse != null) {\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, publicKey.buffer);\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n } catch { }\n this.loading = false;\n }\n\n async submit() {\n if (this.loading) {\n return;\n }\n\n if (this.dontAskAgain) {\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\n }\n\n try {\n this.onConfirmed.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n

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

\n

{{fingerprint}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { ChangePasswordComponent } from 'jslib/angular/components/change-password.component';\n\nimport { KdfType } from 'jslib/enums/kdfType';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { EmergencyAccessPasswordRequest } from 'jslib/models/request/emergencyAccessPasswordRequest';\n\n@Component({\n selector: 'emergency-access-takeover',\n templateUrl: 'emergency-access-takeover.component.html',\n})\nexport class EmergencyAccessTakeoverComponent extends ChangePasswordComponent implements OnInit {\n @Output() onDone = new EventEmitter();\n @Input() emergencyAccessId: string;\n @Input() name: string;\n @Input() email: string;\n @Input() kdf: KdfType;\n @Input() kdfIterations: number;\n\n formPromise: Promise;\n\n constructor(i18nService: I18nService, cryptoService: CryptoService,\n messagingService: MessagingService, userService: UserService,\n passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService,\n private apiService: ApiService, private toasterService: ToasterService) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n // tslint:disable-next-line\n async ngOnInit() { }\n\n async submit() {\n if (!await this.strongPassword()) {\n return;\n }\n\n const takeoverResponse = await this.apiService.postEmergencyAccessTakeover(this.emergencyAccessId);\n\n const oldKeyBuffer = await this.cryptoService.rsaDecrypt(takeoverResponse.keyEncrypted);\n const oldEncKey = new SymmetricCryptoKey(oldKeyBuffer);\n\n if (oldEncKey == null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), this.i18nService.t('unexpectedError'));\n return;\n }\n\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, takeoverResponse.kdf, takeoverResponse.kdfIterations);\n const masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n const encKey = await this.cryptoService.remakeEncKey(key, oldEncKey);\n\n const request = new EmergencyAccessPasswordRequest();\n request.newMasterPasswordHash = masterPasswordHash;\n request.key = encKey[1].encryptedString;\n\n this.apiService.postEmergencyAccessPassword(this.emergencyAccessId, request);\n\n try {\n this.onDone.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n {{'loggedOutWarning' | 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","import { DeviceType } from '../enums/deviceType';\nimport { PolicyType } from '../enums/policyType';\n\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\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 { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { EmergencyAccessAcceptRequest } from '../models/request/emergencyAccessAcceptRequest';\nimport { EmergencyAccessConfirmRequest } from '../models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessInviteRequest } from '../models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessPasswordRequest } from '../models/request/emergencyAccessPasswordRequest';\nimport { EmergencyAccessUpdateRequest } from '../models/request/emergencyAccessUpdateRequest';\nimport { EventRequest } from '../models/request/eventRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { IapCheckRequest } from '../models/request/iapCheckRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KdfRequest } from '../models/request/kdfRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { PolicyRequest } from '../models/request/policyRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\nimport { SendAccessRequest } from '../models/request/sendAccessRequest';\nimport { SendRequest } from '../models/request/sendRequest';\nimport { SetPasswordRequest } from '../models/request/setPasswordRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport {\n EmergencyAccessGranteeDetailsResponse,\n EmergencyAccessGrantorDetailsResponse,\n EmergencyAccessTakeoverResponse,\n EmergencyAccessViewResponse\n} from '../models/response/emergencyAccessResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { PaymentResponse } from '../models/response/paymentResponse';\nimport { PlanResponse } from '../models/response/planResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { PreloginResponse } from '../models/response/preloginResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\nimport { SendAccessResponse } from '../models/response/sendAccessResponse';\nimport { SendResponse } from '../models/response/sendResponse';\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TaxInfoResponse } from '../models/response/taxInfoResponse';\nimport { TaxRateResponse } from '../models/response/taxRateResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport class ApiService implements ApiServiceAbstraction {\n urlsSet: boolean = false;\n apiBaseUrl: string;\n identityBaseUrl: string;\n eventsBaseUrl: string;\n\n private device: DeviceType;\n private deviceType: string;\n private isWebClient = false;\n private isDesktopClient = false;\n private usingBaseUrl = false;\n\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\n private logoutCallback: (expired: boolean) => Promise, private customUserAgent: string = null) {\n this.device = platformUtilsService.getDevice();\n this.deviceType = this.device.toString();\n this.isWebClient = this.device === DeviceType.IEBrowser || this.device === DeviceType.ChromeBrowser ||\n this.device === DeviceType.EdgeBrowser || this.device === DeviceType.FirefoxBrowser ||\n this.device === DeviceType.OperaBrowser || this.device === DeviceType.SafariBrowser ||\n this.device === DeviceType.UnknownBrowser || this.device === DeviceType.VivaldiBrowser;\n this.isDesktopClient = this.device === DeviceType.WindowsDesktop || this.device === DeviceType.MacOsDesktop ||\n this.device === DeviceType.LinuxDesktop;\n }\n\n setUrls(urls: EnvironmentUrls): void {\n this.urlsSet = true;\n\n if (urls.base != null) {\n this.usingBaseUrl = true;\n this.apiBaseUrl = urls.base + '/api';\n this.identityBaseUrl = urls.base + '/identity';\n this.eventsBaseUrl = urls.base + '/events';\n return;\n }\n\n this.apiBaseUrl = urls.api;\n this.identityBaseUrl = urls.identity;\n this.eventsBaseUrl = urls.events;\n\n // Production\n if (this.apiBaseUrl == null) {\n this.apiBaseUrl = 'https://api.bitwarden.com';\n }\n if (this.identityBaseUrl == null) {\n this.identityBaseUrl = 'https://identity.bitwarden.com';\n }\n if (this.eventsBaseUrl == null) {\n this.eventsBaseUrl = 'https://events.bitwarden.com';\n }\n }\n\n // Auth APIs\n\n async postIdentityToken(request: TokenRequest): Promise {\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify(request.toIdentityToken(request.clientId ?? this.platformUtilsService.identityClientId)),\n credentials: this.getCredentials(),\n cache: 'no-store',\n headers: headers,\n method: 'POST',\n }));\n\n let responseJson: any = null;\n if (this.isJsonResponse(response)) {\n responseJson = await response.json();\n }\n\n if (responseJson != null) {\n if (response.status === 200) {\n return new IdentityTokenResponse(responseJson);\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\n Object.keys(responseJson.TwoFactorProviders2).length) {\n await this.tokenService.clearTwoFactorToken(request.email);\n return new IdentityTwoFactorResponse(responseJson);\n }\n }\n\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\n }\n\n async refreshIdentityToken(): Promise {\n try {\n await this.doRefreshToken();\n } catch (e) {\n return Promise.reject(null);\n }\n }\n\n // Account APIs\n\n async getProfile(): Promise {\n const r = await this.send('GET', '/accounts/profile', null, true, true);\n return new ProfileResponse(r);\n }\n\n async getUserBilling(): Promise {\n const r = await this.send('GET', '/accounts/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async getUserSubscription(): Promise {\n const r = await this.send('GET', '/accounts/subscription', null, true, true);\n return new SubscriptionResponse(r);\n }\n\n async getTaxInfo(): Promise {\n const r = await this.send('GET', '/accounts/tax', null, true, true);\n return new TaxInfoResponse(r);\n }\n\n async putProfile(request: UpdateProfileRequest): Promise {\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\n return new ProfileResponse(r);\n }\n\n putTaxInfo(request: TaxInfoUpdateRequest): Promise {\n return this.send('PUT', '/accounts/tax', request, true, false);\n }\n\n async postPrelogin(request: PreloginRequest): Promise {\n const r = await this.send('POST', '/accounts/prelogin', request, false, true);\n return new PreloginResponse(r);\n }\n\n postEmailToken(request: EmailTokenRequest): Promise {\n return this.send('POST', '/accounts/email-token', request, true, false);\n }\n\n postEmail(request: EmailRequest): Promise {\n return this.send('POST', '/accounts/email', request, true, false);\n }\n\n postPassword(request: PasswordRequest): Promise {\n return this.send('POST', '/accounts/password', request, true, false);\n }\n\n setPassword(request: SetPasswordRequest): Promise {\n return this.send('POST', '/accounts/set-password', request, true, false);\n }\n\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/security-stamp', request, true, false);\n }\n\n deleteAccount(request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/accounts', request, true, false);\n }\n\n async getAccountRevisionDate(): Promise {\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\n return r as number;\n }\n\n postPasswordHint(request: PasswordHintRequest): Promise {\n return this.send('POST', '/accounts/password-hint', request, false, false);\n }\n\n postRegister(request: RegisterRequest): Promise {\n return this.send('POST', '/accounts/register', request, false, false);\n }\n\n async postPremium(data: FormData): Promise {\n const r = await this.send('POST', '/accounts/premium', data, true, true);\n return new PaymentResponse(r);\n }\n\n async postIapCheck(request: IapCheckRequest): Promise {\n return this.send('POST', '/accounts/iap-check', request, true, false);\n }\n\n postReinstatePremium(): Promise {\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\n }\n\n postCancelPremium(): Promise {\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\n }\n\n async postAccountStorage(request: StorageRequest): Promise {\n const r = await this.send('POST', '/accounts/storage', request, true, true);\n return new PaymentResponse(r);\n }\n\n postAccountPayment(request: PaymentRequest): Promise {\n return this.send('POST', '/accounts/payment', request, true, false);\n }\n\n postAccountLicense(data: FormData): Promise {\n return this.send('POST', '/accounts/license', data, true, false);\n }\n\n postAccountKeys(request: KeysRequest): Promise {\n return this.send('POST', '/accounts/keys', request, true, false);\n }\n\n postAccountKey(request: UpdateKeyRequest): Promise {\n return this.send('POST', '/accounts/key', request, true, false);\n }\n\n postAccountVerifyEmail(): Promise {\n return this.send('POST', '/accounts/verify-email', null, true, false);\n }\n\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\n }\n\n postAccountVerifyPassword(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/verify-password', request, true, false);\n }\n\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover', request, false, false);\n }\n\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\n }\n\n postAccountKdf(request: KdfRequest): Promise {\n return this.send('POST', '/accounts/kdf', request, true, false);\n }\n\n async getEnterprisePortalSignInToken(): Promise {\n const r = await this.send('GET', '/accounts/enterprise-portal-signin-token', null, true, true);\n return r as string;\n }\n\n async deleteSsoUser(organizationId: string): Promise {\n return this.send('DELETE', '/accounts/sso/' + organizationId, null, true, false);\n }\n\n async getSsoUserIdentifier(): Promise {\n return this.send('GET', '/accounts/sso/user-identifier', null, true, true);\n }\n\n async postUserApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/accounts/api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postUserRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/accounts/rotate-api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n // Folder APIs\n\n async getFolder(id: string): Promise {\n const r = await this.send('GET', '/folders/' + id, null, true, true);\n return new FolderResponse(r);\n }\n\n async postFolder(request: FolderRequest): Promise {\n const r = await this.send('POST', '/folders', request, true, true);\n return new FolderResponse(r);\n }\n\n async putFolder(id: string, request: FolderRequest): Promise {\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\n return new FolderResponse(r);\n }\n\n deleteFolder(id: string): Promise {\n return this.send('DELETE', '/folders/' + id, null, true, false);\n }\n\n // Send APIs\n\n async getSend(id: string): Promise {\n const r = await this.send('GET', '/sends/' + id, null, true, true);\n return new SendResponse(r);\n }\n\n async postSendAccess(id: string, request: SendAccessRequest): Promise {\n const r = await this.send('POST', '/sends/access/' + id, request, false, true);\n return new SendAccessResponse(r);\n }\n\n async getSends(): Promise> {\n const r = await this.send('GET', '/sends', null, true, true);\n return new ListResponse(r, SendResponse);\n }\n\n async postSend(request: SendRequest): Promise {\n const r = await this.send('POST', '/sends', request, true, true);\n return new SendResponse(r);\n }\n\n async postSendFile(data: FormData): Promise {\n const r = await this.send('POST', '/sends/file', data, true, true);\n return new SendResponse(r);\n }\n\n async putSend(id: string, request: SendRequest): Promise {\n const r = await this.send('PUT', '/sends/' + id, request, true, true);\n return new SendResponse(r);\n }\n\n async putSendRemovePassword(id: string): Promise {\n const r = await this.send('PUT', '/sends/' + id + '/remove-password', null, true, true);\n return new SendResponse(r);\n }\n\n deleteSend(id: string): Promise {\n return this.send('DELETE', '/sends/' + id, null, true, false);\n }\n\n // Cipher APIs\n\n async getCipher(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\n return new CipherResponse(r);\n }\n\n async getCipherAdmin(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async getCiphersOrganization(organizationId: string): Promise> {\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\n null, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n async postCipher(request: CipherRequest): Promise {\n const r = await this.send('POST', '/ciphers', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherCreate(request: CipherCreateRequest): Promise {\n const r = await this.send('POST', '/ciphers/create', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAdmin(request: CipherCreateRequest): Promise {\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipher(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipher(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\n }\n\n deleteCipherAdmin(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\n }\n\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers', request, true, false);\n }\n\n deleteManyCiphersAdmin(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers/admin', request, true, false);\n }\n\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\n return this.send('PUT', '/ciphers/move', request, true, false);\n }\n\n async putShareCipher(id: string, request: CipherShareRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/share', request, true, true);\n return new CipherResponse(r);\n }\n\n putShareCiphers(request: CipherBulkShareRequest): Promise {\n return this.send('PUT', '/ciphers/share', request, true, false);\n }\n\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\n }\n\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\n }\n\n postPurgeCiphers(request: PasswordVerificationRequest, organizationId: string = null): Promise {\n let path = '/ciphers/purge';\n if (organizationId != null) {\n path += '?organizationId=' + organizationId;\n }\n return this.send('POST', path, request, true, false);\n }\n\n postImportCiphers(request: ImportCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import', request, true, false);\n }\n\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\n }\n\n putDeleteCipher(id: string): Promise {\n return this.send('PUT', '/ciphers/' + id + '/delete', null, true, false);\n }\n\n putDeleteCipherAdmin(id: string): Promise {\n return this.send('PUT', '/ciphers/' + id + '/delete-admin', null, true, false);\n }\n\n putDeleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('PUT', '/ciphers/delete', request, true, false);\n }\n\n putDeleteManyCiphersAdmin(request: CipherBulkDeleteRequest): Promise {\n return this.send('PUT', '/ciphers/delete-admin', request, true, false);\n }\n\n async putRestoreCipher(id: string): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/restore', null, true, true);\n return new CipherResponse(r);\n }\n\n async putRestoreCipherAdmin(id: string): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/restore-admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async putRestoreManyCiphers(request: CipherBulkDeleteRequest): Promise> {\n const r = await this.send('PUT', '/ciphers/restore', request, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n // Attachments APIs\n\n async postCipherAttachment(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\n }\n\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\n }\n\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\n organizationId: string): Promise {\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\n }\n\n // Collections APIs\n\n async getCollectionDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\n null, true, true);\n return new CollectionGroupDetailsResponse(r);\n }\n\n async getUserCollections(): Promise> {\n const r = await this.send('GET', '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollections(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollectionUsers(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\n null, true, true);\n return r.map((dr: any) => new SelectionReadOnlyResponse(dr));\n }\n\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\n request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollectionUsers(organizationId: string, id: string, request: SelectionReadOnlyRequest[]): Promise {\n await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id + '/users',\n request, true, false);\n }\n\n deleteCollection(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\n }\n\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\n null, true, false);\n }\n\n // Groups APIs\n\n async getGroupDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\n null, true, true);\n return new GroupDetailsResponse(r);\n }\n\n async getGroups(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\n return new ListResponse(r, GroupResponse);\n }\n\n async getGroupUsers(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\n null, true, true);\n return r;\n }\n\n async postGroup(organizationId: string, request: GroupRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroupUsers(organizationId: string, id: string, request: string[]): Promise {\n await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id + '/users', request, true, false);\n }\n\n deleteGroup(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\n }\n\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\n }\n\n // Policy APIs\n\n async getPolicy(organizationId: string, type: PolicyType): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies/' + type, null, true, true);\n return new PolicyResponse(r);\n }\n\n async getPolicies(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies', null, true, true);\n return new ListResponse(r, PolicyResponse);\n }\n\n async getPoliciesByToken(organizationId: string, token: string, email: string, organizationUserId: string):\n Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies/token?' +\n 'token=' + encodeURIComponent(token) + '&email=' + encodeURIComponent(email) +\n '&organizationUserId=' + organizationUserId, null, false, true);\n return new ListResponse(r, PolicyResponse);\n }\n\n async putPolicy(organizationId: string, type: PolicyType, request: PolicyRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/policies/' + type, request, true, true);\n return new PolicyResponse(r);\n }\n\n // Organization User APIs\n\n async getOrganizationUser(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\n return new OrganizationUserDetailsResponse(r);\n }\n\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\n null, true, true);\n return r;\n }\n\n async getOrganizationUsers(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\n }\n\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\n }\n\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\n }\n\n postOrganizationUserAccept(organizationId: string, id: string,\n request: OrganizationUserAcceptRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\n }\n\n postOrganizationUserConfirm(organizationId: string, id: string,\n request: OrganizationUserConfirmRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\n request, true, false);\n }\n\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\n }\n\n putOrganizationUserGroups(organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\n }\n\n deleteOrganizationUser(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\n }\n\n // Plan APIs\n\n async getPlans(): Promise> {\n const r = await this.send('GET', '/plans/', null, true, true);\n return new ListResponse(r, PlanResponse);\n }\n\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\n }\n\n async getTaxRates(): Promise> {\n const r = await this.send('GET', '/plans/sales-tax-rates/', null, true, true);\n return new ListResponse(r, TaxRateResponse);\n }\n\n // Settings APIs\n\n async getSettingsDomains(): Promise {\n const r = await this.send('GET', '/settings/domains', null, true, true);\n return new DomainsResponse(r);\n }\n\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\n const r = await this.send('PUT', '/settings/domains', request, true, true);\n return new DomainsResponse(r);\n }\n\n // Sync APIs\n\n async getSync(): Promise {\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\n const r = await this.send('GET', path, null, true, true);\n return new SyncResponse(r);\n }\n\n // Two-factor APIs\n\n async getTwoFactorProviders(): Promise> {\n const r = await this.send('GET', '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorOrganizationDuo(organizationId: string,\n request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\n request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async getTwoFactorU2fChallenge(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f-challenge', request, true, true);\n return new ChallengeResponse(r);\n }\n\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\n return new TwoFactorRecoverResponse(r);\n }\n\n async putTwoFactorAuthenticator(\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorOrganizationDuo(organizationId: string,\n request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async deleteTwoFactorU2f(request: UpdateTwoFactorU2fDeleteRequest): Promise {\n const r = await this.send('DELETE', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n async putTwoFactorOrganizationDisable(organizationId: string,\n request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\n request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\n return this.send('POST', '/two-factor/recover', request, false, false);\n }\n\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email', request, true, false);\n }\n\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\n }\n\n // Emergency Access APIs\n\n async getEmergencyAccessTrusted(): Promise> {\n const r = await this.send('GET', '/emergency-access/trusted', null, true, true);\n return new ListResponse(r, EmergencyAccessGranteeDetailsResponse);\n }\n\n async getEmergencyAccessGranted(): Promise> {\n const r = await this.send('GET', '/emergency-access/granted', null, true, true);\n return new ListResponse(r, EmergencyAccessGrantorDetailsResponse);\n }\n\n async getEmergencyAccess(id: string): Promise {\n const r = await this.send('GET', '/emergency-access/' + id, null, true, true);\n return new EmergencyAccessGranteeDetailsResponse(r);\n }\n\n putEmergencyAccess(id: string, request: EmergencyAccessUpdateRequest): Promise {\n return this.send('PUT', '/emergency-access/' + id, request, true, false);\n }\n\n deleteEmergencyAccess(id: string): Promise {\n return this.send('DELETE', '/emergency-access/' + id, null, true, false);\n }\n\n postEmergencyAccessInvite(request: EmergencyAccessInviteRequest): Promise {\n return this.send('POST', '/emergency-access/invite', request, true, false);\n }\n\n postEmergencyAccessReinvite(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/reinvite', null, true, false);\n }\n\n postEmergencyAccessAccept(id: string, request: EmergencyAccessAcceptRequest): Promise {\n return this.send('POST', '/emergency-access/' + id + '/accept', request, true, false);\n }\n\n postEmergencyAccessConfirm(id: string, request: EmergencyAccessConfirmRequest): Promise {\n return this.send('POST', '/emergency-access/' + id + '/confirm', request, true, false);\n }\n\n postEmergencyAccessInitiate(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/initiate', null, true, false);\n }\n\n postEmergencyAccessApprove(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/approve', null, true, false);\n }\n\n postEmergencyAccessReject(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/reject', null, true, false);\n }\n\n async postEmergencyAccessTakeover(id: string): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/takeover', null, true, true);\n return new EmergencyAccessTakeoverResponse(r);\n }\n\n async postEmergencyAccessPassword(id: string, request: EmergencyAccessPasswordRequest): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/password', request, true, true);\n }\n\n async postEmergencyAccessView(id: string): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/view', null, true, true);\n return new EmergencyAccessViewResponse(r);\n }\n\n // Organization APIs\n\n async getOrganization(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\n return new OrganizationResponse(r);\n }\n\n async getOrganizationBilling(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async getOrganizationSubscription(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/subscription', null, true, true);\n return new OrganizationSubscriptionResponse(r);\n }\n\n async getOrganizationLicense(id: string, installationId: string): Promise {\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\n null, true, true);\n }\n\n async getOrganizationTaxInfo(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/tax', null, true, true);\n return new TaxInfoResponse(r);\n }\n\n async postOrganization(request: OrganizationCreateRequest): Promise {\n const r = await this.send('POST', '/organizations', request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganizationTaxInfo(id: string, request: OrganizationTaxInfoUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + id + '/tax', request, true, false);\n }\n\n postLeaveOrganization(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\n }\n\n async postOrganizationLicense(data: FormData): Promise {\n const r = await this.send('POST', '/organizations/license', data, true, true);\n return new OrganizationResponse(r);\n }\n\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\n }\n\n async postOrganizationApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postOrganizationRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/rotate-api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postOrganizationUpgrade(id: string, request: OrganizationUpgradeRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/upgrade', request, true, true);\n return new PaymentResponse(r);\n }\n\n async postOrganizationSeat(id: string, request: SeatRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/seat', request, true, true);\n return new PaymentResponse(r);\n }\n\n async postOrganizationStorage(id: string, request: StorageRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/storage', request, true, true);\n return new PaymentResponse(r);\n }\n\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\n }\n\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\n }\n\n postOrganizationCancel(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\n }\n\n postOrganizationReinstate(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\n }\n\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/organizations/' + id, request, true, false);\n }\n\n // Event APIs\n\n async getEvents(start: string, end: string, token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsCipher(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganization(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganizationUser(organizationId: string, id: string,\n start: string, end: string, token: string): Promise> {\n const r = await this.send('GET',\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async postEventsCollect(request: EventRequest[]): Promise {\n const authHeader = await this.getActiveBearerToken();\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n 'Authorization': 'Bearer ' + authHeader,\n 'Content-Type': 'application/json; charset=utf-8',\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n const response = await this.fetch(new Request(this.eventsBaseUrl + '/collect', {\n cache: 'no-store',\n credentials: this.getCredentials(),\n method: 'POST',\n body: JSON.stringify(request),\n headers: headers,\n }));\n if (response.status !== 200) {\n return Promise.reject('Event post failed.');\n }\n }\n\n // User APIs\n\n async getUserPublicKey(id: string): Promise {\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\n return new UserKeyResponse(r);\n }\n\n // HIBP APIs\n\n async getHibpBreach(username: string): Promise {\n const r = await this.send('GET', '/hibp/breach?username=' + username, null, true, true);\n return r.map((a: any) => new BreachAccountResponse(a));\n }\n\n // Misc\n\n async postBitPayInvoice(request: BitPayInvoiceRequest): Promise {\n const r = await this.send('POST', '/bitpay-invoice', request, true, true);\n return r as string;\n }\n\n async postSetupPayment(): Promise {\n const r = await this.send('POST', '/setup-payment', null, true, true);\n return r as string;\n }\n\n // Helpers\n\n async getActiveBearerToken(): Promise {\n let accessToken = await this.tokenService.getToken();\n if (this.tokenService.tokenNeedsRefresh()) {\n const tokenResponse = await this.doRefreshToken();\n accessToken = tokenResponse.accessToken;\n }\n return accessToken;\n }\n\n fetch(request: Request): Promise {\n if (request.method === 'GET') {\n request.headers.set('Cache-Control', 'no-store');\n request.headers.set('Pragma', 'no-cache');\n }\n return this.nativeFetch(request);\n }\n\n nativeFetch(request: Request): Promise {\n return fetch(request);\n }\n\n async preValidateSso(identifier: string): Promise {\n if (identifier == null || identifier === '') {\n throw new Error('Organization Identifier was not provided.');\n }\n const headers = new Headers({\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const path = `/account/prevalidate?domainHint=${encodeURIComponent(identifier)}`;\n const response = await this.fetch(new Request(this.identityBaseUrl + path, {\n cache: 'no-store',\n credentials: this.getCredentials(),\n headers: headers,\n method: 'GET',\n }));\n\n if (response.status === 200) {\n return true;\n } else {\n const error = await this.handleError(response, false, true);\n return Promise.reject(error);\n }\n }\n\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\n authed: boolean, hasResponse: boolean): Promise {\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const requestInit: RequestInit = {\n cache: 'no-store',\n credentials: this.getCredentials(),\n method: method,\n };\n\n if (authed) {\n const authHeader = await this.getActiveBearerToken();\n headers.set('Authorization', 'Bearer ' + authHeader);\n }\n if (body != null) {\n if (typeof body === 'string') {\n requestInit.body = body;\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\n } else if (typeof body === 'object') {\n if (body instanceof FormData) {\n requestInit.body = body;\n } else {\n headers.set('Content-Type', 'application/json; charset=utf-8');\n requestInit.body = JSON.stringify(body);\n }\n }\n }\n if (hasResponse) {\n headers.set('Accept', 'application/json');\n }\n\n requestInit.headers = headers;\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\n\n if (hasResponse && response.status === 200) {\n const responseJson = await response.json();\n return responseJson;\n } else if (response.status !== 200) {\n const error = await this.handleError(response, false, authed);\n return Promise.reject(error);\n }\n }\n\n private async handleError(response: Response, tokenError: boolean, authed: boolean): Promise {\n if (authed && ((tokenError && response.status === 400) || response.status === 401 || response.status === 403)) {\n await this.logoutCallback(true);\n return null;\n }\n\n let responseJson: any = null;\n if (this.isJsonResponse(response)) {\n responseJson = await response.json();\n }\n\n return new ErrorResponse(responseJson, response.status, tokenError);\n }\n\n private async doRefreshToken(): Promise {\n const refreshToken = await this.tokenService.getRefreshToken();\n if (refreshToken == null || refreshToken === '') {\n throw new Error();\n }\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const decodedToken = this.tokenService.decodeToken();\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify({\n grant_type: 'refresh_token',\n client_id: decodedToken.client_id,\n refresh_token: refreshToken,\n }),\n cache: 'no-store',\n credentials: this.getCredentials(),\n headers: headers,\n method: 'POST',\n }));\n\n if (response.status === 200) {\n const responseJson = await response.json();\n const tokenResponse = new IdentityTokenResponse(responseJson);\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n return tokenResponse;\n } else {\n const error = await this.handleError(response, true, true);\n return Promise.reject(error);\n }\n }\n\n private qsStringify(params: any): string {\n return Object.keys(params).map((key) => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\n }).join('&');\n }\n\n private getCredentials(): RequestCredentials {\n if (this.device !== DeviceType.SafariExtension && (!this.isWebClient || this.usingBaseUrl)) {\n return 'include';\n }\n return undefined;\n }\n\n private addEventParameters(base: string, start: string, end: string, token: string) {\n if (start != null) {\n base += ('?start=' + start);\n }\n if (end != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('end=' + end);\n }\n if (token != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('continuationToken=' + token);\n }\n return base;\n }\n\n private isJsonResponse(response: Response): boolean {\n const typeHeader = response.headers.get('content-type');\n return typeHeader != null && typeHeader.indexOf('application/json') > -1;\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse extends BaseResponse {\n id: string;\n organizationId: string;\n name: string;\n externalId: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.name = this.getResponseProperty('Name');\n this.externalId = this.getResponseProperty('ExternalId');\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = this.getResponseProperty('ReadOnly') || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const groups = this.getResponseProperty('Groups');\n if (groups != null) {\n this.groups = groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { GlobalDomainResponse } from './globalDomainResponse';\n\nexport class DomainsResponse extends BaseResponse {\n equivalentDomains: string[][];\n globalEquivalentDomains: GlobalDomainResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.equivalentDomains = this.getResponseProperty('EquivalentDomains');\n const globalEquivalentDomains = this.getResponseProperty('GlobalEquivalentDomains');\n if (globalEquivalentDomains != null) {\n this.globalEquivalentDomains = globalEquivalentDomains.map((d: any) => new GlobalDomainResponse(d));\n } else {\n this.globalEquivalentDomains = [];\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class ErrorResponse extends BaseResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n super(response);\n let errorModel = null;\n if (response != null) {\n const responseErrorModel = this.getResponseProperty('ErrorModel');\n if (responseErrorModel && identityResponse) {\n errorModel = responseErrorModel;\n } else {\n errorModel = response;\n }\n }\n\n if (errorModel) {\n this.message = this.getResponseProperty('Message', errorModel);\n this.validationErrors = this.getResponseProperty('ValidationErrors', errorModel);\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 == null) {\n return this.message;\n }\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 return this.message;\n }\n\n getAllMessages(): string[] {\n const messages: string[] = [];\n if (this.validationErrors == null) {\n return messages;\n }\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n this.validationErrors[key].forEach((item: string) => {\n let prefix = '';\n if (key.indexOf('[') > -1 && key.indexOf(']') > -1) {\n const lastSep = key.lastIndexOf('.');\n prefix = key.substr(0, lastSep > -1 ? lastSep : key.length) + ': ';\n }\n messages.push(prefix + item);\n });\n }\n return messages;\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class FolderResponse extends BaseResponse {\n id: string;\n name: string;\n revisionDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { PlanResponse } from './planResponse';\n\nimport { PlanType } from '../../enums/planType';\n\nexport class OrganizationResponse extends BaseResponse {\n id: string;\n identifier: 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: PlanResponse;\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 useApi: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.identifier = this.getResponseProperty('Identifier');\n this.name = this.getResponseProperty('Name');\n this.businessName = this.getResponseProperty('BusinessName');\n this.businessAddress1 = this.getResponseProperty('BusinessAddress1');\n this.businessAddress2 = this.getResponseProperty('BusinessAddress2');\n this.businessAddress3 = this.getResponseProperty('BusinessAddress3');\n this.businessCountry = this.getResponseProperty('BusinessCountry');\n this.businessTaxNumber = this.getResponseProperty('BusinessTaxNumber');\n this.billingEmail = this.getResponseProperty('BillingEmail');\n const plan = this.getResponseProperty('Plan');\n this.plan = plan == null ? null : new PlanResponse(plan);\n this.planType = this.getResponseProperty('PlanType');\n this.seats = this.getResponseProperty('Seats');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.useGroups = this.getResponseProperty('UseGroups');\n this.useDirectory = this.getResponseProperty('UseDirectory');\n this.useEvents = this.getResponseProperty('UseEvents');\n this.useTotp = this.getResponseProperty('UseTotp');\n this.use2fa = this.getResponseProperty('Use2fa');\n this.useApi = this.getResponseProperty('UseApi');\n }\n}\n","import { PlanType } from '../../enums/planType';\nimport { ProductType } from '../../enums/productType';\n\nimport { BaseResponse } from './baseResponse';\n\nexport class PlanResponse extends BaseResponse {\n type: PlanType;\n product: ProductType;\n name: string;\n isAnnual: boolean;\n nameLocalizationKey: string;\n descriptionLocalizationKey: string;\n canBeUsedByBusiness: boolean;\n baseSeats: number;\n baseStorageGb: number;\n maxCollections: number;\n maxUsers: number;\n\n hasAdditionalSeatsOption: boolean;\n maxAdditionalSeats: number;\n hasAdditionalStorageOption: boolean;\n maxAdditionalStorage: number;\n hasPremiumAccessOption: boolean;\n trialPeriodDays: number;\n\n hasSelfHost: boolean;\n hasPolicies: boolean;\n hasGroups: boolean;\n hasDirectory: boolean;\n hasEvents: boolean;\n hasTotp: boolean;\n has2fa: boolean;\n hasApi: boolean;\n hasSso: boolean;\n usersGetPremium: boolean;\n\n upgradeSortOrder: number;\n displaySortOrder: number;\n legacyYear: number;\n disabled: boolean;\n\n stripePlanId: string;\n stripeSeatPlanId: string;\n stripeStoragePlanId: string;\n stripePremiumAccessPlanId: string;\n basePrice: number;\n seatPrice: number;\n additionalStoragePricePerGb: number;\n premiumAccessOptionPrice: number;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.product = this.getResponseProperty('Product');\n this.name = this.getResponseProperty('Name');\n this.isAnnual = this.getResponseProperty('IsAnnual');\n this.nameLocalizationKey = this.getResponseProperty('NameLocalizationKey');\n this.descriptionLocalizationKey = this.getResponseProperty('DescriptionLocalizationKey');\n this.canBeUsedByBusiness = this.getResponseProperty('CanBeUsedByBusiness');\n this.baseSeats = this.getResponseProperty('BaseSeats');\n this.baseStorageGb = this.getResponseProperty('BaseStorageGb');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxUsers = this.getResponseProperty('MaxUsers');\n this.hasAdditionalSeatsOption = this.getResponseProperty('HasAdditionalSeatsOption');\n this.maxAdditionalSeats = this.getResponseProperty('MaxAdditionalSeats');\n this.hasAdditionalStorageOption = this.getResponseProperty('HasAdditionalStorageOption');\n this.maxAdditionalStorage = this.getResponseProperty('MaxAdditionalStorage');\n this.hasPremiumAccessOption = this.getResponseProperty('HasPremiumAccessOption');\n this.trialPeriodDays = this.getResponseProperty('TrialPeriodDays');\n this.hasSelfHost = this.getResponseProperty('HasSelfHost');\n this.hasPolicies = this.getResponseProperty('HasPolicies');\n this.hasGroups = this.getResponseProperty('HasGroups');\n this.hasDirectory = this.getResponseProperty('HasDirectory');\n this.hasEvents = this.getResponseProperty('HasEvents');\n this.hasTotp = this.getResponseProperty('HasTotp');\n this.has2fa = this.getResponseProperty('Has2fa');\n this.hasApi = this.getResponseProperty('HasApi');\n this.hasSso = this.getResponseProperty('HasSso');\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\n this.upgradeSortOrder = this.getResponseProperty('UpgradeSortOrder');\n this.displaySortOrder = this.getResponseProperty('SortOrder');\n this.legacyYear = this.getResponseProperty('LegacyYear');\n this.disabled = this.getResponseProperty('Disabled');\n this.stripePlanId = this.getResponseProperty('StripePlanId');\n this.stripeSeatPlanId = this.getResponseProperty('StripeSeatPlanId');\n this.stripeStoragePlanId = this.getResponseProperty('StripeStoragePlanId');\n this.stripePremiumAccessPlanId = this.getResponseProperty('StripePremiumAccessPlanId');\n this.basePrice = this.getResponseProperty('BasePrice');\n this.seatPrice = this.getResponseProperty('SeatPrice');\n this.additionalStoragePricePerGb = this.getResponseProperty('AdditionalStoragePricePerGb');\n this.premiumAccessOptionPrice = this.getResponseProperty('PremiumAccessOptionPrice');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class SubscriptionResponse extends BaseResponse {\n storageName: string;\n storageGb: number;\n maxStorageGb: number;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\n license: any;\n expiration: string;\n usingInAppPurchase: boolean;\n\n constructor(response: any) {\n super(response);\n this.storageName = this.getResponseProperty('StorageName');\n this.storageGb = this.getResponseProperty('StorageGb');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.license = this.getResponseProperty('License');\n this.expiration = this.getResponseProperty('Expiration');\n this.usingInAppPurchase = this.getResponseProperty('UsingInAppPurchase');\n const subscription = this.getResponseProperty('Subscription');\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\n this.upcomingInvoice = upcomingInvoice == null ? null :\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\n }\n}\n\nexport class BillingSubscriptionResponse extends BaseResponse {\n trialStartDate: string;\n trialEndDate: string;\n periodStartDate: string;\n periodEndDate: string;\n cancelledDate: string;\n cancelAtEndDate: boolean;\n status: string;\n cancelled: boolean;\n items: BillingSubscriptionItemResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.trialEndDate = this.getResponseProperty('TrialStartDate');\n this.trialEndDate = this.getResponseProperty('TrialEndDate');\n this.periodStartDate = this.getResponseProperty('PeriodStartDate');\n this.periodEndDate = this.getResponseProperty('PeriodEndDate');\n this.cancelledDate = this.getResponseProperty('CancelledDate');\n this.cancelAtEndDate = this.getResponseProperty('CancelAtEndDate');\n this.status = this.getResponseProperty('Status');\n this.cancelled = this.getResponseProperty('Cancelled');\n const items = this.getResponseProperty('Items');\n if (items != null) {\n this.items = items.map((i: any) => new BillingSubscriptionItemResponse(i));\n }\n }\n}\n\nexport class BillingSubscriptionItemResponse extends BaseResponse {\n name: string;\n amount: number;\n quantity: number;\n interval: string;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.amount = this.getResponseProperty('Amount');\n this.quantity = this.getResponseProperty('Quantity');\n this.interval = this.getResponseProperty('Interval');\n }\n}\n\nexport class BillingSubscriptionUpcomingInvoiceResponse extends BaseResponse {\n date: string;\n amount: number;\n\n constructor(response: any) {\n super(response);\n this.date = this.getResponseProperty('Date');\n this.amount = this.getResponseProperty('Amount');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class PolicyResponse extends BaseResponse {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.type = this.getResponseProperty('Type');\n this.data = this.getResponseProperty('Data');\n this.enabled = this.getResponseProperty('Enabled');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nexport class SendResponse extends BaseResponse {\n id: string;\n accessId: string;\n type: SendType;\n name: string;\n notes: string;\n file: SendFileApi;\n text: SendTextApi;\n key: string;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: string;\n expirationDate: string;\n deletionDate: string;\n password: string;\n disable: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.accessId = this.getResponseProperty('AccessId');\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.notes = this.getResponseProperty('Notes');\n this.key = this.getResponseProperty('Key');\n this.maxAccessCount = this.getResponseProperty('MaxAccessCount');\n this.accessCount = this.getResponseProperty('AccessCount');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n this.expirationDate = this.getResponseProperty('ExpirationDate');\n this.deletionDate = this.getResponseProperty('DeletionDate');\n this.password = this.getResponseProperty('Password');\n this.disable = this.getResponseProperty('Disabled') || false;\n\n const text = this.getResponseProperty('Text');\n if (text != null) {\n this.text = new SendTextApi(text);\n }\n\n const file = this.getResponseProperty('File');\n if (file != null) {\n this.file = new SendFileApi(file);\n }\n }\n}\n","import { Utils } from '../misc/utils';\n\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class AppIdService implements AppIdServiceAbstraction {\n constructor(private storageService: StorageService) {\n }\n\n getAppId(): Promise {\n return this.makeAndGetAppId('appId');\n }\n\n getAnonymousAppId(): Promise {\n return this.makeAndGetAppId('anonymousAppId');\n }\n\n private async makeAndGetAppId(key: string) {\n const existingId = await this.storageService.get(key);\n if (existingId != null) {\n return existingId;\n }\n\n const guid = Utils.newGuid();\n await this.storageService.save(key, guid);\n return guid;\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\n\nimport { throttle } from '../misc/throttle';\nimport { Utils } from '../misc/utils';\n\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\n\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\n\nexport class AuditService implements AuditServiceAbstraction {\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\n\n @throttle(100, () => 'passwordLeaked')\n async passwordLeaked(password: string): Promise {\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\n const hashStart = hash.substr(0, 5);\n const hashEnding = hash.substr(5);\n\n const response = await this.apiService.nativeFetch(new Request(PwnedPasswordsApi + hashStart));\n const leakedHashes = await response.text();\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\n return v.split(':')[0] === hashEnding;\n });\n\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\n }\n\n async breachedAccounts(username: string): Promise {\n try {\n return await this.apiService.getHibpBreach(username);\n } catch (e) {\n const error = e as ErrorResponse;\n if (error.statusCode === 404) {\n return [];\n }\n throw new Error();\n }\n }\n}\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/domainBase';\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 { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\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 { SortedCiphersCache } from '../models/domain/sortedCiphersCache';\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 { SearchService } from '../abstractions/search.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n ciphersPrefix: 'ciphers_',\n localData: 'sitesLocalData',\n neverDomains: 'neverDomains',\n};\n\nconst DomainMatchBlacklist = new Map>([\n ['google.com', new Set(['script.google.com'])],\n]);\n\nexport class CipherService implements CipherServiceAbstraction {\n // tslint:disable-next-line\n _decryptedCipherCache: CipherView[];\n\n private sortedCiphersCache: SortedCiphersCache = new SortedCiphersCache(this.sortCiphersByLastUsed);\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 searchService: () => SearchService) {\n }\n\n get decryptedCipherCache() {\n return this._decryptedCipherCache;\n }\n set decryptedCipherCache(value: CipherView[]) {\n this._decryptedCipherCache = value;\n if (this.searchService != null) {\n if (value == null) {\n this.searchService().clearIndex();\n } else {\n this.searchService().indexCiphers();\n }\n }\n }\n\n clearCache(): void {\n this.decryptedCipherCache = null;\n this.sortedCiphersCache.clear();\n }\n\n async encrypt(model: CipherView, key?: SymmetricCryptoKey, originalCipher: Cipher = null): Promise {\n // Adjust password history\n if (model.id != null) {\n if (originalCipher == null) {\n originalCipher = await this.get(model.id);\n }\n if (originalCipher != null) {\n const existingCipher = await originalCipher.decrypt();\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.find((f) => f.name === ef.name);\n if (matchedField == null || matchedField.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 cipher.revisionDate = model.revisionDate;\n\n if (key == null && cipher.organizationId != null) {\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\n if (key == null) {\n throw new Error('Cannot encrypt cipher for organization. No key.');\n }\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: Promise[] = [];\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(async () => {\n if (model.key != null) {\n attachment.key = await this.cryptoService.encrypt(model.key.key, key);\n }\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 // normalize boolean type field values\n if (fieldModel.type === FieldType.Boolean && fieldModel.value !== 'true') {\n fieldModel.value = 'false';\n }\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 @sequentialize(() => 'getAllDecrypted')\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 (cipher.isDeleted) {\n return false;\n }\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[],\n defaultMatch: UriMatchType = null): Promise {\n if (url == null && includeOtherTypes == null) {\n return Promise.resolve([]);\n }\n\n const domain = Utils.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 if (defaultMatch == null) {\n defaultMatch = await this.storageService.get(ConstantsService.defaultUriMatch);\n if (defaultMatch == null) {\n defaultMatch = UriMatchType.Domain;\n }\n }\n\n return ciphers.filter((cipher) => {\n if (cipher.deletedDate != null) {\n return false;\n }\n if (includeOtherTypes != null && 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 const match = u.match == null ? defaultMatch : u.match;\n switch (match) {\n case UriMatchType.Domain:\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\n if (DomainMatchBlacklist.has(u.domain)) {\n const domainUrlHost = Utils.getHost(url);\n if (!DomainMatchBlacklist.get(u.domain).has(domainUrlHost)) {\n return true;\n }\n } else {\n return true;\n }\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 getAllFromApiForOrganization(organizationId: string): Promise {\n const ciphers = await this.apiService.getCiphersOrganization(organizationId);\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.getLocaleSortingFunction());\n return decCiphers;\n } else {\n return [];\n }\n }\n\n async getLastUsedForUrl(url: string): Promise {\n return this.getCipherForUrl(url, true, false);\n }\n\n async getLastLaunchedForUrl(url: string): Promise {\n return this.getCipherForUrl(url, false, true);\n }\n\n async getNextCipherForUrl(url: string): Promise {\n return this.getCipherForUrl(url, false, false);\n }\n\n updateLastUsedIndexForUrl(url: string) {\n this.sortedCiphersCache.updateLastUsedIndex(url);\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 updateLastLaunchedDate(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].lastLaunched = 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 let response: CipherResponse;\n if (cipher.id == null) {\n if (cipher.collectionIds != null) {\n const request = new CipherCreateRequest(cipher);\n response = await this.apiService.postCipherCreate(request);\n } else {\n const request = new CipherRequest(cipher);\n response = await this.apiService.postCipher(request);\n }\n cipher.id = response.id;\n } else {\n const request = new CipherRequest(cipher);\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 const attachmentPromises: Promise[] = [];\n if (cipher.attachments != null) {\n cipher.attachments.forEach((attachment) => {\n if (attachment.key == null) {\n attachmentPromises.push(this.shareAttachmentWithServer(attachment, cipher.id, organizationId));\n }\n });\n }\n await Promise.all(attachmentPromises);\n\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n const encCipher = await this.encrypt(cipher);\n const request = new CipherShareRequest(encCipher);\n const response = await this.apiService.putShareCipher(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, collectionIds);\n await this.upsert(data);\n }\n\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\n const promises: Promise[] = [];\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 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\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(data, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(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 await 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.clearCache();\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 if (ciphers[id] == null) {\n return;\n }\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 const bothNotNull = aLastUsed != null && bLastUsed != null;\n if (bothNotNull && aLastUsed < bLastUsed) {\n return 1;\n }\n if (aLastUsed != null && bLastUsed == null) {\n return -1;\n }\n\n if (bothNotNull && 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 async softDelete(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 const setDeletedDate = (cipherId: string) => {\n if (ciphers[cipherId] == null) {\n return;\n }\n ciphers[cipherId].deletedDate = new Date().toISOString();\n };\n\n if (typeof id === 'string') {\n setDeletedDate(id);\n } else {\n (id as string[]).forEach(setDeletedDate);\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async softDeleteWithServer(id: string): Promise {\n await this.apiService.putDeleteCipher(id);\n await this.softDelete(id);\n }\n\n async softDeleteManyWithServer(ids: string[]): Promise {\n await this.apiService.putDeleteManyCiphers(new CipherBulkDeleteRequest(ids));\n await this.softDelete(ids);\n }\n\n async restore(cipher: { id: string, revisionDate: string; } | { id: string, revisionDate: string; }[]) {\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 const clearDeletedDate = (c: { id: string, revisionDate: string; }) => {\n if (ciphers[c.id] == null) {\n return;\n }\n ciphers[c.id].deletedDate = null;\n ciphers[c.id].revisionDate = c.revisionDate;\n };\n\n\n if (cipher.constructor.name === 'Array') {\n (cipher as { id: string, revisionDate: string; }[]).forEach(clearDeletedDate);\n } else {\n clearDeletedDate(cipher as { id: string, revisionDate: string; });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async restoreWithServer(id: string): Promise {\n const response = await this.apiService.putRestoreCipher(id);\n await this.restore({ id: id, revisionDate: response.revisionDate });\n }\n\n async restoreManyWithServer(ids: string[]): Promise {\n const response = await this.apiService.putRestoreManyCiphers(new CipherBulkRestoreRequest(ids));\n const restores: { id: string, revisionDate: string; }[] = [];\n for (const cipher of response.data) {\n restores.push({ id: cipher.id, revisionDate: cipher.revisionDate });\n }\n await this.restore(restores);\n }\n\n // Helpers\n\n private async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\n organizationId: string): Promise {\n const attachmentResponse = await this.apiService.nativeFetch(\n new Request(attachmentView.url, { cache: 'no-store' }));\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 encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\n\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(decBuf, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n try {\n await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd, organizationId);\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n }\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 private async getCipherForUrl(url: string, lastUsed: boolean, lastLaunched: boolean): Promise {\n if (!this.sortedCiphersCache.isCached(url)) {\n const ciphers = await this.getAllDecryptedForUrl(url);\n if (!ciphers) {\n return null;\n }\n this.sortedCiphersCache.addCiphers(url, ciphers);\n }\n\n if (lastLaunched) {\n return this.sortedCiphersCache.getLastLaunched(url);\n } else if (lastUsed) {\n return this.sortedCiphersCache.getLastUsed(url);\n } else {\n return this.sortedCiphersCache.getNext(url);\n }\n }\n}\n","/**\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\n *\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\n * be returned, instead of calling the original function again\n *\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\n *\n * Read more at https://github.com/bitwarden/jslib/pull/7\n */\nexport function sequentialize(cacheKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const originalMethod: () => Promise = descriptor.value;\n const caches = new Map>>();\n\n const getCache = (obj: any) => {\n let cache = caches.get(obj);\n if (cache != null) {\n return cache;\n }\n cache = new Map>();\n caches.set(obj, cache);\n return cache;\n };\n\n return {\n value: function(...args: any[]) {\n const cache = getCache(this);\n const argsCacheKey = cacheKey(args);\n let response = cache.get(argsCacheKey);\n if (response != null) {\n return response;\n }\n\n const onFinally = () => {\n cache.delete(argsCacheKey);\n if (cache.size === 0) {\n caches.delete(this);\n }\n };\n response = originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n });\n\n cache.set(argsCacheKey, response);\n return response;\n },\n };\n };\n}\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\nimport { TreeNode } from '../models/domain/treeNode';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ServiceUtils } from '../misc/serviceUtils';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n collectionsPrefix: 'collections_',\n};\nconst NestingDelimiter = '/';\n\nexport class CollectionService implements CollectionServiceAbstraction {\n decryptedCollectionCache: CollectionView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private storageService: StorageService, private i18nService: I18nService) {\n }\n\n clearCache(): void {\n this.decryptedCollectionCache = null;\n }\n\n async encrypt(model: CollectionView): Promise {\n if (model.organizationId == null) {\n throw new Error('Collection has no organization id.');\n }\n const key = await this.cryptoService.getOrgKey(model.organizationId);\n if (key == null) {\n throw new Error('No key for this collection\\'s organization.');\n }\n const collection = new Collection();\n collection.id = model.id;\n collection.organizationId = model.organizationId;\n collection.readOnly = model.readOnly;\n collection.name = await this.cryptoService.encrypt(model.name, key);\n return collection;\n }\n\n async decryptMany(collections: Collection[]): Promise {\n if (collections == null) {\n return [];\n }\n const decCollections: CollectionView[] = [];\n const promises: Promise[] = [];\n collections.forEach((collection) => {\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\n });\n await Promise.all(promises);\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null || !collections.hasOwnProperty(id)) {\n return null;\n }\n\n return new Collection(collections[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n const response: Collection[] = [];\n for (const id in collections) {\n if (collections.hasOwnProperty(id)) {\n response.push(new Collection(collections[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedCollectionCache != null) {\n return this.decryptedCollectionCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const collections = await this.getAll();\n this.decryptedCollectionCache = await this.decryptMany(collections);\n return this.decryptedCollectionCache;\n }\n\n async getAllNested(collections: CollectionView[] = null): Promise[]> {\n if (collections == null) {\n collections = await this.getAllDecrypted();\n }\n const nodes: TreeNode[] = [];\n collections.forEach((c) => {\n const collectionCopy = new CollectionView();\n collectionCopy.id = c.id;\n collectionCopy.organizationId = c.organizationId;\n const parts = c.name != null ? c.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter) : [];\n ServiceUtils.nestedTraverse(nodes, 0, parts, collectionCopy, null, NestingDelimiter);\n });\n return nodes;\n }\n\n async getNested(id: string): Promise> {\n const collections = await this.getAllNested();\n return ServiceUtils.getTreeNodeObject(collections, id) as TreeNode;\n }\n\n async upsert(collection: CollectionData | CollectionData[]): Promise {\n const userId = await this.userService.getUserId();\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null) {\n collections = {};\n }\n\n if (collection instanceof CollectionData) {\n const c = collection as CollectionData;\n collections[c.id] = c;\n } else {\n (collection as CollectionData[]).forEach((c) => {\n collections[c.id] = c;\n });\n }\n\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n\n async replace(collections: { [id: string]: CollectionData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.collectionsPrefix + userId);\n this.decryptedCollectionCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null) {\n return;\n }\n\n if (typeof id === 'string') {\n const i = id as string;\n delete collections[id];\n } else {\n (id as string[]).forEach((i) => {\n delete collections[i];\n });\n }\n\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n}\n","import {\n ITreeNodeObject,\n TreeNode,\n} from '../models/domain/treeNode';\n\nexport class ServiceUtils {\n static nestedTraverse(nodeTree: TreeNode[], partIndex: number, parts: string[],\n obj: ITreeNodeObject, parent: ITreeNodeObject, delimiter: string) {\n if (parts.length <= partIndex) {\n return;\n }\n\n const end = partIndex === parts.length - 1;\n const partName = parts[partIndex];\n\n for (let i = 0; i < nodeTree.length; i++) {\n if (nodeTree[i].node.name !== parts[partIndex]) {\n continue;\n }\n if (end && nodeTree[i].node.id !== obj.id) {\n // Another node with the same name.\n nodeTree.push(new TreeNode(obj, partName, parent));\n return;\n }\n ServiceUtils.nestedTraverse(nodeTree[i].children, partIndex + 1, parts,\n obj, nodeTree[i].node, delimiter);\n return;\n }\n\n if (nodeTree.filter((n) => n.node.name === partName).length === 0) {\n if (end) {\n nodeTree.push(new TreeNode(obj, partName, parent));\n return;\n }\n const newPartName = parts[partIndex] + delimiter + parts[partIndex + 1];\n ServiceUtils.nestedTraverse(nodeTree, 0, [newPartName, ...parts.slice(partIndex + 2)],\n obj, parent, delimiter);\n }\n }\n\n static getTreeNodeObject(nodeTree: TreeNode[], id: string): TreeNode {\n for (let i = 0; i < nodeTree.length; i++) {\n if (nodeTree[i].node.id === id) {\n return nodeTree[i];\n } else if (nodeTree[i].children != null) {\n const node = ServiceUtils.getTreeNodeObject(nodeTree[i].children, id);\n if (node !== null) {\n return node;\n }\n }\n }\n return null;\n }\n}\n","import { CryptoService } from '../abstractions/crypto.service';\n\nexport class ContainerService {\n constructor(private cryptoService: CryptoService) {\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","import * as bigInt from 'big-integer';\n\nimport { EncryptionType } from '../enums/encryptionType';\nimport { KdfType } from '../enums/kdfType';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { EncryptedObject } from '../models/domain/encryptedObject';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { LogService } from '../abstractions/log.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\nimport { EEFLongWordList } from '../misc/wordlist';\n\nconst Keys = {\n key: 'key', // Master Key\n encOrgKeys: 'encOrgKeys',\n encPrivateKey: 'encPrivateKey',\n encKey: 'encKey', // Generated Symmetric Key\n keyHash: 'keyHash',\n};\n\nexport class CryptoService implements CryptoServiceAbstraction {\n private key: SymmetricCryptoKey;\n private encKey: SymmetricCryptoKey;\n private legacyEtmKey: SymmetricCryptoKey;\n private keyHash: string;\n private publicKey: ArrayBuffer;\n private privateKey: ArrayBuffer;\n private orgKeys: Map;\n\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\n private cryptoFunctionService: CryptoFunctionService, private platformUtilService: PlatformUtilsService,\n private logService: LogService) {\n }\n\n async setKey(key: SymmetricCryptoKey): Promise {\n this.key = key;\n\n const option = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const biometric = await this.storageService.get(ConstantsService.biometricUnlockKey);\n if (option != null && !(biometric && this.platformUtilService.supportsSecureStorage())) {\n // if we have a lock option set, we do not store the key\n return;\n }\n\n return this.secureStorageService.save(Keys.key, key.keyB64);\n }\n\n setKeyHash(keyHash: string): Promise<{}> {\n this.keyHash = keyHash;\n return this.storageService.save(Keys.keyHash, keyHash);\n }\n\n async setEncKey(encKey: string): Promise<{}> {\n if (encKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encKey, encKey);\n this.encKey = null;\n }\n\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\n if (encPrivateKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\n this.privateKey = null;\n }\n\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\n const orgKeys: any = {};\n orgs.forEach((org) => {\n orgKeys[org.id] = org.key;\n });\n\n this.orgKeys = null;\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\n }\n\n async getKey(): Promise {\n if (this.key != null) {\n return this.key;\n }\n\n const key = await this.secureStorageService.get(Keys.key);\n if (key != null) {\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\n }\n\n return key == null ? null : this.key;\n }\n\n async getKeyHash(): Promise {\n if (this.keyHash != null) {\n return this.keyHash;\n }\n\n const keyHash = await this.storageService.get(Keys.keyHash);\n if (keyHash != null) {\n this.keyHash = keyHash;\n }\n\n return keyHash == null ? null : this.keyHash;\n }\n\n @sequentialize(() => 'getEncKey')\n async getEncKey(key: SymmetricCryptoKey = null): Promise {\n if (this.encKey != null) {\n return this.encKey;\n }\n\n const encKey = await this.storageService.get(Keys.encKey);\n if (encKey == null) {\n return null;\n }\n\n if (key == null) {\n key = await this.getKey();\n }\n if (key == null) {\n return null;\n }\n\n let decEncKey: ArrayBuffer;\n const encKeyCipher = new CipherString(encKey);\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\n decEncKey = await this.decryptToBytes(encKeyCipher, key);\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\n const newKey = await this.stretchKey(key);\n decEncKey = await this.decryptToBytes(encKeyCipher, newKey);\n } else {\n throw new Error('Unsupported encKey type.');\n }\n\n if (decEncKey == null) {\n return null;\n }\n this.encKey = new SymmetricCryptoKey(decEncKey);\n return this.encKey;\n }\n\n async getPublicKey(): Promise {\n if (this.publicKey != null) {\n return this.publicKey;\n }\n\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n return null;\n }\n\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\n return this.publicKey;\n }\n\n async getPrivateKey(): Promise {\n if (this.privateKey != null) {\n return this.privateKey;\n }\n\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\n if (encPrivateKey == null) {\n return null;\n }\n\n this.privateKey = await this.decryptToBytes(new CipherString(encPrivateKey), null);\n return this.privateKey;\n }\n\n async getFingerprint(userId: string, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey === null) {\n throw new Error('No public key available.');\n }\n const keyFingerprint = await this.cryptoFunctionService.hash(publicKey, 'sha256');\n const userFingerprint = await this.cryptoFunctionService.hkdfExpand(keyFingerprint, userId, 32, 'sha256');\n return this.hashPhrase(userFingerprint);\n }\n\n @sequentialize(() => 'getOrgKeys')\n async getOrgKeys(): Promise> {\n if (this.orgKeys != null && this.orgKeys.size > 0) {\n return this.orgKeys;\n }\n\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\n if (encOrgKeys == null) {\n return null;\n }\n\n const orgKeys: Map = new Map();\n let setKey = false;\n\n for (const orgId in encOrgKeys) {\n if (!encOrgKeys.hasOwnProperty(orgId)) {\n continue;\n }\n\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\n setKey = true;\n }\n\n if (setKey) {\n this.orgKeys = orgKeys;\n }\n\n return this.orgKeys;\n }\n\n async getOrgKey(orgId: string): Promise {\n if (orgId == null) {\n return null;\n }\n\n const orgKeys = await this.getOrgKeys();\n if (orgKeys == null || !orgKeys.has(orgId)) {\n return null;\n }\n\n return orgKeys.get(orgId);\n }\n\n async hasKey(): Promise {\n return (await this.getKey()) != null;\n }\n\n async hasEncKey(): Promise {\n const encKey = await this.storageService.get(Keys.encKey);\n return encKey != null;\n }\n\n clearKey(): Promise {\n this.key = this.legacyEtmKey = null;\n return this.secureStorageService.remove(Keys.key);\n }\n\n clearKeyHash(): Promise {\n this.keyHash = null;\n return this.storageService.remove(Keys.keyHash);\n }\n\n clearEncKey(memoryOnly?: boolean): Promise {\n this.encKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encKey);\n }\n\n clearKeyPair(memoryOnly?: boolean): Promise {\n this.privateKey = null;\n this.publicKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encPrivateKey);\n }\n\n clearOrgKeys(memoryOnly?: boolean): Promise {\n this.orgKeys = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encOrgKeys);\n }\n\n clearPinProtectedKey(): Promise {\n return this.storageService.remove(ConstantsService.pinProtectedKey);\n }\n\n clearKeys(): Promise {\n return Promise.all([\n this.clearKey(),\n this.clearKeyHash(),\n this.clearOrgKeys(),\n this.clearEncKey(),\n this.clearKeyPair(),\n this.clearPinProtectedKey(),\n ]);\n }\n\n async toggleKey(): Promise {\n const key = await this.getKey();\n const option = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const biometric = await this.storageService.get(ConstantsService.biometricUnlockKey);\n if ((!biometric && this.platformUtilService.supportsSecureStorage()) && (option != null || option === 0)) {\n // if we have a lock option set, clear the key\n await this.clearKey();\n this.key = key;\n return;\n }\n\n await this.setKey(key);\n }\n\n async makeKey(password: string, salt: string, kdf: KdfType, kdfIterations: number):\n Promise {\n let key: ArrayBuffer = null;\n if (kdf == null || kdf === KdfType.PBKDF2_SHA256) {\n if (kdfIterations == null) {\n kdfIterations = 5000;\n } else if (kdfIterations < 5000) {\n throw new Error('PBKDF2 iteration minimum is 5000.');\n }\n key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', kdfIterations);\n } else {\n throw new Error('Unknown Kdf.');\n }\n return new SymmetricCryptoKey(key);\n }\n\n async makeKeyFromPin(pin: string, salt: string, kdf: KdfType, kdfIterations: number,\n protectedKeyCs: CipherString = null):\n Promise {\n if (protectedKeyCs == null) {\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\n if (pinProtectedKey == null) {\n throw new Error('No PIN protected key found.');\n }\n protectedKeyCs = new CipherString(pinProtectedKey);\n }\n const pinKey = await this.makePinKey(pin, salt, kdf, kdfIterations);\n const decKey = await this.decryptToBytes(protectedKeyCs, pinKey);\n return new SymmetricCryptoKey(decKey);\n }\n\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\n const publicKey = await this.getPublicKey();\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey);\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\n }\n\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\n const privateEnc = await this.encrypt(keyPair[1], key);\n return [publicB64, privateEnc];\n }\n\n async makePinKey(pin: string, salt: string, kdf: KdfType, kdfIterations: number): Promise {\n const pinKey = await this.makeKey(pin, salt, kdf, kdfIterations);\n return await this.stretchKey(pinKey);\n }\n\n async makeSendKey(keyMaterial: ArrayBuffer): Promise {\n const sendKey = await this.cryptoFunctionService.hkdf(keyMaterial, 'bitwarden-send', 'send', 64, 'sha256');\n return new SymmetricCryptoKey(sendKey);\n }\n\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\n if (key == null) {\n key = await this.getKey();\n }\n if (password == null || key == null) {\n throw new Error('Invalid parameters.');\n }\n\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\n return Utils.fromBufferToB64(hash);\n }\n\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n const theKey = await this.getKeyForEncryption(key);\n const encKey = await this.cryptoFunctionService.randomBytes(64);\n return this.buildEncKey(theKey, encKey);\n }\n\n async remakeEncKey(key: SymmetricCryptoKey, encKey?: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n if (encKey == null) {\n encKey = await this.getEncKey();\n }\n return this.buildEncKey(key, encKey.key);\n }\n\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n if (plainValue == null) {\n return Promise.resolve(null);\n }\n\n let plainBuf: ArrayBuffer;\n if (typeof (plainValue) === 'string') {\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\n } else {\n plainBuf = plainValue;\n }\n\n const encObj = await this.aesEncrypt(plainBuf, key);\n const iv = Utils.fromBufferToB64(encObj.iv);\n const data = Utils.fromBufferToB64(encObj.data);\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\n return new CipherString(encObj.key.encType, data, iv, mac);\n }\n\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n const encValue = await this.aesEncrypt(plainValue, key);\n let macLen = 0;\n if (encValue.mac != null) {\n macLen = encValue.mac.byteLength;\n }\n\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\n encBytes.set([encValue.key.encType]);\n encBytes.set(new Uint8Array(encValue.iv), 1);\n if (encValue.mac != null) {\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\n }\n\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\n return encBytes.buffer;\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey == null) {\n throw new Error('Public key unavailable.');\n }\n\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\n return new CipherString(EncryptionType.Rsa2048_OaepSha1_B64, Utils.fromBufferToB64(encBytes));\n }\n\n async rsaDecrypt(encValue: string): Promise {\n const headerPieces = encValue.split('.');\n let encType: EncryptionType = null;\n let encPieces: string[];\n\n if (headerPieces.length === 1) {\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\n encPieces = [headerPieces[0]];\n } else if (headerPieces.length === 2) {\n try {\n encType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) { }\n }\n\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n // HmacSha256 types are deprecated\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n if (encPieces == null || encPieces.length <= 0) {\n throw new Error('encPieces unavailable.');\n }\n\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n throw new Error('No private key.');\n }\n\n let alg: 'sha1' | 'sha256' = 'sha1';\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n alg = 'sha256';\n break;\n case EncryptionType.Rsa2048_OaepSha1_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\n }\n\n async decryptToBytes(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\n if (decipher == null) {\n return null;\n }\n\n return decipher;\n }\n\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\n cipherString.iv, cipherString.mac, key);\n }\n\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n if (encBuf == null) {\n throw new Error('no encBuf.');\n }\n\n const encBytes = new Uint8Array(encBuf);\n const encType = encBytes[0];\n let ctBytes: Uint8Array = null;\n let ivBytes: Uint8Array = null;\n let macBytes: Uint8Array = null;\n\n switch (encType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n macBytes = encBytes.slice(17, 49);\n ctBytes = encBytes.slice(49);\n break;\n case EncryptionType.AesCbc256_B64:\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n ctBytes = encBytes.slice(17);\n break;\n default:\n return null;\n }\n\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\n macBytes != null ? macBytes.buffer : null, key);\n }\n\n // EFForg/OpenWireless\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\n async randomNumber(min: number, max: number): Promise {\n let rval = 0;\n const range = max - min + 1;\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error('We cannot generate numbers larger than 53 bits.');\n }\n\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\n\n // Fill a byte array with N random numbers\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\n\n let p = (bytesNeeded - 1) * 8;\n for (let i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n // Use & to apply the mask and reduce the number of recursive lookups\n // tslint:disable-next-line\n rval = rval & mask;\n\n if (rval >= range) {\n // Integer out of acceptable range\n return this.randomNumber(min, max);\n }\n\n // Return an integer that falls within the range\n return min + rval;\n }\n\n // Helpers\n\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const obj = new EncryptedObject();\n obj.key = await this.getKeyForEncryption(key);\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\n\n if (obj.key.macKey != null) {\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\n macData.set(new Uint8Array(obj.iv), 0);\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\n }\n\n return obj;\n }\n\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\n key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n this.logService.error('mac required.');\n return null;\n }\n\n if (theKey.encType !== encType) {\n this.logService.error('encType unavailable.');\n return null;\n }\n\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\n if (fastParams.macKey != null && fastParams.mac != null) {\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\n fastParams.macKey, 'sha256');\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\n if (!macsEqual) {\n this.logService.error('mac failed.');\n return null;\n }\n }\n\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\n }\n\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n return null;\n }\n\n if (theKey.encType !== encType) {\n return null;\n }\n\n if (theKey.macKey != null && mac != null) {\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\n macData.set(new Uint8Array(iv), 0);\n macData.set(new Uint8Array(data), iv.byteLength);\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\n if (computedMac === null) {\n return null;\n }\n\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\n if (!macsMatch) {\n this.logService.error('mac failed.');\n return null;\n }\n }\n\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\n }\n\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\n if (key != null) {\n return key;\n }\n\n const encKey = await this.getEncKey();\n if (encKey != null) {\n return encKey;\n }\n\n return await this.getKey();\n }\n\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\n key.encType === EncryptionType.AesCbc256_B64) {\n // Old encrypt-then-mac scheme, make a new key\n if (this.legacyEtmKey == null) {\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\n }\n return this.legacyEtmKey;\n }\n\n return key;\n }\n\n private async stretchKey(key: SymmetricCryptoKey): Promise {\n const newKey = new Uint8Array(64);\n const encKey = await this.cryptoFunctionService.hkdfExpand(key.key, 'enc', 32, 'sha256');\n const macKey = await this.cryptoFunctionService.hkdfExpand(key.key, 'mac', 32, 'sha256');\n newKey.set(new Uint8Array(encKey));\n newKey.set(new Uint8Array(macKey), 32);\n return new SymmetricCryptoKey(newKey.buffer);\n }\n\n private async hashPhrase(hash: ArrayBuffer, minimumEntropy: number = 64) {\n const entropyPerWord = Math.log(EEFLongWordList.length) / Math.log(2);\n let numWords = Math.ceil(minimumEntropy / entropyPerWord);\n\n const hashArr = Array.from(new Uint8Array(hash));\n const entropyAvailable = hashArr.length * 4;\n if (numWords * entropyPerWord > entropyAvailable) {\n throw new Error('Output entropy of hash function is too small');\n }\n\n const phrase: string[] = [];\n let hashNumber = bigInt.fromArray(hashArr, 256);\n while (numWords--) {\n const remainder = hashNumber.mod(EEFLongWordList.length);\n hashNumber = hashNumber.divide(EEFLongWordList.length);\n phrase.push(EEFLongWordList[remainder as any]);\n }\n return phrase;\n }\n\n private async buildEncKey(key: SymmetricCryptoKey, encKey: ArrayBuffer)\n : Promise<[SymmetricCryptoKey, CipherString]> {\n let encKeyEnc: CipherString = null;\n if (key.key.byteLength === 32) {\n const newKey = await this.stretchKey(key);\n encKeyEnc = await this.encrypt(encKey, newKey);\n } else if (key.key.byteLength === 64) {\n encKeyEnc = await this.encrypt(encKey, key);\n } else {\n throw new Error('Invalid key size.');\n }\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\n }\n}\n","// EFF's Long Wordlist from https://www.eff.org/dice\nexport const EEFLongWordList = [\n 'abacus',\n 'abdomen',\n 'abdominal',\n 'abide',\n 'abiding',\n 'ability',\n 'ablaze',\n 'able',\n 'abnormal',\n 'abrasion',\n 'abrasive',\n 'abreast',\n 'abridge',\n 'abroad',\n 'abruptly',\n 'absence',\n 'absentee',\n 'absently',\n 'absinthe',\n 'absolute',\n 'absolve',\n 'abstain',\n 'abstract',\n 'absurd',\n 'accent',\n 'acclaim',\n 'acclimate',\n 'accompany',\n 'account',\n 'accuracy',\n 'accurate',\n 'accustom',\n 'acetone',\n 'achiness',\n 'aching',\n 'acid',\n 'acorn',\n 'acquaint',\n 'acquire',\n 'acre',\n 'acrobat',\n 'acronym',\n 'acting',\n 'action',\n 'activate',\n 'activator',\n 'active',\n 'activism',\n 'activist',\n 'activity',\n 'actress',\n 'acts',\n 'acutely',\n 'acuteness',\n 'aeration',\n 'aerobics',\n 'aerosol',\n 'aerospace',\n 'afar',\n 'affair',\n 'affected',\n 'affecting',\n 'affection',\n 'affidavit',\n 'affiliate',\n 'affirm',\n 'affix',\n 'afflicted',\n 'affluent',\n 'afford',\n 'affront',\n 'aflame',\n 'afloat',\n 'aflutter',\n 'afoot',\n 'afraid',\n 'afterglow',\n 'afterlife',\n 'aftermath',\n 'aftermost',\n 'afternoon',\n 'aged',\n 'ageless',\n 'agency',\n 'agenda',\n 'agent',\n 'aggregate',\n 'aghast',\n 'agile',\n 'agility',\n 'aging',\n 'agnostic',\n 'agonize',\n 'agonizing',\n 'agony',\n 'agreeable',\n 'agreeably',\n 'agreed',\n 'agreeing',\n 'agreement',\n 'aground',\n 'ahead',\n 'ahoy',\n 'aide',\n 'aids',\n 'aim',\n 'ajar',\n 'alabaster',\n 'alarm',\n 'albatross',\n 'album',\n 'alfalfa',\n 'algebra',\n 'algorithm',\n 'alias',\n 'alibi',\n 'alienable',\n 'alienate',\n 'aliens',\n 'alike',\n 'alive',\n 'alkaline',\n 'alkalize',\n 'almanac',\n 'almighty',\n 'almost',\n 'aloe',\n 'aloft',\n 'aloha',\n 'alone',\n 'alongside',\n 'aloof',\n 'alphabet',\n 'alright',\n 'although',\n 'altitude',\n 'alto',\n 'aluminum',\n 'alumni',\n 'always',\n 'amaretto',\n 'amaze',\n 'amazingly',\n 'amber',\n 'ambiance',\n 'ambiguity',\n 'ambiguous',\n 'ambition',\n 'ambitious',\n 'ambulance',\n 'ambush',\n 'amendable',\n 'amendment',\n 'amends',\n 'amenity',\n 'amiable',\n 'amicably',\n 'amid',\n 'amigo',\n 'amino',\n 'amiss',\n 'ammonia',\n 'ammonium',\n 'amnesty',\n 'amniotic',\n 'among',\n 'amount',\n 'amperage',\n 'ample',\n 'amplifier',\n 'amplify',\n 'amply',\n 'amuck',\n 'amulet',\n 'amusable',\n 'amused',\n 'amusement',\n 'amuser',\n 'amusing',\n 'anaconda',\n 'anaerobic',\n 'anagram',\n 'anatomist',\n 'anatomy',\n 'anchor',\n 'anchovy',\n 'ancient',\n 'android',\n 'anemia',\n 'anemic',\n 'aneurism',\n 'anew',\n 'angelfish',\n 'angelic',\n 'anger',\n 'angled',\n 'angler',\n 'angles',\n 'angling',\n 'angrily',\n 'angriness',\n 'anguished',\n 'angular',\n 'animal',\n 'animate',\n 'animating',\n 'animation',\n 'animator',\n 'anime',\n 'animosity',\n 'ankle',\n 'annex',\n 'annotate',\n 'announcer',\n 'annoying',\n 'annually',\n 'annuity',\n 'anointer',\n 'another',\n 'answering',\n 'antacid',\n 'antarctic',\n 'anteater',\n 'antelope',\n 'antennae',\n 'anthem',\n 'anthill',\n 'anthology',\n 'antibody',\n 'antics',\n 'antidote',\n 'antihero',\n 'antiquely',\n 'antiques',\n 'antiquity',\n 'antirust',\n 'antitoxic',\n 'antitrust',\n 'antiviral',\n 'antivirus',\n 'antler',\n 'antonym',\n 'antsy',\n 'anvil',\n 'anybody',\n 'anyhow',\n 'anymore',\n 'anyone',\n 'anyplace',\n 'anything',\n 'anytime',\n 'anyway',\n 'anywhere',\n 'aorta',\n 'apache',\n 'apostle',\n 'appealing',\n 'appear',\n 'appease',\n 'appeasing',\n 'appendage',\n 'appendix',\n 'appetite',\n 'appetizer',\n 'applaud',\n 'applause',\n 'apple',\n 'appliance',\n 'applicant',\n 'applied',\n 'apply',\n 'appointee',\n 'appraisal',\n 'appraiser',\n 'apprehend',\n 'approach',\n 'approval',\n 'approve',\n 'apricot',\n 'april',\n 'apron',\n 'aptitude',\n 'aptly',\n 'aqua',\n 'aqueduct',\n 'arbitrary',\n 'arbitrate',\n 'ardently',\n 'area',\n 'arena',\n 'arguable',\n 'arguably',\n 'argue',\n 'arise',\n 'armadillo',\n 'armband',\n 'armchair',\n 'armed',\n 'armful',\n 'armhole',\n 'arming',\n 'armless',\n 'armoire',\n 'armored',\n 'armory',\n 'armrest',\n 'army',\n 'aroma',\n 'arose',\n 'around',\n 'arousal',\n 'arrange',\n 'array',\n 'arrest',\n 'arrival',\n 'arrive',\n 'arrogance',\n 'arrogant',\n 'arson',\n 'art',\n 'ascend',\n 'ascension',\n 'ascent',\n 'ascertain',\n 'ashamed',\n 'ashen',\n 'ashes',\n 'ashy',\n 'aside',\n 'askew',\n 'asleep',\n 'asparagus',\n 'aspect',\n 'aspirate',\n 'aspire',\n 'aspirin',\n 'astonish',\n 'astound',\n 'astride',\n 'astrology',\n 'astronaut',\n 'astronomy',\n 'astute',\n 'atlantic',\n 'atlas',\n 'atom',\n 'atonable',\n 'atop',\n 'atrium',\n 'atrocious',\n 'atrophy',\n 'attach',\n 'attain',\n 'attempt',\n 'attendant',\n 'attendee',\n 'attention',\n 'attentive',\n 'attest',\n 'attic',\n 'attire',\n 'attitude',\n 'attractor',\n 'attribute',\n 'atypical',\n 'auction',\n 'audacious',\n 'audacity',\n 'audible',\n 'audibly',\n 'audience',\n 'audio',\n 'audition',\n 'augmented',\n 'august',\n 'authentic',\n 'author',\n 'autism',\n 'autistic',\n 'autograph',\n 'automaker',\n 'automated',\n 'automatic',\n 'autopilot',\n 'available',\n 'avalanche',\n 'avatar',\n 'avenge',\n 'avenging',\n 'avenue',\n 'average',\n 'aversion',\n 'avert',\n 'aviation',\n 'aviator',\n 'avid',\n 'avoid',\n 'await',\n 'awaken',\n 'award',\n 'aware',\n 'awhile',\n 'awkward',\n 'awning',\n 'awoke',\n 'awry',\n 'axis',\n 'babble',\n 'babbling',\n 'babied',\n 'baboon',\n 'backache',\n 'backboard',\n 'backboned',\n 'backdrop',\n 'backed',\n 'backer',\n 'backfield',\n 'backfire',\n 'backhand',\n 'backing',\n 'backlands',\n 'backlash',\n 'backless',\n 'backlight',\n 'backlit',\n 'backlog',\n 'backpack',\n 'backpedal',\n 'backrest',\n 'backroom',\n 'backshift',\n 'backside',\n 'backslid',\n 'backspace',\n 'backspin',\n 'backstab',\n 'backstage',\n 'backtalk',\n 'backtrack',\n 'backup',\n 'backward',\n 'backwash',\n 'backwater',\n 'backyard',\n 'bacon',\n 'bacteria',\n 'bacterium',\n 'badass',\n 'badge',\n 'badland',\n 'badly',\n 'badness',\n 'baffle',\n 'baffling',\n 'bagel',\n 'bagful',\n 'baggage',\n 'bagged',\n 'baggie',\n 'bagginess',\n 'bagging',\n 'baggy',\n 'bagpipe',\n 'baguette',\n 'baked',\n 'bakery',\n 'bakeshop',\n 'baking',\n 'balance',\n 'balancing',\n 'balcony',\n 'balmy',\n 'balsamic',\n 'bamboo',\n 'banana',\n 'banish',\n 'banister',\n 'banjo',\n 'bankable',\n 'bankbook',\n 'banked',\n 'banker',\n 'banking',\n 'banknote',\n 'bankroll',\n 'banner',\n 'bannister',\n 'banshee',\n 'banter',\n 'barbecue',\n 'barbed',\n 'barbell',\n 'barber',\n 'barcode',\n 'barge',\n 'bargraph',\n 'barista',\n 'baritone',\n 'barley',\n 'barmaid',\n 'barman',\n 'barn',\n 'barometer',\n 'barrack',\n 'barracuda',\n 'barrel',\n 'barrette',\n 'barricade',\n 'barrier',\n 'barstool',\n 'bartender',\n 'barterer',\n 'bash',\n 'basically',\n 'basics',\n 'basil',\n 'basin',\n 'basis',\n 'basket',\n 'batboy',\n 'batch',\n 'bath',\n 'baton',\n 'bats',\n 'battalion',\n 'battered',\n 'battering',\n 'battery',\n 'batting',\n 'battle',\n 'bauble',\n 'bazooka',\n 'blabber',\n 'bladder',\n 'blade',\n 'blah',\n 'blame',\n 'blaming',\n 'blanching',\n 'blandness',\n 'blank',\n 'blaspheme',\n 'blasphemy',\n 'blast',\n 'blatancy',\n 'blatantly',\n 'blazer',\n 'blazing',\n 'bleach',\n 'bleak',\n 'bleep',\n 'blemish',\n 'blend',\n 'bless',\n 'blighted',\n 'blimp',\n 'bling',\n 'blinked',\n 'blinker',\n 'blinking',\n 'blinks',\n 'blip',\n 'blissful',\n 'blitz',\n 'blizzard',\n 'bloated',\n 'bloating',\n 'blob',\n 'blog',\n 'bloomers',\n 'blooming',\n 'blooper',\n 'blot',\n 'blouse',\n 'blubber',\n 'bluff',\n 'bluish',\n 'blunderer',\n 'blunt',\n 'blurb',\n 'blurred',\n 'blurry',\n 'blurt',\n 'blush',\n 'blustery',\n 'boaster',\n 'boastful',\n 'boasting',\n 'boat',\n 'bobbed',\n 'bobbing',\n 'bobble',\n 'bobcat',\n 'bobsled',\n 'bobtail',\n 'bodacious',\n 'body',\n 'bogged',\n 'boggle',\n 'bogus',\n 'boil',\n 'bok',\n 'bolster',\n 'bolt',\n 'bonanza',\n 'bonded',\n 'bonding',\n 'bondless',\n 'boned',\n 'bonehead',\n 'boneless',\n 'bonelike',\n 'boney',\n 'bonfire',\n 'bonnet',\n 'bonsai',\n 'bonus',\n 'bony',\n 'boogeyman',\n 'boogieman',\n 'book',\n 'boondocks',\n 'booted',\n 'booth',\n 'bootie',\n 'booting',\n 'bootlace',\n 'bootleg',\n 'boots',\n 'boozy',\n 'borax',\n 'boring',\n 'borough',\n 'borrower',\n 'borrowing',\n 'boss',\n 'botanical',\n 'botanist',\n 'botany',\n 'botch',\n 'both',\n 'bottle',\n 'bottling',\n 'bottom',\n 'bounce',\n 'bouncing',\n 'bouncy',\n 'bounding',\n 'boundless',\n 'bountiful',\n 'bovine',\n 'boxcar',\n 'boxer',\n 'boxing',\n 'boxlike',\n 'boxy',\n 'breach',\n 'breath',\n 'breeches',\n 'breeching',\n 'breeder',\n 'breeding',\n 'breeze',\n 'breezy',\n 'brethren',\n 'brewery',\n 'brewing',\n 'briar',\n 'bribe',\n 'brick',\n 'bride',\n 'bridged',\n 'brigade',\n 'bright',\n 'brilliant',\n 'brim',\n 'bring',\n 'brink',\n 'brisket',\n 'briskly',\n 'briskness',\n 'bristle',\n 'brittle',\n 'broadband',\n 'broadcast',\n 'broaden',\n 'broadly',\n 'broadness',\n 'broadside',\n 'broadways',\n 'broiler',\n 'broiling',\n 'broken',\n 'broker',\n 'bronchial',\n 'bronco',\n 'bronze',\n 'bronzing',\n 'brook',\n 'broom',\n 'brought',\n 'browbeat',\n 'brownnose',\n 'browse',\n 'browsing',\n 'bruising',\n 'brunch',\n 'brunette',\n 'brunt',\n 'brush',\n 'brussels',\n 'brute',\n 'brutishly',\n 'bubble',\n 'bubbling',\n 'bubbly',\n 'buccaneer',\n 'bucked',\n 'bucket',\n 'buckle',\n 'buckshot',\n 'buckskin',\n 'bucktooth',\n 'buckwheat',\n 'buddhism',\n 'buddhist',\n 'budding',\n 'buddy',\n 'budget',\n 'buffalo',\n 'buffed',\n 'buffer',\n 'buffing',\n 'buffoon',\n 'buggy',\n 'bulb',\n 'bulge',\n 'bulginess',\n 'bulgur',\n 'bulk',\n 'bulldog',\n 'bulldozer',\n 'bullfight',\n 'bullfrog',\n 'bullhorn',\n 'bullion',\n 'bullish',\n 'bullpen',\n 'bullring',\n 'bullseye',\n 'bullwhip',\n 'bully',\n 'bunch',\n 'bundle',\n 'bungee',\n 'bunion',\n 'bunkbed',\n 'bunkhouse',\n 'bunkmate',\n 'bunny',\n 'bunt',\n 'busboy',\n 'bush',\n 'busily',\n 'busload',\n 'bust',\n 'busybody',\n 'buzz',\n 'cabana',\n 'cabbage',\n 'cabbie',\n 'cabdriver',\n 'cable',\n 'caboose',\n 'cache',\n 'cackle',\n 'cacti',\n 'cactus',\n 'caddie',\n 'caddy',\n 'cadet',\n 'cadillac',\n 'cadmium',\n 'cage',\n 'cahoots',\n 'cake',\n 'calamari',\n 'calamity',\n 'calcium',\n 'calculate',\n 'calculus',\n 'caliber',\n 'calibrate',\n 'calm',\n 'caloric',\n 'calorie',\n 'calzone',\n 'camcorder',\n 'cameo',\n 'camera',\n 'camisole',\n 'camper',\n 'campfire',\n 'camping',\n 'campsite',\n 'campus',\n 'canal',\n 'canary',\n 'cancel',\n 'candied',\n 'candle',\n 'candy',\n 'cane',\n 'canine',\n 'canister',\n 'cannabis',\n 'canned',\n 'canning',\n 'cannon',\n 'cannot',\n 'canola',\n 'canon',\n 'canopener',\n 'canopy',\n 'canteen',\n 'canyon',\n 'capable',\n 'capably',\n 'capacity',\n 'cape',\n 'capillary',\n 'capital',\n 'capitol',\n 'capped',\n 'capricorn',\n 'capsize',\n 'capsule',\n 'caption',\n 'captivate',\n 'captive',\n 'captivity',\n 'capture',\n 'caramel',\n 'carat',\n 'caravan',\n 'carbon',\n 'cardboard',\n 'carded',\n 'cardiac',\n 'cardigan',\n 'cardinal',\n 'cardstock',\n 'carefully',\n 'caregiver',\n 'careless',\n 'caress',\n 'caretaker',\n 'cargo',\n 'caring',\n 'carless',\n 'carload',\n 'carmaker',\n 'carnage',\n 'carnation',\n 'carnival',\n 'carnivore',\n 'carol',\n 'carpenter',\n 'carpentry',\n 'carpool',\n 'carport',\n 'carried',\n 'carrot',\n 'carrousel',\n 'carry',\n 'cartel',\n 'cartload',\n 'carton',\n 'cartoon',\n 'cartridge',\n 'cartwheel',\n 'carve',\n 'carving',\n 'carwash',\n 'cascade',\n 'case',\n 'cash',\n 'casing',\n 'casino',\n 'casket',\n 'cassette',\n 'casually',\n 'casualty',\n 'catacomb',\n 'catalog',\n 'catalyst',\n 'catalyze',\n 'catapult',\n 'cataract',\n 'catatonic',\n 'catcall',\n 'catchable',\n 'catcher',\n 'catching',\n 'catchy',\n 'caterer',\n 'catering',\n 'catfight',\n 'catfish',\n 'cathedral',\n 'cathouse',\n 'catlike',\n 'catnap',\n 'catnip',\n 'catsup',\n 'cattail',\n 'cattishly',\n 'cattle',\n 'catty',\n 'catwalk',\n 'caucasian',\n 'caucus',\n 'causal',\n 'causation',\n 'cause',\n 'causing',\n 'cauterize',\n 'caution',\n 'cautious',\n 'cavalier',\n 'cavalry',\n 'caviar',\n 'cavity',\n 'cedar',\n 'celery',\n 'celestial',\n 'celibacy',\n 'celibate',\n 'celtic',\n 'cement',\n 'census',\n 'ceramics',\n 'ceremony',\n 'certainly',\n 'certainty',\n 'certified',\n 'certify',\n 'cesarean',\n 'cesspool',\n 'chafe',\n 'chaffing',\n 'chain',\n 'chair',\n 'chalice',\n 'challenge',\n 'chamber',\n 'chamomile',\n 'champion',\n 'chance',\n 'change',\n 'channel',\n 'chant',\n 'chaos',\n 'chaperone',\n 'chaplain',\n 'chapped',\n 'chaps',\n 'chapter',\n 'character',\n 'charbroil',\n 'charcoal',\n 'charger',\n 'charging',\n 'chariot',\n 'charity',\n 'charm',\n 'charred',\n 'charter',\n 'charting',\n 'chase',\n 'chasing',\n 'chaste',\n 'chastise',\n 'chastity',\n 'chatroom',\n 'chatter',\n 'chatting',\n 'chatty',\n 'cheating',\n 'cheddar',\n 'cheek',\n 'cheer',\n 'cheese',\n 'cheesy',\n 'chef',\n 'chemicals',\n 'chemist',\n 'chemo',\n 'cherisher',\n 'cherub',\n 'chess',\n 'chest',\n 'chevron',\n 'chevy',\n 'chewable',\n 'chewer',\n 'chewing',\n 'chewy',\n 'chief',\n 'chihuahua',\n 'childcare',\n 'childhood',\n 'childish',\n 'childless',\n 'childlike',\n 'chili',\n 'chill',\n 'chimp',\n 'chip',\n 'chirping',\n 'chirpy',\n 'chitchat',\n 'chivalry',\n 'chive',\n 'chloride',\n 'chlorine',\n 'choice',\n 'chokehold',\n 'choking',\n 'chomp',\n 'chooser',\n 'choosing',\n 'choosy',\n 'chop',\n 'chosen',\n 'chowder',\n 'chowtime',\n 'chrome',\n 'chubby',\n 'chuck',\n 'chug',\n 'chummy',\n 'chump',\n 'chunk',\n 'churn',\n 'chute',\n 'cider',\n 'cilantro',\n 'cinch',\n 'cinema',\n 'cinnamon',\n 'circle',\n 'circling',\n 'circular',\n 'circulate',\n 'circus',\n 'citable',\n 'citadel',\n 'citation',\n 'citizen',\n 'citric',\n 'citrus',\n 'city',\n 'civic',\n 'civil',\n 'clad',\n 'claim',\n 'clambake',\n 'clammy',\n 'clamor',\n 'clamp',\n 'clamshell',\n 'clang',\n 'clanking',\n 'clapped',\n 'clapper',\n 'clapping',\n 'clarify',\n 'clarinet',\n 'clarity',\n 'clash',\n 'clasp',\n 'class',\n 'clatter',\n 'clause',\n 'clavicle',\n 'claw',\n 'clay',\n 'clean',\n 'clear',\n 'cleat',\n 'cleaver',\n 'cleft',\n 'clench',\n 'clergyman',\n 'clerical',\n 'clerk',\n 'clever',\n 'clicker',\n 'client',\n 'climate',\n 'climatic',\n 'cling',\n 'clinic',\n 'clinking',\n 'clip',\n 'clique',\n 'cloak',\n 'clobber',\n 'clock',\n 'clone',\n 'cloning',\n 'closable',\n 'closure',\n 'clothes',\n 'clothing',\n 'cloud',\n 'clover',\n 'clubbed',\n 'clubbing',\n 'clubhouse',\n 'clump',\n 'clumsily',\n 'clumsy',\n 'clunky',\n 'clustered',\n 'clutch',\n 'clutter',\n 'coach',\n 'coagulant',\n 'coastal',\n 'coaster',\n 'coasting',\n 'coastland',\n 'coastline',\n 'coat',\n 'coauthor',\n 'cobalt',\n 'cobbler',\n 'cobweb',\n 'cocoa',\n 'coconut',\n 'cod',\n 'coeditor',\n 'coerce',\n 'coexist',\n 'coffee',\n 'cofounder',\n 'cognition',\n 'cognitive',\n 'cogwheel',\n 'coherence',\n 'coherent',\n 'cohesive',\n 'coil',\n 'coke',\n 'cola',\n 'cold',\n 'coleslaw',\n 'coliseum',\n 'collage',\n 'collapse',\n 'collar',\n 'collected',\n 'collector',\n 'collide',\n 'collie',\n 'collision',\n 'colonial',\n 'colonist',\n 'colonize',\n 'colony',\n 'colossal',\n 'colt',\n 'coma',\n 'come',\n 'comfort',\n 'comfy',\n 'comic',\n 'coming',\n 'comma',\n 'commence',\n 'commend',\n 'comment',\n 'commerce',\n 'commode',\n 'commodity',\n 'commodore',\n 'common',\n 'commotion',\n 'commute',\n 'commuting',\n 'compacted',\n 'compacter',\n 'compactly',\n 'compactor',\n 'companion',\n 'company',\n 'compare',\n 'compel',\n 'compile',\n 'comply',\n 'component',\n 'composed',\n 'composer',\n 'composite',\n 'compost',\n 'composure',\n 'compound',\n 'compress',\n 'comprised',\n 'computer',\n 'computing',\n 'comrade',\n 'concave',\n 'conceal',\n 'conceded',\n 'concept',\n 'concerned',\n 'concert',\n 'conch',\n 'concierge',\n 'concise',\n 'conclude',\n 'concrete',\n 'concur',\n 'condense',\n 'condiment',\n 'condition',\n 'condone',\n 'conducive',\n 'conductor',\n 'conduit',\n 'cone',\n 'confess',\n 'confetti',\n 'confidant',\n 'confident',\n 'confider',\n 'confiding',\n 'configure',\n 'confined',\n 'confining',\n 'confirm',\n 'conflict',\n 'conform',\n 'confound',\n 'confront',\n 'confused',\n 'confusing',\n 'confusion',\n 'congenial',\n 'congested',\n 'congrats',\n 'congress',\n 'conical',\n 'conjoined',\n 'conjure',\n 'conjuror',\n 'connected',\n 'connector',\n 'consensus',\n 'consent',\n 'console',\n 'consoling',\n 'consonant',\n 'constable',\n 'constant',\n 'constrain',\n 'constrict',\n 'construct',\n 'consult',\n 'consumer',\n 'consuming',\n 'contact',\n 'container',\n 'contempt',\n 'contend',\n 'contented',\n 'contently',\n 'contents',\n 'contest',\n 'context',\n 'contort',\n 'contour',\n 'contrite',\n 'control',\n 'contusion',\n 'convene',\n 'convent',\n 'copartner',\n 'cope',\n 'copied',\n 'copier',\n 'copilot',\n 'coping',\n 'copious',\n 'copper',\n 'copy',\n 'coral',\n 'cork',\n 'cornball',\n 'cornbread',\n 'corncob',\n 'cornea',\n 'corned',\n 'corner',\n 'cornfield',\n 'cornflake',\n 'cornhusk',\n 'cornmeal',\n 'cornstalk',\n 'corny',\n 'coronary',\n 'coroner',\n 'corporal',\n 'corporate',\n 'corral',\n 'correct',\n 'corridor',\n 'corrode',\n 'corroding',\n 'corrosive',\n 'corsage',\n 'corset',\n 'cortex',\n 'cosigner',\n 'cosmetics',\n 'cosmic',\n 'cosmos',\n 'cosponsor',\n 'cost',\n 'cottage',\n 'cotton',\n 'couch',\n 'cough',\n 'could',\n 'countable',\n 'countdown',\n 'counting',\n 'countless',\n 'country',\n 'county',\n 'courier',\n 'covenant',\n 'cover',\n 'coveted',\n 'coveting',\n 'coyness',\n 'cozily',\n 'coziness',\n 'cozy',\n 'crabbing',\n 'crabgrass',\n 'crablike',\n 'crabmeat',\n 'cradle',\n 'cradling',\n 'crafter',\n 'craftily',\n 'craftsman',\n 'craftwork',\n 'crafty',\n 'cramp',\n 'cranberry',\n 'crane',\n 'cranial',\n 'cranium',\n 'crank',\n 'crate',\n 'crave',\n 'craving',\n 'crawfish',\n 'crawlers',\n 'crawling',\n 'crayfish',\n 'crayon',\n 'crazed',\n 'crazily',\n 'craziness',\n 'crazy',\n 'creamed',\n 'creamer',\n 'creamlike',\n 'crease',\n 'creasing',\n 'creatable',\n 'create',\n 'creation',\n 'creative',\n 'creature',\n 'credible',\n 'credibly',\n 'credit',\n 'creed',\n 'creme',\n 'creole',\n 'crepe',\n 'crept',\n 'crescent',\n 'crested',\n 'cresting',\n 'crestless',\n 'crevice',\n 'crewless',\n 'crewman',\n 'crewmate',\n 'crib',\n 'cricket',\n 'cried',\n 'crier',\n 'crimp',\n 'crimson',\n 'cringe',\n 'cringing',\n 'crinkle',\n 'crinkly',\n 'crisped',\n 'crisping',\n 'crisply',\n 'crispness',\n 'crispy',\n 'criteria',\n 'critter',\n 'croak',\n 'crock',\n 'crook',\n 'croon',\n 'crop',\n 'cross',\n 'crouch',\n 'crouton',\n 'crowbar',\n 'crowd',\n 'crown',\n 'crucial',\n 'crudely',\n 'crudeness',\n 'cruelly',\n 'cruelness',\n 'cruelty',\n 'crumb',\n 'crummiest',\n 'crummy',\n 'crumpet',\n 'crumpled',\n 'cruncher',\n 'crunching',\n 'crunchy',\n 'crusader',\n 'crushable',\n 'crushed',\n 'crusher',\n 'crushing',\n 'crust',\n 'crux',\n 'crying',\n 'cryptic',\n 'crystal',\n 'cubbyhole',\n 'cube',\n 'cubical',\n 'cubicle',\n 'cucumber',\n 'cuddle',\n 'cuddly',\n 'cufflink',\n 'culinary',\n 'culminate',\n 'culpable',\n 'culprit',\n 'cultivate',\n 'cultural',\n 'culture',\n 'cupbearer',\n 'cupcake',\n 'cupid',\n 'cupped',\n 'cupping',\n 'curable',\n 'curator',\n 'curdle',\n 'cure',\n 'curfew',\n 'curing',\n 'curled',\n 'curler',\n 'curliness',\n 'curling',\n 'curly',\n 'curry',\n 'curse',\n 'cursive',\n 'cursor',\n 'curtain',\n 'curtly',\n 'curtsy',\n 'curvature',\n 'curve',\n 'curvy',\n 'cushy',\n 'cusp',\n 'cussed',\n 'custard',\n 'custodian',\n 'custody',\n 'customary',\n 'customer',\n 'customize',\n 'customs',\n 'cut',\n 'cycle',\n 'cyclic',\n 'cycling',\n 'cyclist',\n 'cylinder',\n 'cymbal',\n 'cytoplasm',\n 'cytoplast',\n 'dab',\n 'dad',\n 'daffodil',\n 'dagger',\n 'daily',\n 'daintily',\n 'dainty',\n 'dairy',\n 'daisy',\n 'dallying',\n 'dance',\n 'dancing',\n 'dandelion',\n 'dander',\n 'dandruff',\n 'dandy',\n 'danger',\n 'dangle',\n 'dangling',\n 'daredevil',\n 'dares',\n 'daringly',\n 'darkened',\n 'darkening',\n 'darkish',\n 'darkness',\n 'darkroom',\n 'darling',\n 'darn',\n 'dart',\n 'darwinism',\n 'dash',\n 'dastardly',\n 'data',\n 'datebook',\n 'dating',\n 'daughter',\n 'daunting',\n 'dawdler',\n 'dawn',\n 'daybed',\n 'daybreak',\n 'daycare',\n 'daydream',\n 'daylight',\n 'daylong',\n 'dayroom',\n 'daytime',\n 'dazzler',\n 'dazzling',\n 'deacon',\n 'deafening',\n 'deafness',\n 'dealer',\n 'dealing',\n 'dealmaker',\n 'dealt',\n 'dean',\n 'debatable',\n 'debate',\n 'debating',\n 'debit',\n 'debrief',\n 'debtless',\n 'debtor',\n 'debug',\n 'debunk',\n 'decade',\n 'decaf',\n 'decal',\n 'decathlon',\n 'decay',\n 'deceased',\n 'deceit',\n 'deceiver',\n 'deceiving',\n 'december',\n 'decency',\n 'decent',\n 'deception',\n 'deceptive',\n 'decibel',\n 'decidable',\n 'decimal',\n 'decimeter',\n 'decipher',\n 'deck',\n 'declared',\n 'decline',\n 'decode',\n 'decompose',\n 'decorated',\n 'decorator',\n 'decoy',\n 'decrease',\n 'decree',\n 'dedicate',\n 'dedicator',\n 'deduce',\n 'deduct',\n 'deed',\n 'deem',\n 'deepen',\n 'deeply',\n 'deepness',\n 'deface',\n 'defacing',\n 'defame',\n 'default',\n 'defeat',\n 'defection',\n 'defective',\n 'defendant',\n 'defender',\n 'defense',\n 'defensive',\n 'deferral',\n 'deferred',\n 'defiance',\n 'defiant',\n 'defile',\n 'defiling',\n 'define',\n 'definite',\n 'deflate',\n 'deflation',\n 'deflator',\n 'deflected',\n 'deflector',\n 'defog',\n 'deforest',\n 'defraud',\n 'defrost',\n 'deftly',\n 'defuse',\n 'defy',\n 'degraded',\n 'degrading',\n 'degrease',\n 'degree',\n 'dehydrate',\n 'deity',\n 'dejected',\n 'delay',\n 'delegate',\n 'delegator',\n 'delete',\n 'deletion',\n 'delicacy',\n 'delicate',\n 'delicious',\n 'delighted',\n 'delirious',\n 'delirium',\n 'deliverer',\n 'delivery',\n 'delouse',\n 'delta',\n 'deluge',\n 'delusion',\n 'deluxe',\n 'demanding',\n 'demeaning',\n 'demeanor',\n 'demise',\n 'democracy',\n 'democrat',\n 'demote',\n 'demotion',\n 'demystify',\n 'denatured',\n 'deniable',\n 'denial',\n 'denim',\n 'denote',\n 'dense',\n 'density',\n 'dental',\n 'dentist',\n 'denture',\n 'deny',\n 'deodorant',\n 'deodorize',\n 'departed',\n 'departure',\n 'depict',\n 'deplete',\n 'depletion',\n 'deplored',\n 'deploy',\n 'deport',\n 'depose',\n 'depraved',\n 'depravity',\n 'deprecate',\n 'depress',\n 'deprive',\n 'depth',\n 'deputize',\n 'deputy',\n 'derail',\n 'deranged',\n 'derby',\n 'derived',\n 'desecrate',\n 'deserve',\n 'deserving',\n 'designate',\n 'designed',\n 'designer',\n 'designing',\n 'deskbound',\n 'desktop',\n 'deskwork',\n 'desolate',\n 'despair',\n 'despise',\n 'despite',\n 'destiny',\n 'destitute',\n 'destruct',\n 'detached',\n 'detail',\n 'detection',\n 'detective',\n 'detector',\n 'detention',\n 'detergent',\n 'detest',\n 'detonate',\n 'detonator',\n 'detoxify',\n 'detract',\n 'deuce',\n 'devalue',\n 'deviancy',\n 'deviant',\n 'deviate',\n 'deviation',\n 'deviator',\n 'device',\n 'devious',\n 'devotedly',\n 'devotee',\n 'devotion',\n 'devourer',\n 'devouring',\n 'devoutly',\n 'dexterity',\n 'dexterous',\n 'diabetes',\n 'diabetic',\n 'diabolic',\n 'diagnoses',\n 'diagnosis',\n 'diagram',\n 'dial',\n 'diameter',\n 'diaper',\n 'diaphragm',\n 'diary',\n 'dice',\n 'dicing',\n 'dictate',\n 'dictation',\n 'dictator',\n 'difficult',\n 'diffused',\n 'diffuser',\n 'diffusion',\n 'diffusive',\n 'dig',\n 'dilation',\n 'diligence',\n 'diligent',\n 'dill',\n 'dilute',\n 'dime',\n 'diminish',\n 'dimly',\n 'dimmed',\n 'dimmer',\n 'dimness',\n 'dimple',\n 'diner',\n 'dingbat',\n 'dinghy',\n 'dinginess',\n 'dingo',\n 'dingy',\n 'dining',\n 'dinner',\n 'diocese',\n 'dioxide',\n 'diploma',\n 'dipped',\n 'dipper',\n 'dipping',\n 'directed',\n 'direction',\n 'directive',\n 'directly',\n 'directory',\n 'direness',\n 'dirtiness',\n 'disabled',\n 'disagree',\n 'disallow',\n 'disarm',\n 'disarray',\n 'disaster',\n 'disband',\n 'disbelief',\n 'disburse',\n 'discard',\n 'discern',\n 'discharge',\n 'disclose',\n 'discolor',\n 'discount',\n 'discourse',\n 'discover',\n 'discuss',\n 'disdain',\n 'disengage',\n 'disfigure',\n 'disgrace',\n 'dish',\n 'disinfect',\n 'disjoin',\n 'disk',\n 'dislike',\n 'disliking',\n 'dislocate',\n 'dislodge',\n 'disloyal',\n 'dismantle',\n 'dismay',\n 'dismiss',\n 'dismount',\n 'disobey',\n 'disorder',\n 'disown',\n 'disparate',\n 'disparity',\n 'dispatch',\n 'dispense',\n 'dispersal',\n 'dispersed',\n 'disperser',\n 'displace',\n 'display',\n 'displease',\n 'disposal',\n 'dispose',\n 'disprove',\n 'dispute',\n 'disregard',\n 'disrupt',\n 'dissuade',\n 'distance',\n 'distant',\n 'distaste',\n 'distill',\n 'distinct',\n 'distort',\n 'distract',\n 'distress',\n 'district',\n 'distrust',\n 'ditch',\n 'ditto',\n 'ditzy',\n 'dividable',\n 'divided',\n 'dividend',\n 'dividers',\n 'dividing',\n 'divinely',\n 'diving',\n 'divinity',\n 'divisible',\n 'divisibly',\n 'division',\n 'divisive',\n 'divorcee',\n 'dizziness',\n 'dizzy',\n 'doable',\n 'docile',\n 'dock',\n 'doctrine',\n 'document',\n 'dodge',\n 'dodgy',\n 'doily',\n 'doing',\n 'dole',\n 'dollar',\n 'dollhouse',\n 'dollop',\n 'dolly',\n 'dolphin',\n 'domain',\n 'domelike',\n 'domestic',\n 'dominion',\n 'dominoes',\n 'donated',\n 'donation',\n 'donator',\n 'donor',\n 'donut',\n 'doodle',\n 'doorbell',\n 'doorframe',\n 'doorknob',\n 'doorman',\n 'doormat',\n 'doornail',\n 'doorpost',\n 'doorstep',\n 'doorstop',\n 'doorway',\n 'doozy',\n 'dork',\n 'dormitory',\n 'dorsal',\n 'dosage',\n 'dose',\n 'dotted',\n 'doubling',\n 'douche',\n 'dove',\n 'down',\n 'dowry',\n 'doze',\n 'drab',\n 'dragging',\n 'dragonfly',\n 'dragonish',\n 'dragster',\n 'drainable',\n 'drainage',\n 'drained',\n 'drainer',\n 'drainpipe',\n 'dramatic',\n 'dramatize',\n 'drank',\n 'drapery',\n 'drastic',\n 'draw',\n 'dreaded',\n 'dreadful',\n 'dreadlock',\n 'dreamboat',\n 'dreamily',\n 'dreamland',\n 'dreamless',\n 'dreamlike',\n 'dreamt',\n 'dreamy',\n 'drearily',\n 'dreary',\n 'drench',\n 'dress',\n 'drew',\n 'dribble',\n 'dried',\n 'drier',\n 'drift',\n 'driller',\n 'drilling',\n 'drinkable',\n 'drinking',\n 'dripping',\n 'drippy',\n 'drivable',\n 'driven',\n 'driver',\n 'driveway',\n 'driving',\n 'drizzle',\n 'drizzly',\n 'drone',\n 'drool',\n 'droop',\n 'drop-down',\n 'dropbox',\n 'dropkick',\n 'droplet',\n 'dropout',\n 'dropper',\n 'drove',\n 'drown',\n 'drowsily',\n 'drudge',\n 'drum',\n 'dry',\n 'dubbed',\n 'dubiously',\n 'duchess',\n 'duckbill',\n 'ducking',\n 'duckling',\n 'ducktail',\n 'ducky',\n 'duct',\n 'dude',\n 'duffel',\n 'dugout',\n 'duh',\n 'duke',\n 'duller',\n 'dullness',\n 'duly',\n 'dumping',\n 'dumpling',\n 'dumpster',\n 'duo',\n 'dupe',\n 'duplex',\n 'duplicate',\n 'duplicity',\n 'durable',\n 'durably',\n 'duration',\n 'duress',\n 'during',\n 'dusk',\n 'dust',\n 'dutiful',\n 'duty',\n 'duvet',\n 'dwarf',\n 'dweeb',\n 'dwelled',\n 'dweller',\n 'dwelling',\n 'dwindle',\n 'dwindling',\n 'dynamic',\n 'dynamite',\n 'dynasty',\n 'dyslexia',\n 'dyslexic',\n 'each',\n 'eagle',\n 'earache',\n 'eardrum',\n 'earflap',\n 'earful',\n 'earlobe',\n 'early',\n 'earmark',\n 'earmuff',\n 'earphone',\n 'earpiece',\n 'earplugs',\n 'earring',\n 'earshot',\n 'earthen',\n 'earthlike',\n 'earthling',\n 'earthly',\n 'earthworm',\n 'earthy',\n 'earwig',\n 'easeful',\n 'easel',\n 'easiest',\n 'easily',\n 'easiness',\n 'easing',\n 'eastbound',\n 'eastcoast',\n 'easter',\n 'eastward',\n 'eatable',\n 'eaten',\n 'eatery',\n 'eating',\n 'eats',\n 'ebay',\n 'ebony',\n 'ebook',\n 'ecard',\n 'eccentric',\n 'echo',\n 'eclair',\n 'eclipse',\n 'ecologist',\n 'ecology',\n 'economic',\n 'economist',\n 'economy',\n 'ecosphere',\n 'ecosystem',\n 'edge',\n 'edginess',\n 'edging',\n 'edgy',\n 'edition',\n 'editor',\n 'educated',\n 'education',\n 'educator',\n 'eel',\n 'effective',\n 'effects',\n 'efficient',\n 'effort',\n 'eggbeater',\n 'egging',\n 'eggnog',\n 'eggplant',\n 'eggshell',\n 'egomaniac',\n 'egotism',\n 'egotistic',\n 'either',\n 'eject',\n 'elaborate',\n 'elastic',\n 'elated',\n 'elbow',\n 'eldercare',\n 'elderly',\n 'eldest',\n 'electable',\n 'election',\n 'elective',\n 'elephant',\n 'elevate',\n 'elevating',\n 'elevation',\n 'elevator',\n 'eleven',\n 'elf',\n 'eligible',\n 'eligibly',\n 'eliminate',\n 'elite',\n 'elitism',\n 'elixir',\n 'elk',\n 'ellipse',\n 'elliptic',\n 'elm',\n 'elongated',\n 'elope',\n 'eloquence',\n 'eloquent',\n 'elsewhere',\n 'elude',\n 'elusive',\n 'elves',\n 'email',\n 'embargo',\n 'embark',\n 'embassy',\n 'embattled',\n 'embellish',\n 'ember',\n 'embezzle',\n 'emblaze',\n 'emblem',\n 'embody',\n 'embolism',\n 'emboss',\n 'embroider',\n 'emcee',\n 'emerald',\n 'emergency',\n 'emission',\n 'emit',\n 'emote',\n 'emoticon',\n 'emotion',\n 'empathic',\n 'empathy',\n 'emperor',\n 'emphases',\n 'emphasis',\n 'emphasize',\n 'emphatic',\n 'empirical',\n 'employed',\n 'employee',\n 'employer',\n 'emporium',\n 'empower',\n 'emptier',\n 'emptiness',\n 'empty',\n 'emu',\n 'enable',\n 'enactment',\n 'enamel',\n 'enchanted',\n 'enchilada',\n 'encircle',\n 'enclose',\n 'enclosure',\n 'encode',\n 'encore',\n 'encounter',\n 'encourage',\n 'encroach',\n 'encrust',\n 'encrypt',\n 'endanger',\n 'endeared',\n 'endearing',\n 'ended',\n 'ending',\n 'endless',\n 'endnote',\n 'endocrine',\n 'endorphin',\n 'endorse',\n 'endowment',\n 'endpoint',\n 'endurable',\n 'endurance',\n 'enduring',\n 'energetic',\n 'energize',\n 'energy',\n 'enforced',\n 'enforcer',\n 'engaged',\n 'engaging',\n 'engine',\n 'engorge',\n 'engraved',\n 'engraver',\n 'engraving',\n 'engross',\n 'engulf',\n 'enhance',\n 'enigmatic',\n 'enjoyable',\n 'enjoyably',\n 'enjoyer',\n 'enjoying',\n 'enjoyment',\n 'enlarged',\n 'enlarging',\n 'enlighten',\n 'enlisted',\n 'enquirer',\n 'enrage',\n 'enrich',\n 'enroll',\n 'enslave',\n 'ensnare',\n 'ensure',\n 'entail',\n 'entangled',\n 'entering',\n 'entertain',\n 'enticing',\n 'entire',\n 'entitle',\n 'entity',\n 'entomb',\n 'entourage',\n 'entrap',\n 'entree',\n 'entrench',\n 'entrust',\n 'entryway',\n 'entwine',\n 'enunciate',\n 'envelope',\n 'enviable',\n 'enviably',\n 'envious',\n 'envision',\n 'envoy',\n 'envy',\n 'enzyme',\n 'epic',\n 'epidemic',\n 'epidermal',\n 'epidermis',\n 'epidural',\n 'epilepsy',\n 'epileptic',\n 'epilogue',\n 'epiphany',\n 'episode',\n 'equal',\n 'equate',\n 'equation',\n 'equator',\n 'equinox',\n 'equipment',\n 'equity',\n 'equivocal',\n 'eradicate',\n 'erasable',\n 'erased',\n 'eraser',\n 'erasure',\n 'ergonomic',\n 'errand',\n 'errant',\n 'erratic',\n 'error',\n 'erupt',\n 'escalate',\n 'escalator',\n 'escapable',\n 'escapade',\n 'escapist',\n 'escargot',\n 'eskimo',\n 'esophagus',\n 'espionage',\n 'espresso',\n 'esquire',\n 'essay',\n 'essence',\n 'essential',\n 'establish',\n 'estate',\n 'esteemed',\n 'estimate',\n 'estimator',\n 'estranged',\n 'estrogen',\n 'etching',\n 'eternal',\n 'eternity',\n 'ethanol',\n 'ether',\n 'ethically',\n 'ethics',\n 'euphemism',\n 'evacuate',\n 'evacuee',\n 'evade',\n 'evaluate',\n 'evaluator',\n 'evaporate',\n 'evasion',\n 'evasive',\n 'even',\n 'everglade',\n 'evergreen',\n 'everybody',\n 'everyday',\n 'everyone',\n 'evict',\n 'evidence',\n 'evident',\n 'evil',\n 'evoke',\n 'evolution',\n 'evolve',\n 'exact',\n 'exalted',\n 'example',\n 'excavate',\n 'excavator',\n 'exceeding',\n 'exception',\n 'excess',\n 'exchange',\n 'excitable',\n 'exciting',\n 'exclaim',\n 'exclude',\n 'excluding',\n 'exclusion',\n 'exclusive',\n 'excretion',\n 'excretory',\n 'excursion',\n 'excusable',\n 'excusably',\n 'excuse',\n 'exemplary',\n 'exemplify',\n 'exemption',\n 'exerciser',\n 'exert',\n 'exes',\n 'exfoliate',\n 'exhale',\n 'exhaust',\n 'exhume',\n 'exile',\n 'existing',\n 'exit',\n 'exodus',\n 'exonerate',\n 'exorcism',\n 'exorcist',\n 'expand',\n 'expanse',\n 'expansion',\n 'expansive',\n 'expectant',\n 'expedited',\n 'expediter',\n 'expel',\n 'expend',\n 'expenses',\n 'expensive',\n 'expert',\n 'expire',\n 'expiring',\n 'explain',\n 'expletive',\n 'explicit',\n 'explode',\n 'exploit',\n 'explore',\n 'exploring',\n 'exponent',\n 'exporter',\n 'exposable',\n 'expose',\n 'exposure',\n 'express',\n 'expulsion',\n 'exquisite',\n 'extended',\n 'extending',\n 'extent',\n 'extenuate',\n 'exterior',\n 'external',\n 'extinct',\n 'extortion',\n 'extradite',\n 'extras',\n 'extrovert',\n 'extrude',\n 'extruding',\n 'exuberant',\n 'fable',\n 'fabric',\n 'fabulous',\n 'facebook',\n 'facecloth',\n 'facedown',\n 'faceless',\n 'facelift',\n 'faceplate',\n 'faceted',\n 'facial',\n 'facility',\n 'facing',\n 'facsimile',\n 'faction',\n 'factoid',\n 'factor',\n 'factsheet',\n 'factual',\n 'faculty',\n 'fade',\n 'fading',\n 'failing',\n 'falcon',\n 'fall',\n 'false',\n 'falsify',\n 'fame',\n 'familiar',\n 'family',\n 'famine',\n 'famished',\n 'fanatic',\n 'fancied',\n 'fanciness',\n 'fancy',\n 'fanfare',\n 'fang',\n 'fanning',\n 'fantasize',\n 'fantastic',\n 'fantasy',\n 'fascism',\n 'fastball',\n 'faster',\n 'fasting',\n 'fastness',\n 'faucet',\n 'favorable',\n 'favorably',\n 'favored',\n 'favoring',\n 'favorite',\n 'fax',\n 'feast',\n 'federal',\n 'fedora',\n 'feeble',\n 'feed',\n 'feel',\n 'feisty',\n 'feline',\n 'felt-tip',\n 'feminine',\n 'feminism',\n 'feminist',\n 'feminize',\n 'femur',\n 'fence',\n 'fencing',\n 'fender',\n 'ferment',\n 'fernlike',\n 'ferocious',\n 'ferocity',\n 'ferret',\n 'ferris',\n 'ferry',\n 'fervor',\n 'fester',\n 'festival',\n 'festive',\n 'festivity',\n 'fetal',\n 'fetch',\n 'fever',\n 'fiber',\n 'fiction',\n 'fiddle',\n 'fiddling',\n 'fidelity',\n 'fidgeting',\n 'fidgety',\n 'fifteen',\n 'fifth',\n 'fiftieth',\n 'fifty',\n 'figment',\n 'figure',\n 'figurine',\n 'filing',\n 'filled',\n 'filler',\n 'filling',\n 'film',\n 'filter',\n 'filth',\n 'filtrate',\n 'finale',\n 'finalist',\n 'finalize',\n 'finally',\n 'finance',\n 'financial',\n 'finch',\n 'fineness',\n 'finer',\n 'finicky',\n 'finished',\n 'finisher',\n 'finishing',\n 'finite',\n 'finless',\n 'finlike',\n 'fiscally',\n 'fit',\n 'five',\n 'flaccid',\n 'flagman',\n 'flagpole',\n 'flagship',\n 'flagstick',\n 'flagstone',\n 'flail',\n 'flakily',\n 'flaky',\n 'flame',\n 'flammable',\n 'flanked',\n 'flanking',\n 'flannels',\n 'flap',\n 'flaring',\n 'flashback',\n 'flashbulb',\n 'flashcard',\n 'flashily',\n 'flashing',\n 'flashy',\n 'flask',\n 'flatbed',\n 'flatfoot',\n 'flatly',\n 'flatness',\n 'flatten',\n 'flattered',\n 'flatterer',\n 'flattery',\n 'flattop',\n 'flatware',\n 'flatworm',\n 'flavored',\n 'flavorful',\n 'flavoring',\n 'flaxseed',\n 'fled',\n 'fleshed',\n 'fleshy',\n 'flick',\n 'flier',\n 'flight',\n 'flinch',\n 'fling',\n 'flint',\n 'flip',\n 'flirt',\n 'float',\n 'flock',\n 'flogging',\n 'flop',\n 'floral',\n 'florist',\n 'floss',\n 'flounder',\n 'flyable',\n 'flyaway',\n 'flyer',\n 'flying',\n 'flyover',\n 'flypaper',\n 'foam',\n 'foe',\n 'fog',\n 'foil',\n 'folic',\n 'folk',\n 'follicle',\n 'follow',\n 'fondling',\n 'fondly',\n 'fondness',\n 'fondue',\n 'font',\n 'food',\n 'fool',\n 'footage',\n 'football',\n 'footbath',\n 'footboard',\n 'footer',\n 'footgear',\n 'foothill',\n 'foothold',\n 'footing',\n 'footless',\n 'footman',\n 'footnote',\n 'footpad',\n 'footpath',\n 'footprint',\n 'footrest',\n 'footsie',\n 'footsore',\n 'footwear',\n 'footwork',\n 'fossil',\n 'foster',\n 'founder',\n 'founding',\n 'fountain',\n 'fox',\n 'foyer',\n 'fraction',\n 'fracture',\n 'fragile',\n 'fragility',\n 'fragment',\n 'fragrance',\n 'fragrant',\n 'frail',\n 'frame',\n 'framing',\n 'frantic',\n 'fraternal',\n 'frayed',\n 'fraying',\n 'frays',\n 'freckled',\n 'freckles',\n 'freebase',\n 'freebee',\n 'freebie',\n 'freedom',\n 'freefall',\n 'freehand',\n 'freeing',\n 'freeload',\n 'freely',\n 'freemason',\n 'freeness',\n 'freestyle',\n 'freeware',\n 'freeway',\n 'freewill',\n 'freezable',\n 'freezing',\n 'freight',\n 'french',\n 'frenzied',\n 'frenzy',\n 'frequency',\n 'frequent',\n 'fresh',\n 'fretful',\n 'fretted',\n 'friction',\n 'friday',\n 'fridge',\n 'fried',\n 'friend',\n 'frighten',\n 'frightful',\n 'frigidity',\n 'frigidly',\n 'frill',\n 'fringe',\n 'frisbee',\n 'frisk',\n 'fritter',\n 'frivolous',\n 'frolic',\n 'from',\n 'front',\n 'frostbite',\n 'frosted',\n 'frostily',\n 'frosting',\n 'frostlike',\n 'frosty',\n 'froth',\n 'frown',\n 'frozen',\n 'fructose',\n 'frugality',\n 'frugally',\n 'fruit',\n 'frustrate',\n 'frying',\n 'gab',\n 'gaffe',\n 'gag',\n 'gainfully',\n 'gaining',\n 'gains',\n 'gala',\n 'gallantly',\n 'galleria',\n 'gallery',\n 'galley',\n 'gallon',\n 'gallows',\n 'gallstone',\n 'galore',\n 'galvanize',\n 'gambling',\n 'game',\n 'gaming',\n 'gamma',\n 'gander',\n 'gangly',\n 'gangrene',\n 'gangway',\n 'gap',\n 'garage',\n 'garbage',\n 'garden',\n 'gargle',\n 'garland',\n 'garlic',\n 'garment',\n 'garnet',\n 'garnish',\n 'garter',\n 'gas',\n 'gatherer',\n 'gathering',\n 'gating',\n 'gauging',\n 'gauntlet',\n 'gauze',\n 'gave',\n 'gawk',\n 'gazing',\n 'gear',\n 'gecko',\n 'geek',\n 'geiger',\n 'gem',\n 'gender',\n 'generic',\n 'generous',\n 'genetics',\n 'genre',\n 'gentile',\n 'gentleman',\n 'gently',\n 'gents',\n 'geography',\n 'geologic',\n 'geologist',\n 'geology',\n 'geometric',\n 'geometry',\n 'geranium',\n 'gerbil',\n 'geriatric',\n 'germicide',\n 'germinate',\n 'germless',\n 'germproof',\n 'gestate',\n 'gestation',\n 'gesture',\n 'getaway',\n 'getting',\n 'getup',\n 'giant',\n 'gibberish',\n 'giblet',\n 'giddily',\n 'giddiness',\n 'giddy',\n 'gift',\n 'gigabyte',\n 'gigahertz',\n 'gigantic',\n 'giggle',\n 'giggling',\n 'giggly',\n 'gigolo',\n 'gilled',\n 'gills',\n 'gimmick',\n 'girdle',\n 'giveaway',\n 'given',\n 'giver',\n 'giving',\n 'gizmo',\n 'gizzard',\n 'glacial',\n 'glacier',\n 'glade',\n 'gladiator',\n 'gladly',\n 'glamorous',\n 'glamour',\n 'glance',\n 'glancing',\n 'glandular',\n 'glare',\n 'glaring',\n 'glass',\n 'glaucoma',\n 'glazing',\n 'gleaming',\n 'gleeful',\n 'glider',\n 'gliding',\n 'glimmer',\n 'glimpse',\n 'glisten',\n 'glitch',\n 'glitter',\n 'glitzy',\n 'gloater',\n 'gloating',\n 'gloomily',\n 'gloomy',\n 'glorified',\n 'glorifier',\n 'glorify',\n 'glorious',\n 'glory',\n 'gloss',\n 'glove',\n 'glowing',\n 'glowworm',\n 'glucose',\n 'glue',\n 'gluten',\n 'glutinous',\n 'glutton',\n 'gnarly',\n 'gnat',\n 'goal',\n 'goatskin',\n 'goes',\n 'goggles',\n 'going',\n 'goldfish',\n 'goldmine',\n 'goldsmith',\n 'golf',\n 'goliath',\n 'gonad',\n 'gondola',\n 'gone',\n 'gong',\n 'good',\n 'gooey',\n 'goofball',\n 'goofiness',\n 'goofy',\n 'google',\n 'goon',\n 'gopher',\n 'gore',\n 'gorged',\n 'gorgeous',\n 'gory',\n 'gosling',\n 'gossip',\n 'gothic',\n 'gotten',\n 'gout',\n 'gown',\n 'grab',\n 'graceful',\n 'graceless',\n 'gracious',\n 'gradation',\n 'graded',\n 'grader',\n 'gradient',\n 'grading',\n 'gradually',\n 'graduate',\n 'graffiti',\n 'grafted',\n 'grafting',\n 'grain',\n 'granddad',\n 'grandkid',\n 'grandly',\n 'grandma',\n 'grandpa',\n 'grandson',\n 'granite',\n 'granny',\n 'granola',\n 'grant',\n 'granular',\n 'grape',\n 'graph',\n 'grapple',\n 'grappling',\n 'grasp',\n 'grass',\n 'gratified',\n 'gratify',\n 'grating',\n 'gratitude',\n 'gratuity',\n 'gravel',\n 'graveness',\n 'graves',\n 'graveyard',\n 'gravitate',\n 'gravity',\n 'gravy',\n 'gray',\n 'grazing',\n 'greasily',\n 'greedily',\n 'greedless',\n 'greedy',\n 'green',\n 'greeter',\n 'greeting',\n 'grew',\n 'greyhound',\n 'grid',\n 'grief',\n 'grievance',\n 'grieving',\n 'grievous',\n 'grill',\n 'grimace',\n 'grimacing',\n 'grime',\n 'griminess',\n 'grimy',\n 'grinch',\n 'grinning',\n 'grip',\n 'gristle',\n 'grit',\n 'groggily',\n 'groggy',\n 'groin',\n 'groom',\n 'groove',\n 'grooving',\n 'groovy',\n 'grope',\n 'ground',\n 'grouped',\n 'grout',\n 'grove',\n 'grower',\n 'growing',\n 'growl',\n 'grub',\n 'grudge',\n 'grudging',\n 'grueling',\n 'gruffly',\n 'grumble',\n 'grumbling',\n 'grumbly',\n 'grumpily',\n 'grunge',\n 'grunt',\n 'guacamole',\n 'guidable',\n 'guidance',\n 'guide',\n 'guiding',\n 'guileless',\n 'guise',\n 'gulf',\n 'gullible',\n 'gully',\n 'gulp',\n 'gumball',\n 'gumdrop',\n 'gumminess',\n 'gumming',\n 'gummy',\n 'gurgle',\n 'gurgling',\n 'guru',\n 'gush',\n 'gusto',\n 'gusty',\n 'gutless',\n 'guts',\n 'gutter',\n 'guy',\n 'guzzler',\n 'gyration',\n 'habitable',\n 'habitant',\n 'habitat',\n 'habitual',\n 'hacked',\n 'hacker',\n 'hacking',\n 'hacksaw',\n 'had',\n 'haggler',\n 'haiku',\n 'half',\n 'halogen',\n 'halt',\n 'halved',\n 'halves',\n 'hamburger',\n 'hamlet',\n 'hammock',\n 'hamper',\n 'hamster',\n 'hamstring',\n 'handbag',\n 'handball',\n 'handbook',\n 'handbrake',\n 'handcart',\n 'handclap',\n 'handclasp',\n 'handcraft',\n 'handcuff',\n 'handed',\n 'handful',\n 'handgrip',\n 'handgun',\n 'handheld',\n 'handiness',\n 'handiwork',\n 'handlebar',\n 'handled',\n 'handler',\n 'handling',\n 'handmade',\n 'handoff',\n 'handpick',\n 'handprint',\n 'handrail',\n 'handsaw',\n 'handset',\n 'handsfree',\n 'handshake',\n 'handstand',\n 'handwash',\n 'handwork',\n 'handwoven',\n 'handwrite',\n 'handyman',\n 'hangnail',\n 'hangout',\n 'hangover',\n 'hangup',\n 'hankering',\n 'hankie',\n 'hanky',\n 'haphazard',\n 'happening',\n 'happier',\n 'happiest',\n 'happily',\n 'happiness',\n 'happy',\n 'harbor',\n 'hardcopy',\n 'hardcore',\n 'hardcover',\n 'harddisk',\n 'hardened',\n 'hardener',\n 'hardening',\n 'hardhat',\n 'hardhead',\n 'hardiness',\n 'hardly',\n 'hardness',\n 'hardship',\n 'hardware',\n 'hardwired',\n 'hardwood',\n 'hardy',\n 'harmful',\n 'harmless',\n 'harmonica',\n 'harmonics',\n 'harmonize',\n 'harmony',\n 'harness',\n 'harpist',\n 'harsh',\n 'harvest',\n 'hash',\n 'hassle',\n 'haste',\n 'hastily',\n 'hastiness',\n 'hasty',\n 'hatbox',\n 'hatchback',\n 'hatchery',\n 'hatchet',\n 'hatching',\n 'hatchling',\n 'hate',\n 'hatless',\n 'hatred',\n 'haunt',\n 'haven',\n 'hazard',\n 'hazelnut',\n 'hazily',\n 'haziness',\n 'hazing',\n 'hazy',\n 'headache',\n 'headband',\n 'headboard',\n 'headcount',\n 'headdress',\n 'headed',\n 'header',\n 'headfirst',\n 'headgear',\n 'heading',\n 'headlamp',\n 'headless',\n 'headlock',\n 'headphone',\n 'headpiece',\n 'headrest',\n 'headroom',\n 'headscarf',\n 'headset',\n 'headsman',\n 'headstand',\n 'headstone',\n 'headway',\n 'headwear',\n 'heap',\n 'heat',\n 'heave',\n 'heavily',\n 'heaviness',\n 'heaving',\n 'hedge',\n 'hedging',\n 'heftiness',\n 'hefty',\n 'helium',\n 'helmet',\n 'helper',\n 'helpful',\n 'helping',\n 'helpless',\n 'helpline',\n 'hemlock',\n 'hemstitch',\n 'hence',\n 'henchman',\n 'henna',\n 'herald',\n 'herbal',\n 'herbicide',\n 'herbs',\n 'heritage',\n 'hermit',\n 'heroics',\n 'heroism',\n 'herring',\n 'herself',\n 'hertz',\n 'hesitancy',\n 'hesitant',\n 'hesitate',\n 'hexagon',\n 'hexagram',\n 'hubcap',\n 'huddle',\n 'huddling',\n 'huff',\n 'hug',\n 'hula',\n 'hulk',\n 'hull',\n 'human',\n 'humble',\n 'humbling',\n 'humbly',\n 'humid',\n 'humiliate',\n 'humility',\n 'humming',\n 'hummus',\n 'humongous',\n 'humorist',\n 'humorless',\n 'humorous',\n 'humpback',\n 'humped',\n 'humvee',\n 'hunchback',\n 'hundredth',\n 'hunger',\n 'hungrily',\n 'hungry',\n 'hunk',\n 'hunter',\n 'hunting',\n 'huntress',\n 'huntsman',\n 'hurdle',\n 'hurled',\n 'hurler',\n 'hurling',\n 'hurray',\n 'hurricane',\n 'hurried',\n 'hurry',\n 'hurt',\n 'husband',\n 'hush',\n 'husked',\n 'huskiness',\n 'hut',\n 'hybrid',\n 'hydrant',\n 'hydrated',\n 'hydration',\n 'hydrogen',\n 'hydroxide',\n 'hyperlink',\n 'hypertext',\n 'hyphen',\n 'hypnoses',\n 'hypnosis',\n 'hypnotic',\n 'hypnotism',\n 'hypnotist',\n 'hypnotize',\n 'hypocrisy',\n 'hypocrite',\n 'ibuprofen',\n 'ice',\n 'iciness',\n 'icing',\n 'icky',\n 'icon',\n 'icy',\n 'idealism',\n 'idealist',\n 'idealize',\n 'ideally',\n 'idealness',\n 'identical',\n 'identify',\n 'identity',\n 'ideology',\n 'idiocy',\n 'idiom',\n 'idly',\n 'igloo',\n 'ignition',\n 'ignore',\n 'iguana',\n 'illicitly',\n 'illusion',\n 'illusive',\n 'image',\n 'imaginary',\n 'imagines',\n 'imaging',\n 'imbecile',\n 'imitate',\n 'imitation',\n 'immature',\n 'immerse',\n 'immersion',\n 'imminent',\n 'immobile',\n 'immodest',\n 'immorally',\n 'immortal',\n 'immovable',\n 'immovably',\n 'immunity',\n 'immunize',\n 'impaired',\n 'impale',\n 'impart',\n 'impatient',\n 'impeach',\n 'impeding',\n 'impending',\n 'imperfect',\n 'imperial',\n 'impish',\n 'implant',\n 'implement',\n 'implicate',\n 'implicit',\n 'implode',\n 'implosion',\n 'implosive',\n 'imply',\n 'impolite',\n 'important',\n 'importer',\n 'impose',\n 'imposing',\n 'impotence',\n 'impotency',\n 'impotent',\n 'impound',\n 'imprecise',\n 'imprint',\n 'imprison',\n 'impromptu',\n 'improper',\n 'improve',\n 'improving',\n 'improvise',\n 'imprudent',\n 'impulse',\n 'impulsive',\n 'impure',\n 'impurity',\n 'iodine',\n 'iodize',\n 'ion',\n 'ipad',\n 'iphone',\n 'ipod',\n 'irate',\n 'irk',\n 'iron',\n 'irregular',\n 'irrigate',\n 'irritable',\n 'irritably',\n 'irritant',\n 'irritate',\n 'islamic',\n 'islamist',\n 'isolated',\n 'isolating',\n 'isolation',\n 'isotope',\n 'issue',\n 'issuing',\n 'italicize',\n 'italics',\n 'item',\n 'itinerary',\n 'itunes',\n 'ivory',\n 'ivy',\n 'jab',\n 'jackal',\n 'jacket',\n 'jackknife',\n 'jackpot',\n 'jailbird',\n 'jailbreak',\n 'jailer',\n 'jailhouse',\n 'jalapeno',\n 'jam',\n 'janitor',\n 'january',\n 'jargon',\n 'jarring',\n 'jasmine',\n 'jaundice',\n 'jaunt',\n 'java',\n 'jawed',\n 'jawless',\n 'jawline',\n 'jaws',\n 'jaybird',\n 'jaywalker',\n 'jazz',\n 'jeep',\n 'jeeringly',\n 'jellied',\n 'jelly',\n 'jersey',\n 'jester',\n 'jet',\n 'jiffy',\n 'jigsaw',\n 'jimmy',\n 'jingle',\n 'jingling',\n 'jinx',\n 'jitters',\n 'jittery',\n 'job',\n 'jockey',\n 'jockstrap',\n 'jogger',\n 'jogging',\n 'john',\n 'joining',\n 'jokester',\n 'jokingly',\n 'jolliness',\n 'jolly',\n 'jolt',\n 'jot',\n 'jovial',\n 'joyfully',\n 'joylessly',\n 'joyous',\n 'joyride',\n 'joystick',\n 'jubilance',\n 'jubilant',\n 'judge',\n 'judgingly',\n 'judicial',\n 'judiciary',\n 'judo',\n 'juggle',\n 'juggling',\n 'jugular',\n 'juice',\n 'juiciness',\n 'juicy',\n 'jujitsu',\n 'jukebox',\n 'july',\n 'jumble',\n 'jumbo',\n 'jump',\n 'junction',\n 'juncture',\n 'june',\n 'junior',\n 'juniper',\n 'junkie',\n 'junkman',\n 'junkyard',\n 'jurist',\n 'juror',\n 'jury',\n 'justice',\n 'justifier',\n 'justify',\n 'justly',\n 'justness',\n 'juvenile',\n 'kabob',\n 'kangaroo',\n 'karaoke',\n 'karate',\n 'karma',\n 'kebab',\n 'keenly',\n 'keenness',\n 'keep',\n 'keg',\n 'kelp',\n 'kennel',\n 'kept',\n 'kerchief',\n 'kerosene',\n 'kettle',\n 'kick',\n 'kiln',\n 'kilobyte',\n 'kilogram',\n 'kilometer',\n 'kilowatt',\n 'kilt',\n 'kimono',\n 'kindle',\n 'kindling',\n 'kindly',\n 'kindness',\n 'kindred',\n 'kinetic',\n 'kinfolk',\n 'king',\n 'kinship',\n 'kinsman',\n 'kinswoman',\n 'kissable',\n 'kisser',\n 'kissing',\n 'kitchen',\n 'kite',\n 'kitten',\n 'kitty',\n 'kiwi',\n 'kleenex',\n 'knapsack',\n 'knee',\n 'knelt',\n 'knickers',\n 'knoll',\n 'koala',\n 'kooky',\n 'kosher',\n 'krypton',\n 'kudos',\n 'kung',\n 'labored',\n 'laborer',\n 'laboring',\n 'laborious',\n 'labrador',\n 'ladder',\n 'ladies',\n 'ladle',\n 'ladybug',\n 'ladylike',\n 'lagged',\n 'lagging',\n 'lagoon',\n 'lair',\n 'lake',\n 'lance',\n 'landed',\n 'landfall',\n 'landfill',\n 'landing',\n 'landlady',\n 'landless',\n 'landline',\n 'landlord',\n 'landmark',\n 'landmass',\n 'landmine',\n 'landowner',\n 'landscape',\n 'landside',\n 'landslide',\n 'language',\n 'lankiness',\n 'lanky',\n 'lantern',\n 'lapdog',\n 'lapel',\n 'lapped',\n 'lapping',\n 'laptop',\n 'lard',\n 'large',\n 'lark',\n 'lash',\n 'lasso',\n 'last',\n 'latch',\n 'late',\n 'lather',\n 'latitude',\n 'latrine',\n 'latter',\n 'latticed',\n 'launch',\n 'launder',\n 'laundry',\n 'laurel',\n 'lavender',\n 'lavish',\n 'laxative',\n 'lazily',\n 'laziness',\n 'lazy',\n 'lecturer',\n 'left',\n 'legacy',\n 'legal',\n 'legend',\n 'legged',\n 'leggings',\n 'legible',\n 'legibly',\n 'legislate',\n 'lego',\n 'legroom',\n 'legume',\n 'legwarmer',\n 'legwork',\n 'lemon',\n 'lend',\n 'length',\n 'lens',\n 'lent',\n 'leotard',\n 'lesser',\n 'letdown',\n 'lethargic',\n 'lethargy',\n 'letter',\n 'lettuce',\n 'level',\n 'leverage',\n 'levers',\n 'levitate',\n 'levitator',\n 'liability',\n 'liable',\n 'liberty',\n 'librarian',\n 'library',\n 'licking',\n 'licorice',\n 'lid',\n 'life',\n 'lifter',\n 'lifting',\n 'liftoff',\n 'ligament',\n 'likely',\n 'likeness',\n 'likewise',\n 'liking',\n 'lilac',\n 'lilly',\n 'lily',\n 'limb',\n 'limeade',\n 'limelight',\n 'limes',\n 'limit',\n 'limping',\n 'limpness',\n 'line',\n 'lingo',\n 'linguini',\n 'linguist',\n 'lining',\n 'linked',\n 'linoleum',\n 'linseed',\n 'lint',\n 'lion',\n 'lip',\n 'liquefy',\n 'liqueur',\n 'liquid',\n 'lisp',\n 'list',\n 'litigate',\n 'litigator',\n 'litmus',\n 'litter',\n 'little',\n 'livable',\n 'lived',\n 'lively',\n 'liver',\n 'livestock',\n 'lividly',\n 'living',\n 'lizard',\n 'lubricant',\n 'lubricate',\n 'lucid',\n 'luckily',\n 'luckiness',\n 'luckless',\n 'lucrative',\n 'ludicrous',\n 'lugged',\n 'lukewarm',\n 'lullaby',\n 'lumber',\n 'luminance',\n 'luminous',\n 'lumpiness',\n 'lumping',\n 'lumpish',\n 'lunacy',\n 'lunar',\n 'lunchbox',\n 'luncheon',\n 'lunchroom',\n 'lunchtime',\n 'lung',\n 'lurch',\n 'lure',\n 'luridness',\n 'lurk',\n 'lushly',\n 'lushness',\n 'luster',\n 'lustfully',\n 'lustily',\n 'lustiness',\n 'lustrous',\n 'lusty',\n 'luxurious',\n 'luxury',\n 'lying',\n 'lyrically',\n 'lyricism',\n 'lyricist',\n 'lyrics',\n 'macarena',\n 'macaroni',\n 'macaw',\n 'mace',\n 'machine',\n 'machinist',\n 'magazine',\n 'magenta',\n 'maggot',\n 'magical',\n 'magician',\n 'magma',\n 'magnesium',\n 'magnetic',\n 'magnetism',\n 'magnetize',\n 'magnifier',\n 'magnify',\n 'magnitude',\n 'magnolia',\n 'mahogany',\n 'maimed',\n 'majestic',\n 'majesty',\n 'majorette',\n 'majority',\n 'makeover',\n 'maker',\n 'makeshift',\n 'making',\n 'malformed',\n 'malt',\n 'mama',\n 'mammal',\n 'mammary',\n 'mammogram',\n 'manager',\n 'managing',\n 'manatee',\n 'mandarin',\n 'mandate',\n 'mandatory',\n 'mandolin',\n 'manger',\n 'mangle',\n 'mango',\n 'mangy',\n 'manhandle',\n 'manhole',\n 'manhood',\n 'manhunt',\n 'manicotti',\n 'manicure',\n 'manifesto',\n 'manila',\n 'mankind',\n 'manlike',\n 'manliness',\n 'manly',\n 'manmade',\n 'manned',\n 'mannish',\n 'manor',\n 'manpower',\n 'mantis',\n 'mantra',\n 'manual',\n 'many',\n 'map',\n 'marathon',\n 'marauding',\n 'marbled',\n 'marbles',\n 'marbling',\n 'march',\n 'mardi',\n 'margarine',\n 'margarita',\n 'margin',\n 'marigold',\n 'marina',\n 'marine',\n 'marital',\n 'maritime',\n 'marlin',\n 'marmalade',\n 'maroon',\n 'married',\n 'marrow',\n 'marry',\n 'marshland',\n 'marshy',\n 'marsupial',\n 'marvelous',\n 'marxism',\n 'mascot',\n 'masculine',\n 'mashed',\n 'mashing',\n 'massager',\n 'masses',\n 'massive',\n 'mastiff',\n 'matador',\n 'matchbook',\n 'matchbox',\n 'matcher',\n 'matching',\n 'matchless',\n 'material',\n 'maternal',\n 'maternity',\n 'math',\n 'mating',\n 'matriarch',\n 'matrimony',\n 'matrix',\n 'matron',\n 'matted',\n 'matter',\n 'maturely',\n 'maturing',\n 'maturity',\n 'mauve',\n 'maverick',\n 'maximize',\n 'maximum',\n 'maybe',\n 'mayday',\n 'mayflower',\n 'moaner',\n 'moaning',\n 'mobile',\n 'mobility',\n 'mobilize',\n 'mobster',\n 'mocha',\n 'mocker',\n 'mockup',\n 'modified',\n 'modify',\n 'modular',\n 'modulator',\n 'module',\n 'moisten',\n 'moistness',\n 'moisture',\n 'molar',\n 'molasses',\n 'mold',\n 'molecular',\n 'molecule',\n 'molehill',\n 'mollusk',\n 'mom',\n 'monastery',\n 'monday',\n 'monetary',\n 'monetize',\n 'moneybags',\n 'moneyless',\n 'moneywise',\n 'mongoose',\n 'mongrel',\n 'monitor',\n 'monkhood',\n 'monogamy',\n 'monogram',\n 'monologue',\n 'monopoly',\n 'monorail',\n 'monotone',\n 'monotype',\n 'monoxide',\n 'monsieur',\n 'monsoon',\n 'monstrous',\n 'monthly',\n 'monument',\n 'moocher',\n 'moodiness',\n 'moody',\n 'mooing',\n 'moonbeam',\n 'mooned',\n 'moonlight',\n 'moonlike',\n 'moonlit',\n 'moonrise',\n 'moonscape',\n 'moonshine',\n 'moonstone',\n 'moonwalk',\n 'mop',\n 'morale',\n 'morality',\n 'morally',\n 'morbidity',\n 'morbidly',\n 'morphine',\n 'morphing',\n 'morse',\n 'mortality',\n 'mortally',\n 'mortician',\n 'mortified',\n 'mortify',\n 'mortuary',\n 'mosaic',\n 'mossy',\n 'most',\n 'mothball',\n 'mothproof',\n 'motion',\n 'motivate',\n 'motivator',\n 'motive',\n 'motocross',\n 'motor',\n 'motto',\n 'mountable',\n 'mountain',\n 'mounted',\n 'mounting',\n 'mourner',\n 'mournful',\n 'mouse',\n 'mousiness',\n 'moustache',\n 'mousy',\n 'mouth',\n 'movable',\n 'move',\n 'movie',\n 'moving',\n 'mower',\n 'mowing',\n 'much',\n 'muck',\n 'mud',\n 'mug',\n 'mulberry',\n 'mulch',\n 'mule',\n 'mulled',\n 'mullets',\n 'multiple',\n 'multiply',\n 'multitask',\n 'multitude',\n 'mumble',\n 'mumbling',\n 'mumbo',\n 'mummified',\n 'mummify',\n 'mummy',\n 'mumps',\n 'munchkin',\n 'mundane',\n 'municipal',\n 'muppet',\n 'mural',\n 'murkiness',\n 'murky',\n 'murmuring',\n 'muscular',\n 'museum',\n 'mushily',\n 'mushiness',\n 'mushroom',\n 'mushy',\n 'music',\n 'musket',\n 'muskiness',\n 'musky',\n 'mustang',\n 'mustard',\n 'muster',\n 'mustiness',\n 'musty',\n 'mutable',\n 'mutate',\n 'mutation',\n 'mute',\n 'mutilated',\n 'mutilator',\n 'mutiny',\n 'mutt',\n 'mutual',\n 'muzzle',\n 'myself',\n 'myspace',\n 'mystified',\n 'mystify',\n 'myth',\n 'nacho',\n 'nag',\n 'nail',\n 'name',\n 'naming',\n 'nanny',\n 'nanometer',\n 'nape',\n 'napkin',\n 'napped',\n 'napping',\n 'nappy',\n 'narrow',\n 'nastily',\n 'nastiness',\n 'national',\n 'native',\n 'nativity',\n 'natural',\n 'nature',\n 'naturist',\n 'nautical',\n 'navigate',\n 'navigator',\n 'navy',\n 'nearby',\n 'nearest',\n 'nearly',\n 'nearness',\n 'neatly',\n 'neatness',\n 'nebula',\n 'nebulizer',\n 'nectar',\n 'negate',\n 'negation',\n 'negative',\n 'neglector',\n 'negligee',\n 'negligent',\n 'negotiate',\n 'nemeses',\n 'nemesis',\n 'neon',\n 'nephew',\n 'nerd',\n 'nervous',\n 'nervy',\n 'nest',\n 'net',\n 'neurology',\n 'neuron',\n 'neurosis',\n 'neurotic',\n 'neuter',\n 'neutron',\n 'never',\n 'next',\n 'nibble',\n 'nickname',\n 'nicotine',\n 'niece',\n 'nifty',\n 'nimble',\n 'nimbly',\n 'nineteen',\n 'ninetieth',\n 'ninja',\n 'nintendo',\n 'ninth',\n 'nuclear',\n 'nuclei',\n 'nucleus',\n 'nugget',\n 'nullify',\n 'number',\n 'numbing',\n 'numbly',\n 'numbness',\n 'numeral',\n 'numerate',\n 'numerator',\n 'numeric',\n 'numerous',\n 'nuptials',\n 'nursery',\n 'nursing',\n 'nurture',\n 'nutcase',\n 'nutlike',\n 'nutmeg',\n 'nutrient',\n 'nutshell',\n 'nuttiness',\n 'nutty',\n 'nuzzle',\n 'nylon',\n 'oaf',\n 'oak',\n 'oasis',\n 'oat',\n 'obedience',\n 'obedient',\n 'obituary',\n 'object',\n 'obligate',\n 'obliged',\n 'oblivion',\n 'oblivious',\n 'oblong',\n 'obnoxious',\n 'oboe',\n 'obscure',\n 'obscurity',\n 'observant',\n 'observer',\n 'observing',\n 'obsessed',\n 'obsession',\n 'obsessive',\n 'obsolete',\n 'obstacle',\n 'obstinate',\n 'obstruct',\n 'obtain',\n 'obtrusive',\n 'obtuse',\n 'obvious',\n 'occultist',\n 'occupancy',\n 'occupant',\n 'occupier',\n 'occupy',\n 'ocean',\n 'ocelot',\n 'octagon',\n 'octane',\n 'october',\n 'octopus',\n 'ogle',\n 'oil',\n 'oink',\n 'ointment',\n 'okay',\n 'old',\n 'olive',\n 'olympics',\n 'omega',\n 'omen',\n 'ominous',\n 'omission',\n 'omit',\n 'omnivore',\n 'onboard',\n 'oncoming',\n 'ongoing',\n 'onion',\n 'online',\n 'onlooker',\n 'only',\n 'onscreen',\n 'onset',\n 'onshore',\n 'onslaught',\n 'onstage',\n 'onto',\n 'onward',\n 'onyx',\n 'oops',\n 'ooze',\n 'oozy',\n 'opacity',\n 'opal',\n 'open',\n 'operable',\n 'operate',\n 'operating',\n 'operation',\n 'operative',\n 'operator',\n 'opium',\n 'opossum',\n 'opponent',\n 'oppose',\n 'opposing',\n 'opposite',\n 'oppressed',\n 'oppressor',\n 'opt',\n 'opulently',\n 'osmosis',\n 'other',\n 'otter',\n 'ouch',\n 'ought',\n 'ounce',\n 'outage',\n 'outback',\n 'outbid',\n 'outboard',\n 'outbound',\n 'outbreak',\n 'outburst',\n 'outcast',\n 'outclass',\n 'outcome',\n 'outdated',\n 'outdoors',\n 'outer',\n 'outfield',\n 'outfit',\n 'outflank',\n 'outgoing',\n 'outgrow',\n 'outhouse',\n 'outing',\n 'outlast',\n 'outlet',\n 'outline',\n 'outlook',\n 'outlying',\n 'outmatch',\n 'outmost',\n 'outnumber',\n 'outplayed',\n 'outpost',\n 'outpour',\n 'output',\n 'outrage',\n 'outrank',\n 'outreach',\n 'outright',\n 'outscore',\n 'outsell',\n 'outshine',\n 'outshoot',\n 'outsider',\n 'outskirts',\n 'outsmart',\n 'outsource',\n 'outspoken',\n 'outtakes',\n 'outthink',\n 'outward',\n 'outweigh',\n 'outwit',\n 'oval',\n 'ovary',\n 'oven',\n 'overact',\n 'overall',\n 'overarch',\n 'overbid',\n 'overbill',\n 'overbite',\n 'overblown',\n 'overboard',\n 'overbook',\n 'overbuilt',\n 'overcast',\n 'overcoat',\n 'overcome',\n 'overcook',\n 'overcrowd',\n 'overdraft',\n 'overdrawn',\n 'overdress',\n 'overdrive',\n 'overdue',\n 'overeager',\n 'overeater',\n 'overexert',\n 'overfed',\n 'overfeed',\n 'overfill',\n 'overflow',\n 'overfull',\n 'overgrown',\n 'overhand',\n 'overhang',\n 'overhaul',\n 'overhead',\n 'overhear',\n 'overheat',\n 'overhung',\n 'overjoyed',\n 'overkill',\n 'overlabor',\n 'overlaid',\n 'overlap',\n 'overlay',\n 'overload',\n 'overlook',\n 'overlord',\n 'overlying',\n 'overnight',\n 'overpass',\n 'overpay',\n 'overplant',\n 'overplay',\n 'overpower',\n 'overprice',\n 'overrate',\n 'overreach',\n 'overreact',\n 'override',\n 'overripe',\n 'overrule',\n 'overrun',\n 'overshoot',\n 'overshot',\n 'oversight',\n 'oversized',\n 'oversleep',\n 'oversold',\n 'overspend',\n 'overstate',\n 'overstay',\n 'overstep',\n 'overstock',\n 'overstuff',\n 'oversweet',\n 'overtake',\n 'overthrow',\n 'overtime',\n 'overtly',\n 'overtone',\n 'overture',\n 'overturn',\n 'overuse',\n 'overvalue',\n 'overview',\n 'overwrite',\n 'owl',\n 'oxford',\n 'oxidant',\n 'oxidation',\n 'oxidize',\n 'oxidizing',\n 'oxygen',\n 'oxymoron',\n 'oyster',\n 'ozone',\n 'paced',\n 'pacemaker',\n 'pacific',\n 'pacifier',\n 'pacifism',\n 'pacifist',\n 'pacify',\n 'padded',\n 'padding',\n 'paddle',\n 'paddling',\n 'padlock',\n 'pagan',\n 'pager',\n 'paging',\n 'pajamas',\n 'palace',\n 'palatable',\n 'palm',\n 'palpable',\n 'palpitate',\n 'paltry',\n 'pampered',\n 'pamperer',\n 'pampers',\n 'pamphlet',\n 'panama',\n 'pancake',\n 'pancreas',\n 'panda',\n 'pandemic',\n 'pang',\n 'panhandle',\n 'panic',\n 'panning',\n 'panorama',\n 'panoramic',\n 'panther',\n 'pantomime',\n 'pantry',\n 'pants',\n 'pantyhose',\n 'paparazzi',\n 'papaya',\n 'paper',\n 'paprika',\n 'papyrus',\n 'parabola',\n 'parachute',\n 'parade',\n 'paradox',\n 'paragraph',\n 'parakeet',\n 'paralegal',\n 'paralyses',\n 'paralysis',\n 'paralyze',\n 'paramedic',\n 'parameter',\n 'paramount',\n 'parasail',\n 'parasite',\n 'parasitic',\n 'parcel',\n 'parched',\n 'parchment',\n 'pardon',\n 'parish',\n 'parka',\n 'parking',\n 'parkway',\n 'parlor',\n 'parmesan',\n 'parole',\n 'parrot',\n 'parsley',\n 'parsnip',\n 'partake',\n 'parted',\n 'parting',\n 'partition',\n 'partly',\n 'partner',\n 'partridge',\n 'party',\n 'passable',\n 'passably',\n 'passage',\n 'passcode',\n 'passenger',\n 'passerby',\n 'passing',\n 'passion',\n 'passive',\n 'passivism',\n 'passover',\n 'passport',\n 'password',\n 'pasta',\n 'pasted',\n 'pastel',\n 'pastime',\n 'pastor',\n 'pastrami',\n 'pasture',\n 'pasty',\n 'patchwork',\n 'patchy',\n 'paternal',\n 'paternity',\n 'path',\n 'patience',\n 'patient',\n 'patio',\n 'patriarch',\n 'patriot',\n 'patrol',\n 'patronage',\n 'patronize',\n 'pauper',\n 'pavement',\n 'paver',\n 'pavestone',\n 'pavilion',\n 'paving',\n 'pawing',\n 'payable',\n 'payback',\n 'paycheck',\n 'payday',\n 'payee',\n 'payer',\n 'paying',\n 'payment',\n 'payphone',\n 'payroll',\n 'pebble',\n 'pebbly',\n 'pecan',\n 'pectin',\n 'peculiar',\n 'peddling',\n 'pediatric',\n 'pedicure',\n 'pedigree',\n 'pedometer',\n 'pegboard',\n 'pelican',\n 'pellet',\n 'pelt',\n 'pelvis',\n 'penalize',\n 'penalty',\n 'pencil',\n 'pendant',\n 'pending',\n 'penholder',\n 'penknife',\n 'pennant',\n 'penniless',\n 'penny',\n 'penpal',\n 'pension',\n 'pentagon',\n 'pentagram',\n 'pep',\n 'perceive',\n 'percent',\n 'perch',\n 'percolate',\n 'perennial',\n 'perfected',\n 'perfectly',\n 'perfume',\n 'periscope',\n 'perish',\n 'perjurer',\n 'perjury',\n 'perkiness',\n 'perky',\n 'perm',\n 'peroxide',\n 'perpetual',\n 'perplexed',\n 'persecute',\n 'persevere',\n 'persuaded',\n 'persuader',\n 'pesky',\n 'peso',\n 'pessimism',\n 'pessimist',\n 'pester',\n 'pesticide',\n 'petal',\n 'petite',\n 'petition',\n 'petri',\n 'petroleum',\n 'petted',\n 'petticoat',\n 'pettiness',\n 'petty',\n 'petunia',\n 'phantom',\n 'phobia',\n 'phoenix',\n 'phonebook',\n 'phoney',\n 'phonics',\n 'phoniness',\n 'phony',\n 'phosphate',\n 'photo',\n 'phrase',\n 'phrasing',\n 'placard',\n 'placate',\n 'placidly',\n 'plank',\n 'planner',\n 'plant',\n 'plasma',\n 'plaster',\n 'plastic',\n 'plated',\n 'platform',\n 'plating',\n 'platinum',\n 'platonic',\n 'platter',\n 'platypus',\n 'plausible',\n 'plausibly',\n 'playable',\n 'playback',\n 'player',\n 'playful',\n 'playgroup',\n 'playhouse',\n 'playing',\n 'playlist',\n 'playmaker',\n 'playmate',\n 'playoff',\n 'playpen',\n 'playroom',\n 'playset',\n 'plaything',\n 'playtime',\n 'plaza',\n 'pleading',\n 'pleat',\n 'pledge',\n 'plentiful',\n 'plenty',\n 'plethora',\n 'plexiglas',\n 'pliable',\n 'plod',\n 'plop',\n 'plot',\n 'plow',\n 'ploy',\n 'pluck',\n 'plug',\n 'plunder',\n 'plunging',\n 'plural',\n 'plus',\n 'plutonium',\n 'plywood',\n 'poach',\n 'pod',\n 'poem',\n 'poet',\n 'pogo',\n 'pointed',\n 'pointer',\n 'pointing',\n 'pointless',\n 'pointy',\n 'poise',\n 'poison',\n 'poker',\n 'poking',\n 'polar',\n 'police',\n 'policy',\n 'polio',\n 'polish',\n 'politely',\n 'polka',\n 'polo',\n 'polyester',\n 'polygon',\n 'polygraph',\n 'polymer',\n 'poncho',\n 'pond',\n 'pony',\n 'popcorn',\n 'pope',\n 'poplar',\n 'popper',\n 'poppy',\n 'popsicle',\n 'populace',\n 'popular',\n 'populate',\n 'porcupine',\n 'pork',\n 'porous',\n 'porridge',\n 'portable',\n 'portal',\n 'portfolio',\n 'porthole',\n 'portion',\n 'portly',\n 'portside',\n 'poser',\n 'posh',\n 'posing',\n 'possible',\n 'possibly',\n 'possum',\n 'postage',\n 'postal',\n 'postbox',\n 'postcard',\n 'posted',\n 'poster',\n 'posting',\n 'postnasal',\n 'posture',\n 'postwar',\n 'pouch',\n 'pounce',\n 'pouncing',\n 'pound',\n 'pouring',\n 'pout',\n 'powdered',\n 'powdering',\n 'powdery',\n 'power',\n 'powwow',\n 'pox',\n 'praising',\n 'prance',\n 'prancing',\n 'pranker',\n 'prankish',\n 'prankster',\n 'prayer',\n 'praying',\n 'preacher',\n 'preaching',\n 'preachy',\n 'preamble',\n 'precinct',\n 'precise',\n 'precision',\n 'precook',\n 'precut',\n 'predator',\n 'predefine',\n 'predict',\n 'preface',\n 'prefix',\n 'preflight',\n 'preformed',\n 'pregame',\n 'pregnancy',\n 'pregnant',\n 'preheated',\n 'prelaunch',\n 'prelaw',\n 'prelude',\n 'premiere',\n 'premises',\n 'premium',\n 'prenatal',\n 'preoccupy',\n 'preorder',\n 'prepaid',\n 'prepay',\n 'preplan',\n 'preppy',\n 'preschool',\n 'prescribe',\n 'preseason',\n 'preset',\n 'preshow',\n 'president',\n 'presoak',\n 'press',\n 'presume',\n 'presuming',\n 'preteen',\n 'pretended',\n 'pretender',\n 'pretense',\n 'pretext',\n 'pretty',\n 'pretzel',\n 'prevail',\n 'prevalent',\n 'prevent',\n 'preview',\n 'previous',\n 'prewar',\n 'prewashed',\n 'prideful',\n 'pried',\n 'primal',\n 'primarily',\n 'primary',\n 'primate',\n 'primer',\n 'primp',\n 'princess',\n 'print',\n 'prior',\n 'prism',\n 'prison',\n 'prissy',\n 'pristine',\n 'privacy',\n 'private',\n 'privatize',\n 'prize',\n 'proactive',\n 'probable',\n 'probably',\n 'probation',\n 'probe',\n 'probing',\n 'probiotic',\n 'problem',\n 'procedure',\n 'process',\n 'proclaim',\n 'procreate',\n 'procurer',\n 'prodigal',\n 'prodigy',\n 'produce',\n 'product',\n 'profane',\n 'profanity',\n 'professed',\n 'professor',\n 'profile',\n 'profound',\n 'profusely',\n 'progeny',\n 'prognosis',\n 'program',\n 'progress',\n 'projector',\n 'prologue',\n 'prolonged',\n 'promenade',\n 'prominent',\n 'promoter',\n 'promotion',\n 'prompter',\n 'promptly',\n 'prone',\n 'prong',\n 'pronounce',\n 'pronto',\n 'proofing',\n 'proofread',\n 'proofs',\n 'propeller',\n 'properly',\n 'property',\n 'proponent',\n 'proposal',\n 'propose',\n 'props',\n 'prorate',\n 'protector',\n 'protegee',\n 'proton',\n 'prototype',\n 'protozoan',\n 'protract',\n 'protrude',\n 'proud',\n 'provable',\n 'proved',\n 'proven',\n 'provided',\n 'provider',\n 'providing',\n 'province',\n 'proving',\n 'provoke',\n 'provoking',\n 'provolone',\n 'prowess',\n 'prowler',\n 'prowling',\n 'proximity',\n 'proxy',\n 'prozac',\n 'prude',\n 'prudishly',\n 'prune',\n 'pruning',\n 'pry',\n 'psychic',\n 'public',\n 'publisher',\n 'pucker',\n 'pueblo',\n 'pug',\n 'pull',\n 'pulmonary',\n 'pulp',\n 'pulsate',\n 'pulse',\n 'pulverize',\n 'puma',\n 'pumice',\n 'pummel',\n 'punch',\n 'punctual',\n 'punctuate',\n 'punctured',\n 'pungent',\n 'punisher',\n 'punk',\n 'pupil',\n 'puppet',\n 'puppy',\n 'purchase',\n 'pureblood',\n 'purebred',\n 'purely',\n 'pureness',\n 'purgatory',\n 'purge',\n 'purging',\n 'purifier',\n 'purify',\n 'purist',\n 'puritan',\n 'purity',\n 'purple',\n 'purplish',\n 'purposely',\n 'purr',\n 'purse',\n 'pursuable',\n 'pursuant',\n 'pursuit',\n 'purveyor',\n 'pushcart',\n 'pushchair',\n 'pusher',\n 'pushiness',\n 'pushing',\n 'pushover',\n 'pushpin',\n 'pushup',\n 'pushy',\n 'putdown',\n 'putt',\n 'puzzle',\n 'puzzling',\n 'pyramid',\n 'pyromania',\n 'python',\n 'quack',\n 'quadrant',\n 'quail',\n 'quaintly',\n 'quake',\n 'quaking',\n 'qualified',\n 'qualifier',\n 'qualify',\n 'quality',\n 'qualm',\n 'quantum',\n 'quarrel',\n 'quarry',\n 'quartered',\n 'quarterly',\n 'quarters',\n 'quartet',\n 'quench',\n 'query',\n 'quicken',\n 'quickly',\n 'quickness',\n 'quicksand',\n 'quickstep',\n 'quiet',\n 'quill',\n 'quilt',\n 'quintet',\n 'quintuple',\n 'quirk',\n 'quit',\n 'quiver',\n 'quizzical',\n 'quotable',\n 'quotation',\n 'quote',\n 'rabid',\n 'race',\n 'racing',\n 'racism',\n 'rack',\n 'racoon',\n 'radar',\n 'radial',\n 'radiance',\n 'radiantly',\n 'radiated',\n 'radiation',\n 'radiator',\n 'radio',\n 'radish',\n 'raffle',\n 'raft',\n 'rage',\n 'ragged',\n 'raging',\n 'ragweed',\n 'raider',\n 'railcar',\n 'railing',\n 'railroad',\n 'railway',\n 'raisin',\n 'rake',\n 'raking',\n 'rally',\n 'ramble',\n 'rambling',\n 'ramp',\n 'ramrod',\n 'ranch',\n 'rancidity',\n 'random',\n 'ranged',\n 'ranger',\n 'ranging',\n 'ranked',\n 'ranking',\n 'ransack',\n 'ranting',\n 'rants',\n 'rare',\n 'rarity',\n 'rascal',\n 'rash',\n 'rasping',\n 'ravage',\n 'raven',\n 'ravine',\n 'raving',\n 'ravioli',\n 'ravishing',\n 'reabsorb',\n 'reach',\n 'reacquire',\n 'reaction',\n 'reactive',\n 'reactor',\n 'reaffirm',\n 'ream',\n 'reanalyze',\n 'reappear',\n 'reapply',\n 'reappoint',\n 'reapprove',\n 'rearrange',\n 'rearview',\n 'reason',\n 'reassign',\n 'reassure',\n 'reattach',\n 'reawake',\n 'rebalance',\n 'rebate',\n 'rebel',\n 'rebirth',\n 'reboot',\n 'reborn',\n 'rebound',\n 'rebuff',\n 'rebuild',\n 'rebuilt',\n 'reburial',\n 'rebuttal',\n 'recall',\n 'recant',\n 'recapture',\n 'recast',\n 'recede',\n 'recent',\n 'recess',\n 'recharger',\n 'recipient',\n 'recital',\n 'recite',\n 'reckless',\n 'reclaim',\n 'recliner',\n 'reclining',\n 'recluse',\n 'reclusive',\n 'recognize',\n 'recoil',\n 'recollect',\n 'recolor',\n 'reconcile',\n 'reconfirm',\n 'reconvene',\n 'recopy',\n 'record',\n 'recount',\n 'recoup',\n 'recovery',\n 'recreate',\n 'rectal',\n 'rectangle',\n 'rectified',\n 'rectify',\n 'recycled',\n 'recycler',\n 'recycling',\n 'reemerge',\n 'reenact',\n 'reenter',\n 'reentry',\n 'reexamine',\n 'referable',\n 'referee',\n 'reference',\n 'refill',\n 'refinance',\n 'refined',\n 'refinery',\n 'refining',\n 'refinish',\n 'reflected',\n 'reflector',\n 'reflex',\n 'reflux',\n 'refocus',\n 'refold',\n 'reforest',\n 'reformat',\n 'reformed',\n 'reformer',\n 'reformist',\n 'refract',\n 'refrain',\n 'refreeze',\n 'refresh',\n 'refried',\n 'refueling',\n 'refund',\n 'refurbish',\n 'refurnish',\n 'refusal',\n 'refuse',\n 'refusing',\n 'refutable',\n 'refute',\n 'regain',\n 'regalia',\n 'regally',\n 'reggae',\n 'regime',\n 'region',\n 'register',\n 'registrar',\n 'registry',\n 'regress',\n 'regretful',\n 'regroup',\n 'regular',\n 'regulate',\n 'regulator',\n 'rehab',\n 'reheat',\n 'rehire',\n 'rehydrate',\n 'reimburse',\n 'reissue',\n 'reiterate',\n 'rejoice',\n 'rejoicing',\n 'rejoin',\n 'rekindle',\n 'relapse',\n 'relapsing',\n 'relatable',\n 'related',\n 'relation',\n 'relative',\n 'relax',\n 'relay',\n 'relearn',\n 'release',\n 'relenting',\n 'reliable',\n 'reliably',\n 'reliance',\n 'reliant',\n 'relic',\n 'relieve',\n 'relieving',\n 'relight',\n 'relish',\n 'relive',\n 'reload',\n 'relocate',\n 'relock',\n 'reluctant',\n 'rely',\n 'remake',\n 'remark',\n 'remarry',\n 'rematch',\n 'remedial',\n 'remedy',\n 'remember',\n 'reminder',\n 'remindful',\n 'remission',\n 'remix',\n 'remnant',\n 'remodeler',\n 'remold',\n 'remorse',\n 'remote',\n 'removable',\n 'removal',\n 'removed',\n 'remover',\n 'removing',\n 'rename',\n 'renderer',\n 'rendering',\n 'rendition',\n 'renegade',\n 'renewable',\n 'renewably',\n 'renewal',\n 'renewed',\n 'renounce',\n 'renovate',\n 'renovator',\n 'rentable',\n 'rental',\n 'rented',\n 'renter',\n 'reoccupy',\n 'reoccur',\n 'reopen',\n 'reorder',\n 'repackage',\n 'repacking',\n 'repaint',\n 'repair',\n 'repave',\n 'repaying',\n 'repayment',\n 'repeal',\n 'repeated',\n 'repeater',\n 'repent',\n 'rephrase',\n 'replace',\n 'replay',\n 'replica',\n 'reply',\n 'reporter',\n 'repose',\n 'repossess',\n 'repost',\n 'repressed',\n 'reprimand',\n 'reprint',\n 'reprise',\n 'reproach',\n 'reprocess',\n 'reproduce',\n 'reprogram',\n 'reps',\n 'reptile',\n 'reptilian',\n 'repugnant',\n 'repulsion',\n 'repulsive',\n 'repurpose',\n 'reputable',\n 'reputably',\n 'request',\n 'require',\n 'requisite',\n 'reroute',\n 'rerun',\n 'resale',\n 'resample',\n 'rescuer',\n 'reseal',\n 'research',\n 'reselect',\n 'reseller',\n 'resemble',\n 'resend',\n 'resent',\n 'reset',\n 'reshape',\n 'reshoot',\n 'reshuffle',\n 'residence',\n 'residency',\n 'resident',\n 'residual',\n 'residue',\n 'resigned',\n 'resilient',\n 'resistant',\n 'resisting',\n 'resize',\n 'resolute',\n 'resolved',\n 'resonant',\n 'resonate',\n 'resort',\n 'resource',\n 'respect',\n 'resubmit',\n 'result',\n 'resume',\n 'resupply',\n 'resurface',\n 'resurrect',\n 'retail',\n 'retainer',\n 'retaining',\n 'retake',\n 'retaliate',\n 'retention',\n 'rethink',\n 'retinal',\n 'retired',\n 'retiree',\n 'retiring',\n 'retold',\n 'retool',\n 'retorted',\n 'retouch',\n 'retrace',\n 'retract',\n 'retrain',\n 'retread',\n 'retreat',\n 'retrial',\n 'retrieval',\n 'retriever',\n 'retry',\n 'return',\n 'retying',\n 'retype',\n 'reunion',\n 'reunite',\n 'reusable',\n 'reuse',\n 'reveal',\n 'reveler',\n 'revenge',\n 'revenue',\n 'reverb',\n 'revered',\n 'reverence',\n 'reverend',\n 'reversal',\n 'reverse',\n 'reversing',\n 'reversion',\n 'revert',\n 'revisable',\n 'revise',\n 'revision',\n 'revisit',\n 'revivable',\n 'revival',\n 'reviver',\n 'reviving',\n 'revocable',\n 'revoke',\n 'revolt',\n 'revolver',\n 'revolving',\n 'reward',\n 'rewash',\n 'rewind',\n 'rewire',\n 'reword',\n 'rework',\n 'rewrap',\n 'rewrite',\n 'rhyme',\n 'ribbon',\n 'ribcage',\n 'rice',\n 'riches',\n 'richly',\n 'richness',\n 'rickety',\n 'ricotta',\n 'riddance',\n 'ridden',\n 'ride',\n 'riding',\n 'rifling',\n 'rift',\n 'rigging',\n 'rigid',\n 'rigor',\n 'rimless',\n 'rimmed',\n 'rind',\n 'rink',\n 'rinse',\n 'rinsing',\n 'riot',\n 'ripcord',\n 'ripeness',\n 'ripening',\n 'ripping',\n 'ripple',\n 'rippling',\n 'riptide',\n 'rise',\n 'rising',\n 'risk',\n 'risotto',\n 'ritalin',\n 'ritzy',\n 'rival',\n 'riverbank',\n 'riverbed',\n 'riverboat',\n 'riverside',\n 'riveter',\n 'riveting',\n 'roamer',\n 'roaming',\n 'roast',\n 'robbing',\n 'robe',\n 'robin',\n 'robotics',\n 'robust',\n 'rockband',\n 'rocker',\n 'rocket',\n 'rockfish',\n 'rockiness',\n 'rocking',\n 'rocklike',\n 'rockslide',\n 'rockstar',\n 'rocky',\n 'rogue',\n 'roman',\n 'romp',\n 'rope',\n 'roping',\n 'roster',\n 'rosy',\n 'rotten',\n 'rotting',\n 'rotunda',\n 'roulette',\n 'rounding',\n 'roundish',\n 'roundness',\n 'roundup',\n 'roundworm',\n 'routine',\n 'routing',\n 'rover',\n 'roving',\n 'royal',\n 'rubbed',\n 'rubber',\n 'rubbing',\n 'rubble',\n 'rubdown',\n 'ruby',\n 'ruckus',\n 'rudder',\n 'rug',\n 'ruined',\n 'rule',\n 'rumble',\n 'rumbling',\n 'rummage',\n 'rumor',\n 'runaround',\n 'rundown',\n 'runner',\n 'running',\n 'runny',\n 'runt',\n 'runway',\n 'rupture',\n 'rural',\n 'ruse',\n 'rush',\n 'rust',\n 'rut',\n 'sabbath',\n 'sabotage',\n 'sacrament',\n 'sacred',\n 'sacrifice',\n 'sadden',\n 'saddlebag',\n 'saddled',\n 'saddling',\n 'sadly',\n 'sadness',\n 'safari',\n 'safeguard',\n 'safehouse',\n 'safely',\n 'safeness',\n 'saffron',\n 'saga',\n 'sage',\n 'sagging',\n 'saggy',\n 'said',\n 'saint',\n 'sake',\n 'salad',\n 'salami',\n 'salaried',\n 'salary',\n 'saline',\n 'salon',\n 'saloon',\n 'salsa',\n 'salt',\n 'salutary',\n 'salute',\n 'salvage',\n 'salvaging',\n 'salvation',\n 'same',\n 'sample',\n 'sampling',\n 'sanction',\n 'sanctity',\n 'sanctuary',\n 'sandal',\n 'sandbag',\n 'sandbank',\n 'sandbar',\n 'sandblast',\n 'sandbox',\n 'sanded',\n 'sandfish',\n 'sanding',\n 'sandlot',\n 'sandpaper',\n 'sandpit',\n 'sandstone',\n 'sandstorm',\n 'sandworm',\n 'sandy',\n 'sanitary',\n 'sanitizer',\n 'sank',\n 'santa',\n 'sapling',\n 'sappiness',\n 'sappy',\n 'sarcasm',\n 'sarcastic',\n 'sardine',\n 'sash',\n 'sasquatch',\n 'sassy',\n 'satchel',\n 'satiable',\n 'satin',\n 'satirical',\n 'satisfied',\n 'satisfy',\n 'saturate',\n 'saturday',\n 'sauciness',\n 'saucy',\n 'sauna',\n 'savage',\n 'savanna',\n 'saved',\n 'savings',\n 'savior',\n 'savor',\n 'saxophone',\n 'say',\n 'scabbed',\n 'scabby',\n 'scalded',\n 'scalding',\n 'scale',\n 'scaling',\n 'scallion',\n 'scallop',\n 'scalping',\n 'scam',\n 'scandal',\n 'scanner',\n 'scanning',\n 'scant',\n 'scapegoat',\n 'scarce',\n 'scarcity',\n 'scarecrow',\n 'scared',\n 'scarf',\n 'scarily',\n 'scariness',\n 'scarring',\n 'scary',\n 'scavenger',\n 'scenic',\n 'schedule',\n 'schematic',\n 'scheme',\n 'scheming',\n 'schilling',\n 'schnapps',\n 'scholar',\n 'science',\n 'scientist',\n 'scion',\n 'scoff',\n 'scolding',\n 'scone',\n 'scoop',\n 'scooter',\n 'scope',\n 'scorch',\n 'scorebook',\n 'scorecard',\n 'scored',\n 'scoreless',\n 'scorer',\n 'scoring',\n 'scorn',\n 'scorpion',\n 'scotch',\n 'scoundrel',\n 'scoured',\n 'scouring',\n 'scouting',\n 'scouts',\n 'scowling',\n 'scrabble',\n 'scraggly',\n 'scrambled',\n 'scrambler',\n 'scrap',\n 'scratch',\n 'scrawny',\n 'screen',\n 'scribble',\n 'scribe',\n 'scribing',\n 'scrimmage',\n 'script',\n 'scroll',\n 'scrooge',\n 'scrounger',\n 'scrubbed',\n 'scrubber',\n 'scruffy',\n 'scrunch',\n 'scrutiny',\n 'scuba',\n 'scuff',\n 'sculptor',\n 'sculpture',\n 'scurvy',\n 'scuttle',\n 'secluded',\n 'secluding',\n 'seclusion',\n 'second',\n 'secrecy',\n 'secret',\n 'sectional',\n 'sector',\n 'secular',\n 'securely',\n 'security',\n 'sedan',\n 'sedate',\n 'sedation',\n 'sedative',\n 'sediment',\n 'seduce',\n 'seducing',\n 'segment',\n 'seismic',\n 'seizing',\n 'seldom',\n 'selected',\n 'selection',\n 'selective',\n 'selector',\n 'self',\n 'seltzer',\n 'semantic',\n 'semester',\n 'semicolon',\n 'semifinal',\n 'seminar',\n 'semisoft',\n 'semisweet',\n 'senate',\n 'senator',\n 'send',\n 'senior',\n 'senorita',\n 'sensation',\n 'sensitive',\n 'sensitize',\n 'sensually',\n 'sensuous',\n 'sepia',\n 'september',\n 'septic',\n 'septum',\n 'sequel',\n 'sequence',\n 'sequester',\n 'series',\n 'sermon',\n 'serotonin',\n 'serpent',\n 'serrated',\n 'serve',\n 'service',\n 'serving',\n 'sesame',\n 'sessions',\n 'setback',\n 'setting',\n 'settle',\n 'settling',\n 'setup',\n 'sevenfold',\n 'seventeen',\n 'seventh',\n 'seventy',\n 'severity',\n 'shabby',\n 'shack',\n 'shaded',\n 'shadily',\n 'shadiness',\n 'shading',\n 'shadow',\n 'shady',\n 'shaft',\n 'shakable',\n 'shakily',\n 'shakiness',\n 'shaking',\n 'shaky',\n 'shale',\n 'shallot',\n 'shallow',\n 'shame',\n 'shampoo',\n 'shamrock',\n 'shank',\n 'shanty',\n 'shape',\n 'shaping',\n 'share',\n 'sharpener',\n 'sharper',\n 'sharpie',\n 'sharply',\n 'sharpness',\n 'shawl',\n 'sheath',\n 'shed',\n 'sheep',\n 'sheet',\n 'shelf',\n 'shell',\n 'shelter',\n 'shelve',\n 'shelving',\n 'sherry',\n 'shield',\n 'shifter',\n 'shifting',\n 'shiftless',\n 'shifty',\n 'shimmer',\n 'shimmy',\n 'shindig',\n 'shine',\n 'shingle',\n 'shininess',\n 'shining',\n 'shiny',\n 'ship',\n 'shirt',\n 'shivering',\n 'shock',\n 'shone',\n 'shoplift',\n 'shopper',\n 'shopping',\n 'shoptalk',\n 'shore',\n 'shortage',\n 'shortcake',\n 'shortcut',\n 'shorten',\n 'shorter',\n 'shorthand',\n 'shortlist',\n 'shortly',\n 'shortness',\n 'shorts',\n 'shortwave',\n 'shorty',\n 'shout',\n 'shove',\n 'showbiz',\n 'showcase',\n 'showdown',\n 'shower',\n 'showgirl',\n 'showing',\n 'showman',\n 'shown',\n 'showoff',\n 'showpiece',\n 'showplace',\n 'showroom',\n 'showy',\n 'shrank',\n 'shrapnel',\n 'shredder',\n 'shredding',\n 'shrewdly',\n 'shriek',\n 'shrill',\n 'shrimp',\n 'shrine',\n 'shrink',\n 'shrivel',\n 'shrouded',\n 'shrubbery',\n 'shrubs',\n 'shrug',\n 'shrunk',\n 'shucking',\n 'shudder',\n 'shuffle',\n 'shuffling',\n 'shun',\n 'shush',\n 'shut',\n 'shy',\n 'siamese',\n 'siberian',\n 'sibling',\n 'siding',\n 'sierra',\n 'siesta',\n 'sift',\n 'sighing',\n 'silenced',\n 'silencer',\n 'silent',\n 'silica',\n 'silicon',\n 'silk',\n 'silliness',\n 'silly',\n 'silo',\n 'silt',\n 'silver',\n 'similarly',\n 'simile',\n 'simmering',\n 'simple',\n 'simplify',\n 'simply',\n 'sincere',\n 'sincerity',\n 'singer',\n 'singing',\n 'single',\n 'singular',\n 'sinister',\n 'sinless',\n 'sinner',\n 'sinuous',\n 'sip',\n 'siren',\n 'sister',\n 'sitcom',\n 'sitter',\n 'sitting',\n 'situated',\n 'situation',\n 'sixfold',\n 'sixteen',\n 'sixth',\n 'sixties',\n 'sixtieth',\n 'sixtyfold',\n 'sizable',\n 'sizably',\n 'size',\n 'sizing',\n 'sizzle',\n 'sizzling',\n 'skater',\n 'skating',\n 'skedaddle',\n 'skeletal',\n 'skeleton',\n 'skeptic',\n 'sketch',\n 'skewed',\n 'skewer',\n 'skid',\n 'skied',\n 'skier',\n 'skies',\n 'skiing',\n 'skilled',\n 'skillet',\n 'skillful',\n 'skimmed',\n 'skimmer',\n 'skimming',\n 'skimpily',\n 'skincare',\n 'skinhead',\n 'skinless',\n 'skinning',\n 'skinny',\n 'skintight',\n 'skipper',\n 'skipping',\n 'skirmish',\n 'skirt',\n 'skittle',\n 'skydiver',\n 'skylight',\n 'skyline',\n 'skype',\n 'skyrocket',\n 'skyward',\n 'slab',\n 'slacked',\n 'slacker',\n 'slacking',\n 'slackness',\n 'slacks',\n 'slain',\n 'slam',\n 'slander',\n 'slang',\n 'slapping',\n 'slapstick',\n 'slashed',\n 'slashing',\n 'slate',\n 'slather',\n 'slaw',\n 'sled',\n 'sleek',\n 'sleep',\n 'sleet',\n 'sleeve',\n 'slept',\n 'sliceable',\n 'sliced',\n 'slicer',\n 'slicing',\n 'slick',\n 'slider',\n 'slideshow',\n 'sliding',\n 'slighted',\n 'slighting',\n 'slightly',\n 'slimness',\n 'slimy',\n 'slinging',\n 'slingshot',\n 'slinky',\n 'slip',\n 'slit',\n 'sliver',\n 'slobbery',\n 'slogan',\n 'sloped',\n 'sloping',\n 'sloppily',\n 'sloppy',\n 'slot',\n 'slouching',\n 'slouchy',\n 'sludge',\n 'slug',\n 'slum',\n 'slurp',\n 'slush',\n 'sly',\n 'small',\n 'smartly',\n 'smartness',\n 'smasher',\n 'smashing',\n 'smashup',\n 'smell',\n 'smelting',\n 'smile',\n 'smilingly',\n 'smirk',\n 'smite',\n 'smith',\n 'smitten',\n 'smock',\n 'smog',\n 'smoked',\n 'smokeless',\n 'smokiness',\n 'smoking',\n 'smoky',\n 'smolder',\n 'smooth',\n 'smother',\n 'smudge',\n 'smudgy',\n 'smuggler',\n 'smuggling',\n 'smugly',\n 'smugness',\n 'snack',\n 'snagged',\n 'snaking',\n 'snap',\n 'snare',\n 'snarl',\n 'snazzy',\n 'sneak',\n 'sneer',\n 'sneeze',\n 'sneezing',\n 'snide',\n 'sniff',\n 'snippet',\n 'snipping',\n 'snitch',\n 'snooper',\n 'snooze',\n 'snore',\n 'snoring',\n 'snorkel',\n 'snort',\n 'snout',\n 'snowbird',\n 'snowboard',\n 'snowbound',\n 'snowcap',\n 'snowdrift',\n 'snowdrop',\n 'snowfall',\n 'snowfield',\n 'snowflake',\n 'snowiness',\n 'snowless',\n 'snowman',\n 'snowplow',\n 'snowshoe',\n 'snowstorm',\n 'snowsuit',\n 'snowy',\n 'snub',\n 'snuff',\n 'snuggle',\n 'snugly',\n 'snugness',\n 'speak',\n 'spearfish',\n 'spearhead',\n 'spearman',\n 'spearmint',\n 'species',\n 'specimen',\n 'specked',\n 'speckled',\n 'specks',\n 'spectacle',\n 'spectator',\n 'spectrum',\n 'speculate',\n 'speech',\n 'speed',\n 'spellbind',\n 'speller',\n 'spelling',\n 'spendable',\n 'spender',\n 'spending',\n 'spent',\n 'spew',\n 'sphere',\n 'spherical',\n 'sphinx',\n 'spider',\n 'spied',\n 'spiffy',\n 'spill',\n 'spilt',\n 'spinach',\n 'spinal',\n 'spindle',\n 'spinner',\n 'spinning',\n 'spinout',\n 'spinster',\n 'spiny',\n 'spiral',\n 'spirited',\n 'spiritism',\n 'spirits',\n 'spiritual',\n 'splashed',\n 'splashing',\n 'splashy',\n 'splatter',\n 'spleen',\n 'splendid',\n 'splendor',\n 'splice',\n 'splicing',\n 'splinter',\n 'splotchy',\n 'splurge',\n 'spoilage',\n 'spoiled',\n 'spoiler',\n 'spoiling',\n 'spoils',\n 'spoken',\n 'spokesman',\n 'sponge',\n 'spongy',\n 'sponsor',\n 'spoof',\n 'spookily',\n 'spooky',\n 'spool',\n 'spoon',\n 'spore',\n 'sporting',\n 'sports',\n 'sporty',\n 'spotless',\n 'spotlight',\n 'spotted',\n 'spotter',\n 'spotting',\n 'spotty',\n 'spousal',\n 'spouse',\n 'spout',\n 'sprain',\n 'sprang',\n 'sprawl',\n 'spray',\n 'spree',\n 'sprig',\n 'spring',\n 'sprinkled',\n 'sprinkler',\n 'sprint',\n 'sprite',\n 'sprout',\n 'spruce',\n 'sprung',\n 'spry',\n 'spud',\n 'spur',\n 'sputter',\n 'spyglass',\n 'squabble',\n 'squad',\n 'squall',\n 'squander',\n 'squash',\n 'squatted',\n 'squatter',\n 'squatting',\n 'squeak',\n 'squealer',\n 'squealing',\n 'squeamish',\n 'squeegee',\n 'squeeze',\n 'squeezing',\n 'squid',\n 'squiggle',\n 'squiggly',\n 'squint',\n 'squire',\n 'squirt',\n 'squishier',\n 'squishy',\n 'stability',\n 'stabilize',\n 'stable',\n 'stack',\n 'stadium',\n 'staff',\n 'stage',\n 'staging',\n 'stagnant',\n 'stagnate',\n 'stainable',\n 'stained',\n 'staining',\n 'stainless',\n 'stalemate',\n 'staleness',\n 'stalling',\n 'stallion',\n 'stamina',\n 'stammer',\n 'stamp',\n 'stand',\n 'stank',\n 'staple',\n 'stapling',\n 'starboard',\n 'starch',\n 'stardom',\n 'stardust',\n 'starfish',\n 'stargazer',\n 'staring',\n 'stark',\n 'starless',\n 'starlet',\n 'starlight',\n 'starlit',\n 'starring',\n 'starry',\n 'starship',\n 'starter',\n 'starting',\n 'startle',\n 'startling',\n 'startup',\n 'starved',\n 'starving',\n 'stash',\n 'state',\n 'static',\n 'statistic',\n 'statue',\n 'stature',\n 'status',\n 'statute',\n 'statutory',\n 'staunch',\n 'stays',\n 'steadfast',\n 'steadier',\n 'steadily',\n 'steadying',\n 'steam',\n 'steed',\n 'steep',\n 'steerable',\n 'steering',\n 'steersman',\n 'stegosaur',\n 'stellar',\n 'stem',\n 'stench',\n 'stencil',\n 'step',\n 'stereo',\n 'sterile',\n 'sterility',\n 'sterilize',\n 'sterling',\n 'sternness',\n 'sternum',\n 'stew',\n 'stick',\n 'stiffen',\n 'stiffly',\n 'stiffness',\n 'stifle',\n 'stifling',\n 'stillness',\n 'stilt',\n 'stimulant',\n 'stimulate',\n 'stimuli',\n 'stimulus',\n 'stinger',\n 'stingily',\n 'stinging',\n 'stingray',\n 'stingy',\n 'stinking',\n 'stinky',\n 'stipend',\n 'stipulate',\n 'stir',\n 'stitch',\n 'stock',\n 'stoic',\n 'stoke',\n 'stole',\n 'stomp',\n 'stonewall',\n 'stoneware',\n 'stonework',\n 'stoning',\n 'stony',\n 'stood',\n 'stooge',\n 'stool',\n 'stoop',\n 'stoplight',\n 'stoppable',\n 'stoppage',\n 'stopped',\n 'stopper',\n 'stopping',\n 'stopwatch',\n 'storable',\n 'storage',\n 'storeroom',\n 'storewide',\n 'storm',\n 'stout',\n 'stove',\n 'stowaway',\n 'stowing',\n 'straddle',\n 'straggler',\n 'strained',\n 'strainer',\n 'straining',\n 'strangely',\n 'stranger',\n 'strangle',\n 'strategic',\n 'strategy',\n 'stratus',\n 'straw',\n 'stray',\n 'streak',\n 'stream',\n 'street',\n 'strength',\n 'strenuous',\n 'strep',\n 'stress',\n 'stretch',\n 'strewn',\n 'stricken',\n 'strict',\n 'stride',\n 'strife',\n 'strike',\n 'striking',\n 'strive',\n 'striving',\n 'strobe',\n 'strode',\n 'stroller',\n 'strongbox',\n 'strongly',\n 'strongman',\n 'struck',\n 'structure',\n 'strudel',\n 'struggle',\n 'strum',\n 'strung',\n 'strut',\n 'stubbed',\n 'stubble',\n 'stubbly',\n 'stubborn',\n 'stucco',\n 'stuck',\n 'student',\n 'studied',\n 'studio',\n 'study',\n 'stuffed',\n 'stuffing',\n 'stuffy',\n 'stumble',\n 'stumbling',\n 'stump',\n 'stung',\n 'stunned',\n 'stunner',\n 'stunning',\n 'stunt',\n 'stupor',\n 'sturdily',\n 'sturdy',\n 'styling',\n 'stylishly',\n 'stylist',\n 'stylized',\n 'stylus',\n 'suave',\n 'subarctic',\n 'subatomic',\n 'subdivide',\n 'subdued',\n 'subduing',\n 'subfloor',\n 'subgroup',\n 'subheader',\n 'subject',\n 'sublease',\n 'sublet',\n 'sublevel',\n 'sublime',\n 'submarine',\n 'submerge',\n 'submersed',\n 'submitter',\n 'subpanel',\n 'subpar',\n 'subplot',\n 'subprime',\n 'subscribe',\n 'subscript',\n 'subsector',\n 'subside',\n 'subsiding',\n 'subsidize',\n 'subsidy',\n 'subsoil',\n 'subsonic',\n 'substance',\n 'subsystem',\n 'subtext',\n 'subtitle',\n 'subtly',\n 'subtotal',\n 'subtract',\n 'subtype',\n 'suburb',\n 'subway',\n 'subwoofer',\n 'subzero',\n 'succulent',\n 'such',\n 'suction',\n 'sudden',\n 'sudoku',\n 'suds',\n 'sufferer',\n 'suffering',\n 'suffice',\n 'suffix',\n 'suffocate',\n 'suffrage',\n 'sugar',\n 'suggest',\n 'suing',\n 'suitable',\n 'suitably',\n 'suitcase',\n 'suitor',\n 'sulfate',\n 'sulfide',\n 'sulfite',\n 'sulfur',\n 'sulk',\n 'sullen',\n 'sulphate',\n 'sulphuric',\n 'sultry',\n 'superbowl',\n 'superglue',\n 'superhero',\n 'superior',\n 'superjet',\n 'superman',\n 'supermom',\n 'supernova',\n 'supervise',\n 'supper',\n 'supplier',\n 'supply',\n 'support',\n 'supremacy',\n 'supreme',\n 'surcharge',\n 'surely',\n 'sureness',\n 'surface',\n 'surfacing',\n 'surfboard',\n 'surfer',\n 'surgery',\n 'surgical',\n 'surging',\n 'surname',\n 'surpass',\n 'surplus',\n 'surprise',\n 'surreal',\n 'surrender',\n 'surrogate',\n 'surround',\n 'survey',\n 'survival',\n 'survive',\n 'surviving',\n 'survivor',\n 'sushi',\n 'suspect',\n 'suspend',\n 'suspense',\n 'sustained',\n 'sustainer',\n 'swab',\n 'swaddling',\n 'swagger',\n 'swampland',\n 'swan',\n 'swapping',\n 'swarm',\n 'sway',\n 'swear',\n 'sweat',\n 'sweep',\n 'swell',\n 'swept',\n 'swerve',\n 'swifter',\n 'swiftly',\n 'swiftness',\n 'swimmable',\n 'swimmer',\n 'swimming',\n 'swimsuit',\n 'swimwear',\n 'swinger',\n 'swinging',\n 'swipe',\n 'swirl',\n 'switch',\n 'swivel',\n 'swizzle',\n 'swooned',\n 'swoop',\n 'swoosh',\n 'swore',\n 'sworn',\n 'swung',\n 'sycamore',\n 'sympathy',\n 'symphonic',\n 'symphony',\n 'symptom',\n 'synapse',\n 'syndrome',\n 'synergy',\n 'synopses',\n 'synopsis',\n 'synthesis',\n 'synthetic',\n 'syrup',\n 'system',\n 't-shirt',\n 'tabasco',\n 'tabby',\n 'tableful',\n 'tables',\n 'tablet',\n 'tableware',\n 'tabloid',\n 'tackiness',\n 'tacking',\n 'tackle',\n 'tackling',\n 'tacky',\n 'taco',\n 'tactful',\n 'tactical',\n 'tactics',\n 'tactile',\n 'tactless',\n 'tadpole',\n 'taekwondo',\n 'tag',\n 'tainted',\n 'take',\n 'taking',\n 'talcum',\n 'talisman',\n 'tall',\n 'talon',\n 'tamale',\n 'tameness',\n 'tamer',\n 'tamper',\n 'tank',\n 'tanned',\n 'tannery',\n 'tanning',\n 'tantrum',\n 'tapeless',\n 'tapered',\n 'tapering',\n 'tapestry',\n 'tapioca',\n 'tapping',\n 'taps',\n 'tarantula',\n 'target',\n 'tarmac',\n 'tarnish',\n 'tarot',\n 'tartar',\n 'tartly',\n 'tartness',\n 'task',\n 'tassel',\n 'taste',\n 'tastiness',\n 'tasting',\n 'tasty',\n 'tattered',\n 'tattle',\n 'tattling',\n 'tattoo',\n 'taunt',\n 'tavern',\n 'thank',\n 'that',\n 'thaw',\n 'theater',\n 'theatrics',\n 'thee',\n 'theft',\n 'theme',\n 'theology',\n 'theorize',\n 'thermal',\n 'thermos',\n 'thesaurus',\n 'these',\n 'thesis',\n 'thespian',\n 'thicken',\n 'thicket',\n 'thickness',\n 'thieving',\n 'thievish',\n 'thigh',\n 'thimble',\n 'thing',\n 'think',\n 'thinly',\n 'thinner',\n 'thinness',\n 'thinning',\n 'thirstily',\n 'thirsting',\n 'thirsty',\n 'thirteen',\n 'thirty',\n 'thong',\n 'thorn',\n 'those',\n 'thousand',\n 'thrash',\n 'thread',\n 'threaten',\n 'threefold',\n 'thrift',\n 'thrill',\n 'thrive',\n 'thriving',\n 'throat',\n 'throbbing',\n 'throng',\n 'throttle',\n 'throwaway',\n 'throwback',\n 'thrower',\n 'throwing',\n 'thud',\n 'thumb',\n 'thumping',\n 'thursday',\n 'thus',\n 'thwarting',\n 'thyself',\n 'tiara',\n 'tibia',\n 'tidal',\n 'tidbit',\n 'tidiness',\n 'tidings',\n 'tidy',\n 'tiger',\n 'tighten',\n 'tightly',\n 'tightness',\n 'tightrope',\n 'tightwad',\n 'tigress',\n 'tile',\n 'tiling',\n 'till',\n 'tilt',\n 'timid',\n 'timing',\n 'timothy',\n 'tinderbox',\n 'tinfoil',\n 'tingle',\n 'tingling',\n 'tingly',\n 'tinker',\n 'tinkling',\n 'tinsel',\n 'tinsmith',\n 'tint',\n 'tinwork',\n 'tiny',\n 'tipoff',\n 'tipped',\n 'tipper',\n 'tipping',\n 'tiptoeing',\n 'tiptop',\n 'tiring',\n 'tissue',\n 'trace',\n 'tracing',\n 'track',\n 'traction',\n 'tractor',\n 'trade',\n 'trading',\n 'tradition',\n 'traffic',\n 'tragedy',\n 'trailing',\n 'trailside',\n 'train',\n 'traitor',\n 'trance',\n 'tranquil',\n 'transfer',\n 'transform',\n 'translate',\n 'transpire',\n 'transport',\n 'transpose',\n 'trapdoor',\n 'trapeze',\n 'trapezoid',\n 'trapped',\n 'trapper',\n 'trapping',\n 'traps',\n 'trash',\n 'travel',\n 'traverse',\n 'travesty',\n 'tray',\n 'treachery',\n 'treading',\n 'treadmill',\n 'treason',\n 'treat',\n 'treble',\n 'tree',\n 'trekker',\n 'tremble',\n 'trembling',\n 'tremor',\n 'trench',\n 'trend',\n 'trespass',\n 'triage',\n 'trial',\n 'triangle',\n 'tribesman',\n 'tribunal',\n 'tribune',\n 'tributary',\n 'tribute',\n 'triceps',\n 'trickery',\n 'trickily',\n 'tricking',\n 'trickle',\n 'trickster',\n 'tricky',\n 'tricolor',\n 'tricycle',\n 'trident',\n 'tried',\n 'trifle',\n 'trifocals',\n 'trillion',\n 'trilogy',\n 'trimester',\n 'trimmer',\n 'trimming',\n 'trimness',\n 'trinity',\n 'trio',\n 'tripod',\n 'tripping',\n 'triumph',\n 'trivial',\n 'trodden',\n 'trolling',\n 'trombone',\n 'trophy',\n 'tropical',\n 'tropics',\n 'trouble',\n 'troubling',\n 'trough',\n 'trousers',\n 'trout',\n 'trowel',\n 'truce',\n 'truck',\n 'truffle',\n 'trump',\n 'trunks',\n 'trustable',\n 'trustee',\n 'trustful',\n 'trusting',\n 'trustless',\n 'truth',\n 'try',\n 'tubby',\n 'tubeless',\n 'tubular',\n 'tucking',\n 'tuesday',\n 'tug',\n 'tuition',\n 'tulip',\n 'tumble',\n 'tumbling',\n 'tummy',\n 'turban',\n 'turbine',\n 'turbofan',\n 'turbojet',\n 'turbulent',\n 'turf',\n 'turkey',\n 'turmoil',\n 'turret',\n 'turtle',\n 'tusk',\n 'tutor',\n 'tutu',\n 'tux',\n 'tweak',\n 'tweed',\n 'tweet',\n 'tweezers',\n 'twelve',\n 'twentieth',\n 'twenty',\n 'twerp',\n 'twice',\n 'twiddle',\n 'twiddling',\n 'twig',\n 'twilight',\n 'twine',\n 'twins',\n 'twirl',\n 'twistable',\n 'twisted',\n 'twister',\n 'twisting',\n 'twisty',\n 'twitch',\n 'twitter',\n 'tycoon',\n 'tying',\n 'tyke',\n 'udder',\n 'ultimate',\n 'ultimatum',\n 'ultra',\n 'umbilical',\n 'umbrella',\n 'umpire',\n 'unabashed',\n 'unable',\n 'unadorned',\n 'unadvised',\n 'unafraid',\n 'unaired',\n 'unaligned',\n 'unaltered',\n 'unarmored',\n 'unashamed',\n 'unaudited',\n 'unawake',\n 'unaware',\n 'unbaked',\n 'unbalance',\n 'unbeaten',\n 'unbend',\n 'unbent',\n 'unbiased',\n 'unbitten',\n 'unblended',\n 'unblessed',\n 'unblock',\n 'unbolted',\n 'unbounded',\n 'unboxed',\n 'unbraided',\n 'unbridle',\n 'unbroken',\n 'unbuckled',\n 'unbundle',\n 'unburned',\n 'unbutton',\n 'uncanny',\n 'uncapped',\n 'uncaring',\n 'uncertain',\n 'unchain',\n 'unchanged',\n 'uncharted',\n 'uncheck',\n 'uncivil',\n 'unclad',\n 'unclaimed',\n 'unclamped',\n 'unclasp',\n 'uncle',\n 'unclip',\n 'uncloak',\n 'unclog',\n 'unclothed',\n 'uncoated',\n 'uncoiled',\n 'uncolored',\n 'uncombed',\n 'uncommon',\n 'uncooked',\n 'uncork',\n 'uncorrupt',\n 'uncounted',\n 'uncouple',\n 'uncouth',\n 'uncover',\n 'uncross',\n 'uncrown',\n 'uncrushed',\n 'uncured',\n 'uncurious',\n 'uncurled',\n 'uncut',\n 'undamaged',\n 'undated',\n 'undaunted',\n 'undead',\n 'undecided',\n 'undefined',\n 'underage',\n 'underarm',\n 'undercoat',\n 'undercook',\n 'undercut',\n 'underdog',\n 'underdone',\n 'underfed',\n 'underfeed',\n 'underfoot',\n 'undergo',\n 'undergrad',\n 'underhand',\n 'underline',\n 'underling',\n 'undermine',\n 'undermost',\n 'underpaid',\n 'underpass',\n 'underpay',\n 'underrate',\n 'undertake',\n 'undertone',\n 'undertook',\n 'undertow',\n 'underuse',\n 'underwear',\n 'underwent',\n 'underwire',\n 'undesired',\n 'undiluted',\n 'undivided',\n 'undocked',\n 'undoing',\n 'undone',\n 'undrafted',\n 'undress',\n 'undrilled',\n 'undusted',\n 'undying',\n 'unearned',\n 'unearth',\n 'unease',\n 'uneasily',\n 'uneasy',\n 'uneatable',\n 'uneaten',\n 'unedited',\n 'unelected',\n 'unending',\n 'unengaged',\n 'unenvied',\n 'unequal',\n 'unethical',\n 'uneven',\n 'unexpired',\n 'unexposed',\n 'unfailing',\n 'unfair',\n 'unfasten',\n 'unfazed',\n 'unfeeling',\n 'unfiled',\n 'unfilled',\n 'unfitted',\n 'unfitting',\n 'unfixable',\n 'unfixed',\n 'unflawed',\n 'unfocused',\n 'unfold',\n 'unfounded',\n 'unframed',\n 'unfreeze',\n 'unfrosted',\n 'unfrozen',\n 'unfunded',\n 'unglazed',\n 'ungloved',\n 'unglue',\n 'ungodly',\n 'ungraded',\n 'ungreased',\n 'unguarded',\n 'unguided',\n 'unhappily',\n 'unhappy',\n 'unharmed',\n 'unhealthy',\n 'unheard',\n 'unhearing',\n 'unheated',\n 'unhelpful',\n 'unhidden',\n 'unhinge',\n 'unhitched',\n 'unholy',\n 'unhook',\n 'unicorn',\n 'unicycle',\n 'unified',\n 'unifier',\n 'uniformed',\n 'uniformly',\n 'unify',\n 'unimpeded',\n 'uninjured',\n 'uninstall',\n 'uninsured',\n 'uninvited',\n 'union',\n 'uniquely',\n 'unisexual',\n 'unison',\n 'unissued',\n 'unit',\n 'universal',\n 'universe',\n 'unjustly',\n 'unkempt',\n 'unkind',\n 'unknotted',\n 'unknowing',\n 'unknown',\n 'unlaced',\n 'unlatch',\n 'unlawful',\n 'unleaded',\n 'unlearned',\n 'unleash',\n 'unless',\n 'unleveled',\n 'unlighted',\n 'unlikable',\n 'unlimited',\n 'unlined',\n 'unlinked',\n 'unlisted',\n 'unlit',\n 'unlivable',\n 'unloaded',\n 'unloader',\n 'unlocked',\n 'unlocking',\n 'unlovable',\n 'unloved',\n 'unlovely',\n 'unloving',\n 'unluckily',\n 'unlucky',\n 'unmade',\n 'unmanaged',\n 'unmanned',\n 'unmapped',\n 'unmarked',\n 'unmasked',\n 'unmasking',\n 'unmatched',\n 'unmindful',\n 'unmixable',\n 'unmixed',\n 'unmolded',\n 'unmoral',\n 'unmovable',\n 'unmoved',\n 'unmoving',\n 'unnamable',\n 'unnamed',\n 'unnatural',\n 'unneeded',\n 'unnerve',\n 'unnerving',\n 'unnoticed',\n 'unopened',\n 'unopposed',\n 'unpack',\n 'unpadded',\n 'unpaid',\n 'unpainted',\n 'unpaired',\n 'unpaved',\n 'unpeeled',\n 'unpicked',\n 'unpiloted',\n 'unpinned',\n 'unplanned',\n 'unplanted',\n 'unpleased',\n 'unpledged',\n 'unplowed',\n 'unplug',\n 'unpopular',\n 'unproven',\n 'unquote',\n 'unranked',\n 'unrated',\n 'unraveled',\n 'unreached',\n 'unread',\n 'unreal',\n 'unreeling',\n 'unrefined',\n 'unrelated',\n 'unrented',\n 'unrest',\n 'unretired',\n 'unrevised',\n 'unrigged',\n 'unripe',\n 'unrivaled',\n 'unroasted',\n 'unrobed',\n 'unroll',\n 'unruffled',\n 'unruly',\n 'unrushed',\n 'unsaddle',\n 'unsafe',\n 'unsaid',\n 'unsalted',\n 'unsaved',\n 'unsavory',\n 'unscathed',\n 'unscented',\n 'unscrew',\n 'unsealed',\n 'unseated',\n 'unsecured',\n 'unseeing',\n 'unseemly',\n 'unseen',\n 'unselect',\n 'unselfish',\n 'unsent',\n 'unsettled',\n 'unshackle',\n 'unshaken',\n 'unshaved',\n 'unshaven',\n 'unsheathe',\n 'unshipped',\n 'unsightly',\n 'unsigned',\n 'unskilled',\n 'unsliced',\n 'unsmooth',\n 'unsnap',\n 'unsocial',\n 'unsoiled',\n 'unsold',\n 'unsolved',\n 'unsorted',\n 'unspoiled',\n 'unspoken',\n 'unstable',\n 'unstaffed',\n 'unstamped',\n 'unsteady',\n 'unsterile',\n 'unstirred',\n 'unstitch',\n 'unstopped',\n 'unstuck',\n 'unstuffed',\n 'unstylish',\n 'unsubtle',\n 'unsubtly',\n 'unsuited',\n 'unsure',\n 'unsworn',\n 'untagged',\n 'untainted',\n 'untaken',\n 'untamed',\n 'untangled',\n 'untapped',\n 'untaxed',\n 'unthawed',\n 'unthread',\n 'untidy',\n 'untie',\n 'until',\n 'untimed',\n 'untimely',\n 'untitled',\n 'untoasted',\n 'untold',\n 'untouched',\n 'untracked',\n 'untrained',\n 'untreated',\n 'untried',\n 'untrimmed',\n 'untrue',\n 'untruth',\n 'unturned',\n 'untwist',\n 'untying',\n 'unusable',\n 'unused',\n 'unusual',\n 'unvalued',\n 'unvaried',\n 'unvarying',\n 'unveiled',\n 'unveiling',\n 'unvented',\n 'unviable',\n 'unvisited',\n 'unvocal',\n 'unwanted',\n 'unwarlike',\n 'unwary',\n 'unwashed',\n 'unwatched',\n 'unweave',\n 'unwed',\n 'unwelcome',\n 'unwell',\n 'unwieldy',\n 'unwilling',\n 'unwind',\n 'unwired',\n 'unwitting',\n 'unwomanly',\n 'unworldly',\n 'unworn',\n 'unworried',\n 'unworthy',\n 'unwound',\n 'unwoven',\n 'unwrapped',\n 'unwritten',\n 'unzip',\n 'upbeat',\n 'upchuck',\n 'upcoming',\n 'upcountry',\n 'update',\n 'upfront',\n 'upgrade',\n 'upheaval',\n 'upheld',\n 'uphill',\n 'uphold',\n 'uplifted',\n 'uplifting',\n 'upload',\n 'upon',\n 'upper',\n 'upright',\n 'uprising',\n 'upriver',\n 'uproar',\n 'uproot',\n 'upscale',\n 'upside',\n 'upstage',\n 'upstairs',\n 'upstart',\n 'upstate',\n 'upstream',\n 'upstroke',\n 'upswing',\n 'uptake',\n 'uptight',\n 'uptown',\n 'upturned',\n 'upward',\n 'upwind',\n 'uranium',\n 'urban',\n 'urchin',\n 'urethane',\n 'urgency',\n 'urgent',\n 'urging',\n 'urologist',\n 'urology',\n 'usable',\n 'usage',\n 'useable',\n 'used',\n 'uselessly',\n 'user',\n 'usher',\n 'usual',\n 'utensil',\n 'utility',\n 'utilize',\n 'utmost',\n 'utopia',\n 'utter',\n 'vacancy',\n 'vacant',\n 'vacate',\n 'vacation',\n 'vagabond',\n 'vagrancy',\n 'vagrantly',\n 'vaguely',\n 'vagueness',\n 'valiant',\n 'valid',\n 'valium',\n 'valley',\n 'valuables',\n 'value',\n 'vanilla',\n 'vanish',\n 'vanity',\n 'vanquish',\n 'vantage',\n 'vaporizer',\n 'variable',\n 'variably',\n 'varied',\n 'variety',\n 'various',\n 'varmint',\n 'varnish',\n 'varsity',\n 'varying',\n 'vascular',\n 'vaseline',\n 'vastly',\n 'vastness',\n 'veal',\n 'vegan',\n 'veggie',\n 'vehicular',\n 'velcro',\n 'velocity',\n 'velvet',\n 'vendetta',\n 'vending',\n 'vendor',\n 'veneering',\n 'vengeful',\n 'venomous',\n 'ventricle',\n 'venture',\n 'venue',\n 'venus',\n 'verbalize',\n 'verbally',\n 'verbose',\n 'verdict',\n 'verify',\n 'verse',\n 'version',\n 'versus',\n 'vertebrae',\n 'vertical',\n 'vertigo',\n 'very',\n 'vessel',\n 'vest',\n 'veteran',\n 'veto',\n 'vexingly',\n 'viability',\n 'viable',\n 'vibes',\n 'vice',\n 'vicinity',\n 'victory',\n 'video',\n 'viewable',\n 'viewer',\n 'viewing',\n 'viewless',\n 'viewpoint',\n 'vigorous',\n 'village',\n 'villain',\n 'vindicate',\n 'vineyard',\n 'vintage',\n 'violate',\n 'violation',\n 'violator',\n 'violet',\n 'violin',\n 'viper',\n 'viral',\n 'virtual',\n 'virtuous',\n 'virus',\n 'visa',\n 'viscosity',\n 'viscous',\n 'viselike',\n 'visible',\n 'visibly',\n 'vision',\n 'visiting',\n 'visitor',\n 'visor',\n 'vista',\n 'vitality',\n 'vitalize',\n 'vitally',\n 'vitamins',\n 'vivacious',\n 'vividly',\n 'vividness',\n 'vixen',\n 'vocalist',\n 'vocalize',\n 'vocally',\n 'vocation',\n 'voice',\n 'voicing',\n 'void',\n 'volatile',\n 'volley',\n 'voltage',\n 'volumes',\n 'voter',\n 'voting',\n 'voucher',\n 'vowed',\n 'vowel',\n 'voyage',\n 'wackiness',\n 'wad',\n 'wafer',\n 'waffle',\n 'waged',\n 'wager',\n 'wages',\n 'waggle',\n 'wagon',\n 'wake',\n 'waking',\n 'walk',\n 'walmart',\n 'walnut',\n 'walrus',\n 'waltz',\n 'wand',\n 'wannabe',\n 'wanted',\n 'wanting',\n 'wasabi',\n 'washable',\n 'washbasin',\n 'washboard',\n 'washbowl',\n 'washcloth',\n 'washday',\n 'washed',\n 'washer',\n 'washhouse',\n 'washing',\n 'washout',\n 'washroom',\n 'washstand',\n 'washtub',\n 'wasp',\n 'wasting',\n 'watch',\n 'water',\n 'waviness',\n 'waving',\n 'wavy',\n 'whacking',\n 'whacky',\n 'wham',\n 'wharf',\n 'wheat',\n 'whenever',\n 'whiff',\n 'whimsical',\n 'whinny',\n 'whiny',\n 'whisking',\n 'whoever',\n 'whole',\n 'whomever',\n 'whoopee',\n 'whooping',\n 'whoops',\n 'why',\n 'wick',\n 'widely',\n 'widen',\n 'widget',\n 'widow',\n 'width',\n 'wieldable',\n 'wielder',\n 'wife',\n 'wifi',\n 'wikipedia',\n 'wildcard',\n 'wildcat',\n 'wilder',\n 'wildfire',\n 'wildfowl',\n 'wildland',\n 'wildlife',\n 'wildly',\n 'wildness',\n 'willed',\n 'willfully',\n 'willing',\n 'willow',\n 'willpower',\n 'wilt',\n 'wimp',\n 'wince',\n 'wincing',\n 'wind',\n 'wing',\n 'winking',\n 'winner',\n 'winnings',\n 'winter',\n 'wipe',\n 'wired',\n 'wireless',\n 'wiring',\n 'wiry',\n 'wisdom',\n 'wise',\n 'wish',\n 'wisplike',\n 'wispy',\n 'wistful',\n 'wizard',\n 'wobble',\n 'wobbling',\n 'wobbly',\n 'wok',\n 'wolf',\n 'wolverine',\n 'womanhood',\n 'womankind',\n 'womanless',\n 'womanlike',\n 'womanly',\n 'womb',\n 'woof',\n 'wooing',\n 'wool',\n 'woozy',\n 'word',\n 'work',\n 'worried',\n 'worrier',\n 'worrisome',\n 'worry',\n 'worsening',\n 'worshiper',\n 'worst',\n 'wound',\n 'woven',\n 'wow',\n 'wrangle',\n 'wrath',\n 'wreath',\n 'wreckage',\n 'wrecker',\n 'wrecking',\n 'wrench',\n 'wriggle',\n 'wriggly',\n 'wrinkle',\n 'wrinkly',\n 'wrist',\n 'writing',\n 'written',\n 'wrongdoer',\n 'wronged',\n 'wrongful',\n 'wrongly',\n 'wrongness',\n 'wrought',\n 'xbox',\n 'xerox',\n 'yahoo',\n 'yam',\n 'yanking',\n 'yapping',\n 'yard',\n 'yarn',\n 'yeah',\n 'yearbook',\n 'yearling',\n 'yearly',\n 'yearning',\n 'yeast',\n 'yelling',\n 'yelp',\n 'yen',\n 'yesterday',\n 'yiddish',\n 'yield',\n 'yin',\n 'yippee',\n 'yo-yo',\n 'yodel',\n 'yoga',\n 'yogurt',\n 'yonder',\n 'yoyo',\n 'yummy',\n 'zap',\n 'zealous',\n 'zebra',\n 'zen',\n 'zeppelin',\n 'zero',\n 'zestfully',\n 'zesty',\n 'zigzagged',\n 'zipfile',\n 'zipping',\n 'zippy',\n 'zips',\n 'zit',\n 'zodiac',\n 'zombie',\n 'zone',\n 'zoning',\n 'zookeeper',\n 'zoologist',\n 'zoology',\n 'zoom',\n];\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 { NotificationsService } from '../abstractions/notifications.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 notificationsUrl: string;\n eventsUrl: string;\n enterpriseUrl: string;\n\n constructor(private apiService: ApiService, private storageService: StorageService,\n private notificationsService: NotificationsService) { }\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 notifications: null,\n events: null,\n webVault: null,\n enterprise: null,\n };\n\n const envUrls = new EnvironmentUrls();\n\n if (urls.base) {\n this.baseUrl = envUrls.base = urls.base;\n 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 this.notificationsUrl = urls.notifications;\n this.eventsUrl = envUrls.events = urls.events;\n this.enterpriseUrl = urls.enterprise;\n 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 urls.notifications = this.formatUrl(urls.notifications);\n urls.events = this.formatUrl(urls.events);\n urls.enterprise = this.formatUrl(urls.enterprise);\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 notifications: urls.notifications,\n events: urls.events,\n enterprise: urls.enterprise,\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 this.notificationsUrl = urls.notifications;\n this.eventsUrl = urls.events;\n this.enterpriseUrl = urls.enterprise;\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 envUrls.events = this.eventsUrl;\n }\n\n this.apiService.setUrls(envUrls);\n if (this.notificationsService != null) {\n this.notificationsService.init(this);\n }\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.trim();\n }\n}\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { TreeNode } from '../models/domain/treeNode';\n\nimport { FolderRequest } from '../models/request/folderRequest';\n\nimport { FolderResponse } from '../models/response/folderResponse';\n\nimport { FolderView } from '../models/view/folderView';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\nimport { CipherData } from '../models/data/cipherData';\n\nimport { ServiceUtils } from '../misc/serviceUtils';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n foldersPrefix: 'folders_',\n ciphersPrefix: 'ciphers_',\n};\nconst NestingDelimiter = '/';\n\nexport class FolderService implements FolderServiceAbstraction {\n decryptedFolderCache: FolderView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private apiService: ApiService, private storageService: StorageService,\n private i18nService: I18nService, private cipherService: CipherService) { }\n\n clearCache(): void {\n this.decryptedFolderCache = null;\n }\n\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\n const folder = new Folder();\n folder.id = model.id;\n folder.name = await this.cryptoService.encrypt(model.name, key);\n return folder;\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null || !folders.hasOwnProperty(id)) {\n return null;\n }\n\n return new Folder(folders[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n const response: Folder[] = [];\n for (const id in folders) {\n if (folders.hasOwnProperty(id)) {\n response.push(new Folder(folders[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedFolderCache != null) {\n return this.decryptedFolderCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const decFolders: FolderView[] = [];\n const promises: Promise[] = [];\n const folders = await this.getAll();\n folders.forEach((folder) => {\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\n });\n\n await Promise.all(promises);\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\n\n const noneFolder = new FolderView();\n noneFolder.name = this.i18nService.t('noneFolder');\n decFolders.push(noneFolder);\n\n this.decryptedFolderCache = decFolders;\n return this.decryptedFolderCache;\n }\n\n async getAllNested(): Promise[]> {\n const folders = await this.getAllDecrypted();\n const nodes: TreeNode[] = [];\n folders.forEach((f) => {\n const folderCopy = new FolderView();\n folderCopy.id = f.id;\n folderCopy.revisionDate = f.revisionDate;\n const parts = f.name != null ? f.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter) : [];\n ServiceUtils.nestedTraverse(nodes, 0, parts, folderCopy, null, NestingDelimiter);\n });\n return nodes;\n }\n\n async getNested(id: string): Promise> {\n const folders = await this.getAllNested();\n return ServiceUtils.getTreeNodeObject(folders, id) as TreeNode;\n }\n\n async saveWithServer(folder: Folder): Promise {\n const request = new FolderRequest(folder);\n\n let response: FolderResponse;\n if (folder.id == null) {\n response = await this.apiService.postFolder(request);\n folder.id = response.id;\n } else {\n response = await this.apiService.putFolder(folder.id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new FolderData(response, userId);\n await this.upsert(data);\n }\n\n async upsert(folder: FolderData | FolderData[]): Promise {\n const userId = await this.userService.getUserId();\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null) {\n folders = {};\n }\n\n if (folder instanceof FolderData) {\n const f = folder as FolderData;\n folders[f.id] = f;\n } else {\n (folder as FolderData[]).forEach((f) => {\n folders[f.id] = f;\n });\n }\n\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n }\n\n async replace(folders: { [id: string]: FolderData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.foldersPrefix + userId);\n this.decryptedFolderCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (folders[id] == null) {\n return;\n }\n delete folders[id];\n } else {\n (id as string[]).forEach((i) => {\n delete folders[i];\n });\n }\n\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n\n // Items in a deleted folder are re-assigned to \"No Folder\"\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\n if (ciphers != null) {\n const updates: CipherData[] = [];\n for (const cId in ciphers) {\n if (ciphers[cId].folderId === id) {\n ciphers[cId].folderId = null;\n updates.push(ciphers[cId]);\n }\n }\n if (updates.length > 0) {\n this.cipherService.upsert(updates);\n }\n }\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteFolder(id);\n await this.delete(id);\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 localeNames = new Map([\n ['af', 'Afrikaans'],\n ['be', 'Беларуская'],\n ['bg', 'български'],\n ['ca', 'català'],\n ['cs', 'čeština'],\n ['da', 'dansk'],\n ['de', 'Deutsch'],\n ['el', 'Ελληνικά'],\n ['en', 'English'],\n ['en-GB', 'English (British)'],\n ['eo', 'Esperanto'],\n ['es', 'español'],\n ['et', 'eesti'],\n ['fa', 'فارسی'],\n ['fi', 'suomi'],\n ['fr', 'français'],\n ['he', 'עברית'],\n ['hi', 'हिन्दी'],\n ['hr', 'hrvatski'],\n ['hu', 'magyar'],\n ['id', 'Bahasa Indonesia'],\n ['it', 'italiano'],\n ['ja', '日本語'],\n ['ko', '한국어'],\n ['lv', 'Latvietis'],\n ['ml', 'മലയാളം'],\n ['nb', 'norsk (bokmål)'],\n ['nl', 'Nederlands'],\n ['pl', 'polski'],\n ['pt-BR', 'português do Brasil'],\n ['pt-PT', 'português'],\n ['ro', 'română'],\n ['ru', 'русский'],\n ['sk', 'slovenčina'],\n ['sr', 'Српски'],\n ['sv', 'svenska'],\n ['th', 'ไทย'],\n ['tr', 'Türkçe'],\n ['uk', 'українська'],\n ['vi', 'Tiếng Việt'],\n ['zh-CN', '中文(中国大陆)'],\n ['zh-TW', '中文(台灣)'],\n ]);\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 * as zxcvbn from 'zxcvbn';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\nimport { PasswordGeneratorPolicyOptions } from '../models/domain/passwordGeneratorPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { CryptoService } from '../abstractions/crypto.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from '../abstractions/passwordGeneration.service';\nimport { PolicyService } from '../abstractions/policy.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { EEFLongWordList } from '../misc/wordlist';\n\nimport { PolicyType } from '../enums/policyType';\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 type: 'password',\n numWords: 3,\n wordSeparator: '-',\n capitalize: false,\n includeNumber: false,\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: GeneratedPasswordHistory[];\n\n constructor(private cryptoService: CryptoService, private storageService: StorageService,\n private policyService: PolicyService) { }\n\n async generatePassword(options: any): Promise {\n // overload defaults with given options\n const o = Object.assign({}, DefaultOptions, options);\n\n if (o.type === 'passphrase') {\n return this.generatePassphrase(options);\n }\n\n // sanitize\n this.sanitizePasswordLength(o, true);\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 = 'ABCDEFGHJKLMNPQRSTUVWXYZ';\n if (o.ambiguous) {\n uppercaseCharSet += 'IO';\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 generatePassphrase(options: any): Promise {\n const o = Object.assign({}, DefaultOptions, options);\n\n if (o.numWords == null || o.numWords <= 2) {\n o.numWords = DefaultOptions.numWords;\n }\n if (o.wordSeparator == null || o.wordSeparator.length === 0 || o.wordSeparator.length > 1) {\n o.wordSeparator = ' ';\n }\n if (o.capitalize == null) {\n o.capitalize = false;\n }\n if (o.includeNumber == null) {\n o.includeNumber = false;\n }\n\n const listLength = EEFLongWordList.length - 1;\n const wordList = new Array(o.numWords);\n for (let i = 0; i < o.numWords; i++) {\n const wordIndex = await this.cryptoService.randomNumber(0, listLength);\n if (o.capitalize) {\n wordList[i] = this.capitalize(EEFLongWordList[wordIndex]);\n } else {\n wordList[i] = EEFLongWordList[wordIndex];\n }\n }\n\n if (o.includeNumber) {\n await this.appendRandomNumberToRandomWord(wordList);\n }\n return wordList.join(o.wordSeparator);\n }\n\n async getOptions(): Promise<[any, PasswordGeneratorPolicyOptions]> {\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 = Object.assign({}, DefaultOptions, options);\n }\n }\n const enforcedOptions = await this.enforcePasswordGeneratorPoliciesOnOptions(this.optionsCache);\n this.optionsCache = enforcedOptions[0];\n return [this.optionsCache, enforcedOptions[1]];\n }\n\n async enforcePasswordGeneratorPoliciesOnOptions(options: any): Promise<[any, PasswordGeneratorPolicyOptions]> {\n let enforcedPolicyOptions = await this.getPasswordGeneratorPolicyOptions();\n if (enforcedPolicyOptions != null) {\n if (options.length < enforcedPolicyOptions.minLength) {\n options.length = enforcedPolicyOptions.minLength;\n }\n\n if (enforcedPolicyOptions.useUppercase) {\n options.uppercase = true;\n }\n\n if (enforcedPolicyOptions.useLowercase) {\n options.lowercase = true;\n }\n\n if (enforcedPolicyOptions.useNumbers) {\n options.number = true;\n }\n\n if (options.minNumber < enforcedPolicyOptions.numberCount) {\n options.minNumber = enforcedPolicyOptions.numberCount;\n }\n\n if (enforcedPolicyOptions.useSpecial) {\n options.special = true;\n }\n\n if (options.minSpecial < enforcedPolicyOptions.specialCount) {\n options.minSpecial = enforcedPolicyOptions.specialCount;\n }\n\n // Must normalize these fields because the receiving call expects all options to pass the current rules\n if (options.minSpecial + options.minNumber > options.length) {\n options.minSpecial = options.length - options.minNumber;\n }\n\n if (options.numWords < enforcedPolicyOptions.minNumberWords) {\n options.numWords = enforcedPolicyOptions.minNumberWords;\n }\n\n if (enforcedPolicyOptions.capitalize) {\n options.capitalize = true;\n }\n\n if (enforcedPolicyOptions.includeNumber) {\n options.includeNumber = true;\n }\n\n // Force default type if password/passphrase selected via policy\n if (enforcedPolicyOptions.defaultType === 'password' ||\n enforcedPolicyOptions.defaultType === 'passphrase') {\n options.type = enforcedPolicyOptions.defaultType;\n }\n } else { // UI layer expects an instantiated object to prevent more explicit null checks\n enforcedPolicyOptions = new PasswordGeneratorPolicyOptions();\n }\n return [options, enforcedPolicyOptions];\n }\n\n async getPasswordGeneratorPolicyOptions(): Promise {\n const policies: Policy[] = this.policyService == null ? null :\n await this.policyService.getAll(PolicyType.PasswordGenerator);\n let enforcedOptions: PasswordGeneratorPolicyOptions = null;\n\n if (policies == null || policies.length === 0) {\n return enforcedOptions;\n }\n\n policies.forEach((currentPolicy) => {\n if (!currentPolicy.enabled || currentPolicy.data == null) {\n return;\n }\n\n if (enforcedOptions == null) {\n enforcedOptions = new PasswordGeneratorPolicyOptions();\n }\n\n // Password wins in multi-org collisions\n if (currentPolicy.data.defaultType != null && enforcedOptions.defaultType !== 'password') {\n enforcedOptions.defaultType = currentPolicy.data.defaultType;\n }\n\n if (currentPolicy.data.minLength != null\n && currentPolicy.data.minLength > enforcedOptions.minLength) {\n enforcedOptions.minLength = currentPolicy.data.minLength;\n }\n\n if (currentPolicy.data.useUpper) {\n enforcedOptions.useUppercase = true;\n }\n\n if (currentPolicy.data.useLower) {\n enforcedOptions.useLowercase = true;\n }\n\n if (currentPolicy.data.useNumbers) {\n enforcedOptions.useNumbers = true;\n }\n\n if (currentPolicy.data.minNumbers != null\n && currentPolicy.data.minNumbers > enforcedOptions.numberCount) {\n enforcedOptions.numberCount = currentPolicy.data.minNumbers;\n }\n\n if (currentPolicy.data.useSpecial) {\n enforcedOptions.useSpecial = true;\n }\n\n if (currentPolicy.data.minSpecial != null\n && currentPolicy.data.minSpecial > enforcedOptions.specialCount) {\n enforcedOptions.specialCount = currentPolicy.data.minSpecial;\n }\n\n if (currentPolicy.data.minNumberWords != null\n && currentPolicy.data.minNumberWords > enforcedOptions.minNumberWords) {\n enforcedOptions.minNumberWords = currentPolicy.data.minNumberWords;\n }\n\n if (currentPolicy.data.capitalize) {\n enforcedOptions.capitalize = true;\n }\n\n if (currentPolicy.data.includeNumber) {\n enforcedOptions.includeNumber = true;\n }\n });\n\n return enforcedOptions;\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 GeneratedPasswordHistory(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 passwordStrength(password: string, userInputs: string[] = null): zxcvbn.ZXCVBNResult {\n if (password == null || password.length === 0) {\n return null;\n }\n let globalUserInputs = ['bitwarden', 'bit', 'warden'];\n if (userInputs != null && userInputs.length > 0) {\n globalUserInputs = globalUserInputs.concat(userInputs);\n }\n // Use a hash set to get rid of any duplicate user inputs\n const finalUserInputs = Array.from(new Set(globalUserInputs));\n const result = zxcvbn(password, finalUserInputs);\n return result;\n }\n\n normalizeOptions(options: any, enforcedPolicyOptions: PasswordGeneratorPolicyOptions) {\n options.minLowercase = 0;\n options.minUppercase = 0;\n\n if (!options.length || options.length < 5) {\n options.length = 5;\n } else if (options.length > 128) {\n options.length = 128;\n }\n\n if (options.length < enforcedPolicyOptions.minLength) {\n options.length = enforcedPolicyOptions.minLength;\n }\n\n if (!options.minNumber) {\n options.minNumber = 0;\n } else if (options.minNumber > options.length) {\n options.minNumber = options.length;\n } else if (options.minNumber > 9) {\n options.minNumber = 9;\n }\n\n if (options.minNumber < enforcedPolicyOptions.numberCount) {\n options.minNumber = enforcedPolicyOptions.numberCount;\n }\n\n if (!options.minSpecial) {\n options.minSpecial = 0;\n } else if (options.minSpecial > options.length) {\n options.minSpecial = options.length;\n } else if (options.minSpecial > 9) {\n options.minSpecial = 9;\n }\n\n if (options.minSpecial < enforcedPolicyOptions.specialCount) {\n options.minSpecial = enforcedPolicyOptions.specialCount;\n }\n\n if (options.minSpecial + options.minNumber > options.length) {\n options.minSpecial = options.length - options.minNumber;\n }\n\n if (options.numWords == null || options.length < 3) {\n options.numWords = 3;\n } else if (options.numWords > 20) {\n options.numWords = 20;\n }\n\n if (options.numWords < enforcedPolicyOptions.minNumberWords) {\n options.numWords = enforcedPolicyOptions.minNumberWords;\n }\n\n if (options.wordSeparator != null && options.wordSeparator.length > 1) {\n options.wordSeparator = options.wordSeparator[0];\n }\n\n this.sanitizePasswordLength(options, false);\n }\n\n private capitalize(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private async appendRandomNumberToRandomWord(wordList: string[]) {\n if (wordList == null || wordList.length <= 0) {\n return;\n }\n const index = await this.cryptoService.randomNumber(0, wordList.length - 1);\n const num = await this.cryptoService.randomNumber(0, 9);\n wordList[index] = wordList[index] + num;\n }\n\n private async encryptHistory(history: GeneratedPasswordHistory[]): 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 GeneratedPasswordHistory(encrypted.encryptedString, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private async decryptHistory(history: GeneratedPasswordHistory[]): 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 GeneratedPasswordHistory(decrypted, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private matchesPrevious(password: string, history: GeneratedPasswordHistory[]): 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 private sanitizePasswordLength(options: any, forGeneration: boolean) {\n let minUppercaseCalc = 0;\n let minLowercaseCalc = 0;\n let minNumberCalc: number = options.minNumber;\n let minSpecialCalc: number = options.minSpecial;\n\n if (options.uppercase && options.minUppercase <= 0) {\n minUppercaseCalc = 1;\n } else if (!options.uppercase) {\n minUppercaseCalc = 0;\n }\n\n if (options.lowercase && options.minLowercase <= 0) {\n minLowercaseCalc = 1;\n } else if (!options.lowercase) {\n minLowercaseCalc = 0;\n }\n\n if (options.number && options.minNumber <= 0) {\n minNumberCalc = 1;\n } else if (!options.number) {\n minNumberCalc = 0;\n }\n\n if (options.special && options.minSpecial <= 0) {\n minSpecialCalc = 1;\n } else if (!options.special) {\n minSpecialCalc = 0;\n }\n\n // This should never happen but is a final safety net\n if (!options.length || options.length < 1) {\n options.length = 10;\n }\n\n const minLength: number = minUppercaseCalc + minLowercaseCalc + minNumberCalc + minSpecialCalc;\n // Normalize and Generation both require this modification\n if (options.length < minLength) {\n options.length = minLength;\n }\n\n // Apply other changes if the options object passed in is for generation\n if (forGeneration) {\n options.minUppercase = minUppercaseCalc;\n options.minLowercase = minLowercaseCalc;\n options.minNumber = minNumberCalc;\n options.minSpecial = minSpecialCalc;\n }\n }\n}\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nconst Keys = {\n settingsPrefix: 'settings_',\n equivalentDomains: 'equivalentDomains',\n};\n\nexport class SettingsService implements SettingsServiceAbstraction {\n private settingsCache: any;\n\n constructor(private userService: UserService, private storageService: StorageService) {\n }\n\n clearCache(): void {\n this.settingsCache = null;\n }\n\n getEquivalentDomains(): Promise {\n return this.getSettingsKey(Keys.equivalentDomains);\n }\n\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.settingsPrefix + userId);\n this.clearCache();\n }\n\n // Helpers\n\n private async getSettings(): Promise {\n if (this.settingsCache == null) {\n const userId = await this.userService.getUserId();\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\n }\n return this.settingsCache;\n }\n\n private async getSettingsKey(key: string): Promise {\n const settings = await this.getSettings();\n if (settings != null && settings[key]) {\n return settings[key];\n }\n return null;\n }\n\n private async setSettingsKey(key: string, value: any): Promise {\n const userId = await this.userService.getUserId();\n let settings = await this.getSettings();\n if (!settings) {\n settings = {};\n }\n\n settings[key] = value;\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\n this.settingsCache = settings;\n }\n}\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\n\nexport class StateService implements StateServiceAbstraction {\n private state: any = {};\n\n get(key: string): Promise {\n if (this.state.hasOwnProperty(key)) {\n return Promise.resolve(this.state[key]);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n this.state[key] = obj;\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n delete this.state[key];\n return Promise.resolve();\n }\n\n purge(): Promise {\n this.state = {};\n return Promise.resolve();\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 { PolicyService } from '../abstractions/policy.service';\nimport { SendService } from '../abstractions/send.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';\nimport { PolicyData } from '../models/data/policyData';\nimport { SendData } from '../models/data/sendData';\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 {\n SyncCipherNotification,\n SyncFolderNotification,\n SyncSendNotification,\n} from '../models/response/notificationResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SendResponse } from '../models/response/sendResponse';\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 policyService: PolicyService,\n private sendService: SendService, 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 async fullSync(forceSync: boolean, allowThrowOnError = false): Promise {\n this.syncStarted();\n const isAuthenticated = await this.userService.isAuthenticated();\n if (!isAuthenticated) {\n return this.syncCompleted(false);\n }\n\n const now = new Date();\n let needsSync = false;\n try {\n needsSync = await this.needsSyncing(forceSync);\n } catch (e) {\n if (allowThrowOnError) {\n throw e;\n }\n }\n\n if (!needsSync) {\n await this.setLastSync(now);\n return this.syncCompleted(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.syncSends(userId, response.sends);\n await this.syncSettings(userId, response.domains);\n await this.syncPolicies(response.policies);\n\n await this.setLastSync(now);\n return this.syncCompleted(true);\n } catch (e) {\n if (allowThrowOnError) {\n throw e;\n } else {\n return this.syncCompleted(false);\n }\n }\n }\n\n async syncUpsertFolder(notification: SyncFolderNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n const localFolder = await this.folderService.get(notification.id);\n if ((!isEdit && localFolder == null) ||\n (isEdit && localFolder != null && localFolder.revisionDate < notification.revisionDate)) {\n const remoteFolder = await this.apiService.getFolder(notification.id);\n if (remoteFolder != null) {\n const userId = await this.userService.getUserId();\n await this.folderService.upsert(new FolderData(remoteFolder, userId));\n this.messagingService.send('syncedUpsertedFolder', { folderId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch { }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteFolder(notification: SyncFolderNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.folderService.delete(notification.id);\n this.messagingService.send('syncedDeletedFolder', { folderId: notification.id });\n this.syncCompleted(true);\n return true;\n }\n return this.syncCompleted(false);\n }\n\n async syncUpsertCipher(notification: SyncCipherNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n let shouldUpdate = true;\n const localCipher = await this.cipherService.get(notification.id);\n if (localCipher != null && localCipher.revisionDate >= notification.revisionDate) {\n shouldUpdate = false;\n }\n\n let checkCollections = false;\n if (shouldUpdate) {\n if (isEdit) {\n shouldUpdate = localCipher != null;\n checkCollections = true;\n } else {\n if (notification.collectionIds == null || notification.organizationId == null) {\n shouldUpdate = localCipher == null;\n } else {\n shouldUpdate = false;\n checkCollections = true;\n }\n }\n }\n\n if (!shouldUpdate && checkCollections && notification.organizationId != null &&\n notification.collectionIds != null && notification.collectionIds.length > 0) {\n const collections = await this.collectionService.getAll();\n if (collections != null) {\n for (let i = 0; i < collections.length; i++) {\n if (notification.collectionIds.indexOf(collections[i].id) > -1) {\n shouldUpdate = true;\n break;\n }\n }\n }\n }\n\n if (shouldUpdate) {\n const remoteCipher = await this.apiService.getCipher(notification.id);\n if (remoteCipher != null) {\n const userId = await this.userService.getUserId();\n await this.cipherService.upsert(new CipherData(remoteCipher, userId));\n this.messagingService.send('syncedUpsertedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch (e) {\n if (e != null && e.statusCode === 404 && isEdit) {\n await this.cipherService.delete(notification.id);\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteCipher(notification: SyncCipherNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.cipherService.delete(notification.id);\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n return this.syncCompleted(false);\n }\n\n async syncUpsertSend(notification: SyncSendNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n const localSend = await this.sendService.get(notification.id);\n if ((!isEdit && localSend == null) ||\n (isEdit && localSend != null && localSend.revisionDate < notification.revisionDate)) {\n const remoteSend = await this.apiService.getSend(notification.id);\n if (remoteSend != null) {\n const userId = await this.userService.getUserId();\n await this.sendService.upsert(new SendData(remoteSend, userId));\n this.messagingService.send('syncedUpsertedSend', { sendId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch { }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteSend(notification: SyncSendNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.sendService.delete(notification.id);\n this.messagingService.send('syncedDeletedSend', { sendId: notification.id });\n this.syncCompleted(true);\n return true;\n }\n return this.syncCompleted(false);\n }\n\n // Helpers\n\n private syncStarted() {\n this.syncInProgress = true;\n this.messagingService.send('syncStarted');\n }\n\n private syncCompleted(successfully: boolean): boolean {\n this.syncInProgress = false;\n this.messagingService.send('syncCompleted', { successfully: successfully });\n return successfully;\n }\n\n private async needsSyncing(forceSync: boolean) {\n if (forceSync) {\n return true;\n }\n\n const lastSync = await this.getLastSync();\n if (lastSync == null || lastSync.getTime() === 0) {\n return true;\n }\n\n const response = await this.apiService.getAccountRevisionDate();\n if (new Date(response) <= lastSync) {\n return false;\n }\n return true;\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\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 syncSends(userId: string, response: SendResponse[]) {\n const sends: { [id: string]: SendData; } = {};\n response.forEach((s) => {\n sends[s.id] = new SendData(s, userId);\n });\n return await this.sendService.replace(sends);\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 private async syncPolicies(response: PolicyResponse[]) {\n const policies: { [id: string]: PolicyData; } = {};\n if (response != null) {\n response.forEach((p) => {\n policies[p.id] = new PolicyData(p);\n });\n }\n return await this.policyService.replace(policies);\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendFileData } from './sendFileData';\nimport { SendTextData } from './sendTextData';\n\nimport { SendResponse } from '../response/sendResponse';\n\nexport class SendData {\n id: string;\n accessId: string;\n userId: string;\n type: SendType;\n name: string;\n notes: string;\n file: SendFileData;\n text: SendTextData;\n key: string;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: string;\n expirationDate: string;\n deletionDate: string;\n password: string;\n disabled: boolean;\n\n constructor(response?: SendResponse, userId?: string) {\n if (response == null) {\n return;\n }\n\n this.id = response.id;\n this.accessId = response.accessId;\n this.userId = userId;\n this.type = response.type;\n this.name = response.name;\n this.notes = response.notes;\n this.key = response.key;\n this.maxAccessCount = response.maxAccessCount;\n this.accessCount = response.accessCount;\n this.revisionDate = response.revisionDate;\n this.expirationDate = response.expirationDate;\n this.deletionDate = response.deletionDate;\n this.password = response.password;\n this.disabled = response.disable;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendTextData(response.text);\n break;\n case SendType.File:\n this.file = new SendFileData(response.file);\n break;\n default:\n break;\n }\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 async setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n\n if (await this.skipTokenStorage()) {\n // if we have a vault timeout and the action is log out, don't store token\n return;\n }\n\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 async setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n\n if (await this.skipTokenStorage()) {\n // if we have a vault timeout and the action is log out, don't store token\n return;\n }\n\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 async toggleTokens(): Promise {\n const token = await this.getToken();\n const refreshToken = await this.getRefreshToken();\n const timeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const action = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n if ((timeout != null || timeout === 0) && action === 'logOut') {\n // if we have a vault timeout and the action is log out, reset tokens\n await this.clearToken();\n this.token = token;\n this.refreshToken = refreshToken;\n return;\n }\n\n await this.setToken(token);\n await this.setRefreshToken(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 private async skipTokenStorage(): Promise {\n const timeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const action = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n return timeout != null && action === 'logOut';\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';\nconst SteamChars = '23456789BCDFGHJKMNPQRTVWXY';\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 const isOtpAuth = key.toLowerCase().indexOf('otpauth://') === 0;\n const isSteamAuth = !isOtpAuth && key.toLowerCase().indexOf('steam://') === 0;\n if (isOtpAuth) {\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 } else if (isSteamAuth) {\n keyB32 = key.substr('steam://'.length);\n digits = 5;\n }\n\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const timeHex = this.leftPad(this.decToHex(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\n let otp = '';\n if (isSteamAuth) {\n // tslint:disable-next-line\n let fullCode = binary & 0x7fffffff;\n for (let i = 0; i < digits; i++) {\n otp += SteamChars[fullCode % SteamChars.length];\n fullCode = Math.trunc(fullCode / SteamChars.length);\n }\n } else {\n otp = (binary % Math.pow(10, digits)).toString();\n otp = this.leftPad(otp, digits, '0');\n }\n\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 decToHex(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 { 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\nimport { KdfType } from '../enums/kdfType';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n kdf: 'kdf',\n kdfIterations: 'kdfIterations',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n private userId: string;\n private email: string;\n private stamp: string;\n private kdf: KdfType;\n private kdfIterations: number;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) { }\n\n setInformation(userId: string, email: string, kdf: KdfType, kdfIterations: number): Promise {\n this.email = email;\n this.userId = userId;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n this.storageService.save(Keys.kdf, kdf),\n this.storageService.save(Keys.kdfIterations, kdfIterations),\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 this.userId = await this.storageService.get(Keys.userId);\n }\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email == null) {\n this.email = await this.storageService.get(Keys.userEmail);\n }\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp == null) {\n this.stamp = await this.storageService.get(Keys.stamp);\n }\n return this.stamp;\n }\n\n async getKdf(): Promise {\n if (this.kdf == null) {\n this.kdf = await this.storageService.get(Keys.kdf);\n }\n return this.kdf;\n }\n\n async getKdfIterations(): Promise {\n if (this.kdfIterations == null) {\n this.kdfIterations = await this.storageService.get(Keys.kdfIterations);\n }\n return this.kdfIterations;\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.storageService.remove(Keys.kdf),\n this.storageService.remove(Keys.kdfIterations),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n this.kdf = null;\n this.kdfIterations = 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 canAccessPremium(): Promise {\n const authed = await this.isAuthenticated();\n if (!authed) {\n return false;\n }\n\n const tokenPremium = this.tokenService.getPremium();\n if (tokenPremium) {\n return true;\n }\n\n const orgs = await this.getAllOrganizations();\n for (let i = 0; i < orgs.length; i++) {\n if (orgs[i].usersGetPremium && orgs[i].enabled) {\n return true;\n }\n }\n return false;\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 { 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 { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { SearchService } from '../abstractions/search.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\nimport { VaultTimeoutService as VaultTimeoutServiceAbstraction } from '../abstractions/vaultTimeout.service';\n\nimport { CipherString } from '../models/domain/cipherString';\n\nexport class VaultTimeoutService implements VaultTimeoutServiceAbstraction {\n pinProtectedKey: CipherString = null;\n biometricLocked: boolean = true;\n\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 searchService: SearchService,\n private userService: UserService, private tokenService: TokenService,\n private lockedCallback: () => Promise = null, private loggedOutCallback: () => Promise = null) {\n }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.checkVaultTimeout();\n setInterval(() => this.checkVaultTimeout(), 10 * 1000); // check every 10 seconds\n }\n }\n\n // Keys aren't stored for a device that is locked or logged out.\n async isLocked(): Promise {\n const hasKey = await this.cryptoService.hasKey();\n if (hasKey) {\n if (await this.isBiometricLockSet() && this.biometricLocked) {\n return true;\n }\n }\n return !hasKey;\n }\n\n async checkVaultTimeout(): Promise {\n if (await this.platformUtilsService.isViewOpen()) {\n // Do not lock\n return;\n }\n\n // \"is logged out check\" - similar to isLocked, below\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n\n if (await this.isLocked()) {\n return;\n }\n\n // This has the potential to be removed. Evaluate after all platforms complete with auto-logout\n let vaultTimeout = this.platformUtilsService.lockTimeout();\n if (vaultTimeout == null) {\n vaultTimeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n }\n\n if (vaultTimeout == null || vaultTimeout < 0) {\n return;\n }\n\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\n if (lastActive == null) {\n return;\n }\n\n const vaultTimeoutSeconds = vaultTimeout * 60;\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\n if (diffSeconds >= vaultTimeoutSeconds) {\n // Pivot based on the saved vault timeout action\n const timeoutAction = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n timeoutAction === 'logOut' ? await this.logOut() : await this.lock(true);\n }\n }\n\n async lock(allowSoftLock = false): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n\n this.biometricLocked = true;\n if (allowSoftLock) {\n const biometricLocked = await this.isBiometricLockSet();\n if (biometricLocked && this.platformUtilsService.supportsSecureStorage()) {\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n return;\n }\n }\n\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.searchService.clearIndex();\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n }\n\n async logOut(): Promise {\n if (this.loggedOutCallback != null) {\n await this.loggedOutCallback();\n }\n }\n\n async setVaultTimeoutOptions(timeout: number, action: string): Promise {\n await this.storageService.save(ConstantsService.vaultTimeoutKey, timeout);\n await this.storageService.save(ConstantsService.vaultTimeoutActionKey, action);\n await this.cryptoService.toggleKey();\n await this.tokenService.toggleTokens();\n }\n\n async isPinLockSet(): Promise<[boolean, boolean]> {\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\n return [protectedPin != null, pinProtectedKey != null];\n }\n\n async isBiometricLockSet(): Promise {\n return await this.storageService.get(ConstantsService.biometricUnlockKey);\n }\n\n clear(): Promise {\n this.pinProtectedKey = null;\n return this.storageService.remove(ConstantsService.protectedPin);\n }\n}\n","import { LogLevelType } from '../enums/logLevelType';\n\nimport { LogService as LogServiceAbstraction } from '../abstractions/log.service';\n\nimport * as hrtime from 'browser-hrtime';\n\nexport class ConsoleLogService implements LogServiceAbstraction {\n protected timersMap: Map = new Map();\n\n constructor(protected isDev: boolean, protected filter: (level: LogLevelType) => boolean = null) { }\n\n debug(message: string) {\n if (!this.isDev) {\n return;\n }\n this.write(LogLevelType.Debug, message);\n }\n\n info(message: string) {\n this.write(LogLevelType.Info, message);\n }\n\n warning(message: string) {\n this.write(LogLevelType.Warning, message);\n }\n\n error(message: string) {\n this.write(LogLevelType.Error, message);\n }\n\n write(level: LogLevelType, message: string) {\n if (this.filter != null && this.filter(level)) {\n return;\n }\n\n switch (level) {\n case LogLevelType.Debug:\n // tslint:disable-next-line\n console.log(message);\n break;\n case LogLevelType.Info:\n // tslint:disable-next-line\n console.log(message);\n break;\n case LogLevelType.Warning:\n // tslint:disable-next-line\n console.warn(message);\n break;\n case LogLevelType.Error:\n // tslint:disable-next-line\n console.error(message);\n break;\n default:\n break;\n }\n }\n\n time(label: string = 'default') {\n if (!this.timersMap.has(label)) {\n this.timersMap.set(label, hrtime());\n }\n }\n\n timeEnd(label: string = 'default'): [number, number] {\n const elapsed = hrtime(this.timersMap.get(label));\n this.timersMap.delete(label);\n this.write(LogLevelType.Info, `${label}: ${elapsed[0] * 1000 + elapsed[1] / 10e6}ms`);\n return elapsed;\n }\n}\n","import { Cipher } from './cipher';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Cipher as CipherDomain } from '../domain/cipher';\n\nexport class CipherWithIds extends Cipher {\n id: string;\n collectionIds: string[];\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CipherView | CipherDomain) {\n this.id = o.id;\n super.build(o);\n this.collectionIds = o.collectionIds;\n }\n}\n","import { Collection } from './collection';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { Collection as CollectionDomain } from '../domain/collection';\n\nexport class CollectionWithId extends Collection {\n id: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CollectionView | CollectionDomain) {\n this.id = o.id;\n super.build(o);\n }\n}\n","import { Folder } from './folder';\n\nimport { FolderView } from '../view/folderView';\n\nimport { Folder as FolderDomain } from '../domain/folder';\n\nexport class FolderWithId extends Folder {\n id: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: FolderView | FolderDomain) {\n this.id = o.id;\n super.build(o);\n }\n}\n","import { ImportResult } from '../../models/domain/importResult';\nimport { BaseImporter } from '../baseImporter';\nimport { Importer } from '../importer';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { CipherView } from '../../models/view';\nimport { CipherImportContext } from './cipherImportContext';\n\nexport const IgnoredProperties = ['ainfo', 'autosubmit', 'notesplain', 'ps', 'scope', 'tags', 'title', 'uuid', 'notes'];\n\nexport abstract class OnePasswordCsvImporter extends BaseImporter implements Importer {\n protected loginPropertyParsers = [this.setLoginUsername, this.setLoginPassword, this.setLoginUris];\n protected creditCardPropertyParsers = [this.setCreditCardNumber, this.setCreditCardVerification, this.setCreditCardCardholderName, this.setCreditCardExpiry];\n protected identityPropertyParsers = [this.setIdentityFirstName, this.setIdentityInitial, this.setIdentityLastName, this.setIdentityUserName, this.setIdentityEmail, this.setIdentityPhone, this.setIdentityCompany];\n\n abstract setCipherType(value: any, cipher: CipherView): void;\n\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true, {\n quoteChar: '\"',\n escapeChar: '\\\\',\n });\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(this.getProp(value, 'title'))) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.getProp(value, 'title'), '--');\n\n this.setNotes(value, cipher);\n\n this.setCipherType(value, cipher);\n\n let altUsername: string = null;\n for (const property in value) {\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\n continue;\n }\n\n const context = new CipherImportContext(value, property, cipher);\n if (cipher.type === CipherType.Login && this.setKnownLoginValue(context)) {\n continue;\n } else if (cipher.type === CipherType.Card && this.setKnownCreditCardValue(context)) {\n continue;\n } else if (cipher.type === CipherType.Identity && this.setKnownIdentityValue(context)) {\n continue;\n }\n\n altUsername = this.setUnknownValue(context, altUsername);\n }\n\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\n cipher.login.username = altUsername;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n protected getProp(obj: any, name: string): any {\n const lowerObj = Object.entries(obj).reduce((agg: any, entry: [string, any]) => {\n agg[entry[0].toLowerCase()] = entry[1];\n return agg;\n }, {});\n return lowerObj[name.toLowerCase()];\n }\n\n protected getPropByRegexp(obj: any, regexp: RegExp): any {\n const matchingKeys = Object.keys(obj).reduce((agg: string[], key: string) => {\n if (key.match(regexp)) {\n agg.push(key);\n }\n return agg;\n }, []);\n if (matchingKeys.length === 0) {\n return null;\n } else {\n return obj[matchingKeys[0]];\n }\n }\n\n protected getPropIncluding(obj: any, name: string): any {\n const includesMap = Object.keys(obj).reduce((agg: string[], entry: string) => {\n if (entry.toLowerCase().includes(name.toLowerCase())) {\n agg.push(entry);\n }\n return agg;\n }, []);\n if (includesMap.length === 0) {\n return null;\n } else {\n return obj[includesMap[0]];\n }\n }\n\n protected setNotes(importRecord: any, cipher: CipherView) {\n cipher.notes = this.getValueOrDefault(this.getProp(importRecord, 'notesPlain'), '') + '\\n' +\n this.getValueOrDefault(this.getProp(importRecord, 'notes'), '') + '\\n';\n cipher.notes.trim();\n\n }\n\n protected setKnownLoginValue(context: CipherImportContext): boolean {\n return this.loginPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setKnownCreditCardValue(context: CipherImportContext): boolean {\n return this.creditCardPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setKnownIdentityValue(context: CipherImportContext): boolean {\n return this.identityPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setUnknownValue(context: CipherImportContext, altUsername: string): string {\n if (IgnoredProperties.indexOf(context.lowerProperty) === -1 && !context.lowerProperty.startsWith('section:') &&\n !context.lowerProperty.startsWith('section ')) {\n if (altUsername == null && context.lowerProperty === 'email') {\n return context.importRecord[context.property];\n }\n else if (context.lowerProperty === 'created date' || context.lowerProperty === 'modified date') {\n const readableDate = new Date(parseInt(context.importRecord[context.property], 10) * 1000).toUTCString();\n this.processKvp(context.cipher, '1Password ' + context.property, readableDate);\n return null;\n }\n if (context.lowerProperty.includes('password') || context.lowerProperty.includes('key') || context.lowerProperty.includes('secret')) {\n this.processKvp(context.cipher, context.property, context.importRecord[context.property], FieldType.Hidden);\n } else {\n this.processKvp(context.cipher, context.property, context.importRecord[context.property]);\n }\n }\n return null;\n }\n\n protected setIdentityFirstName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.firstName) && context.lowerProperty.includes('first name')) {\n context.cipher.identity.firstName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityInitial(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.middleName) && context.lowerProperty.includes('initial')) {\n context.cipher.identity.middleName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityLastName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.lastName) && context.lowerProperty.includes('last name')) {\n context.cipher.identity.lastName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityUserName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.username) && context.lowerProperty.includes('username')) {\n context.cipher.identity.username = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityCompany(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.company) && context.lowerProperty.includes('company')) {\n context.cipher.identity.company = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityPhone(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.phone) && context.lowerProperty.includes('default phone')) {\n context.cipher.identity.phone = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityEmail(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.email) && context.lowerProperty.includes('email')) {\n context.cipher.identity.email = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardNumber(context: CipherImportContext): boolean {\n if (this.isNullOrWhitespace(context.cipher.card.number) && context.lowerProperty.includes('number')) {\n context.cipher.card.number = context.importRecord[context.property];\n context.cipher.card.brand = this.getCardBrand(context.cipher.card.number);\n return true;\n }\n return false;\n }\n\n protected setCreditCardVerification(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.code) && context.lowerProperty.includes('verification number')) {\n context.cipher.card.code = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardCardholderName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.cardholderName) && context.lowerProperty.includes('cardholder name')) {\n context.cipher.card.cardholderName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardExpiry(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.expiration) && context.lowerProperty.includes('expiry date') &&\n context.importRecord[context.property].length === 7) {\n context.cipher.card.expMonth = (context.importRecord[context.property] as string).substr(0, 2);\n if (context.cipher.card.expMonth[0] === '0') {\n context.cipher.card.expMonth = context.cipher.card.expMonth.substr(1, 1);\n }\n context.cipher.card.expYear = (context.importRecord[context.property] as string).substr(3, 4);\n return true;\n }\n return false;\n }\n\n protected setLoginPassword(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.login.password) && context.lowerProperty === 'password') {\n context.cipher.login.password = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setLoginUsername(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.login.username) && context.lowerProperty === 'username') {\n context.cipher.login.username = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setLoginUris(context: CipherImportContext) {\n if ((context.cipher.login.uris == null || context.cipher.login.uris.length === 0) && context.lowerProperty === 'urls') {\n const urls = context.importRecord[context.property].split(this.newLineRegex);\n context.cipher.login.uris = this.makeUriArray(urls);\n return true;\n } else if ((context.lowerProperty === 'url')) {\n if (context.cipher.login.uris == null) {\n context.cipher.login.uris = [];\n }\n context.cipher.login.uris.concat(this.makeUriArray(context.importRecord[context.property]));\n return true;\n }\n return false;\n }\n}\n","export { AttachmentView } from './attachmentView';\nexport { CardView } from './cardView';\nexport { CipherView } from './cipherView';\nexport { FieldView } from './fieldView';\nexport { IdentityView } from './identityView';\nexport { LoginUriView } from './loginUriView';\nexport { LoginView } from './loginView';\nexport { SecureNoteView } from './secureNoteView';\nexport { View } from './view';\n","export enum NotificationType {\n SyncCipherUpdate = 0,\n SyncCipherCreate = 1,\n SyncLoginDelete = 2,\n SyncFolderDelete = 3,\n SyncCiphers = 4,\n\n SyncVault = 5,\n SyncOrgKeys = 6,\n SyncFolderCreate = 7,\n SyncFolderUpdate = 8,\n SyncCipherDelete = 9,\n SyncSettings = 10,\n\n LogOut = 11,\n\n SyncSendCreate = 12,\n SyncSendUpdate = 13,\n SyncSendDelete = 14,\n}\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, { preserveWhitespaces: true });\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\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 { PasswordStrengthComponent } from './components/password-strength.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 { AcceptEmergencyComponent } from './accounts/accept-emergency.component';\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 { SetPasswordComponent } from './accounts/set-password.component';\nimport { SsoComponent } from './accounts/sso.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 { PoliciesComponent as OrgPoliciesComponent } from './organizations/manage/policies.component';\nimport { PolicyEditComponent as OrgPolicyEditComponent } from './organizations/manage/policy-edit.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserConfirmComponent as OrgUserConfirmComponent } from './organizations/manage/user-confirm.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 { ChangePlanComponent } from './organizations/settings/change-plan.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { DownloadLicenseComponent } from './organizations/settings/download-license.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.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 {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.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 { AccessComponent } from './send/access.component';\nimport { AddEditComponent as SendAddEditComponent } from './send/add-edit.component';\nimport { SendComponent } from './send/send.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AddCreditComponent } from './settings/add-credit.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ApiKeyComponent } from './settings/api-key.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangeKdfComponent } from './settings/change-kdf.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 { EmergencyAccessAddEditComponent } from './settings/emergency-access-add-edit.component';\nimport { EmergencyAccessComponent } from './settings/emergency-access.component';\nimport { EmergencyAccessConfirmComponent } from './settings/emergency-access-confirm.component';\nimport { EmergencyAccessTakeoverComponent } from './settings/emergency-access-takeover.component';\nimport { EmergencyAccessViewComponent } from './settings/emergency-access-view.component';\nimport { EmergencyAddEditComponent } from './settings/emergency-add-edit.component';\nimport { LinkSsoComponent } from './settings/link-sso.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationPlansComponent } from './settings/organization-plans.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 { TaxInfoComponent } from './settings/tax-info.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 { UserSubscriptionComponent } from './settings/user-subscription.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkActionsComponent } from './vault/bulk-actions.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkRestoreComponent } from './vault/bulk-restore.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 { CalloutComponent } from 'jslib/angular/components/callout.component';\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { A11yTitleDirective } from 'jslib/angular/directives/a11y-title.directive';\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 { SelectCopyDirective } from 'jslib/angular/directives/select-copy.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 { ColorPasswordPipe } from 'jslib/angular/pipes/color-password.pipe';\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 {\n registerLocaleData,\n DatePipe,\n} from '@angular/common';\nimport localeCa from '@angular/common/locales/ca';\nimport localeCs from '@angular/common/locales/cs';\nimport localeDa from '@angular/common/locales/da';\nimport localeDe from '@angular/common/locales/de';\nimport localeEl from '@angular/common/locales/el';\nimport localeEnGb from '@angular/common/locales/en-GB';\nimport localeEs from '@angular/common/locales/es';\nimport localeEt from '@angular/common/locales/et';\nimport localeFr from '@angular/common/locales/fr';\nimport localeHe from '@angular/common/locales/he';\nimport localeIt from '@angular/common/locales/it';\nimport localeJa from '@angular/common/locales/ja';\nimport localeKo from '@angular/common/locales/ko';\nimport localeLv from '@angular/common/locales/lv';\nimport localeMl from '@angular/common/locales/ml';\nimport localeNb from '@angular/common/locales/nb';\nimport localeNl from '@angular/common/locales/nl';\nimport localePl from '@angular/common/locales/pl';\nimport localePtBr 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';\nimport localeSv from '@angular/common/locales/sv';\nimport localeUk from '@angular/common/locales/uk';\nimport localeZhCn from '@angular/common/locales/zh-Hans';\nimport localeZhTw from '@angular/common/locales/zh-Hant';\n\nregisterLocaleData(localeCa, 'ca');\nregisterLocaleData(localeCs, 'cs');\nregisterLocaleData(localeDa, 'da');\nregisterLocaleData(localeDe, 'de');\nregisterLocaleData(localeEl, 'el');\nregisterLocaleData(localeEnGb, 'en-GB');\nregisterLocaleData(localeEs, 'es');\nregisterLocaleData(localeEt, 'et');\nregisterLocaleData(localeFr, 'fr');\nregisterLocaleData(localeHe, 'he');\nregisterLocaleData(localeIt, 'it');\nregisterLocaleData(localeJa, 'ja');\nregisterLocaleData(localeKo, 'ko');\nregisterLocaleData(localeLv, 'lv');\nregisterLocaleData(localeMl, 'ml');\nregisterLocaleData(localeNb, 'nb');\nregisterLocaleData(localeNl, 'nl');\nregisterLocaleData(localePl, 'pl');\nregisterLocaleData(localePtBr, 'pt-BR');\nregisterLocaleData(localePtPt, 'pt-PT');\nregisterLocaleData(localeRu, 'ru');\nregisterLocaleData(localeSk, 'sk');\nregisterLocaleData(localeSv, 'sv');\nregisterLocaleData(localeUk, 'uk');\nregisterLocaleData(localeZhCn, 'zh-CN');\nregisterLocaleData(localeZhTw, 'zh-TW');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot({\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule.forRoot(),\n InfiniteScrollModule,\n DragDropModule,\n ],\n declarations: [\n A11yTitleDirective,\n AcceptEmergencyComponent,\n AccessComponent,\n AcceptOrganizationComponent,\n AccountComponent,\n SetPasswordComponent,\n AddCreditComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n ApiKeyComponent,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkActionsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkRestoreComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangeKdfComponent,\n ChangePasswordComponent,\n ChangePlanComponent,\n CiphersComponent,\n CollectionsComponent,\n ColorPasswordPipe,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n DownloadLicenseComponent,\n EmergencyAccessAddEditComponent,\n EmergencyAccessComponent,\n EmergencyAccessConfirmComponent,\n EmergencyAccessTakeoverComponent,\n EmergencyAccessViewComponent,\n EmergencyAddEditComponent,\n ExportComponent,\n ExposedPasswordsReportComponent,\n FallbackSrcDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n I18nPipe,\n IconComponent,\n ImportComponent,\n InactiveTwoFactorReportComponent,\n InputVerbatimDirective,\n LinkSsoComponent,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrganizationPlansComponent,\n OrganizationSubscriptionComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgExposedPasswordsReportComponent,\n OrgImportComponent,\n OrgInactiveTwoFactorReportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgPolicyEditComponent,\n OrgPoliciesComponent,\n OrgReusedPasswordsReportComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgUnsecuredWebsitesReportComponent,\n OrgVaultComponent,\n OrgWeakPasswordsReportComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PasswordStrengthComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n ReusedPasswordsReportComponent,\n SearchCiphersPipe,\n SearchPipe,\n SelectCopyDirective,\n SendAddEditComponent,\n SendComponent,\n SettingsComponent,\n ShareComponent,\n SsoComponent,\n StopClickDirective,\n StopPropDirective,\n TaxInfoComponent,\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 UnsecuredWebsitesReportComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n UserSubscriptionComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n WeakPasswordsReportComponent,\n ],\n entryComponents: [\n AddEditComponent,\n ApiKeyComponent,\n AttachmentsComponent,\n BulkActionsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkRestoreComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n EmergencyAccessAddEditComponent,\n EmergencyAccessConfirmComponent,\n EmergencyAccessTakeoverComponent,\n EmergencyAddEditComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgPolicyEditComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n SendAddEditComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [DatePipe],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","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 { AcceptEmergencyComponent } from './accounts/accept-emergency.component';\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 { SetPasswordComponent } from './accounts/set-password.component';\nimport { SsoComponent } from './accounts/sso.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';\nimport { PoliciesComponent as OrgPoliciesComponent } from './organizations/manage/policies.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.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 {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccessComponent } from './send/access.component';\nimport { SendComponent } from './send/send.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';\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.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 { Permissions } from 'jslib/enums/permissions';\n\nimport { EmergencyAccessViewComponent } from './settings/emergency-access-view.component';\nimport { EmergencyAccessComponent } from './settings/emergency-access.component';\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: 'sso', component: SsoComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'enterpriseSingleSignOn' },\n },\n {\n path: 'set-password', component: SetPasswordComponent,\n data: { titleId: 'setMasterPassword' },\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 {\n path: 'accept-emergency',\n component: AcceptEmergencyComponent,\n data: { titleId: 'acceptEmergency' },\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 path: 'send/:sendId/:key',\n component: AccessComponent,\n data: { title: 'Bitwarden Send' },\n },*/\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n { path: 'sends', component: SendComponent, data: { title: 'Send' } },\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: 'billing' } },\n {\n path: 'subscription',\n component: UserSubscriptionComponent,\n data: { titleId: 'premiumMembership' },\n },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n {\n path: 'emergency-access',\n children: [\n {\n path: '',\n component: EmergencyAccessComponent,\n data: { titleId: 'emergencyAccess'},\n },\n {\n path: ':id',\n component: EmergencyAccessViewComponent,\n data: { titleId: 'emergencyAccess'},\n },\n ],\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 path: 'reused-passwords-report',\n component: ReusedPasswordsReportComponent,\n data: { titleId: 'reusedPasswordsReport' },\n },\n {\n path: 'unsecured-websites-report',\n component: UnsecuredWebsitesReportComponent,\n data: { titleId: 'unsecuredWebsitesReport' },\n },\n {\n path: 'weak-passwords-report',\n component: WeakPasswordsReportComponent,\n data: { titleId: 'weakPasswordsReport' },\n },\n {\n path: 'exposed-passwords-report',\n component: ExposedPasswordsReportComponent,\n data: { titleId: 'exposedPasswordsReport' },\n },\n {\n path: 'inactive-two-factor-report',\n component: InactiveTwoFactorReportComponent,\n data: { titleId: 'inactive2faReport' },\n },\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: { permissions: [Permissions.AccessImportExport, Permissions.AccessReports] },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'import',\n },\n {\n path: 'import',\n component: OrgImportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'importData',\n permissions: [Permissions.AccessImportExport],\n },\n },\n {\n path: 'export',\n component: OrgExportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'exportVault',\n permissions: [Permissions.AccessImportExport],\n },\n },\n {\n path: 'exposed-passwords-report',\n component: OrgExposedPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'exposedPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'inactive-two-factor-report',\n component: OrgInactiveTwoFactorReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'inactive2faReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'reused-passwords-report',\n component: OrgReusedPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'reusedPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'unsecured-websites-report',\n component: OrgUnsecuredWebsitesReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'unsecuredWebsitesReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'weak-passwords-report',\n component: OrgWeakPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'weakPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n permissions: [\n Permissions.ManageAssignedCollections,\n Permissions.ManageAllCollections,\n Permissions.AccessEventLogs,\n Permissions.ManageGroups,\n Permissions.ManageUsers,\n Permissions.ManagePolicies,\n ],\n },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'people',\n },\n {\n path: 'collections',\n component: OrgManageCollectionsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'collections',\n permissions: [Permissions.ManageAssignedCollections, Permissions.ManageAllCollections],\n },\n },\n {\n path: 'events',\n component: OrgEventsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'eventLogs',\n permissions: [Permissions.AccessEventLogs],\n },\n },\n {\n path: 'groups',\n component: OrgGroupsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'groups',\n permissions: [Permissions.ManageGroups],\n },\n },\n {\n path: 'people',\n component: OrgPeopleComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'people',\n permissions: [Permissions.ManageUsers],\n },\n },\n {\n path: 'policies',\n component: OrgPoliciesComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'policies',\n permissions: [Permissions.ManagePolicies],\n },\n },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { permissions: [Permissions.ManageOrganization] },\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: 'billing' },\n },\n {\n path: 'subscription',\n component: OrganizationSubscriptionComponent,\n data: { titleId: 'subscription' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n paramsInheritanceStrategy: 'always',\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","import { BroadcasterService as BroadcasterServiceAbstraction } from '../abstractions/broadcaster.service';\n\nexport class BroadcasterService implements BroadcasterServiceAbstraction {\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);\n }\n return;\n }\n\n this.subscribers.forEach((value) => {\n value(message);\n });\n }\n\n subscribe(id: string, messageCallback: (message: any) => any) {\n this.subscribers.set(id, messageCallback);\n }\n\n unsubscribe(id: string) {\n if (this.subscribers.has(id)) {\n this.subscribers.delete(id);\n }\n }\n}\n","export function getDomain(host: string): string | null {\n return null;\n}\n","export class EmergencyAccessAcceptRequest {\n token: string;\n}\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","import { Router } from '@angular/router';\n\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class HintComponent {\n email: string = '';\n formPromise: Promise;\n\n protected successRoute = 'login';\n protected onSuccessfulSubmit: () => void;\n\n constructor(protected router: Router, protected i18nService: I18nService,\n protected apiService: ApiService, protected platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n\n try {\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\n await this.formPromise;\n this.platformUtilsService.eventTrack('Requested Hint');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('masterPassSent'));\n if (this.onSuccessfulSubmit != null) {\n this.onSuccessfulSubmit();\n } else if (this.router != null) {\n this.router.navigate([this.successRoute]);\n }\n } catch { }\n }\n}\n","export class PasswordHintRequest {\n email: string;\n\n constructor(email: string) {\n this.email = email;\n }\n}\n","import { OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\nimport { UserService } from '../../abstractions/user.service';\nimport { VaultTimeoutService } from '../../abstractions/vaultTimeout.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { PasswordVerificationRequest } from '../../models/request/passwordVerificationRequest';\n\nimport { Utils } from '../../misc/utils';\n\nexport class LockComponent implements OnInit {\n masterPassword: string = '';\n pin: string = '';\n showPassword: boolean = false;\n email: string;\n pinLock: boolean = false;\n webVaultHostname: string = '';\n formPromise: Promise;\n supportsBiometric: boolean;\n biometricLock: boolean;\n biometricText: string;\n\n protected successRoute: string = 'vault';\n protected onSuccessfulSubmit: () => void;\n\n private invalidPinAttempts = 0;\n private pinSet: [boolean, boolean];\n\n constructor(protected router: Router, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\n protected userService: UserService, protected cryptoService: CryptoService,\n protected storageService: StorageService, protected vaultTimeoutService: VaultTimeoutService,\n protected environmentService: EnvironmentService, protected stateService: StateService,\n protected apiService: ApiService) { }\n\n async ngOnInit() {\n this.pinSet = await this.vaultTimeoutService.isPinLockSet();\n this.pinLock = (this.pinSet[0] && this.vaultTimeoutService.pinProtectedKey != null) || this.pinSet[1];\n this.supportsBiometric = await this.platformUtilsService.supportsBiometric();\n this.biometricLock = await this.vaultTimeoutService.isBiometricLockSet() && (await this.cryptoService.hasKey() || !this.platformUtilsService.supportsSecureStorage());\n this.biometricText = await this.storageService.get(ConstantsService.biometricText);\n this.email = await this.userService.getEmail();\n let vaultUrl = this.environmentService.getWebVaultUrl();\n if (vaultUrl == null) {\n vaultUrl = 'https://bitwarden.com';\n }\n this.webVaultHostname = Utils.getHostname(vaultUrl);\n }\n\n async submit() {\n if (this.pinLock && (this.pin == null || this.pin === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('pinRequired'));\n return;\n }\n if (!this.pinLock && (this.masterPassword == null || this.masterPassword === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n\n if (this.pinLock) {\n let failed = true;\n try {\n if (this.pinSet[0]) {\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations,\n this.vaultTimeoutService.pinProtectedKey);\n const encKey = await this.cryptoService.getEncKey(key);\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin), encKey);\n failed = decPin !== this.pin;\n if (!failed) {\n await this.setKeyAndContinue(key);\n }\n } else {\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations);\n failed = false;\n await this.setKeyAndContinue(key);\n }\n } catch {\n failed = true;\n }\n\n if (failed) {\n this.invalidPinAttempts++;\n if (this.invalidPinAttempts >= 5) {\n this.messagingService.send('logout');\n return;\n }\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidPin'));\n }\n } else {\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n let passwordValid = false;\n\n if (keyHash != null) {\n const storedKeyHash = await this.cryptoService.getKeyHash();\n if (storedKeyHash != null) {\n passwordValid = storedKeyHash === keyHash;\n } else {\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = keyHash;\n try {\n this.formPromise = this.apiService.postAccountVerifyPassword(request);\n await this.formPromise;\n passwordValid = true;\n await this.cryptoService.setKeyHash(keyHash);\n } catch { }\n }\n }\n\n if (passwordValid) {\n if (this.pinSet[0]) {\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const encKey = await this.cryptoService.getEncKey(key);\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin), encKey);\n const pinKey = await this.cryptoService.makePinKey(decPin, this.email, kdf, kdfIterations);\n this.vaultTimeoutService.pinProtectedKey = await this.cryptoService.encrypt(key.key, pinKey);\n }\n this.setKeyAndContinue(key);\n } else {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n }\n\n async logOut() {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.messagingService.send('logout');\n }\n }\n\n async unlockBiometric() {\n if (!this.biometricLock) {\n return;\n }\n const success = await this.platformUtilsService.authenticateBiometric();\n\n if (success) {\n await this.doContinue();\n }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('Toggled Master Password on Unlock');\n this.showPassword = !this.showPassword;\n document.getElementById(this.pinLock ? 'pin' : 'masterPassword').focus();\n }\n\n private async setKeyAndContinue(key: SymmetricCryptoKey) {\n await this.cryptoService.setKey(key);\n this.doContinue();\n }\n\n private async doContinue() {\n this.vaultTimeoutService.biometricLocked = false;\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n this.messagingService.send('unlocked');\n if (this.onSuccessfulSubmit != null) {\n this.onSuccessfulSubmit();\n } else if (this.router != null) {\n this.router.navigate([this.successRoute]);\n }\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoFunctionService } from '../../abstractions/cryptoFunction.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst Keys = {\n rememberedEmail: 'rememberedEmail',\n rememberEmail: 'rememberEmail',\n};\n\n@Directive()\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 onSuccessfulLoginTwoFactorNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n protected stateService: StateService, protected environmentService: EnvironmentService,\n protected passwordGenerationService: PasswordGenerationService,\n protected cryptoFunctionService: CryptoFunctionService, 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.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Logged In To Two-step');\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\n this.onSuccessfulLoginTwoFactorNavigate();\n } else {\n this.router.navigate([this.twoFactorRoute]);\n }\n } else {\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('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.platformUtilsService.eventTrack('Toggled Master Password on Login');\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n async launchSsoBrowser(clientId: string, ssoRedirectUri: string) {\n // Generate necessary sso params\n const passwordOptions: any = {\n type: 'password',\n length: 64,\n uppercase: true,\n lowercase: true,\n numbers: true,\n special: false,\n };\n const state = await this.passwordGenerationService.generatePassword(passwordOptions);\n const ssoCodeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);\n const codeVerifierHash = await this.cryptoFunctionService.hash(ssoCodeVerifier, 'sha256');\n const codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);\n\n // Save sso params\n await this.storageService.save(ConstantsService.ssoStateKey, state);\n await this.storageService.save(ConstantsService.ssoCodeVerifierKey, ssoCodeVerifier);\n\n // Build URI\n const webUrl = this.environmentService.getWebVaultUrl() == null ? 'https://vault.bitwarden.com' :\n this.environmentService.getWebVaultUrl();\n\n // Launch browser\n this.platformUtilsService.launchUri(webUrl + '/#/sso?clientId=' + clientId +\n '&redirectUri=' + encodeURIComponent(ssoRedirectUri) +\n '&state=' + state + '&codeChallenge=' + codeChallenge);\n }\n}\n","export class DeleteRecoverRequest {\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","import { Router } from '@angular/router';\n\nimport { KeysRequest } from '../../models/request/keysRequest';\nimport { ReferenceEventRequest } from '../../models/request/referenceEventRequest';\nimport { RegisterRequest } from '../../models/request/registerRequest';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class RegisterComponent {\n name: string = '';\n email: string = '';\n masterPassword: string = '';\n confirmMasterPassword: string = '';\n hint: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n masterPasswordScore: number;\n referenceData: ReferenceEventRequest;\n showTerms = true;\n acceptPolicies: boolean = false;\n\n protected successRoute = 'login';\n private masterPasswordStrengthTimeout: any;\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected cryptoService: CryptoService,\n protected apiService: ApiService, protected stateService: StateService,\n protected platformUtilsService: PlatformUtilsService,\n protected passwordGenerationService: PasswordGenerationService) {\n this.showTerms = !platformUtilsService.isSelfHost();\n }\n\n get masterPasswordScoreWidth() {\n return this.masterPasswordScore == null ? 0 : (this.masterPasswordScore + 1) * 20;\n }\n\n get masterPasswordScoreColor() {\n switch (this.masterPasswordScore) {\n case 4:\n return 'success';\n case 3:\n return 'primary';\n case 2:\n return 'warning';\n default:\n return 'danger';\n }\n }\n\n get masterPasswordScoreText() {\n switch (this.masterPasswordScore) {\n case 4:\n return this.i18nService.t('strong');\n case 3:\n return this.i18nService.t('good');\n case 2:\n return this.i18nService.t('weak');\n default:\n return this.masterPasswordScore != null ? this.i18nService.t('weak') : null;\n }\n }\n\n async submit() {\n if (!this.acceptPolicies && this.showTerms) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('acceptPoliciesError'));\n return;\n }\n\n if (this.email == null || this.email === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.masterPassword.length < 8) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.masterPassword !== this.confirmMasterPassword) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n if (strengthResult != null && strengthResult.score < 3) {\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\n 'warning');\n if (!result) {\n return;\n }\n }\n\n if (this.hint === this.masterPassword) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), this.i18nService.t('hintEqualsPassword'));\n return;\n }\n\n this.name = this.name === '' ? null : this.name;\n this.email = this.email.trim().toLowerCase();\n const kdf = KdfType.PBKDF2_SHA256;\n const useLowerKdf = this.platformUtilsService.isIE();\n const kdfIterations = useLowerKdf ? 10000 : 100000;\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\n const encKey = await this.cryptoService.makeEncKey(key);\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\n this.hint, encKey[1].encryptedString, kdf, kdfIterations, this.referenceData);\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\n const orgInvite = await this.stateService.get('orgInvitation');\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\n request.token = orgInvite.token;\n request.organizationUserId = orgInvite.organizationUserId;\n }\n\n try {\n this.formPromise = this.apiService.postRegister(request);\n await this.formPromise;\n this.platformUtilsService.eventTrack('Registered');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('newAccountCreated'));\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\n } catch { }\n }\n\n togglePassword(confirmField: boolean) {\n this.platformUtilsService.eventTrack('Toggled Master Password on Register');\n this.showPassword = !this.showPassword;\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\n }\n\n updatePasswordStrength() {\n if (this.masterPasswordStrengthTimeout != null) {\n clearTimeout(this.masterPasswordStrengthTimeout);\n }\n this.masterPasswordStrengthTimeout = setTimeout(() => {\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\n }, 300);\n }\n\n private getPasswordStrengthUserInput() {\n let userInput: string[] = [];\n const atPosition = this.email.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\n }\n if (this.name != null && this.name !== '') {\n userInput = userInput.concat(this.name.trim().toLowerCase().split(' '));\n }\n return userInput;\n }\n}\n","import { KeysRequest } from './keysRequest';\nimport { ReferenceEventRequest } from './referenceEventRequest';\n\nimport { KdfType } from '../../enums/kdfType';\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 kdf: KdfType;\n kdfIterations: number;\n referenceData: ReferenceEventRequest;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string,\n kdf: KdfType, kdfIterations: number, referenceData: ReferenceEventRequest) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n this.referenceData = referenceData;\n }\n}\n","export class ReferenceEventRequest {\n id: string;\n layout: string;\n flow: string;\n}\n","import {\n ActivatedRoute,\n Router\n} from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { SyncService } from '../../abstractions/sync.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { KeysRequest } from '../../models/request/keysRequest';\nimport { SetPasswordRequest } from '../../models/request/setPasswordRequest';\n\nimport { ChangePasswordComponent as BaseChangePasswordComponent } from './change-password.component';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class SetPasswordComponent extends BaseChangePasswordComponent {\n syncLoading: boolean = true;\n showPassword: boolean = false;\n hint: string = '';\n identifier: string = null;\n\n onSuccessfulChangePassword: () => Promise;\n successRoute = 'vault';\n\n constructor(i18nService: I18nService, cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService, private router: Router,\n private apiService: ApiService, private syncService: SyncService, private route: ActivatedRoute) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n async ngOnInit() {\n await this.syncService.fullSync(true);\n this.syncLoading = false;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n super.ngOnInit();\n }\n\n async setupSubmitActions() {\n this.kdf = KdfType.PBKDF2_SHA256;\n const useLowerKdf = this.platformUtilsService.isIE();\n this.kdfIterations = useLowerKdf ? 10000 : 100000;\n return true;\n }\n\n async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,\n encKey: [SymmetricCryptoKey, CipherString]) {\n const request = new SetPasswordRequest();\n request.masterPasswordHash = masterPasswordHash;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHint = this.hint;\n request.kdf = this.kdf;\n request.kdfIterations = this.kdfIterations;\n request.orgIdentifier = this.identifier;\n\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\n\n try {\n this.formPromise = this.apiService.setPassword(request);\n await this.formPromise;\n\n await this.userService.setInformation(await this.userService.getUserId(), await this.userService.getEmail(),\n this.kdf, this.kdfIterations);\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(masterPasswordHash);\n await this.cryptoService.setEncKey(encKey[1].encryptedString);\n await this.cryptoService.setEncPrivateKey(keys[1].encryptedString);\n\n if (this.onSuccessfulChangePassword != null) {\n this.onSuccessfulChangePassword();\n } else {\n this.router.navigate([this.successRoute]);\n }\n } catch {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n }\n\n togglePassword(confirmField: boolean) {\n this.platformUtilsService.eventTrack('Toggled Master Password on Set Password');\n this.showPassword = !this.showPassword;\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\n }\n}\n","import { KeysRequest } from './keysRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class SetPasswordRequest {\n masterPasswordHash: string;\n key: string;\n masterPasswordHint: string;\n keys: KeysRequest;\n kdf: KdfType;\n kdfIterations: number;\n orgIdentifier: string;\n}\n","import {\n Directive,\n EventEmitter,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\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\n@Directive()\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 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.platformUtilsService.eventTrack('Selected Recover');\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\n this.onRecoverSelected.emit();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n OnDestroy,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { MessagingService } from '../../abstractions/messaging.service';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent implements OnDestroy {\n @Output() onClose = new EventEmitter();\n @Output() onClosed = new EventEmitter();\n @Output() onShow = new EventEmitter();\n @Output() onShown = new EventEmitter();\n @ViewChild('container', { read: ViewContainerRef, static: true }) container: ViewContainerRef;\n parentContainer: ViewContainerRef = null;\n fade: boolean = true;\n\n constructor(protected componentFactoryResolver: ComponentFactoryResolver,\n protected messagingService: MessagingService) { }\n\n ngOnDestroy() {\n document.body.classList.remove('modal-open');\n document.body.removeChild(document.querySelector('.modal-backdrop'));\n }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true,\n setComponentParameters: (component: T) => void = null): T {\n this.onShow.emit();\n this.messagingService.send('modalShow');\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n document.body.classList.add('modal-open');\n const backdrop = document.createElement('div');\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\n document.body.appendChild(backdrop);\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n if (setComponentParameters != null) {\n setComponentParameters(componentRef.instance);\n }\n\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\n e.stopPropagation();\n });\n\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\n for (const closeElement of modals) {\n closeElement.addEventListener('click', (event) => {\n this.close();\n });\n }\n\n this.onShown.emit();\n this.messagingService.send('modalShown');\n return componentRef.instance;\n }\n\n close() {\n this.onClose.emit();\n this.messagingService.send('modalClose');\n this.onClosed.emit();\n this.messagingService.send('modalClosed');\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n }\n}\n","import {\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\n\nimport { AuthResult } from '../../models/domain';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\nimport { ConstantsService } from '../../services/constants.service';\n\nimport * as DuoWebSDK from 'duo_web_sdk';\nimport { U2f } from '../../misc/u2f';\n\nexport class TwoFactorComponent implements OnInit, OnDestroy {\n token: string = '';\n remember: boolean = false;\n u2fReady: boolean = false;\n initU2f: boolean = true;\n providers = TwoFactorProviders;\n providerType = TwoFactorProviderType;\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\n u2fSupported: boolean = false;\n u2f: U2f = null;\n title: string = '';\n twoFactorEmail: string = null;\n formPromise: Promise;\n emailPromise: Promise;\n identifier: string = null;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected loginRoute = 'login';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected apiService: ApiService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\n protected environmentService: EnvironmentService, protected stateService: StateService,\n protected storageService: StorageService, protected route: ActivatedRoute) {\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\n }\n\n async ngOnInit() {\n if (!this.authing || this.authService.twoFactorProvidersData == null) {\n this.router.navigate([this.loginRoute]);\n return;\n }\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n if (this.needsLock) {\n this.successRoute = 'lock';\n }\n\n if (this.initU2f && this.win != null && this.u2fSupported) {\n let customWebVaultUrl: string = null;\n if (this.environmentService.baseUrl != null) {\n customWebVaultUrl = this.environmentService.baseUrl;\n } else if (this.environmentService.webVaultUrl != null) {\n customWebVaultUrl = this.environmentService.webVaultUrl;\n }\n\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\n this.token = token;\n this.submit();\n }, (error: string) => {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), error);\n }, (info: string) => {\n if (info === 'ready') {\n this.u2fReady = true;\n }\n });\n }\n\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\n await this.init();\n }\n\n ngOnDestroy(): void {\n this.cleanupU2f();\n this.u2f = null;\n }\n\n async init() {\n if (this.selectedProviderType == null) {\n this.title = this.i18nService.t('loginUnavailable');\n return;\n }\n\n this.cleanupU2f();\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\n const providerData = this.authService.twoFactorProvidersData.get(this.selectedProviderType);\n switch (this.selectedProviderType) {\n case TwoFactorProviderType.U2f:\n if (!this.u2fSupported || this.u2f == null) {\n break;\n }\n\n if (providerData.Challenge != null) {\n setTimeout(() => {\n this.u2f.init(JSON.parse(providerData.Challenge));\n }, 500);\n } else {\n // TODO: Deprecated. Remove in future version.\n const challenges = JSON.parse(providerData.Challenges);\n if (challenges != null && challenges.length > 0) {\n this.u2f.init({\n appId: challenges[0].appId,\n challenge: challenges[0].challenge,\n keys: challenges.map((c: any) => {\n return {\n version: c.version,\n keyHandle: c.keyHandle,\n };\n }),\n });\n }\n }\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n setTimeout(() => {\n DuoWebSDK.init({\n iframe: undefined,\n host: providerData.Host,\n sig_request: providerData.Signature,\n submit_callback: async (f: HTMLFormElement) => {\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\n if (sig != null) {\n this.token = sig.value;\n await this.submit();\n }\n },\n });\n }, 0);\n break;\n case TwoFactorProviderType.Email:\n this.twoFactorEmail = providerData.Email;\n if (this.authService.twoFactorProvidersData.size > 1) {\n await this.sendEmail(false);\n }\n break;\n default:\n break;\n }\n }\n\n async submit() {\n if (this.token == null || this.token === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verificationCodeRequired'));\n return;\n }\n\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\n if (this.u2f != null) {\n this.u2f.stop();\n } else {\n return;\n }\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\n this.token = this.token.replace(' ', '').trim();\n }\n\n try {\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\n const response: AuthResult = await this.formPromise;\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('Logged In From Two-step');\n if (response.resetMasterPassword) {\n this.successRoute = 'set-password';\n }\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute], {\n queryParams: {\n identifier: this.identifier,\n },\n });\n }\n } catch {\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\n this.u2f.start();\n }\n }\n }\n\n async sendEmail(doToast: boolean) {\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\n return;\n }\n\n if (this.emailPromise != null) {\n return;\n }\n\n try {\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\n await this.emailPromise;\n if (doToast) {\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\n }\n } catch { }\n\n this.emailPromise = null;\n }\n\n private cleanupU2f() {\n if (this.u2f != null) {\n this.u2f.stop();\n this.u2f.cleanup();\n }\n }\n\n get authing(): boolean {\n return this.authService.authingWithPassword() || this.authService.authingWithSso() || this.authService.authingWithApiKey();\n }\n\n get needsLock(): boolean {\n return this.authService.authingWithSso() || this.authService.authingWithApiKey();\n }\n}\n","import { DeviceType } from '../../enums/deviceType';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class DeviceRequest {\n type: DeviceType;\n name: string;\n identifier: string;\n pushToken?: string;\n\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\n this.type = platformUtilsService.getDevice();\n this.name = platformUtilsService.getDeviceString();\n this.identifier = appId;\n this.pushToken = null;\n }\n}\n","export class PreloginRequest {\n email: string;\n\n constructor(email: string) {\n this.email = email;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\n\nexport class TokenRequest {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n redirectUri: string;\n clientId: string;\n clientSecret: string;\n token: string;\n provider: TwoFactorProviderType;\n remember: boolean;\n device?: DeviceRequest;\n\n constructor(credentials: string[], codes: string[], clientIdClientSecret: string[], provider: TwoFactorProviderType,\n token: string, remember: boolean, device?: DeviceRequest) {\n if (credentials != null && credentials.length > 1) {\n this.email = credentials[0];\n this.masterPasswordHash = credentials[1];\n } else if (codes != null && codes.length > 2) {\n this.code = codes[0];\n this.codeVerifier = codes[1];\n this.redirectUri = codes[2];\n } else if (clientIdClientSecret != null && clientIdClientSecret.length > 1) {\n this.clientId = clientIdClientSecret[0];\n this.clientSecret = clientIdClientSecret[1];\n }\n this.token = token;\n this.provider = provider;\n this.remember = remember;\n this.device = device != null ? device : null;\n }\n\n toIdentityToken(clientId: string) {\n const obj: any = {\n scope: 'api offline_access',\n client_id: clientId,\n };\n\n if (this.clientSecret != null) {\n obj.scope = 'api';\n obj.grant_type = 'client_credentials';\n obj.client_secret = this.clientSecret;\n } else if (this.masterPasswordHash != null && this.email != null) {\n obj.grant_type = 'password';\n obj.username = this.email;\n obj.password = this.masterPasswordHash;\n } else if (this.code != null && this.codeVerifier != null && this.redirectUri != null) {\n obj.grant_type = 'authorization_code';\n obj.code = this.code;\n obj.code_verifier = this.codeVerifier;\n obj.redirect_uri = this.redirectUri;\n } else {\n throw new Error('must provide credentials or codes');\n }\n\n if (this.device) {\n obj.deviceType = this.device.type;\n obj.deviceIdentifier = this.device.identifier;\n obj.deviceName = this.device.name;\n // no push tokens for browser apps yet\n // obj.devicePushToken = this.device.pushToken;\n }\n\n if (this.token && this.provider != null) {\n obj.twoFactorToken = this.token;\n obj.twoFactorProvider = this.provider;\n obj.twoFactorRemember = this.remember ? '1' : '0';\n }\n\n return obj;\n }\n}\n","export class U2f {\n private iframe: HTMLIFrameElement = null;\n private connectorLink: HTMLAnchorElement;\n private parseFunction = this.parseMessage.bind(this);\n\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\n private errorCallback: Function, private infoCallback: Function) {\n this.connectorLink = win.document.createElement('a');\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\n }\n\n init(data: any): void {\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\n '?data=' + this.base64Encode(JSON.stringify(data)) +\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\n '&v=1';\n\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\n this.iframe.src = this.connectorLink.href;\n\n this.win.addEventListener('message', this.parseFunction, false);\n }\n\n stop() {\n this.sendMessage('stop');\n }\n\n start() {\n this.sendMessage('start');\n }\n\n sendMessage(message: any) {\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\n return;\n }\n\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\n }\n\n base64Encode(str: string): string {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\n return String.fromCharCode(('0x' + p1) as any);\n }));\n }\n\n cleanup() {\n this.win.removeEventListener('message', this.parseFunction, false);\n }\n\n private parseMessage(event: MessageEvent) {\n if (!this.validMessage(event)) {\n return;\n }\n\n const parts: string[] = event.data.split('|');\n if (parts[0] === 'success' && this.successCallback) {\n this.successCallback(parts[1]);\n } else if (parts[0] === 'error' && this.errorCallback) {\n this.errorCallback(parts[1]);\n } else if (parts[0] === 'info' && this.infoCallback) {\n this.infoCallback(parts[1]);\n }\n }\n\n private validMessage(event: MessageEvent) {\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\n event.data == null || typeof (event.data) !== 'string') {\n return false;\n }\n\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\n event.data.indexOf('info|') === 0;\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","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","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n permissions: PermissionsApi;\n}\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n permissions: PermissionsApi;\n}\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","export abstract class AppIdService {\n getAppId: () => Promise;\n getAnonymousAppId: () => Promise;\n}\n","import { LogLevelType } from '../enums/logLevelType';\n\nexport abstract class LogService {\n debug: (message: string) => void;\n info: (message: string) => void;\n warning: (message: string) => void;\n error: (message: string) => void;\n write: (level: LogLevelType, message: string) => void;\n time: (label: string) => void;\n timeEnd: (label: string) => [number, number];\n}\n","import { PolicyType } from '../../enums/policyType';\n\nexport class PolicyRequest {\n type: PolicyType;\n enabled: boolean;\n data: any;\n}\n","export class OrganizationUpdateRequest {\n name: string;\n identifier: string;\n businessName: string;\n billingEmail: string;\n}\n","export enum TransactionType {\n Charge = 0,\n Credit = 1,\n PromotionalCredit = 2,\n ReferralCredit = 3,\n Refund = 4,\n}\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","export class BitPayInvoiceRequest {\n userId: string;\n organizationId: string;\n credit: boolean;\n amount: number;\n returnUrl: string;\n name: string;\n email: string;\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { OrganizationTaxInfoUpdateRequest } from '../request/organizationTaxInfoUpdateRequest';\n\nexport class PaymentRequest extends OrganizationTaxInfoUpdateRequest {\n paymentMethodType: PaymentMethodType;\n paymentToken: string;\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { PlanType } from '../../enums/planType';\n\nexport class OrganizationCreateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n planType: PlanType;\n key: string;\n paymentMethodType: PaymentMethodType;\n paymentToken: string;\n additionalSeats: number;\n additionalStorageGb: number;\n premiumAccessAddon: boolean;\n collectionName: string;\n taxIdNumber: string;\n billingAddressLine1: string;\n billingAddressLine2: string;\n billingAddressCity: string;\n billingAddressState: string;\n billingAddressPostalCode: string;\n billingAddressCountry: string;\n}\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationUpgradeRequest {\n businessName: string;\n planType: PlanType;\n additionalSeats: number;\n additionalStorageGb: number;\n premiumAccessAddon: boolean;\n billingAddressCountry: string;\n billingAddressPostalCode: string;\n}\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","export class StorageRequest {\n storageGbAdjustment: number;\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","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 UpdateTwoFactorU2fDeleteRequest extends PasswordVerificationRequest {\n id: number;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n name: string;\n id: number;\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 {\n Directive,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { EventService } from '../../abstractions/event.service';\nimport { ExportService } from '../../abstractions/export.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { EventType } from '../../enums/eventType';\n\n@Directive()\nexport class ExportComponent {\n @Output() onSaved = new EventEmitter();\n\n formPromise: Promise;\n masterPassword: string;\n format: 'json' | 'encrypted_json' | 'csv' = 'json';\n showPassword = false;\n\n constructor(protected cryptoService: CryptoService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected exportService: ExportService,\n protected eventService: EventService, protected win: Window) { }\n\n get encryptedFormat() {\n return this.format === 'encrypted_json';\n }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n return;\n }\n\n const acceptedWarning = await this.platformUtilsService.showDialog(\n this.i18nService.t(this.encryptedFormat ? 'encExportWarningDesc' : 'exportWarningDesc'),\n this.i18nService.t('confirmVaultExport'), this.i18nService.t('exportVault'),\n this.i18nService.t('cancel'), 'warning');\n\n if (!acceptedWarning) {\n return;\n }\n\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n try {\n this.formPromise = this.getExportData();\n const data = await this.formPromise;\n this.platformUtilsService.eventTrack('Exported Data');\n this.downloadFile(data);\n this.saved();\n await this.collectEvent();\n } catch { }\n } else {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('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(this.format);\n }\n\n protected getFileName(prefix?: string) {\n let extension = this.format;\n if (this.format === 'encrypted_json') {\n if (prefix == null) {\n prefix = 'encrypted';\n } else {\n prefix = 'encrypted_' + prefix;\n }\n extension = 'json';\n }\n return this.exportService.getFileName(prefix, extension);\n }\n\n protected async collectEvent(): Promise {\n await this.eventService.collect(EventType.User_ClientExportedVault);\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","export class AttachmentRequest {\n fileName: string;\n key: string;\n}\n","import {\n CdkDragDrop,\n moveItemInArray,\n} from '@angular/cdk/drag-drop';\nimport {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { EventType } from '../../enums/eventType';\nimport { FieldType } from '../../enums/fieldType';\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { PolicyType } from '../../enums/policyType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nimport { AuditService } from '../../abstractions/audit.service';\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { EventService } from '../../abstractions/event.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { CardView } from '../../models/view/cardView';\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 { IdentityView } from '../../models/view/identityView';\nimport { LoginUriView } from '../../models/view/loginUriView';\nimport { LoginView } from '../../models/view/loginView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive()\nexport class AddEditComponent implements OnInit {\n @Input() cloneMode: boolean = false;\n @Input() folderId: string = null;\n @Input() cipherId: string;\n @Input() type: CipherType;\n @Input() collectionIds: string[];\n @Input() organizationId: string = null;\n @Output() onSavedCipher = new EventEmitter();\n @Output() onDeletedCipher = new EventEmitter();\n @Output() onRestoredCipher = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n @Output() onEditAttachments = new EventEmitter();\n @Output() onShareCipher = new EventEmitter();\n @Output() onEditCollections = new EventEmitter();\n @Output() onGeneratePassword = new EventEmitter();\n\n editMode: boolean = false;\n cipher: CipherView;\n folders: FolderView[];\n collections: CollectionView[] = [];\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n restorePromise: 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 ownershipOptions: any[] = [];\n currentDate = new Date();\n allowPersonal = true;\n\n protected writeableCollections: CollectionView[];\n private previousCipherId: string;\n\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected auditService: AuditService, protected stateService: StateService,\n protected userService: UserService, protected collectionService: CollectionService,\n protected messagingService: MessagingService, protected eventService: EventService,\n protected policyService: PolicyService) {\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 ngOnInit() {\n await this.init();\n }\n\n async init() {\n const policies = await this.policyService.getAll(PolicyType.PersonalOwnership);\n const myEmail = await this.userService.getEmail();\n this.ownershipOptions.push({ name: myEmail, value: null });\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name')).forEach((o) => {\n if (o.enabled && o.status === OrganizationUserStatusType.Confirmed) {\n this.ownershipOptions.push({ name: o.name, value: o.id });\n if (policies != null && o.usePolicies && !o.canManagePolicies && this.allowPersonal) {\n for (const policy of policies) {\n if (policy.organizationId === o.id && policy.enabled) {\n this.allowPersonal = false;\n this.ownershipOptions.splice(0, 1);\n // Default to the organization who owns this policy for now (if necessary)\n if (this.organizationId == null) {\n this.organizationId = o.id;\n }\n break;\n }\n }\n }\n }\n });\n this.writeableCollections = await this.loadCollections();\n }\n\n async load() {\n this.editMode = this.cipherId != null;\n if (this.editMode) {\n this.editMode = true;\n if (this.cloneMode) {\n this.cloneMode = true;\n this.title = this.i18nService.t('addItem');\n } else {\n this.title = this.i18nService.t('editItem');\n }\n } else {\n this.title = this.i18nService.t('addItem');\n }\n\n const addEditCipherInfo: any = await this.stateService.get('addEditCipherInfo');\n if (addEditCipherInfo != null) {\n this.cipher = addEditCipherInfo.cipher;\n this.collectionIds = addEditCipherInfo.collectionIds;\n }\n await this.stateService.remove('addEditCipherInfo');\n\n if (this.cipher == null) {\n if (this.editMode) {\n const cipher = await this.loadCipher();\n this.cipher = await cipher.decrypt();\n\n // Adjust Cipher Name if Cloning\n if (this.cloneMode) {\n this.cipher.name += ' - ' + this.i18nService.t('clone');\n // If not allowing personal ownership, update cipher's org Id to prompt downstream changes\n if (this.cipher.organizationId == null && !this.allowPersonal) {\n this.cipher.organizationId = this.organizationId;\n }\n }\n } else {\n this.cipher = new CipherView();\n this.cipher.organizationId = this.organizationId == null ? null : this.organizationId;\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 if (this.cipher != null && (!this.editMode || addEditCipherInfo != null || this.cloneMode)) {\n await this.organizationChanged();\n if (this.collectionIds != null && this.collectionIds.length > 0 && this.collections.length > 0) {\n this.collections.forEach((c) => {\n if (this.collectionIds.indexOf(c.id) > -1) {\n (c as any).checked = true;\n }\n });\n }\n }\n\n this.folders = await this.folderService.getAllDecrypted();\n\n if (this.editMode && this.previousCipherId !== this.cipherId) {\n this.eventService.collect(EventType.Cipher_ClientViewed, this.cipherId);\n }\n this.previousCipherId = this.cipherId;\n }\n\n async submit(): Promise {\n if (this.cipher.isDeleted) {\n return this.restore();\n }\n\n if (this.cipher.name == null || this.cipher.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n if ((!this.editMode || this.cloneMode) && !this.allowPersonal && this.cipher.organizationId == null) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('personalOwnershipSubmitError'));\n return false;\n }\n\n if ((!this.editMode || this.cloneMode) && 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 // Allows saving of selected collections during \"Add\" and \"Clone\" flows\n if ((!this.editMode || this.cloneMode) && this.cipher.organizationId != null) {\n this.cipher.collectionIds = this.collections == null ? [] :\n this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n }\n\n // Clear current Cipher Id to trigger \"Add\" cipher flow\n if (this.cloneMode) {\n this.cipher.id = 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.platformUtilsService.eventTrack(this.editMode && !this.cloneMode ? 'Edited Cipher' : 'Added Cipher');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode && !this.cloneMode ? 'editedItem' : 'addedItem'));\n this.onSavedCipher.emit(this.cipher);\n this.messagingService.send(this.editMode && !this.cloneMode ? 'editedCipher' : 'addedCipher');\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 f.newField = true;\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 trackByFunction(index: number, item: any) {\n return index;\n }\n\n cancel() {\n this.onCancelled.emit(this.cipher);\n }\n\n attachments() {\n this.onEditAttachments.emit(this.cipher);\n }\n\n share() {\n this.onShareCipher.emit(this.cipher);\n }\n\n editCollections() {\n this.onEditCollections.emit(this.cipher);\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeleteItemConfirmation' : 'deleteItemConfirmation'),\n this.i18nService.t('deleteItem'), 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.platformUtilsService.eventTrack((this.cipher.isDeleted ? 'Permanently ' : '') + 'Deleted Cipher');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeletedItem' : 'deletedItem'));\n this.onDeletedCipher.emit(this.cipher);\n this.messagingService.send(this.cipher.isDeleted ? 'permanentlyDeletedCipher' : 'deletedCipher');\n } catch { }\n\n return true;\n }\n\n async restore(): Promise {\n if (!this.cipher.isDeleted) {\n return false;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('restoreItemConfirmation'), this.i18nService.t('restoreItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.restorePromise = this.restoreCipher();\n await this.restorePromise;\n this.platformUtilsService.eventTrack('Restored Cipher');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('restoredItem'));\n this.onRestoredCipher.emit(this.cipher);\n this.messagingService.send('restoredCipher');\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.platformUtilsService.eventTrack('Toggled Password on Edit');\n this.showPassword = !this.showPassword;\n document.getElementById('loginPassword').focus();\n if (this.editMode && this.showPassword) {\n this.eventService.collect(EventType.Cipher_ClientToggledPasswordVisible, this.cipherId);\n }\n }\n\n toggleCardCode() {\n this.platformUtilsService.eventTrack('Toggled CardCode on Edit');\n this.showCardCode = !this.showCardCode;\n document.getElementById('cardCode').focus();\n if (this.editMode && this.showCardCode) {\n this.eventService.collect(EventType.Cipher_ClientToggledCardCodeVisible, this.cipherId);\n }\n }\n\n toggleFieldValue(field: FieldView) {\n const f = (field as any);\n f.showValue = !f.showValue;\n if (this.editMode && f.showValue) {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, this.cipherId);\n }\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 drop(event: CdkDragDrop) {\n moveItemInArray(this.cipher.fields, event.previousIndex, event.currentIndex);\n }\n\n async organizationChanged() {\n if (this.writeableCollections != null) {\n this.writeableCollections.forEach((c) => (c as any).checked = false);\n }\n if (this.cipher.organizationId != null) {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.cipher.organizationId);\n const org = await this.userService.getOrganization(this.cipher.organizationId);\n if (org != null) {\n this.cipher.organizationUseTotp = org.useTotp;\n }\n } else {\n this.collections = [];\n }\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.platformUtilsService.eventTrack('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.platformUtilsService.showToast('warning', null,\n this.i18nService.t('passwordExposed', matches.toString()));\n } else {\n this.platformUtilsService.showToast('success', null, this.i18nService.t('passwordSafe'));\n }\n }\n\n protected async loadCollections() {\n const allCollections = await this.collectionService.getAllDecrypted();\n return allCollections.filter((c) => !c.readOnly);\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.cipher.isDeleted ? this.cipherService.deleteWithServer(this.cipher.id)\n : this.cipherService.softDeleteWithServer(this.cipher.id);\n }\n\n protected restoreCipher() {\n return this.cipherService.restoreWithServer(this.cipher.id);\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\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 { UserService } from '../../abstractions/user.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\n@Directive()\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n @Output() onReuploadedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n reuploadPromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.platformUtilsService.showToast('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.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Added Attachment');\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Deleted Attachment');\n this.platformUtilsService.showToast('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.platformUtilsService.showToast('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-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('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 = attachment.key != null ? attachment.key :\n 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.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected async init() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const canAccessPremium = await this.userService.canAccessPremium();\n this.canAccessAttachments = canAccessPremium || 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 protected async reuploadCipherAttachment(attachment: AttachmentView, admin: boolean) {\n const a = (attachment as any);\n if (attachment.key != null || a.downloading || this.reuploadPromises[attachment.id] != null) {\n return;\n }\n\n try {\n this.reuploadPromises[attachment.id] = Promise.resolve().then(async () => {\n // 1. Download\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n // 2. Resave\n const buf = await response.arrayBuffer();\n const key = attachment.key != null ? attachment.key :\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.cipherDomain = await this.cipherService.saveAttachmentRawWithServer(\n this.cipherDomain, attachment.fileName, decBuf, admin);\n this.cipher = await this.cipherDomain.decrypt();\n\n // 3. Delete old\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n const foundAttachment = this.cipher.attachments.filter((a2) => a2.id === attachment.id);\n if (foundAttachment.length > 0) {\n const i = this.cipher.attachments.indexOf(foundAttachment[0]);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n }\n\n this.platformUtilsService.eventTrack('Reuploaded Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\n this.onReuploadedAttachment.emit();\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n });\n await this.reuploadPromises[attachment.id];\n } catch { }\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 Directive,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SearchService } from '../../abstractions/search.service';\n\nimport { CipherView } from '../../models/view/cipherView';\n\n@Directive()\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 pagedCiphers: CipherView[] = [];\n searchText: string;\n searchPlaceholder: string = null;\n filter: (cipher: CipherView) => boolean = null;\n deleted: boolean = false;\n\n protected searchPending = false;\n protected didScroll = false;\n protected pageSize = 100;\n\n private searchTimeout: any = null;\n private pagedCiphersCount = 0;\n private refreshing = false;\n\n constructor(protected searchService: SearchService) { }\n\n async load(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {\n this.deleted = deleted || false;\n await this.applyFilter(filter);\n this.loaded = true;\n }\n\n loadMore() {\n if (this.ciphers.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedCiphers.length;\n let pagedSize = this.pageSize;\n if (this.refreshing && pagedLength === 0 && this.pagedCiphersCount > this.pageSize) {\n pagedSize = this.pagedCiphersCount;\n }\n if (this.ciphers.length > pagedLength) {\n this.pagedCiphers = this.pagedCiphers.concat(this.ciphers.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedCiphersCount = this.pagedCiphers.length;\n this.didScroll = this.pagedCiphers.length > this.pageSize;\n }\n\n async reload(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {\n this.loaded = false;\n this.ciphers = [];\n await this.load(filter, deleted);\n }\n\n async refresh() {\n try {\n this.refreshing = true;\n await this.reload(this.filter, this.deleted);\n } finally {\n this.refreshing = false;\n }\n }\n\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\n this.filter = filter;\n await this.search(null);\n }\n\n async search(timeout: number = null) {\n this.searchPending = false;\n if (this.searchTimeout != null) {\n clearTimeout(this.searchTimeout);\n }\n const deletedFilter: (cipher: CipherView) => boolean = (c) => c.isDeleted === this.deleted;\n if (timeout == null) {\n this.ciphers = await this.searchService.searchCiphers(this.searchText, [this.filter, deletedFilter], null);\n await this.resetPaging();\n return;\n }\n this.searchPending = true;\n this.searchTimeout = setTimeout(async () => {\n this.ciphers = await this.searchService.searchCiphers(this.searchText, [this.filter, deletedFilter], null);\n await this.resetPaging();\n this.searchPending = false;\n }, timeout);\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 isSearching() {\n return !this.searchPending && this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.ciphers.length > this.pageSize;\n }\n\n async resetPaging() {\n this.pagedCiphers = [];\n this.loadMore();\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { CipherView } from '../../models/view/cipherView';\nimport { CollectionView } from '../../models/view/collectionView';\n\nimport { Cipher } from '../../models/domain/cipher';\n\n@Directive()\nexport class CollectionsComponent implements OnInit {\n @Input() cipherId: string;\n @Input() allowSelectNone = false;\n @Output() onSavedCollections = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collectionIds: string[];\n collections: CollectionView[] = [];\n\n protected cipherDomain: Cipher;\n\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\n protected i18nService: I18nService, protected cipherService: CipherService) { }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n this.cipherDomain = await this.loadCipher();\n this.collectionIds = this.loadCipherCollections();\n this.cipher = await this.cipherDomain.decrypt();\n this.collections = await this.loadCollections();\n\n this.collections.forEach((c) => (c as any).checked = false);\n if (this.collectionIds != null) {\n this.collections.forEach((c) => {\n (c as any).checked = this.collectionIds != null && this.collectionIds.indexOf(c.id) > -1;\n });\n }\n }\n\n async submit() {\n const selectedCollectionIds = this.collections\n .filter((c) => !!(c as any).checked)\n .map((c) => c.id);\n if (!this.allowSelectNone && selectedCollectionIds.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectOneCollection'));\n return;\n }\n this.cipherDomain.collectionIds = selectedCollectionIds;\n try {\n this.formPromise = this.saveCollections();\n await this.formPromise;\n this.onSavedCollections.emit();\n this.platformUtilsService.eventTrack('Edited Cipher Collections');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('editedItem'));\n } catch { }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected loadCipherCollections() {\n return this.cipherDomain.collectionIds;\n }\n\n protected async loadCollections() {\n const allCollections = await this.collectionService.getAllDecrypted();\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\n }\n\n protected saveCollections() {\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\n }\n}\n","import {\n Directive,\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 { TreeNode } from '../../models/domain/treeNode';\n\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { StorageService } from '../../abstractions/storage.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\n@Directive()\nexport class GroupingsComponent {\n @Input() showFolders = true;\n @Input() showCollections = true;\n @Input() showFavorites = true;\n @Input() showTrash = true;\n\n @Output() onAllClicked = new EventEmitter();\n @Output() onFavoritesClicked = new EventEmitter();\n @Output() onTrashClicked = 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 nestedFolders: TreeNode[];\n collections: CollectionView[];\n nestedCollections: TreeNode[];\n loaded: boolean = false;\n cipherType = CipherType;\n selectedAll: boolean = false;\n selectedFavorites: boolean = false;\n selectedTrash: boolean = false;\n selectedType: CipherType = null;\n selectedFolder: boolean = false;\n selectedFolderId: string = null;\n selectedCollectionId: string = null;\n\n private collapsedGroupings: Set;\n private collapsedGroupingsKey: string;\n\n constructor(protected collectionService: CollectionService, protected folderService: FolderService,\n protected storageService: StorageService, protected userService: UserService) { }\n\n async load(setLoaded = true) {\n const userId = await this.userService.getUserId();\n this.collapsedGroupingsKey = ConstantsService.collapsedGroupingsKey + '_' + userId;\n const collapsedGroupings = await this.storageService.get(this.collapsedGroupingsKey);\n if (collapsedGroupings == null) {\n this.collapsedGroupings = new Set();\n } else {\n this.collapsedGroupings = new Set(collapsedGroupings);\n }\n\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 this.nestedCollections = await this.collectionService.getAllNested(this.collections);\n }\n\n async loadFolders() {\n if (!this.showFolders) {\n return;\n }\n this.folders = await this.folderService.getAllDecrypted();\n this.nestedFolders = await this.folderService.getAllNested();\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 selectTrash() {\n this.clearSelections();\n this.selectedTrash = true;\n this.onTrashClicked.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.selectedTrash = false;\n this.selectedType = null;\n this.selectedFolder = false;\n this.selectedFolderId = null;\n this.selectedCollectionId = null;\n }\n\n collapse(grouping: FolderView | CollectionView, idPrefix = '') {\n if (grouping.id == null) {\n return;\n }\n const id = idPrefix + grouping.id;\n if (this.isCollapsed(grouping, idPrefix)) {\n this.collapsedGroupings.delete(id);\n } else {\n this.collapsedGroupings.add(id);\n }\n this.storageService.save(this.collapsedGroupingsKey, this.collapsedGroupings);\n }\n\n isCollapsed(grouping: FolderView | CollectionView, idPrefix = '') {\n return this.collapsedGroupings.has(idPrefix + grouping.id);\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","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","import { PasswordRequest } from './passwordRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class KdfRequest extends PasswordRequest {\n kdf: KdfType;\n kdfIterations: number;\n}\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","import {\n Directive,\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\nimport { PasswordGeneratorPolicyOptions } from '../../models/domain/passwordGeneratorPolicyOptions';\n\n@Directive()\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 enforcedPolicyOptions: PasswordGeneratorPolicyOptions;\n\n constructor(protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n private win: Window) { }\n\n async ngOnInit() {\n const optionsResponse = await this.passwordGenerationService.getOptions();\n this.options = optionsResponse[0];\n this.enforcedPolicyOptions = optionsResponse[1];\n this.avoidAmbiguous = !this.options.ambiguous;\n this.options.type = this.options.type === 'passphrase' ? 'passphrase' : 'password';\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.platformUtilsService.eventTrack('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.platformUtilsService.eventTrack('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.platformUtilsService.eventTrack('Regenerated Password');\n }\n\n copy() {\n this.platformUtilsService.eventTrack('Copied Generated Password');\n const copyOptions = this.win != null ? { window: this.win } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.platformUtilsService.eventTrack('Selected Generated Password');\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n // Application level normalize options depedent on class variables\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 if (this.win != null) {\n const lowercase = this.win.document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n }\n\n this.passwordGenerationService.normalizeOptions(this.options, this.enforcedPolicyOptions);\n }\n}\n","import { OnInit } from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { GeneratedPasswordHistory } from '../../models/domain/generatedPasswordHistory';\n\nexport class PasswordGeneratorHistoryComponent implements OnInit {\n history: GeneratedPasswordHistory[] = [];\n\n constructor(protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n private win: Window) { }\n\n async ngOnInit() {\n this.history = await this.passwordGenerationService.getHistory();\n }\n\n clear() {\n this.history = [];\n this.passwordGenerationService.clear();\n }\n\n copy(password: string) {\n this.platformUtilsService.eventTrack('Copied Historical Password');\n const copyOptions = this.win != null ? { window: this.win } : null;\n this.platformUtilsService.copyToClipboard(password, copyOptions);\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\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\n@Directive()\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 platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack(this.editMode ? 'Edited Folder' : 'Added Folder');\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Deleted Folder');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n\n protected async init() {\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","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Organization } from '../../models/domain/organization';\nimport { CipherView } from '../../models/view/cipherView';\nimport { CollectionView } from '../../models/view/collectionView';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive()\nexport class ShareComponent implements OnInit {\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 protected writeableCollections: CollectionView[] = [];\n\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\n protected i18nService: I18nService, protected userService: UserService,\n protected cipherService: CipherService) { }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.map((c) => c).filter((c) => !c.readOnly);\n const orgs = await this.userService.getAllOrganizations();\n this.organizations = orgs.sort(Utils.getSortFunction(this.i18nService, 'name'))\n .filter((o) => o.enabled && o.status === OrganizationUserStatusType.Confirmed);\n\n const cipherDomain = await this.cipherService.get(this.cipherId);\n this.cipher = await cipherDomain.decrypt();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n filterCollections() {\n this.writeableCollections.forEach((c) => (c as any).checked = 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(): Promise {\n const selectedCollectionIds = this.collections\n .filter((c) => !!(c as any).checked)\n .map((c) => c.id);\n if (selectedCollectionIds.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectOneCollection'));\n return;\n }\n\n const cipherDomain = await this.cipherService.get(this.cipherId);\n const cipherView = await cipherDomain.decrypt();\n\n try {\n this.formPromise = this.cipherService.shareWithServer(cipherView, this.organizationId,\n selectedCollectionIds).then(async () => {\n this.onSharedCipher.emit();\n this.platformUtilsService.eventTrack('Shared Cipher');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('sharedItem'));\n });\n await this.formPromise;\n return true;\n } catch { }\n return false;\n }\n\n get canSave() {\n if (this.collections != null) {\n for (let i = 0; i < this.collections.length; i++) {\n if ((this.collections[i] as any).checked) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","export { AttachmentData } from './attachmentData';\nexport { CardData } from './cardData';\nexport { CipherData } from './cipherData';\nexport { CollectionData } from './collectionData';\nexport { FieldData } from './fieldData';\nexport { FolderData } from './folderData';\nexport { IdentityData } from './identityData';\nexport { LoginData } from './loginData';\nexport { LoginUriData } from './loginUriData';\nexport { SecureNoteData } from './secureNoteData';\n","export { Attachment } from './attachment';\nexport { AuthResult } from './authResult';\nexport { Card } from './card';\nexport { Cipher } from './cipher';\nexport { CipherString } from './cipherString';\nexport { Collection } from './collection';\nexport { EncryptedObject } from './encryptedObject';\nexport { EnvironmentUrls } from './environmentUrls';\nexport { Field } from './field';\nexport { Folder } from './folder';\nexport { Identity } from './identity';\nexport { Login } from './login';\nexport { LoginUri } from './loginUri';\nexport { GeneratedPasswordHistory } from './generatedPasswordHistory';\nexport { SecureNote } from './secureNote';\nexport { SymmetricCryptoKey } from './symmetricCryptoKey';\n","export class EmergencyAccessConfirmRequest {\n key: string;\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class AttachmentResponse extends BaseResponse {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.url = this.getResponseProperty('Url');\n this.fileName = this.getResponseProperty('FileName');\n this.key = this.getResponseProperty('Key');\n this.size = this.getResponseProperty('Size');\n this.sizeName = this.getResponseProperty('SizeName');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class PasswordHistoryResponse extends BaseResponse {\n password: string;\n lastUsedDate: string;\n\n constructor(response: any) {\n super(response);\n this.password = this.getResponseProperty('Password');\n this.lastUsedDate = this.getResponseProperty('LastUsedDate');\n }\n}\n","import { EmergencyAccessType } from '../../enums/emergencyAccessType';\n\nexport class EmergencyAccessInviteRequest {\n email: string;\n type: EmergencyAccessType;\n waitTimeDays: number;\n}\n","export class EmergencyAccessPasswordRequest {\n newMasterPasswordHash: string;\n key: string;\n}\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 { ConsoleLogService } from 'jslib/services/consoleLog.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 { EventService as EventLoggingService } from 'jslib/services/event.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { ImportService } from 'jslib/services/import.service';\nimport { NotificationsService } from 'jslib/services/notifications.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { PolicyService } from 'jslib/services/policy.service';\nimport { SearchService } from 'jslib/services/search.service';\nimport { SendService } from 'jslib/services/send.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 { VaultTimeoutService } from 'jslib/services/vaultTimeout.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 { EventService as EventLoggingServiceAbstraction } from 'jslib/abstractions/event.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 { ImportService as ImportServiceAbstraction } from 'jslib/abstractions/import.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport { NotificationsService as NotificationsServiceAbstraction } from 'jslib/abstractions/notifications.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService as PolicyServiceAbstraction } from 'jslib/abstractions/policy.service';\nimport { SearchService as SearchServiceAbstraction } from 'jslib/abstractions/search.service';\nimport { SendService as SendServiceAbstraction } from 'jslib/abstractions/send.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';\nimport { VaultTimeoutService as VaultTimeoutServiceAbstraction } from 'jslib/abstractions/vaultTimeout.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, messagingService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService(platformUtilsService);\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst consoleLogService = new ConsoleLogService(false);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService, platformUtilsService,\n consoleLogService);\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 userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nexport let searchService: SearchService = null;\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, () => searchService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nsearchService = new SearchService(cipherService, consoleLogService);\nconst policyService = new PolicyService(userService, storageService);\nconst sendService = new SendService(cryptoService, userService, apiService, storageService,\n i18nService, cryptoFunctionService);\nconst vaultTimeoutService = new VaultTimeoutService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, searchService, userService, tokenService,\n null, async () => messagingService.send('logout', { expired: false }));\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService, policyService,\n sendService, async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService, policyService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService, vaultTimeoutService,\n consoleLogService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst importService = new ImportService(cipherService, folderService, apiService, i18nService, collectionService);\nconst notificationsService = new NotificationsService(userService, syncService, appIdService,\n apiService, vaultTimeoutService, async () => messagingService.send('logout', { expired: true }), consoleLogService);\nconst environmentService = new EnvironmentService(apiService, storageService, notificationsService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\nconst eventLoggingService = new EventLoggingService(storageService, apiService, userService, cipherService);\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 } else {\n environmentService.notificationsUrl = isDev ? 'http://localhost:61840' :\n 'https://notifications.bitwarden.com'; // window.location.origin + '/notifications';\n environmentService.enterpriseUrl = isDev ? 'http://localhost:52313' :\n 'https://portal.bitwarden.com'; // window.location.origin + '/portal';\n }\n apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n events: isDev ? 'http://localhost:46273' : 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 // events: 'https://events.bitwarden.com',\n });\n setTimeout(() => notificationsService.init(environmentService), 3000);\n\n vaultTimeoutService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n eventLoggingService.init(true);\n 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: VaultTimeoutServiceAbstraction, useValue: vaultTimeoutService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n { provide: SearchServiceAbstraction, useValue: searchService },\n { provide: ImportServiceAbstraction, useValue: importService },\n { provide: NotificationsServiceAbstraction, useValue: notificationsService },\n { provide: CryptoFunctionServiceAbstraction, useValue: cryptoFunctionService },\n { provide: EventLoggingServiceAbstraction, useValue: eventLoggingService },\n { provide: PolicyServiceAbstraction, useValue: policyService },\n { provide: SendServiceAbstraction, useValue: sendService },\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","import { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nexport class BroadcasterMessagingService implements MessagingService {\n constructor(private broadcasterService: BroadcasterService) { }\n\n send(subscriber: string, arg: any = {}) {\n const message = Object.assign({}, { command: subscriber }, arg);\n this.broadcasterService.send(message);\n }\n}\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, 'rememberEmail', 'enableGravatars', 'enableFullWidth',\n ConstantsService.localeKey, ConstantsService.autoConfirmFingerprints,\n ConstantsService.vaultTimeoutKey, ConstantsService.vaultTimeoutActionKey, ConstantsService.ssoCodeVerifierKey,\n ConstantsService.ssoStateKey, 'ssoOrgIdentifier']);\n private localStorageStartsWithKeys = ['twoFactorToken_', ConstantsService.collapsedGroupingsKey + '_'];\n private memoryStorageStartsWithKeys = ['ciphers_', 'folders_', 'collections_', 'settings_', 'lastSync_'];\n private memoryStorage = new Map();\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n async init() {\n // LockOption -> VaultTimeout (uses the same legacy string value for backwards compat)\n const vaultTimeout = await this.get(ConstantsService.vaultTimeoutKey);\n if (vaultTimeout == null && !this.platformUtilsService.isDev()) {\n await this.save(ConstantsService.vaultTimeoutKey, 15);\n }\n\n // Default Action to lock\n const vaultTimeoutAction = await this.get(ConstantsService.vaultTimeoutActionKey);\n if (vaultTimeoutAction == null) {\n await this.save(ConstantsService.vaultTimeoutActionKey, 'lock');\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 if (this.isMemoryStorage(key)) {\n json = this.memoryStorage.get(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 if (this.isMemoryStorage(key)) {\n this.memoryStorage.set(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 if (this.isMemoryStorage(key)) {\n this.memoryStorage.delete(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 private isMemoryStorage(key: string): boolean {\n for (const swKey of this.memoryStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\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 { 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';\nexport { VaultTimeoutService } from './vaultTimeout.service';\n","import { BaseResponse } from './baseResponse';\n\nexport class ApiKeyResponse extends BaseResponse {\n apiKey: string;\n\n constructor(response: any) {\n super(response);\n this.apiKey = this.getResponseProperty('ApiKey');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { TransactionType } from '../../enums/transactionType';\n\nexport class BillingResponse extends BaseResponse {\n balance: number;\n paymentSource: BillingSourceResponse;\n invoices: BillingInvoiceResponse[] = [];\n transactions: BillingTransactionResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.balance = this.getResponseProperty('Balance');\n const paymentSource = this.getResponseProperty('PaymentSource');\n const transactions = this.getResponseProperty('Transactions');\n const invoices = this.getResponseProperty('Invoices');\n this.paymentSource = paymentSource == null ? null : new BillingSourceResponse(paymentSource);\n if (transactions != null) {\n this.transactions = transactions.map((t: any) => new BillingTransactionResponse(t));\n }\n if (invoices != null) {\n this.invoices = invoices.map((i: any) => new BillingInvoiceResponse(i));\n }\n }\n}\n\nexport class BillingSourceResponse extends BaseResponse {\n type: PaymentMethodType;\n cardBrand: string;\n description: string;\n needsVerification: boolean;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.cardBrand = this.getResponseProperty('CardBrand');\n this.description = this.getResponseProperty('Description');\n this.needsVerification = this.getResponseProperty('NeedsVerification');\n }\n}\n\nexport class BillingInvoiceResponse extends BaseResponse {\n url: string;\n pdfUrl: string;\n number: string;\n paid: boolean;\n date: string;\n amount: number;\n\n constructor(response: any) {\n super(response);\n this.url = this.getResponseProperty('Url');\n this.pdfUrl = this.getResponseProperty('PdfUrl');\n this.number = this.getResponseProperty('Number');\n this.paid = this.getResponseProperty('Paid');\n this.date = this.getResponseProperty('Date');\n this.amount = this.getResponseProperty('Amount');\n }\n}\n\nexport class BillingTransactionResponse extends BaseResponse {\n createdDate: string;\n amount: number;\n refunded: boolean;\n partiallyRefunded: boolean;\n refundedAmount: number;\n type: TransactionType;\n paymentMethodType: PaymentMethodType;\n details: string;\n\n constructor(response: any) {\n super(response);\n this.createdDate = this.getResponseProperty('CreatedDate');\n this.amount = this.getResponseProperty('Amount');\n this.refunded = this.getResponseProperty('Refunded');\n this.partiallyRefunded = this.getResponseProperty('PartiallyRefunded');\n this.refundedAmount = this.getResponseProperty('RefundedAmount');\n this.type = this.getResponseProperty('Type');\n this.paymentMethodType = this.getResponseProperty('PaymentMethodType');\n this.details = this.getResponseProperty('Details');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class BreachAccountResponse extends BaseResponse {\n addedDate: string;\n breachDate: string;\n dataClasses: string[];\n description: string;\n domain: string;\n isActive: boolean;\n isVerified: boolean;\n logoPath: string;\n modifiedDate: string;\n name: string;\n pwnCount: number;\n title: string;\n\n constructor(response: any) {\n super(response);\n this.addedDate = this.getResponseProperty('AddedDate');\n this.breachDate = this.getResponseProperty('BreachDate');\n this.dataClasses = this.getResponseProperty('DataClasses');\n this.description = this.getResponseProperty('Description');\n this.domain = this.getResponseProperty('Domain');\n this.isActive = this.getResponseProperty('IsActive');\n this.isVerified = this.getResponseProperty('IsVerified');\n this.logoPath = this.getResponseProperty('LogoPath');\n this.modifiedDate = this.getResponseProperty('ModifiedDate');\n this.name = this.getResponseProperty('Name');\n this.pwnCount = this.getResponseProperty('PwnCount');\n this.title = this.getResponseProperty('Title');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class GlobalDomainResponse extends BaseResponse {\n type: number;\n domains: string[];\n excluded: boolean;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.domains = this.getResponseProperty('Domains');\n this.excluded = this.getResponseProperty('Excluded');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { DeviceType } from '../../enums/deviceType';\nimport { EventType } from '../../enums/eventType';\n\nexport class EventResponse extends BaseResponse {\n type: EventType;\n userId: string;\n organizationId: string;\n cipherId: string;\n collectionId: string;\n groupId: string;\n policyId: string;\n organizationUserId: string;\n actingUserId: string;\n date: string;\n deviceType: DeviceType;\n ipAddress: string;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.userId = this.getResponseProperty('UserId');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.cipherId = this.getResponseProperty('CipherId');\n this.collectionId = this.getResponseProperty('CollectionId');\n this.groupId = this.getResponseProperty('GroupId');\n this.policyId = this.getResponseProperty('PolicyId');\n this.organizationUserId = this.getResponseProperty('OrganizationUserId');\n this.actingUserId = this.getResponseProperty('ActingUserId');\n this.date = this.getResponseProperty('Date');\n this.deviceType = this.getResponseProperty('DeviceType');\n this.ipAddress = this.getResponseProperty('IpAddress');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class GroupResponse extends BaseResponse {\n id: string;\n organizationId: string;\n name: string;\n accessAll: boolean;\n externalId: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.name = this.getResponseProperty('Name');\n this.accessAll = this.getResponseProperty('AccessAll');\n this.externalId = this.getResponseProperty('ExternalId');\n }\n}\n\nexport class GroupDetailsResponse extends GroupResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class IdentityTokenResponse extends BaseResponse {\n accessToken: string;\n expiresIn: number;\n refreshToken: string;\n tokenType: string;\n\n resetMasterPassword: boolean;\n privateKey: string;\n key: string;\n twoFactorToken: string;\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n this.accessToken = response.access_token;\n this.expiresIn = response.expires_in;\n this.refreshToken = response.refresh_token;\n this.tokenType = response.token_type;\n\n this.resetMasterPassword = this.getResponseProperty('ResetMasterPassword');\n this.privateKey = this.getResponseProperty('PrivateKey');\n this.key = this.getResponseProperty('Key');\n this.twoFactorToken = this.getResponseProperty('TwoFactorToken');\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class IdentityTwoFactorResponse extends BaseResponse {\n twoFactorProviders: TwoFactorProviderType[];\n twoFactorProviders2 = new Map();\n\n constructor(response: any) {\n super(response);\n this.twoFactorProviders = this.getResponseProperty('TwoFactorProviders');\n const twoFactorProviders2 = this.getResponseProperty('TwoFactorProviders2');\n if (twoFactorProviders2 != null) {\n for (const prop in twoFactorProviders2) {\n if (twoFactorProviders2.hasOwnProperty(prop)) {\n this.twoFactorProviders2.set(parseInt(prop, null), twoFactorProviders2[prop]);\n }\n }\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class ListResponse extends BaseResponse {\n data: T[];\n continuationToken: string;\n\n constructor(response: any, t: new (dataResponse: any) => T) {\n super(response);\n const data = this.getResponseProperty('Data');\n this.data = data == null ? [] : data.map((dr: any) => new t(dr));\n this.continuationToken = this.getResponseProperty('ContinuationToken');\n }\n}\n","import { OrganizationResponse } from './organizationResponse';\nimport {\n BillingSubscriptionResponse,\n BillingSubscriptionUpcomingInvoiceResponse,\n} from './subscriptionResponse';\n\nexport class OrganizationSubscriptionResponse extends OrganizationResponse {\n storageName: string;\n storageGb: number;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\n expiration: string;\n\n constructor(response: any) {\n super(response);\n this.storageName = this.getResponseProperty('StorageName');\n this.storageGb = this.getResponseProperty('StorageGb');\n const subscription = this.getResponseProperty('Subscription');\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\n this.upcomingInvoice = upcomingInvoice == null ? null :\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\n this.expiration = this.getResponseProperty('Expiration');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nimport { PermissionsApi } from '../api/permissionsApi';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class OrganizationUserResponse extends BaseResponse {\n id: string;\n userId: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n accessAll: boolean;\n permissions: PermissionsApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.permissions = new PermissionsApi(this.getResponseProperty('Permissions'));\n this.accessAll = this.getResponseProperty('AccessAll');\n }\n}\n\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\n name: string;\n email: string;\n twoFactorEnabled: boolean;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\n }\n}\n\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { ProfileResponse } from './profileResponse';\n\nexport class PaymentResponse extends BaseResponse {\n userProfile: ProfileResponse;\n paymentIntentClientSecret: string;\n success: boolean;\n\n constructor(response: any) {\n super(response);\n const userProfile = this.getResponseProperty('UserProfile');\n if (userProfile != null) {\n this.userProfile = new ProfileResponse(userProfile);\n }\n this.paymentIntentClientSecret = this.getResponseProperty('PaymentIntentClientSecret');\n this.success = this.getResponseProperty('Success');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class ProfileOrganizationResponse extends BaseResponse {\n id: string;\n name: string;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: 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 ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.usePolicies = this.getResponseProperty('UsePolicies');\n this.useGroups = this.getResponseProperty('UseGroups');\n this.useDirectory = this.getResponseProperty('UseDirectory');\n this.useEvents = this.getResponseProperty('UseEvents');\n this.useTotp = this.getResponseProperty('UseTotp');\n this.use2fa = this.getResponseProperty('Use2fa');\n this.useApi = this.getResponseProperty('UseApi');\n this.useBusinessPortal = this.getResponseProperty('UseBusinessPortal');\n this.useSso = this.getResponseProperty('UseSso');\n this.selfHost = this.getResponseProperty('SelfHost');\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\n this.seats = this.getResponseProperty('Seats');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.key = this.getResponseProperty('Key');\n this.status = this.getResponseProperty('Status');\n this.type = this.getResponseProperty('Type');\n this.enabled = this.getResponseProperty('Enabled');\n this.ssoBound = this.getResponseProperty('SsoBound');\n this.identifier = this.getResponseProperty('Identifier');\n this.permissions = new PermissionsApi(this.getResponseProperty('permissions'));\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class PreloginResponse extends BaseResponse {\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nexport class SendAccessResponse extends BaseResponse {\n id: string;\n type: SendType;\n name: string;\n file: SendFileApi;\n text: SendTextApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n\n const text = this.getResponseProperty('Text');\n if (text != null) {\n this.text = new SendTextApi(text);\n }\n\n const file = this.getResponseProperty('File');\n if (file != null) {\n this.file = new SendFileApi(file);\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { CipherResponse } from './cipherResponse';\nimport { CollectionDetailsResponse } from './collectionResponse';\nimport { DomainsResponse } from './domainsResponse';\nimport { FolderResponse } from './folderResponse';\nimport { PolicyResponse } from './policyResponse';\nimport { ProfileResponse } from './profileResponse';\nimport { SendResponse } from './sendResponse';\n\nexport class SyncResponse extends BaseResponse {\n profile?: ProfileResponse;\n folders: FolderResponse[] = [];\n collections: CollectionDetailsResponse[] = [];\n ciphers: CipherResponse[] = [];\n domains?: DomainsResponse;\n policies?: PolicyResponse[] = [];\n sends: SendResponse[] = [];\n\n constructor(response: any) {\n super(response);\n\n const profile = this.getResponseProperty('Profile');\n if (profile != null) {\n this.profile = new ProfileResponse(profile);\n }\n\n const folders = this.getResponseProperty('Folders');\n if (folders != null) {\n this.folders = folders.map((f: any) => new FolderResponse(f));\n }\n\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new CollectionDetailsResponse(c));\n }\n\n const ciphers = this.getResponseProperty('Ciphers');\n if (ciphers != null) {\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\n }\n\n const domains = this.getResponseProperty('Domains');\n if (domains != null) {\n this.domains = new DomainsResponse(domains);\n }\n\n const policies = this.getResponseProperty('Policies');\n if (policies != null) {\n this.policies = policies.map((p: any) => new PolicyResponse(p));\n }\n\n const sends = this.getResponseProperty('Sends');\n if (sends != null) {\n this.sends = sends.map((s: any) => new SendResponse(s));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TaxInfoResponse extends BaseResponse {\n taxId: string;\n taxIdType: string;\n line1: string;\n line2: string;\n city: string;\n state: string;\n country: string;\n postalCode: string;\n\n constructor(response: any) {\n super(response);\n this.taxId = this.getResponseProperty('TaxIdNumber');\n this.taxIdType = this.getResponseProperty('TaxIdType');\n this.line1 = this.getResponseProperty('Line1');\n this.line2 = this.getResponseProperty('Line2');\n this.city = this.getResponseProperty('City');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.country = this.getResponseProperty('Country');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TaxRateResponse extends BaseResponse {\n id: string;\n country: string;\n state: string;\n postalCode: string;\n rate: number;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.country = this.getResponseProperty('Country');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.rate = this.getResponseProperty('Rate');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorAuthenticatorResponse extends BaseResponse {\n enabled: boolean;\n key: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.key = this.getResponseProperty('Key');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorDuoResponse extends BaseResponse {\n enabled: boolean;\n host: string;\n secretKey: string;\n integrationKey: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.host = this.getResponseProperty('Host');\n this.secretKey = this.getResponseProperty('SecretKey');\n this.integrationKey = this.getResponseProperty('IntegrationKey');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorEmailResponse extends BaseResponse {\n enabled: boolean;\n email: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.email = this.getResponseProperty('Email');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderResponse extends BaseResponse {\n enabled: boolean;\n type: TwoFactorProviderType;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.type = this.getResponseProperty('Type');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorRecoverResponse extends BaseResponse {\n code: string;\n\n constructor(response: any) {\n super(response);\n this.code = this.getResponseProperty('Code');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorU2fResponse extends BaseResponse {\n enabled: boolean;\n keys: KeyResponse[];\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n const keys = this.getResponseProperty('Keys');\n this.keys = keys == null ? null : keys.map((k: any) => new KeyResponse(k));\n }\n}\n\nexport class KeyResponse extends BaseResponse {\n name: string;\n id: number;\n compromised: boolean;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.id = this.getResponseProperty('Id');\n this.compromised = this.getResponseProperty('Compromised');\n }\n}\n\nexport class ChallengeResponse extends BaseResponse {\n userId: string;\n appId: string;\n challenge: string;\n version: string;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.appId = this.getResponseProperty('AppId');\n this.challenge = this.getResponseProperty('Challenge');\n this.version = this.getResponseProperty('Version');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorYubiKeyResponse extends BaseResponse {\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 super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.key1 = this.getResponseProperty('Key1');\n this.key2 = this.getResponseProperty('Key2');\n this.key3 = this.getResponseProperty('Key3');\n this.key4 = this.getResponseProperty('Key4');\n this.key5 = this.getResponseProperty('Key5');\n this.nfc = this.getResponseProperty('Nfc');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class UserKeyResponse extends BaseResponse {\n userId: string;\n publicKey: string;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.publicKey = this.getResponseProperty('PublicKey');\n }\n}\n","/**\n * Use as a Decorator on async functions, it will limit how many times the function can be\n * in-flight at a time.\n *\n * Calls beyond the limit will be queued, and run when one of the active calls finishes\n */\nexport function throttle(limit: number, throttleKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise>) => {\n const originalMethod: () => Promise = descriptor.value;\n const allThrottles = new Map void)[]>>();\n\n const getThrottles = (obj: any) => {\n let throttles = allThrottles.get(obj);\n if (throttles != null) {\n return throttles;\n }\n throttles = new Map void)[]>();\n allThrottles.set(obj, throttles);\n return throttles;\n };\n\n return {\n value: function(...args: any[]) {\n const throttles = getThrottles(this);\n const argsThrottleKey = throttleKey(args);\n let queue = throttles.get(argsThrottleKey);\n if (queue == null) {\n queue = [];\n throttles.set(argsThrottleKey, queue);\n }\n\n return new Promise((resolve, reject) => {\n const exec = () => {\n const onFinally = () => {\n queue.splice(queue.indexOf(exec), 1);\n if (queue.length >= limit) {\n queue[limit - 1]();\n } else if (queue.length === 0) {\n throttles.delete(argsThrottleKey);\n if (throttles.size === 0) {\n allThrottles.delete(this);\n }\n }\n };\n originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n }).then(resolve, reject);\n };\n queue.push(exec);\n if (queue.length <= limit) {\n exec();\n }\n });\n },\n };\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 CipherBulkRestoreRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\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","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 { CipherView } from '../view';\n\nconst CacheTTL = 3000;\n\nexport class SortedCiphersCache {\n private readonly sortedCiphersByUrl: Map = new Map();\n private readonly timeouts: Map = new Map();\n\n constructor(private readonly comparator: (a: CipherView, b: CipherView) => number) { }\n\n isCached(url: string) {\n return this.sortedCiphersByUrl.has(url);\n }\n\n addCiphers(url: string, ciphers: CipherView[]) {\n ciphers.sort(this.comparator);\n this.sortedCiphersByUrl.set(url, new Ciphers(ciphers));\n this.resetTimer(url);\n }\n\n getLastUsed(url: string) {\n this.resetTimer(url);\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getLastUsed() : null;\n }\n\n getLastLaunched(url: string) {\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getLastLaunched() : null;\n }\n\n getNext(url: string) {\n this.resetTimer(url);\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getNext() : null;\n }\n\n updateLastUsedIndex(url: string) {\n if (this.isCached(url)) {\n this.sortedCiphersByUrl.get(url).updateLastUsedIndex();\n }\n }\n\n clear() {\n this.sortedCiphersByUrl.clear();\n this.timeouts.clear();\n }\n\n private resetTimer(url: string) {\n clearTimeout(this.timeouts.get(url));\n this.timeouts.set(url, setTimeout(() => {\n this.sortedCiphersByUrl.delete(url);\n this.timeouts.delete(url);\n }, CacheTTL));\n }\n}\n\nclass Ciphers {\n lastUsedIndex = -1;\n\n constructor(private readonly ciphers: CipherView[]) { }\n\n getLastUsed() {\n this.lastUsedIndex = Math.max(this.lastUsedIndex, 0);\n return this.ciphers[this.lastUsedIndex];\n }\n\n getLastLaunched() {\n const usedCiphers = this.ciphers.filter(cipher => cipher.localData?.lastLaunched);\n const sortedCiphers = usedCiphers.sort((x, y) => y.localData.lastLaunched.valueOf() - x.localData.lastLaunched.valueOf());\n return sortedCiphers[0];\n }\n\n getNextIndex() {\n return (this.lastUsedIndex + 1) % this.ciphers.length;\n }\n\n getNext() {\n return this.ciphers[this.getNextIndex()];\n }\n\n updateLastUsedIndex() {\n this.lastUsedIndex = this.getNextIndex();\n }\n}\n","export class TreeNode {\n parent: T;\n node: T;\n children: TreeNode[] = [];\n\n constructor(node: T, name: string, parent: T) {\n this.parent = parent;\n this.node = node;\n this.node.name = name;\n }\n}\n\nexport interface ITreeNodeObject {\n id: string;\n name: string;\n}\n","import Domain from './domainBase';\n\nexport class PasswordGeneratorPolicyOptions extends Domain {\n defaultType: string = '';\n minLength: number = 0;\n useUppercase: boolean = false;\n useLowercase: boolean = false;\n useNumbers: boolean = false;\n numberCount: number = 0;\n useSpecial: boolean = false;\n specialCount: number = 0;\n minNumberWords: number = 0;\n capitalize: boolean = false;\n includeNumber: boolean = false;\n\n inEffect() {\n return this.defaultType !== '' ||\n this.minLength > 0 ||\n this.numberCount > 0 ||\n this.specialCount > 0 ||\n this.useUppercase ||\n this.useLowercase ||\n this.useNumbers ||\n this.useSpecial ||\n this.minNumberWords > 0 ||\n this.capitalize ||\n this.includeNumber;\n }\n}\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationData {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\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.usePolicies = response.usePolicies;\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.useApi = response.useApi;\n this.useBusinessPortal = response.useBusinessPortal;\n this.useSso = response.useSso;\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.ssoBound = response.ssoBound;\n this.identifier = response.identifier;\n this.permissions = response.permissions;\n }\n}\n","import { SendFileApi } from '../api/sendFileApi';\n\nexport class SendFileData {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(data?: SendFileApi) {\n if (data == null) {\n return;\n }\n\n this.id = data.id;\n this.url = data.url;\n this.fileName = data.fileName;\n this.key = data.key;\n this.size = data.size;\n this.sizeName = data.sizeName;\n }\n}\n","import { SendTextApi } from '../api/sendTextApi';\n\nexport class SendTextData {\n text: string;\n hidden: boolean;\n\n constructor(data?: SendTextApi) {\n if (data == null) {\n return;\n }\n\n this.text = data.text;\n this.hidden = data.hidden;\n }\n}\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', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', 'es', 'et', 'fr', 'he', 'it', 'ja', 'ko', 'lv', 'ml', 'nb',\n 'nl', 'pl', 'pt-PT', 'pt-BR', 'ru', 'sk', 'sv', 'uk', 'zh-CN', 'zh-TW',\n ];\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\n\nexport class MemoryStorageService implements StorageService {\n private store = new Map();\n\n get(key: string): Promise {\n if (this.store.has(key)) {\n const obj = this.store.get(key);\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 this.store.set(key, obj);\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n this.store.delete(key);\n return Promise.resolve();\n }\n}\n","import Swal, { SweetAlertIcon } from 'sweetalert2/dist/sweetalert2.js';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService, private messagingService: MessagingService) { }\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(' Edg/') !== -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 isViewOpen(): Promise {\n return Promise.resolve(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 if (options == null || !options.sameWindow) {\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n }\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 let type: string = null;\n const fileNameLower = fileName.toLowerCase();\n let doDownload = true;\n if (fileNameLower.endsWith('.pdf')) {\n type = 'application/pdf';\n doDownload = false;\n } else if (fileNameLower.endsWith('.xlsx')) {\n type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n } else if (fileNameLower.endsWith('.docx')) {\n type = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n } else if (fileNameLower.endsWith('.pptx')) {\n type = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\n } else if (fileNameLower.endsWith('.csv')) {\n type = 'text/csv';\n } else if (fileNameLower.endsWith('.png')) {\n type = 'image/png';\n } else if (fileNameLower.endsWith('.jpg') || fileNameLower.endsWith('.jpeg')) {\n type = 'image/jpeg';\n } else if (fileNameLower.endsWith('.gif')) {\n type = 'image/gif';\n }\n if (type != null) {\n blobOptions = blobOptions || {};\n if (blobOptions.type == null) {\n blobOptions.type = type;\n }\n }\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 if (doDownload) {\n a.download = fileName;\n } else {\n a.target = '_blank';\n }\n a.href = URL.createObjectURL(blob);\n a.style.position = 'fixed';\n win.document.body.appendChild(a);\n a.click();\n win.document.body.removeChild(a);\n }\n }\n\n getApplicationVersion(): string {\n return process.env.APPLICATION_VERSION || '-';\n }\n\n supportsU2f(win: Window): boolean {\n if (win != null && (win as any).u2f != null) {\n return true;\n }\n return this.isChrome() || ((this.isOpera() || this.isVivaldi()) && !Utils.isMobileBrowser);\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\n options?: any): void {\n this.messagingService.send('showToast', {\n text: text,\n title: title,\n type: type,\n options: options,\n });\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n let iconClasses: string = null;\n if (type != null) {\n // If you add custom types to this part, the type to SweetAlertIcon cast below needs to be changed.\n switch (type) {\n case 'success':\n iconClasses = 'fa-check text-success';\n break;\n case 'warning':\n iconClasses = 'fa-warning text-warning';\n break;\n case 'error':\n iconClasses = 'fa-bolt text-danger';\n break;\n case 'info':\n iconClasses = 'fa-info-circle text-info';\n break;\n default:\n break;\n }\n }\n\n const iconHtmlStr = iconClasses != null ? `` : undefined;\n const confirmed = await Swal.fire({\n heightAuto: false,\n buttonsStyling: false,\n icon: type as SweetAlertIcon, // required to be any of the SweetAlertIcons to output the iconHtml.\n iconHtml: iconHtmlStr,\n text: text,\n title: title,\n showCancelButton: (cancelText != null),\n cancelButtonText: cancelText,\n showConfirmButton: true,\n confirmButtonText: confirmText == null ? this.i18nService.t('ok') : confirmText,\n });\n\n return confirmed.value;\n }\n\n eventTrack(action: string, label?: string, options?: any) {\n this.messagingService.send('analyticsEventTrack', {\n action: action,\n label: label,\n options: options,\n });\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 let win = window;\n let doc = window.document;\n if (options && (options.window || options.win)) {\n win = options.window || options.win;\n doc = win.document;\n } else if (options && options.doc) {\n doc = options.doc;\n }\n if ((win as any).clipboardData && (win as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (win 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 when modal is open if appending to body\n if (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 readFromClipboard(options?: any): Promise {\n throw new Error('Cannot read from clipboard on web.');\n }\n\n supportsBiometric() {\n return Promise.resolve(false);\n }\n\n authenticateBiometric() {\n return Promise.resolve(false);\n }\n\n supportsSecureStorage() {\n return false;\n }\n\n getDefaultSystemTheme() {\n return null as 'light' | 'dark';\n }\n\n onDefaultSystemThemeChange() {\n /* noop */\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 return;\n\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","export enum LogLevelType {\n Debug,\n Info,\n Warning,\n Error,\n}\n","import { EventType } from '../enums/eventType';\n\nimport { EventData } from '../models/data/eventData';\n\nimport { EventRequest } from '../models/request/eventRequest';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { EventService as EventServiceAbstraction } from '../abstractions/event.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ConstantsService } from './constants.service';\n\nexport class EventService implements EventServiceAbstraction {\n private inited = false;\n\n constructor(private storageService: StorageService, private apiService: ApiService,\n private userService: UserService, private cipherService: CipherService) { }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.uploadEvents();\n setInterval(() => this.uploadEvents(), 60 * 1000); // check every 60 seconds\n }\n }\n\n async collect(eventType: EventType, cipherId: string = null, uploadImmediately = false): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n const organizations = await this.userService.getAllOrganizations();\n if (organizations == null) {\n return;\n }\n const orgIds = new Set(organizations.filter((o) => o.useEvents).map((o) => o.id));\n if (orgIds.size === 0) {\n return;\n }\n if (cipherId != null) {\n const cipher = await this.cipherService.get(cipherId);\n if (cipher == null || cipher.organizationId == null || !orgIds.has(cipher.organizationId)) {\n return;\n }\n }\n let eventCollection = await this.storageService.get(ConstantsService.eventCollectionKey);\n if (eventCollection == null) {\n eventCollection = [];\n }\n const event = new EventData();\n event.type = eventType;\n event.cipherId = cipherId;\n event.date = new Date().toISOString();\n eventCollection.push(event);\n await this.storageService.save(ConstantsService.eventCollectionKey, eventCollection);\n if (uploadImmediately) {\n await this.uploadEvents();\n }\n }\n\n async uploadEvents(): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n const eventCollection = await this.storageService.get(ConstantsService.eventCollectionKey);\n if (eventCollection == null || eventCollection.length === 0) {\n return;\n }\n const request = eventCollection.map((e) => {\n const req = new EventRequest();\n req.type = e.type;\n req.cipherId = e.cipherId;\n req.date = e.date;\n return req;\n });\n try {\n await this.apiService.postEventsCollect(request);\n this.clearEvents();\n } catch { }\n }\n\n async clearEvents(): Promise {\n await this.storageService.remove(ConstantsService.eventCollectionKey);\n }\n}\n","import { EventType } from '../../enums/eventType';\n\nexport class EventData {\n type: EventType;\n cipherId: string;\n date: string;\n}\n","import { EventType } from '../../enums/eventType';\n\nexport class EventRequest {\n type: EventType;\n cipherId: string;\n date: string;\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';\nimport { Folder } from '../models/domain/folder';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\n\nimport { CipherWithIds as CipherExport } from '../models/export/cipherWithIds';\nimport { CollectionWithId as CollectionExport } from '../models/export/collectionWithId';\nimport { FolderWithId as FolderExport } from '../models/export/folderWithId';\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' | 'encrypted_json' = 'csv'): Promise {\n if (format === 'encrypted_json') {\n return this.getEncryptedExport();\n } else {\n return this.getDecryptedExport(format);\n }\n }\n\n async getOrganizationExport(organizationId: string,\n format: 'csv' | 'json' | 'encrypted_json' = 'csv'): Promise {\n if (format === 'encrypted_json') {\n return this.getOrganizationEncryptedExport(organizationId);\n } else {\n return this.getOrganizationDecryptedExport(organizationId, format);\n }\n }\n\n getFileName(prefix: string = null, extension: string = 'csv'): 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 + '.' + extension;\n }\n\n private async getDecryptedExport(format: '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.filter(f => f.deletedDate == null);\n }));\n\n await Promise.all(promises);\n\n if (format === 'csv') {\n const foldersMap = new Map();\n decFolders.forEach((f) => {\n if (f.id != null) {\n foldersMap.set(f.id, f);\n }\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 if (c.organizationId != null) {\n return;\n }\n\n const cipher: any = {};\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ?\n 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 return papa.unparse(exportCiphers);\n } else {\n const jsonDoc: any = {\n encrypted: false,\n folders: [],\n items: [],\n };\n\n decFolders.forEach((f) => {\n if (f.id == null) {\n return;\n }\n const folder = new FolderExport();\n folder.build(f);\n jsonDoc.folders.push(folder);\n });\n\n decCiphers.forEach((c) => {\n if (c.organizationId != null) {\n return;\n }\n const cipher = new CipherExport();\n cipher.build(c);\n cipher.collectionIds = null;\n jsonDoc.items.push(cipher);\n });\n\n return JSON.stringify(jsonDoc, null, ' ');\n }\n }\n\n private async getEncryptedExport(): Promise {\n let folders: Folder[] = [];\n let ciphers: Cipher[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAll().then((f) => {\n folders = f;\n }));\n\n promises.push(this.cipherService.getAll().then((c) => {\n ciphers = c.filter((f) => f.deletedDate == null);\n }));\n\n await Promise.all(promises);\n\n const jsonDoc: any = {\n encrypted: true,\n folders: [],\n items: [],\n };\n\n folders.forEach((f) => {\n if (f.id == null) {\n return;\n }\n const folder = new FolderExport();\n folder.build(f);\n jsonDoc.folders.push(folder);\n });\n\n ciphers.forEach((c) => {\n if (c.organizationId != null) {\n return;\n }\n const cipher = new CipherExport();\n cipher.build(c);\n cipher.collectionIds = null;\n jsonDoc.items.push(cipher);\n });\n\n return JSON.stringify(jsonDoc, null, ' ');\n }\n\n private async getOrganizationDecryptedExport(organizationId: string, format: '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.filter((c) => c.deletedDate === null).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 if (format === 'csv') {\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 return papa.unparse(exportCiphers);\n } else {\n const jsonDoc: any = {\n encrypted: false,\n collections: [],\n items: [],\n };\n\n decCollections.forEach((c) => {\n const collection = new CollectionExport();\n collection.build(c);\n jsonDoc.collections.push(collection);\n });\n\n decCiphers.forEach((c) => {\n const cipher = new CipherExport();\n cipher.build(c);\n jsonDoc.items.push(cipher);\n });\n return JSON.stringify(jsonDoc, null, ' ');\n }\n }\n\n private async getOrganizationEncryptedExport(organizationId: string): Promise {\n const collections: Collection[] = [];\n const ciphers: Cipher[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then((c) => {\n const collectionPromises: any = [];\n if (c != null && c.data != null && c.data.length > 0) {\n c.data.forEach((r) => {\n const collection = new Collection(new CollectionData(r as CollectionDetailsResponse));\n collections.push(collection);\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((c) => {\n const cipherPromises: any = [];\n if (c != null && c.data != null && c.data.length > 0) {\n c.data.filter((item) => item.deletedDate === null).forEach((item) => {\n const cipher = new Cipher(new CipherData(item));\n ciphers.push(cipher);\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n const jsonDoc: any = {\n encrypted: true,\n collections: [],\n items: [],\n };\n\n collections.forEach((c) => {\n const collection = new CollectionExport();\n collection.build(c);\n jsonDoc.collections.push(collection);\n });\n\n ciphers.forEach((c) => {\n const cipher = new CipherExport();\n cipher.build(c);\n jsonDoc.items.push(cipher);\n });\n return JSON.stringify(jsonDoc, null, ' ');\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 { CipherType } from '../../enums/cipherType';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Cipher as CipherDomain } from '../domain/cipher';\nimport { CipherString } from '../domain/cipherString';\n\nimport { Card } from './card';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher {\n static template(): Cipher {\n const req = new Cipher();\n req.organizationId = null;\n req.folderId = null;\n req.type = CipherType.Login;\n req.name = 'Item name';\n req.notes = 'Some notes about this item.';\n req.favorite = false;\n req.fields = [];\n req.login = null;\n req.secureNote = null;\n req.card = null;\n req.identity = null;\n return req;\n }\n\n static toView(req: Cipher, view = new CipherView()) {\n view.type = req.type;\n view.folderId = req.folderId;\n if (view.organizationId == null) {\n view.organizationId = req.organizationId;\n }\n view.name = req.name;\n view.notes = req.notes;\n view.favorite = req.favorite;\n\n if (req.fields != null) {\n view.fields = req.fields.map((f) => Field.toView(f));\n }\n\n switch (req.type) {\n case CipherType.Login:\n view.login = Login.toView(req.login);\n break;\n case CipherType.SecureNote:\n view.secureNote = SecureNote.toView(req.secureNote);\n break;\n case CipherType.Card:\n view.card = Card.toView(req.card);\n break;\n case CipherType.Identity:\n view.identity = Identity.toView(req.identity);\n break;\n }\n\n return view;\n }\n\n static toDomain(req: Cipher, domain = new CipherDomain()) {\n domain.type = req.type;\n domain.folderId = req.folderId;\n if (domain.organizationId == null) {\n domain.organizationId = req.organizationId;\n }\n domain.name = req.name != null ? new CipherString(req.name) : null;\n domain.notes = req.notes != null ? new CipherString(req.notes) : null;\n domain.favorite = req.favorite;\n\n if (req.fields != null) {\n domain.fields = req.fields.map((f) => Field.toDomain(f));\n }\n\n switch (req.type) {\n case CipherType.Login:\n domain.login = Login.toDomain(req.login);\n break;\n case CipherType.SecureNote:\n domain.secureNote = SecureNote.toDomain(req.secureNote);\n break;\n case CipherType.Card:\n domain.card = Card.toDomain(req.card);\n break;\n case CipherType.Identity:\n domain.identity = Identity.toDomain(req.identity);\n break;\n }\n\n return domain;\n }\n\n type: CipherType;\n folderId: string;\n organizationId: string;\n name: string;\n notes: string;\n favorite: boolean;\n fields: Field[];\n login: Login;\n secureNote: SecureNote;\n card: Card;\n identity: Identity;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CipherView | CipherDomain) {\n this.organizationId = o.organizationId;\n this.folderId = o.folderId;\n this.type = o.type;\n\n if (o instanceof CipherView) {\n this.name = o.name;\n this.notes = o.notes;\n } else {\n this.name = o.name?.encryptedString;\n this.notes = o.notes?.encryptedString;\n }\n\n this.favorite = o.favorite;\n\n if (o.fields != null) {\n if (o instanceof CipherView) {\n this.fields = o.fields.map((f) => new Field(f));\n } else {\n this.fields = o.fields.map((f) => new Field(f));\n }\n }\n\n switch (o.type) {\n case CipherType.Login:\n this.login = new Login(o.login);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(o.secureNote);\n break;\n case CipherType.Card:\n this.card = new Card(o.card);\n break;\n case CipherType.Identity:\n this.identity = new Identity(o.identity);\n break;\n }\n }\n}\n","import { CardView } from '../view/cardView';\n\nimport { Card as CardDomain } from '../domain/card';\nimport { CipherString } from '../domain/cipherString';\n\nexport class Card {\n static template(): Card {\n const req = new Card();\n req.cardholderName = 'John Doe';\n req.brand = 'visa';\n req.number = '4242424242424242';\n req.expMonth = '04';\n req.expYear = '2023';\n req.code = '123';\n return req;\n }\n\n static toView(req: Card, view = new CardView()) {\n view.cardholderName = req.cardholderName;\n view.brand = req.brand;\n view.number = req.number;\n view.expMonth = req.expMonth;\n view.expYear = req.expYear;\n view.code = req.code;\n return view;\n }\n\n static toDomain(req: Card, domain = new CardDomain()) {\n domain.cardholderName = req.cardholderName != null ? new CipherString(req.cardholderName) : null;\n domain.brand = req.brand != null ? new CipherString(req.brand) : null;\n domain.number = req.number != null ? new CipherString(req.number) : null;\n domain.expMonth = req.expMonth != null ? new CipherString(req.expMonth) : null;\n domain.expYear = req.expYear != null ? new CipherString(req.expYear) : null;\n domain.code = req.code != null ? new CipherString(req.code) : null;\n return domain;\n }\n\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(o?: CardView | CardDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof CardView) {\n this.cardholderName = o.cardholderName;\n this.brand = o.brand;\n this.number = o.number;\n this.expMonth = o.expMonth;\n this.expYear = o.expYear;\n this.code = o.code;\n } else {\n this.cardholderName = o.cardholderName?.encryptedString;\n this.brand = o.brand?.encryptedString;\n this.number = o.number?.encryptedString;\n this.expMonth = o.expMonth?.encryptedString;\n this.expYear = o.expYear?.encryptedString;\n this.code = o.code?.encryptedString;\n }\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldView } from '../view/fieldView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Field as FieldDomain } from '../domain/field';\n\nexport class Field {\n static template(): Field {\n const req = new Field();\n req.name = 'Field name';\n req.value = 'Some value';\n req.type = FieldType.Text;\n return req;\n }\n\n static toView(req: Field, view = new FieldView()) {\n view.type = req.type;\n view.value = req.value;\n view.name = req.name;\n return view;\n }\n\n static toDomain(req: Field, domain = new FieldDomain()) {\n domain.type = req.type;\n domain.value = req.value != null ? new CipherString(req.value) : null;\n domain.name = req.name != null ? new CipherString(req.name) : null;\n return domain;\n }\n\n name: string;\n value: string;\n type: FieldType;\n\n constructor(o?: FieldView | FieldDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof FieldView) {\n this.name = o.name;\n this.value = o.value;\n } else {\n this.name = o.name?.encryptedString;\n this.value = o.value?.encryptedString;\n }\n this.type = o.type;\n }\n}\n","import { IdentityView } from '../view/identityView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Identity as IdentityDomain } from '../domain/identity';\n\nexport class Identity {\n static template(): Identity {\n const req = new Identity();\n req.title = 'Mr';\n req.firstName = 'John';\n req.middleName = 'William';\n req.lastName = 'Doe';\n req.address1 = '123 Any St';\n req.address2 = 'Apt #123';\n req.address3 = null;\n req.city = 'New York';\n req.state = 'NY';\n req.postalCode = '10001';\n req.country = 'US';\n req.company = 'Acme Inc.';\n req.email = 'john@company.com';\n req.phone = '5555551234';\n req.ssn = '000-123-4567';\n req.username = 'jdoe';\n req.passportNumber = 'US-123456789';\n req.licenseNumber = 'D123-12-123-12333';\n return req;\n }\n\n static toView(req: Identity, view = new IdentityView()) {\n view.title = req.title;\n view.firstName = req.firstName;\n view.middleName = req.middleName;\n view.lastName = req.lastName;\n view.address1 = req.address1;\n view.address2 = req.address2;\n view.address3 = req.address3;\n view.city = req.city;\n view.state = req.state;\n view.postalCode = req.postalCode;\n view.country = req.country;\n view.company = req.company;\n view.email = req.email;\n view.phone = req.phone;\n view.ssn = req.ssn;\n view.username = req.username;\n view.passportNumber = req.passportNumber;\n view.licenseNumber = req.licenseNumber;\n return view;\n }\n\n static toDomain(req: Identity, domain = new IdentityDomain()) {\n domain.title = req.title != null ? new CipherString(req.title) : null;\n domain.firstName = req.firstName != null ? new CipherString(req.firstName) : null;\n domain.middleName = req.middleName != null ? new CipherString(req.middleName) : null;\n domain.lastName = req.lastName != null ? new CipherString(req.lastName) : null;\n domain.address1 = req.address1 != null ? new CipherString(req.address1) : null;\n domain.address2 = req.address2 != null ? new CipherString(req.address2) : null;\n domain.address3 = req.address3 != null ? new CipherString(req.address3) : null;\n domain.city = req.city != null ? new CipherString(req.city) : null;\n domain.state = req.state != null ? new CipherString(req.state) : null;\n domain.postalCode = req.postalCode != null ? new CipherString(req.postalCode) : null;\n domain.country = req.country != null ? new CipherString(req.country) : null;\n domain.company = req.company != null ? new CipherString(req.company) : null;\n domain.email = req.email != null ? new CipherString(req.email) : null;\n domain.phone = req.phone != null ? new CipherString(req.phone) : null;\n domain.ssn = req.ssn != null ? new CipherString(req.ssn) : null;\n domain.username = req.username != null ? new CipherString(req.username) : null;\n domain.passportNumber = req.passportNumber != null ? new CipherString(req.passportNumber) : null;\n domain.licenseNumber = req.licenseNumber != null ? new CipherString(req.licenseNumber) : null;\n return domain;\n }\n\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(o?: IdentityView | IdentityDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof IdentityView) {\n this.title = o.title;\n this.firstName = o.firstName;\n this.middleName = o.middleName;\n this.lastName = o.lastName;\n this.address1 = o.address1;\n this.address2 = o.address2;\n this.address3 = o.address3;\n this.city = o.city;\n this.state = o.state;\n this.postalCode = o.postalCode;\n this.country = o.country;\n this.company = o.company;\n this.email = o.email;\n this.phone = o.phone;\n this.ssn = o.ssn;\n this.username = o.username;\n this.passportNumber = o.passportNumber;\n this.licenseNumber = o.licenseNumber;\n } else {\n this.title = o.title?.encryptedString;\n this.firstName = o.firstName?.encryptedString;\n this.middleName = o.middleName?.encryptedString;\n this.lastName = o.lastName?.encryptedString;\n this.address1 = o.address1?.encryptedString;\n this.address2 = o.address2?.encryptedString;\n this.address3 = o.address3?.encryptedString;\n this.city = o.city?.encryptedString;\n this.state = o.state?.encryptedString;\n this.postalCode = o.postalCode?.encryptedString;\n this.country = o.country?.encryptedString;\n this.company = o.company?.encryptedString;\n this.email = o.email?.encryptedString;\n this.phone = o.phone?.encryptedString;\n this.ssn = o.ssn?.encryptedString;\n this.username = o.username?.encryptedString;\n this.passportNumber = o.passportNumber?.encryptedString;\n this.licenseNumber = o.licenseNumber?.encryptedString;\n }\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Login as LoginDomain } from '../domain/login';\n\nexport class Login {\n static template(): Login {\n const req = new Login();\n req.uris = [];\n req.username = 'jdoe';\n req.password = 'myp@ssword123';\n req.totp = 'JBSWY3DPEHPK3PXP';\n return req;\n }\n\n static toView(req: Login, view = new LoginView()) {\n if (req.uris != null) {\n view.uris = req.uris.map((u) => LoginUri.toView(u));\n }\n view.username = req.username;\n view.password = req.password;\n view.totp = req.totp;\n return view;\n }\n\n static toDomain(req: Login, domain = new LoginDomain()) {\n if (req.uris != null) {\n domain.uris = req.uris.map((u) => LoginUri.toDomain(u));\n }\n domain.username = req.username != null ? new CipherString(req.username) : null;\n domain.password = req.password != null ? new CipherString(req.password) : null;\n domain.totp = req.totp != null ? new CipherString(req.totp) : null;\n return domain;\n }\n\n uris: LoginUri[];\n username: string;\n password: string;\n totp: string;\n\n constructor(o?: LoginView | LoginDomain) {\n if (o == null) {\n return;\n }\n\n if (o.uris != null) {\n if (o instanceof LoginView) {\n this.uris = o.uris.map((u) => new LoginUri(u));\n } else {\n this.uris = o.uris.map((u) => new LoginUri(u));\n }\n }\n\n if (o instanceof LoginView) {\n this.username = o.username;\n this.password = o.password;\n this.totp = o.totp;\n } else {\n this.username = o.username?.encryptedString;\n this.password = o.password?.encryptedString;\n this.totp = o.totp?.encryptedString;\n }\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { LoginUri as LoginUriDomain } from '../domain/loginUri';\n\nexport class LoginUri {\n static template(): LoginUri {\n const req = new LoginUri();\n req.uri = 'https://google.com';\n req.match = null;\n return req;\n }\n\n static toView(req: LoginUri, view = new LoginUriView()) {\n view.uri = req.uri;\n view.match = req.match;\n return view;\n }\n\n static toDomain(req: LoginUri, domain = new LoginUriDomain()) {\n domain.uri = req.uri != null ? new CipherString(req.uri) : null;\n domain.match = req.match;\n return domain;\n }\n\n uri: string;\n match: UriMatchType = null;\n\n constructor(o?: LoginUriView | LoginUriDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof LoginUriView) {\n this.uri = o.uri;\n } else {\n this.uri = o.uri?.encryptedString;\n }\n this.match = o.match;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nimport { SecureNote as SecureNoteDomain } from '../domain/secureNote';\n\nexport class SecureNote {\n static template(): SecureNote {\n const req = new SecureNote();\n req.type = SecureNoteType.Generic;\n return req;\n }\n\n static toView(req: SecureNote, view = new SecureNoteView()) {\n view.type = req.type;\n return view;\n }\n\n static toDomain(req: SecureNote, view = new SecureNoteDomain()) {\n view.type = req.type;\n return view;\n }\n\n type: SecureNoteType;\n\n constructor(o?: SecureNoteView | SecureNoteDomain) {\n if (o == null) {\n return;\n }\n\n this.type = o.type;\n }\n}\n","import { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Collection as CollectionDomain } from '../domain/collection';\n\nexport class Collection {\n static template(): Collection {\n const req = new Collection();\n req.organizationId = '00000000-0000-0000-0000-000000000000';\n req.name = 'Collection name';\n req.externalId = null;\n return req;\n }\n\n static toView(req: Collection, view = new CollectionView()) {\n view.name = req.name;\n view.externalId = req.externalId;\n if (view.organizationId == null) {\n view.organizationId = req.organizationId;\n }\n return view;\n }\n\n static toDomain(req: Collection, domain = new CollectionDomain()) {\n domain.name = req.name != null ? new CipherString(req.name) : null;\n domain.externalId = req.externalId;\n if (domain.organizationId == null) {\n domain.organizationId = req.organizationId;\n }\n return domain;\n }\n\n organizationId: string;\n name: string;\n externalId: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CollectionView | CollectionDomain) {\n this.organizationId = o.organizationId;\n if (o instanceof CollectionView) {\n this.name = o.name;\n } else {\n this.name = o.name?.encryptedString;\n }\n this.externalId = o.externalId;\n }\n}\n","import { FolderView } from '../view/folderView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Folder as FolderDomain } from '../domain/folder';\n\nexport class Folder {\n static template(): Folder {\n const req = new Folder();\n req.name = 'Folder name';\n return req;\n }\n\n static toView(req: Folder, view = new FolderView()) {\n view.name = req.name;\n return view;\n }\n\n static toDomain(req: Folder, domain = new FolderDomain()) {\n domain.name = req.name != null ? new CipherString(req.name) : null;\n return domain;\n }\n\n name: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: FolderView | FolderDomain) {\n if (o instanceof FolderView) {\n this.name = o.name;\n } else {\n this.name = o.name?.encryptedString;\n }\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport {\n ImportOption,\n ImportService as ImportServiceAbstraction,\n} from '../abstractions/import.service';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { Utils } from '../misc/utils';\n\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KvpRequest } from '../models/request/kvpRequest';\n\nimport { CipherView } from '../models/view/cipherView';\n\nimport { AscendoCsvImporter } from '../importers/ascendoCsvImporter';\nimport { AvastCsvImporter } from '../importers/avastCsvImporter';\nimport { AvastJsonImporter } from '../importers/avastJsonImporter';\nimport { AviraCsvImporter } from '../importers/aviraCsvImporter';\nimport { BitwardenCsvImporter } from '../importers/bitwardenCsvImporter';\nimport { BitwardenJsonImporter } from '../importers/bitwardenJsonImporter';\nimport { BlackBerryCsvImporter } from '../importers/blackBerryCsvImporter';\nimport { BlurCsvImporter } from '../importers/blurCsvImporter';\nimport { ButtercupCsvImporter } from '../importers/buttercupCsvImporter';\nimport { ChromeCsvImporter } from '../importers/chromeCsvImporter';\nimport { ClipperzHtmlImporter } from '../importers/clipperzHtmlImporter';\nimport { CodebookCsvImporter } from '../importers/codebookCsvImporter';\nimport { DashlaneJsonImporter } from '../importers/dashlaneJsonImporter';\nimport { EncryptrCsvImporter } from '../importers/encryptrCsvImporter';\nimport { EnpassCsvImporter } from '../importers/enpassCsvImporter';\nimport { EnpassJsonImporter } from '../importers/enpassJsonImporter';\nimport { FirefoxCsvImporter } from '../importers/firefoxCsvImporter';\nimport { FSecureFskImporter } from '../importers/fsecureFskImporter';\nimport { GnomeJsonImporter } from '../importers/gnomeJsonImporter';\nimport { Importer } from '../importers/importer';\nimport { KasperskyTxtImporter } from '../importers/kasperskyTxtImporter';\nimport { KeePass2XmlImporter } from '../importers/keepass2XmlImporter';\nimport { KeePassXCsvImporter } from '../importers/keepassxCsvImporter';\nimport { KeeperCsvImporter } from '../importers/keeperCsvImporter';\nimport { LastPassCsvImporter } from '../importers/lastpassCsvImporter';\nimport { LogMeOnceCsvImporter } from '../importers/logMeOnceCsvImporter';\nimport { MeldiumCsvImporter } from '../importers/meldiumCsvImporter';\nimport { MSecureCsvImporter } from '../importers/msecureCsvImporter';\nimport { MykiCsvImporter } from '../importers/mykiCsvImporter';\nimport { OnePassword1PifImporter } from '../importers/onepasswordImporters/onepassword1PifImporter';\nimport { OnePasswordMacCsvImporter } from '../importers/onepasswordImporters/onepasswordMacCsvImporter';\nimport { OnePasswordWinCsvImporter } from '../importers/onepasswordImporters/onepasswordWinCsvImporter';\nimport { PadlockCsvImporter } from '../importers/padlockCsvImporter';\nimport { PassKeepCsvImporter } from '../importers/passkeepCsvImporter';\nimport { PassmanJsonImporter } from '../importers/passmanJsonImporter';\nimport { PasspackCsvImporter } from '../importers/passpackCsvImporter';\nimport { PasswordAgentCsvImporter } from '../importers/passwordAgentCsvImporter';\nimport { PasswordBossJsonImporter } from '../importers/passwordBossJsonImporter';\nimport { PasswordDragonXmlImporter } from '../importers/passwordDragonXmlImporter';\nimport { PasswordSafeXmlImporter } from '../importers/passwordSafeXmlImporter';\nimport { PasswordWalletTxtImporter } from '../importers/passwordWalletTxtImporter';\nimport { RememBearCsvImporter } from '../importers/rememBearCsvImporter';\nimport { RoboFormCsvImporter } from '../importers/roboformCsvImporter';\nimport { SafeInCloudXmlImporter } from '../importers/safeInCloudXmlImporter';\nimport { SaferPassCsvImporter } from '../importers/saferpassCsvImport';\nimport { SecureSafeCsvImporter } from '../importers/secureSafeCsvImporter';\nimport { SplashIdCsvImporter } from '../importers/splashIdCsvImporter';\nimport { StickyPasswordXmlImporter } from '../importers/stickyPasswordXmlImporter';\nimport { TrueKeyCsvImporter } from '../importers/truekeyCsvImporter';\nimport { UpmCsvImporter } from '../importers/upmCsvImporter';\nimport { YotiCsvImporter } from '../importers/yotiCsvImporter';\nimport { ZohoVaultCsvImporter } from '../importers/zohoVaultCsvImporter';\n\nexport class ImportService implements ImportServiceAbstraction {\n featuredImportOptions = [\n { id: 'bitwardenjson', name: 'Bitwarden (json)' },\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: 'dashlanejson', name: 'Dashlane (json)' },\n ];\n\n regularImportOptions: ImportOption[] = [\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\n { id: '1passwordmaccsv', name: '1Password 6 and 7 Mac (csv)' },\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\n { id: 'keepercsv', name: 'Keeper (csv)' },\n { id: 'enpasscsv', name: 'Enpass (csv)' },\n { id: 'enpassjson', name: 'Enpass (json)' },\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 { id: 'passpackcsv', name: 'Passpack (csv)' },\n { id: 'passmanjson', name: 'Passman (json)' },\n { id: 'avastcsv', name: 'Avast Passwords (csv)' },\n { id: 'avastjson', name: 'Avast Passwords (json)' },\n { id: 'fsecurefsk', name: 'F-Secure KEY (fsk)' },\n { id: 'kasperskytxt', name: 'Kaspersky Password Manager (txt)' },\n { id: 'remembearcsv', name: 'RememBear (csv)' },\n { id: 'passwordwallettxt', name: 'PasswordWallet (txt)' },\n { id: 'mykicsv', name: 'Myki (csv)' },\n { id: 'securesafecsv', name: 'SecureSafe (csv)' },\n { id: 'logmeoncecsv', name: 'LogMeOnce (csv)' },\n { id: 'blackberrycsv', name: 'BlackBerry Password Keeper (csv)' },\n { id: 'buttercupcsv', name: 'Buttercup (csv)' },\n { id: 'codebookcsv', name: 'Codebook (csv)' },\n { id: 'encryptrcsv', name: 'Encryptr (csv)' },\n { id: 'yoticsv', name: 'Yoti (csv)' },\n ];\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private apiService: ApiService, private i18nService: I18nService,\n private collectionService: CollectionService) { }\n\n getImportOptions(): ImportOption[] {\n return this.featuredImportOptions.concat(this.regularImportOptions);\n }\n\n async import(importer: Importer, fileContents: string, organizationId: string = null): Promise {\n const importResult = await importer.parse(fileContents);\n if (importResult.success) {\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\n return new Error(this.i18nService.t('importNothingError'));\n } else if (importResult.ciphers.length > 0) {\n const halfway = Math.floor(importResult.ciphers.length / 2);\n const last = importResult.ciphers.length - 1;\n\n if (this.badData(importResult.ciphers[0]) &&\n this.badData(importResult.ciphers[halfway]) &&\n this.badData(importResult.ciphers[last])) {\n return new Error(this.i18nService.t('importFormatError'));\n }\n }\n await this.postImport(importResult, organizationId);\n return null;\n } else {\n return new Error(this.i18nService.t('importFormatError'));\n }\n }\n\n getImporter(format: string, organizationId: string = null): Importer {\n const importer = this.getImporterInstance(format);\n if (importer == null) {\n return null;\n }\n importer.organizationId = organizationId;\n return importer;\n }\n\n private getImporterInstance(format: string) {\n if (format == null || format === '') {\n return null;\n }\n\n switch (format) {\n case 'bitwardencsv':\n return new BitwardenCsvImporter();\n case 'bitwardenjson':\n return new BitwardenJsonImporter();\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 '1passwordmaccsv':\n return new OnePasswordMacCsvImporter();\n case 'keepercsv':\n return new KeeperCsvImporter();\n case 'passworddragonxml':\n return new PasswordDragonXmlImporter();\n case 'enpasscsv':\n return new EnpassCsvImporter();\n case 'enpassjson':\n return new EnpassJsonImporter();\n case 'pwsafexml':\n return new PasswordSafeXmlImporter();\n case 'dashlanejson':\n return new DashlaneJsonImporter();\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 case 'passpackcsv':\n return new PasspackCsvImporter();\n case 'passmanjson':\n return new PassmanJsonImporter();\n case 'avastcsv':\n return new AvastCsvImporter();\n case 'avastjson':\n return new AvastJsonImporter();\n case 'fsecurefsk':\n return new FSecureFskImporter();\n case 'kasperskytxt':\n return new KasperskyTxtImporter();\n case 'remembearcsv':\n return new RememBearCsvImporter();\n case 'passwordwallettxt':\n return new PasswordWalletTxtImporter();\n case 'mykicsv':\n return new MykiCsvImporter();\n case 'securesafecsv':\n return new SecureSafeCsvImporter();\n case 'logmeoncecsv':\n return new LogMeOnceCsvImporter();\n case 'blackberrycsv':\n return new BlackBerryCsvImporter();\n case 'buttercupcsv':\n return new ButtercupCsvImporter();\n case 'codebookcsv':\n return new CodebookCsvImporter();\n case 'encryptrcsv':\n return new EncryptrCsvImporter();\n case 'yoticsv':\n return new YotiCsvImporter();\n default:\n return null;\n }\n }\n\n private async postImport(importResult: ImportResult, organizationId: string = null) {\n if (organizationId == null) {\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 } else {\n const request = new ImportOrganizationCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n importResult.ciphers[i].organizationId = 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 = 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(organizationId, request);\n }\n }\n\n private badData(c: CipherView) {\n return (c.name == null || c.name === '--') &&\n (c.type === CipherType.Login && c.login != null && Utils.isNullOrWhitespace(c.login.password));\n }\n}\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: KvpRequest[] = [];\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: KvpRequest[] = [];\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","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 2) {\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.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const val: string = value[i + 2];\n const field: string = value[i + 1];\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\n continue;\n }\n\n const fieldLower = field.toLowerCase();\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = this.getValueOrDefault(val);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = this.getValueOrDefault(val);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n } else {\n this.processKvp(cipher, field, val);\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AvastCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name);\n cipher.login.uris = this.makeUriArray(value.web);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.login);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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\nexport class AvastJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n if (results.logins != null) {\n results.logins.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.custName);\n cipher.notes = this.getValueOrDefault(value.note);\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.password = this.getValueOrDefault(value.pwd);\n cipher.login.username = this.getValueOrDefault(value.loginName);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (results.notes != null) {\n results.notes.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.name = this.getValueOrDefault(value.label);\n cipher.notes = this.getValueOrDefault(value.text);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (results.cards != null) {\n results.cards.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.type = CipherType.Card;\n cipher.name = this.getValueOrDefault(value.custName);\n cipher.notes = this.getValueOrDefault(value.note);\n cipher.card.cardholderName = this.getValueOrDefault(value.holderName);\n cipher.card.number = this.getValueOrDefault(value.cardNumber);\n cipher.card.code = this.getValueOrDefault(value.cvv);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (value.expirationDate != null) {\n if (value.expirationDate.month != null) {\n cipher.card.expMonth = value.expirationDate.month + '';\n }\n if (value.expirationDate.year != null) {\n cipher.card.expYear = value.expirationDate.year + '';\n }\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 'note':\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n break;\n default:\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 }\n\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherWithIds } from '../models/export/cipherWithIds';\nimport { CollectionWithId } from '../models/export/collectionWithId';\nimport { FolderWithId } from '../models/export/folderWithId';\n\nexport class BitwardenJsonImporter extends BaseImporter implements Importer {\n private results: any;\n private result: ImportResult;\n\n async parse(data: string): Promise {\n this.result = new ImportResult();\n this.results = JSON.parse(data);\n if (this.results == null || this.results.items == null || this.results.items.length === 0) {\n this.result.success = false;\n return this.result;\n }\n\n if (this.results.encrypted) {\n await this.parseEncrypted();\n } else {\n this.parseDecrypted();\n }\n\n this.result.success = true;\n return this.result;\n }\n\n private async parseEncrypted() {\n const groupingsMap = new Map();\n\n if (this.organization && this.results.collections != null) {\n for (const c of this.results.collections as CollectionWithId[]) {\n const collection = CollectionWithId.toDomain(c);\n if (collection != null) {\n collection.id = null;\n collection.organizationId = this.organizationId;\n const view = await collection.decrypt();\n groupingsMap.set(c.id, this.result.collections.length);\n this.result.collections.push(view);\n }\n }\n } else if (!this.organization && this.results.folders != null) {\n for (const f of this.results.folders as FolderWithId[]) {\n const folder = FolderWithId.toDomain(f);\n if (folder != null) {\n folder.id = null;\n const view = await folder.decrypt();\n groupingsMap.set(f.id, this.result.folders.length);\n this.result.folders.push(view);\n }\n }\n }\n\n for (const c of this.results.items as CipherWithIds[]) {\n const cipher = CipherWithIds.toDomain(c);\n // reset ids incase they were set for some reason\n cipher.id = null;\n cipher.folderId = null;\n cipher.organizationId = this.organizationId;\n cipher.collectionIds = null;\n\n // make sure password history is limited\n if (cipher.passwordHistory != null && cipher.passwordHistory.length > 5) {\n cipher.passwordHistory = cipher.passwordHistory.slice(0, 5);\n }\n\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\n this.result.folderRelationships.push([this.result.ciphers.length, groupingsMap.get(c.folderId)]);\n } else if (this.organization && c.collectionIds != null) {\n c.collectionIds.forEach((cId) => {\n if (groupingsMap.has(cId)) {\n this.result.collectionRelationships.push([this.result.ciphers.length, groupingsMap.get(cId)]);\n }\n });\n }\n\n const view = await cipher.decrypt();\n this.cleanupCipher(view);\n this.result.ciphers.push(view);\n }\n }\n\n private parseDecrypted() {\n const groupingsMap = new Map();\n if (this.organization && this.results.collections != null) {\n this.results.collections.forEach((c: CollectionWithId) => {\n const collection = CollectionWithId.toView(c);\n if (collection != null) {\n collection.id = null;\n collection.organizationId = null;\n groupingsMap.set(c.id, this.result.collections.length);\n this.result.collections.push(collection);\n }\n });\n } else if (!this.organization && this.results.folders != null) {\n this.results.folders.forEach((f: FolderWithId) => {\n const folder = FolderWithId.toView(f);\n if (folder != null) {\n folder.id = null;\n groupingsMap.set(f.id, this.result.folders.length);\n this.result.folders.push(folder);\n }\n });\n }\n\n this.results.items.forEach((c: CipherWithIds) => {\n const cipher = CipherWithIds.toView(c);\n // reset ids incase they were set for some reason\n cipher.id = null;\n cipher.folderId = null;\n cipher.organizationId = null;\n cipher.collectionIds = null;\n\n // make sure password history is limited\n if (cipher.passwordHistory != null && cipher.passwordHistory.length > 5) {\n cipher.passwordHistory = cipher.passwordHistory.slice(0, 5);\n }\n\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\n this.result.folderRelationships.push([this.result.ciphers.length, groupingsMap.get(c.folderId)]);\n } else if (this.organization && c.collectionIds != null) {\n c.collectionIds.forEach((cId) => {\n if (groupingsMap.has(cId)) {\n this.result.collectionRelationships.push([this.result.ciphers.length, groupingsMap.get(cId)]);\n }\n });\n }\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlackBerryCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.grouping === 'list') {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.favorite = value.fav === '1';\n cipher.name = this.getValueOrDefault(value.name);\n cipher.notes = this.getValueOrDefault(value.extra);\n if (value.grouping !== 'note') {\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.username);\n }\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nconst OfficialProps = [\n '!group_id', '!group_name', 'title', 'username', 'password', 'URL', 'id',\n];\n\nexport class ButtercupCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValueOrDefault(value['!group_name']));\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.title, '--');\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\n let processingCustomFields = false;\n for (const prop in value) {\n if (value.hasOwnProperty(prop)) {\n if (!processingCustomFields && OfficialProps.indexOf(prop) === -1) {\n processingCustomFields = true;\n }\n if (processingCustomFields) {\n this.processKvp(cipher, prop, value[prop]);\n }\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 Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const textarea = doc.querySelector('textarea');\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\n result.errorMessage = 'Missing textarea.';\n result.success = false;\n return Promise.resolve(result);\n }\n\n const entries = JSON.parse(textarea.textContent);\n entries.forEach((entry: any) => {\n const cipher = this.initLoginCipher();\n if (!this.isNullOrWhitespace(entry.label)) {\n cipher.name = entry.label.split(' ')[0];\n }\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\n }\n\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\n for (const property in entry.currentVersion.fields) {\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\n continue;\n }\n\n const field = entry.currentVersion.fields[property];\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\n switch (actionType) {\n case 'password':\n cipher.login.password = this.getValueOrDefault(field.value);\n break;\n case 'email':\n case 'username':\n case 'user':\n case 'name':\n cipher.login.username = this.getValueOrDefault(field.value);\n break;\n case 'url':\n cipher.login.uris = this.makeUriArray(field.value);\n break;\n default:\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\n cipher.login.password = this.getValueOrDefault(field.value);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(labelLower) > -1) {\n cipher.login.username = this.getValueOrDefault(field.value);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(labelLower) > -1) {\n cipher.login.uris = this.makeUriArray(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value);\n }\n break;\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class CodebookCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValueOrDefault(value.Category));\n\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite) === 'True';\n cipher.name = this.getValueOrDefault(value.Entry, '--');\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.login.username = this.getValueOrDefault(value.Username, value.Email);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.totp = this.getValueOrDefault(value.TOTP);\n cipher.login.uris = this.makeUriArray(value.Website);\n\n if (!this.isNullOrWhitespace(value.Username)) {\n this.processKvp(cipher, 'Email', value.Email);\n }\n this.processKvp(cipher, 'Phone', value.Phone);\n this.processKvp(cipher, 'PIN', value.PIN);\n this.processKvp(cipher, 'Account', value.Account);\n this.processKvp(cipher, 'Date', value.Date);\n\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(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 { CipherView } from '../models/view/cipherView';\nimport { IdentityView } from '../models/view/identityView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst HandledResults = new Set(['ADDRESS', 'AUTHENTIFIANT', 'BANKSTATEMENT', 'IDCARD', 'IDENTITY',\n 'PAYMENTMEANS_CREDITCARD', 'PAYMENTMEAN_PAYPAL', 'EMAIL']);\n\nexport class DashlaneJsonImporter extends BaseImporter implements Importer {\n private result: ImportResult;\n\n parse(data: string): Promise {\n this.result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.length === 0) {\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n if (results.ADDRESS != null) {\n this.processAddress(results.ADDRESS);\n }\n if (results.AUTHENTIFIANT != null) {\n this.processAuth(results.AUTHENTIFIANT);\n }\n if (results.BANKSTATEMENT != null) {\n this.processNote(results.BANKSTATEMENT, 'BankAccountName');\n }\n if (results.IDCARD != null) {\n this.processNote(results.IDCARD, 'Fullname');\n }\n if (results.PAYMENTMEANS_CREDITCARD != null) {\n this.processCard(results.PAYMENTMEANS_CREDITCARD);\n }\n if (results.IDENTITY != null) {\n this.processIdentity(results.IDENTITY);\n }\n\n for (const key in results) {\n if (results.hasOwnProperty(key) && !HandledResults.has(key)) {\n this.processNote(results[key], null, 'Generic Note');\n }\n }\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n private processAuth(results: any[]) {\n results.forEach((credential: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(credential.title);\n\n cipher.login.username = this.getValueOrDefault(credential.login,\n this.getValueOrDefault(credential.secondaryLogin));\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = this.getValueOrDefault(credential.email);\n } else if (!this.isNullOrWhitespace(credential.email)) {\n cipher.notes = ('Email: ' + credential.email + '\\n');\n }\n\n cipher.login.password = this.getValueOrDefault(credential.password);\n cipher.login.uris = this.makeUriArray(credential.domain);\n cipher.notes += this.getValueOrDefault(credential.note, '');\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processIdentity(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.fullName, '');\n const nameParts = cipher.name.split(' ');\n if (nameParts.length > 0) {\n cipher.identity.firstName = this.getValueOrDefault(nameParts[0]);\n }\n if (nameParts.length === 2) {\n cipher.identity.lastName = this.getValueOrDefault(nameParts[1]);\n } else if (nameParts.length === 3) {\n cipher.identity.middleName = this.getValueOrDefault(nameParts[1]);\n cipher.identity.lastName = this.getValueOrDefault(nameParts[2]);\n }\n cipher.identity.username = this.getValueOrDefault(obj.pseudo);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processAddress(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.addressName);\n cipher.identity.address1 = this.getValueOrDefault(obj.addressFull);\n cipher.identity.city = this.getValueOrDefault(obj.city);\n cipher.identity.state = this.getValueOrDefault(obj.state);\n cipher.identity.postalCode = this.getValueOrDefault(obj.zipcode);\n cipher.identity.country = this.getValueOrDefault(obj.country);\n if (cipher.identity.country != null) {\n cipher.identity.country = cipher.identity.country.toUpperCase();\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processCard(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n cipher.name = this.getValueOrDefault(obj.bank);\n cipher.card.number = this.getValueOrDefault(obj.cardNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.cardholderName = this.getValueOrDefault(obj.owner);\n if (!this.isNullOrWhitespace(cipher.card.brand)) {\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = cipher.card.brand;\n } else {\n cipher.name += (' - ' + cipher.card.brand);\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processNote(results: any[], nameProperty: string, name: string = null) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.secureNote = new SecureNoteView();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n if (name != null) {\n cipher.name = name;\n } else {\n cipher.name = this.getValueOrDefault(obj[nameProperty]);\n }\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && key !== nameProperty) {\n this.processKvp(cipher, key, obj[key].toString());\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\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';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class EncryptrCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.Label, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n const text = this.getValueOrDefault(value.Text);\n if (!this.isNullOrWhitespace(text)) {\n if (this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = text;\n } else {\n cipher.notes += ('\\n\\n' + text);\n }\n }\n\n const type = value['Entry Type'];\n if (type === 'Password') {\n cipher.login.username = this.getValueOrDefault(value.Username);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value['Site URL']);\n } else if (type === 'Credit Card') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value['Name on card']);\n cipher.card.number = this.getValueOrDefault(value['Card Number']);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.CVV);\n const expiry = this.getValueOrDefault(value.Expiry);\n if (!this.isNullOrWhitespace(expiry)) {\n const expParts = expiry.split('/');\n if (expParts.length > 1) {\n cipher.card.expMonth = parseInt(expParts[0], null).toString();\n cipher.card.expYear = (2000 + parseInt(expParts[1], null)).toString();\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && (value[0] === 'Title' || 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 || (!this.containsField(value, 'username') &&\n !this.containsField(value, 'password') && !this.containsField(value, 'email') &&\n !this.containsField(value, 'url'))) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (this.containsField(value, 'cardholder') && this.containsField(value, 'number') &&\n this.containsField(value, 'expiry date')) {\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 if (this.setCardExpiration(cipher, fieldValue)) {\n continue;\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 Promise.resolve(result);\n }\n\n private containsField(fields: any[], name: string) {\n if (fields == null || name == null) {\n return false;\n }\n return fields.filter((f) => !this.isNullOrWhitespace(f) &&\n f.toLowerCase() === name.toLowerCase()).length > 0;\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 { CipherView } from '../models/view/cipherView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\n\nexport class EnpassJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.items == null || results.items.length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const foldersMap = new Map();\n const foldersIndexMap = new Map();\n const folderTree = this.buildFolderTree(results.folders);\n this.flattenFolderTree(null, folderTree, foldersMap);\n foldersMap.forEach((val, key) => {\n foldersIndexMap.set(key, result.folders.length);\n const f = new FolderView();\n f.name = val;\n result.folders.push(f);\n });\n\n results.items.forEach((item: any) => {\n if (item.folders != null && item.folders.length > 0 && foldersIndexMap.has(item.folders[0])) {\n result.folderRelationships.push([result.ciphers.length, foldersIndexMap.get(item.folders[0])]);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(item.title);\n cipher.favorite = item.favorite > 0;\n\n if (item.template_type != null && item.fields != null && item.fields.length > 0) {\n if (item.template_type.indexOf('login.') === 0 || item.template_type.indexOf('password.') === 0) {\n this.processLogin(cipher, item.fields);\n } else if (item.template_type.indexOf('creditcard.') === 0) {\n this.processCard(cipher, item.fields);\n } else if (item.template_type.indexOf('identity.') < 0 &&\n item.fields.some((f: any) => f.type === 'password' && !this.isNullOrWhitespace(f.value))) {\n this.processLogin(cipher, item.fields);\n } else {\n this.processNote(cipher, item.fields);\n }\n }\n\n cipher.notes += ('\\n' + this.getValueOrDefault(item.note, ''));\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private processLogin(cipher: CipherView, fields: any[]) {\n const urls: string[] = [];\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n\n if ((field.type === 'username' || field.type === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = field.value;\n } else if (field.type === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = field.value;\n } else if (field.type === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = field.value;\n } else if (field.type === 'url') {\n urls.push(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n\n private processCard(cipher: CipherView, fields: any[]) {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section' || field.type === 'ccType') {\n return;\n }\n\n if (field.type === 'ccName' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = field.value;\n } else if (field.type === 'ccNumber' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = field.value;\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n } else if (field.type === 'ccCvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = field.value;\n } else if (field.type === 'ccExpiry' && this.isNullOrWhitespace(cipher.card.expYear)) {\n if (!this.setCardExpiration(cipher, field.value)) {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n } else {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n });\n }\n\n private processNote(cipher: CipherView, fields: any[]) {\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n });\n }\n\n private buildFolderTree(folders: any[]): any[] {\n if (folders == null) {\n return [];\n }\n const folderTree: any[] = [];\n const map = new Map([]);\n folders.forEach((obj: any) => {\n map.set(obj.uuid, obj);\n obj.children = [];\n });\n folders.forEach((obj: any) => {\n if (obj.parent_uuid != null && obj.parent_uuid !== '' && map.has(obj.parent_uuid)) {\n map.get(obj.parent_uuid).children.push(obj);\n } else {\n folderTree.push(obj);\n }\n });\n return folderTree;\n }\n\n private flattenFolderTree(titlePrefix: string, tree: any[], map: Map) {\n if (tree == null) {\n return;\n }\n tree.forEach((f: any) => {\n if (f.title != null && f.title.trim() !== '') {\n let title = f.title.trim();\n if (titlePrefix != null && titlePrefix.trim() !== '') {\n title = titlePrefix + '/' + title;\n }\n map.set(f.uuid, title);\n if (f.children != null && f.children.length !== 0) {\n this.flattenFolderTree(title, f.children, map);\n }\n }\n });\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n const url = this.getValueOrDefault(value.url, this.getValueOrDefault(value.hostname));\n cipher.name = this.getValueOrDefault(this.nameFromUrl(url), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class FSecureFskImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.data == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n for (const key in results.data) {\n if (!results.data.hasOwnProperty(key)) {\n continue;\n }\n\n const value = results.data[key];\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.service);\n cipher.notes = this.getValueOrDefault(value.notes);\n\n if (value.style === 'website') {\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 } else if (value.style === 'creditcard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.username);\n cipher.card.number = this.getValueOrDefault(value.creditNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.creditCvv);\n if (!this.isNullOrWhitespace(value.creditExpiry)) {\n if (!this.setCardExpiration(cipher, value.creditExpiry)) {\n this.processKvp(cipher, 'Expiration', value.creditExpiry);\n }\n }\n if (!this.isNullOrWhitespace(value.password)) {\n this.processKvp(cipher, 'PIN', value.password);\n }\n } else {\n continue;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || Object.keys(results).length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n for (const keyRing in results) {\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\n results[keyRing].length === 0) {\n continue;\n }\n\n results[keyRing].forEach((value: any) => {\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\n return;\n }\n\n this.processFolder(result, keyRing);\n const cipher = this.initLoginCipher();\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\n if (cipher.name.length > 30) {\n cipher.name = cipher.name.substring(0, 30);\n }\n cipher.login.password = this.getValueOrDefault(value.secret);\n cipher.login.uris = this.makeUriArray(value.display_name);\n\n if (value.attributes != null) {\n cipher.login.username = value.attributes != null ?\n this.getValueOrDefault(value.attributes.username_value) : null;\n for (const attr in value.attributes) {\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\n attr === 'xdg:schema') {\n continue;\n }\n this.processKvp(cipher, attr, value.attributes[attr]);\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nconst NotesHeader = 'Notes\\n\\n';\nconst ApplicationsHeader = 'Applications\\n\\n';\nconst WebsitesHeader = 'Websites\\n\\n';\nconst Delimiter = '\\n---\\n';\n\nexport class KasperskyTxtImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n\n let notesData: string;\n let applicationsData: string;\n let websitesData: string;\n let workingData = this.splitNewLine(data).join('\\n');\n\n if (workingData.indexOf(NotesHeader) !== -1) {\n const parts = workingData.split(NotesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n notesData = parts[1];\n }\n }\n if (workingData.indexOf(ApplicationsHeader) !== -1) {\n const parts = workingData.split(ApplicationsHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n applicationsData = parts[1];\n }\n }\n if (workingData.indexOf(WebsitesHeader) === 0) {\n const parts = workingData.split(WebsitesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n websitesData = parts[1];\n }\n }\n\n const notes = this.parseDataCategory(notesData);\n const applications = this.parseDataCategory(applicationsData);\n const websites = this.parseDataCategory(websitesData);\n\n notes.forEach((n) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(n.get('Name'));\n cipher.notes = this.getValueOrDefault(n.get('Text'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n websites.concat(applications).forEach((w) => {\n const cipher = this.initLoginCipher();\n const nameKey = w.has('Website name') ? 'Website name' : 'Application';\n cipher.name = this.getValueOrDefault(w.get(nameKey), '');\n if (!this.isNullOrWhitespace(w.get('Login name'))) {\n if (!this.isNullOrWhitespace(cipher.name)) {\n cipher.name += ': ';\n }\n cipher.name += w.get('Login name');\n }\n cipher.notes = this.getValueOrDefault(w.get('Comment'));\n if (w.has('Website URL')) {\n cipher.login.uris = this.makeUriArray(w.get('Website URL'));\n }\n cipher.login.username = this.getValueOrDefault(w.get('Login'));\n cipher.login.password = this.getValueOrDefault(w.get('Password'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private parseDataCategory(data: string): Map[] {\n if (this.isNullOrWhitespace(data) || data.indexOf(Delimiter) === -1) {\n return [];\n }\n const items: Map[] = [];\n data.split(Delimiter).forEach((p) => {\n if (p.indexOf('\\n') === -1) {\n return;\n }\n const item = new Map();\n let itemComment: string;\n let itemCommentKey: string;\n p.split('\\n').forEach((l) => {\n if (itemComment != null) {\n itemComment += ('\\n' + l);\n return;\n }\n const colonIndex = l.indexOf(':');\n let key: string;\n let val: string;\n if (colonIndex === -1) {\n return;\n } else {\n key = l.substring(0, colonIndex);\n if (l.length > colonIndex + 1) {\n val = l.substring(colonIndex + 2);\n }\n }\n if (key != null) {\n item.set(key, val);\n }\n if (key === 'Comment' || key === 'Text') {\n itemComment = val;\n itemCommentKey = key;\n }\n });\n if (itemComment != null && itemCommentKey != null) {\n item.set(itemCommentKey, itemComment);\n }\n if (item.size === 0) {\n return;\n }\n items.push(item);\n });\n return items;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { FieldType } from '../enums/fieldType';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): Promise {\n const doc = this.parseXml(data);\n if (doc == null) {\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\n if (rootGroup == null) {\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n this.traverse(rootGroup, true, '');\n\n if (this.organization) {\n this.moveFoldersToCollections(this.result);\n }\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\n const folderIndex = this.result.folders.length;\n let groupName = groupPrefixName;\n\n if (!isRootNode) {\n if (groupName !== '') {\n groupName += '/';\n }\n const nameEl = this.querySelectorDirectChild(node, 'Name');\n groupName += nameEl == null ? '-' : nameEl.textContent;\n const folder = new FolderView();\n folder.name = groupName;\n this.result.folders.push(folder);\n }\n\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\n const cipherIndex = this.result.ciphers.length;\n\n const cipher = this.initLoginCipher();\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\n const value = valueEl != null ? valueEl.textContent : null;\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\n const key = keyEl != null ? keyEl.textContent : null;\n\n if (key === 'URL') {\n cipher.login.uris = this.makeUriArray(value);\n } else if (key === 'UserName') {\n cipher.login.username = value;\n } else if (key === 'Password') {\n cipher.login.password = value;\n } else if (key === 'otp') {\n cipher.login.totp = value.replace('key=', '');\n } else if (key === 'Title') {\n cipher.name = value;\n } else if (key === 'Notes') {\n cipher.notes += (value + '\\n');\n } else {\n let type = FieldType.Text;\n const attrs = (valueEl.attributes as any);\n if (attrs.length > 0 && attrs.ProtectInMemory != null &&\n attrs.ProtectInMemory.value === 'True') {\n type = FieldType.Hidden;\n }\n this.processKvp(cipher, key, value, type);\n }\n });\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n\n if (!isRootNode) {\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\n this.traverse(group, false, groupName);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value.Title)) {\n return;\n }\n\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\n value.Group.replace('Root/', '') : value.Group;\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\n this.processFolder(result, groupName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(value.Title, '--');\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 if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(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';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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 { CipherView } from '../models/view/cipherView';\nimport { FolderView } from '../models/view/folderView';\nimport { IdentityView } from '../models/view/identityView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value, index) => {\n const cipherIndex = result.ciphers.length;\n let folderIndex = result.folders.length;\n let grouping = value.grouping;\n if (grouping != null) {\n grouping = grouping.replace(/\\\\/g, '/').replace(/[\\x00-\\x1F\\x7F-\\x9F]/g, '');\n }\n const hasFolder = this.getValueOrDefault(grouping, '(none)') !== '(none)';\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === grouping) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n const cipher = this.buildBaseCipher(value);\n if (cipher.type === CipherType.Login) {\n cipher.notes = this.getValueOrDefault(value.extra);\n cipher.login = new LoginView();\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n } else if (cipher.type === CipherType.SecureNote) {\n this.parseSecureNote(value, cipher);\n } else if (cipher.type === CipherType.Card) {\n cipher.card = this.parseCard(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n } else if (cipher.type === CipherType.Identity) {\n cipher.identity = this.parseIdentity(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n if (!this.isNullOrWhitespace(value.ccnum)) {\n // there is a card on this identity too\n const cardCipher = this.buildBaseCipher(value);\n cardCipher.identity = null;\n cardCipher.type = CipherType.Card;\n cardCipher.card = this.parseCard(value);\n result.ciphers.push(cardCipher);\n }\n }\n\n result.ciphers.push(cipher);\n\n if (addFolder) {\n const f = new FolderView();\n f.name = grouping;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private buildBaseCipher(value: any) {\n const cipher = new CipherView();\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\n // form fill\n cipher.favorite = false;\n cipher.name = this.getValueOrDefault(value.profilename, '--');\n cipher.type = CipherType.Card;\n\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\n !this.isNullOrWhitespace(value.email)) {\n cipher.type = CipherType.Identity;\n }\n } else {\n // site or secure note\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\n }\n return cipher;\n }\n\n private parseCard(value: any): CardView {\n const card = new CardView();\n card.cardholderName = this.getValueOrDefault(value.ccname);\n card.number = this.getValueOrDefault(value.ccnum);\n card.code = this.getValueOrDefault(value.cccsc);\n card.brand = this.getCardBrand(value.ccnum);\n\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\n const ccexpParts = (value.ccexp as string).split('-');\n if (ccexpParts.length > 1) {\n card.expYear = ccexpParts[0];\n card.expMonth = ccexpParts[1];\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\n card.expMonth = card.expMonth[1];\n }\n }\n }\n\n return card;\n }\n\n private parseIdentity(value: any): IdentityView {\n const identity = new IdentityView();\n identity.title = this.getValueOrDefault(value.title);\n identity.firstName = this.getValueOrDefault(value.firstname);\n identity.middleName = this.getValueOrDefault(value.middlename);\n identity.lastName = this.getValueOrDefault(value.lastname);\n identity.username = this.getValueOrDefault(value.username);\n identity.company = this.getValueOrDefault(value.company);\n identity.ssn = this.getValueOrDefault(value.ssn);\n identity.address1 = this.getValueOrDefault(value.address1);\n identity.address2 = this.getValueOrDefault(value.address2);\n identity.address3 = this.getValueOrDefault(value.address3);\n identity.city = this.getValueOrDefault(value.city);\n identity.state = this.getValueOrDefault(value.state);\n identity.postalCode = this.getValueOrDefault(value.zip);\n identity.country = this.getValueOrDefault(value.country);\n identity.email = this.getValueOrDefault(value.email);\n identity.phone = this.getValueOrDefault(value.phone);\n\n if (!this.isNullOrWhitespace(identity.title)) {\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\n }\n\n return identity;\n }\n\n private parseSecureNote(value: any, cipher: CipherView) {\n const extraParts = this.splitNewLine(value.extra);\n let processedNote = false;\n\n if (extraParts.length) {\n const typeParts = extraParts[0].split(':');\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\n if (typeParts[1] === 'Credit Card') {\n const mappedData = this.parseSecureNoteMapping(cipher, extraParts, {\n 'Number': 'number',\n 'Name on Card': 'cardholderName',\n 'Security Code': 'code',\n // LP provides date in a format like 'June,2020'\n // Store in expMonth, then parse and modify\n 'Expiration Date': 'expMonth',\n });\n\n if (this.isNullOrWhitespace(mappedData.expMonth) || mappedData.expMonth === ',') {\n // No expiration data\n mappedData.expMonth = undefined;\n } else {\n const [monthString, year] = mappedData.expMonth.split(',');\n // Parse month name into number\n if (!this.isNullOrWhitespace(monthString)) {\n const month = new Date(Date.parse(monthString.trim() + ' 1, 2012')).getMonth() + 1;\n if (isNaN(month)) {\n mappedData.expMonth = undefined;\n } else {\n mappedData.expMonth = month.toString();\n }\n } else {\n mappedData.expMonth = undefined;\n }\n if (!this.isNullOrWhitespace(year)) {\n mappedData.expYear = year;\n }\n }\n\n cipher.type = CipherType.Card;\n cipher.card = mappedData;\n } else if (typeParts[1] === 'Address') {\n const mappedData = this.parseSecureNoteMapping(cipher, extraParts, {\n 'Title': 'title',\n 'First Name': 'firstName',\n 'Last Name': 'lastName',\n 'Middle Name': 'middleName',\n 'Company': 'company',\n 'Address 1': 'address1',\n 'Address 2': 'address2',\n 'Address 3': 'address3',\n 'City / Town': 'city',\n 'State': 'state',\n 'Zip / Postal Code': 'postalCode',\n 'Country': 'country',\n 'Email Address': 'email',\n 'Username': 'username',\n });\n cipher.type = CipherType.Identity;\n cipher.identity = mappedData;\n }\n processedNote = true;\n }\n }\n\n if (!processedNote) {\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.notes = this.getValueOrDefault(value.extra);\n }\n }\n\n private parseSecureNoteMapping(cipher: CipherView, extraParts: string[], map: any): T {\n const dataObj: any = {};\n\n let processingNotes = false;\n extraParts.forEach((extraPart) => {\n let key: string = null;\n let val: string = null;\n if (!processingNotes) {\n if (this.isNullOrWhitespace(extraPart)) {\n return;\n }\n const colonIndex = extraPart.indexOf(':');\n if (colonIndex === -1) {\n key = extraPart;\n } else {\n key = extraPart.substring(0, colonIndex);\n if (extraPart.length > colonIndex) {\n val = extraPart.substring(colonIndex + 1);\n }\n }\n if (this.isNullOrWhitespace(key) || this.isNullOrWhitespace(val) || key === 'NoteType') {\n return;\n }\n }\n\n if (processingNotes) {\n cipher.notes += ('\\n' + extraPart);\n } else if (key === 'Notes') {\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes += ('\\n' + val);\n } else {\n cipher.notes = val;\n }\n processingNotes = true;\n } else if (map.hasOwnProperty(key)) {\n dataObj[map[key]] = val;\n } else {\n this.processKvp(cipher, key, val);\n }\n });\n\n return dataObj;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class LogMeOnceCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 4) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[1]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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 { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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' || value[1] === 'Login') {\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { IdentityView } from '../models/view/identityView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MykiCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.nickname, '--');\n cipher.notes = this.getValueOrDefault(value.additionalInfo);\n\n if (value.url !== undefined) {\n // Accounts\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.totp = this.getValueOrDefault(value.twoFactAuthToken);\n } else if (value.cardNumber !== undefined) {\n // Cards\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n cipher.card.cardholderName = this.getValueOrDefault(value.cardName);\n cipher.card.number = this.getValueOrDefault(value.cardNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.expMonth = this.getValueOrDefault(value.exp_month);\n cipher.card.expYear = this.getValueOrDefault(value.exp_year);\n cipher.card.code = this.getValueOrDefault(value.cvv);\n } else if (value.firstName !== undefined) {\n // Identities\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.identity.title = this.getValueOrDefault(value.title);\n cipher.identity.firstName = this.getValueOrDefault(value.firstName);\n cipher.identity.middleName = this.getValueOrDefault(value.middleName);\n cipher.identity.lastName = this.getValueOrDefault(value.lastName);\n cipher.identity.phone = this.getValueOrDefault(value.number);\n cipher.identity.email = this.getValueOrDefault(value.email);\n cipher.identity.address1 = this.getValueOrDefault(value.firstAddressLine);\n cipher.identity.address2 = this.getValueOrDefault(value.secondAddressLine);\n cipher.identity.city = this.getValueOrDefault(value.city);\n cipher.identity.country = this.getValueOrDefault(value.country);\n cipher.identity.postalCode = this.getValueOrDefault(value.zipCode);\n } else if (value.content !== undefined) {\n // Notes\n cipher.secureNote = new SecureNoteView();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.content);\n } else {\n return;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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 { CipherView } from '../../models/view/cipherView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { PasswordHistoryView } from '../../models/view/passwordHistoryView';\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 OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): Promise {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n if (item.trashed === true) {\n return;\n }\n const cipher = this.initLoginCipher();\n\n if (this.isNullOrWhitespace(item.hmac)) {\n this.processStandardItem(item, cipher);\n } else {\n this.processWinOpVaultItem(item, cipher);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n private processWinOpVaultItem(item: any, cipher: CipherView) {\n if (item.overview != null) {\n cipher.name = this.getValueOrDefault(item.overview.title);\n if (item.overview.URLs != null) {\n const urls: string[] = [];\n item.overview.URLs.forEach((url: any) => {\n if (!this.isNullOrWhitespace(url.u)) {\n urls.push(url.u);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n }\n\n if (item.details != null) {\n if (item.details.passwordHistory != null) {\n this.parsePasswordHistory(item.details.passwordHistory, cipher);\n }\n if (!this.isNullOrWhitespace(item.details.ccnum) || !this.isNullOrWhitespace(item.details.cvv)) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else if (!this.isNullOrWhitespace(item.details.firstname) ||\n !this.isNullOrWhitespace(item.details.address1)) {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n }\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(item.details.password)) {\n cipher.login.password = item.details.password;\n }\n if (!this.isNullOrWhitespace(item.details.notesPlain)) {\n cipher.notes = item.details.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.details.fields != null) {\n this.parseFields(item.details.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.details.sections != null) {\n item.details.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n }\n\n private processStandardItem(item: any, cipher: CipherView) {\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 if (item.typeName === 'identities.Identity') {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (item.secureContents.passwordHistory != null) {\n this.parsePasswordHistory(item.secureContents.passwordHistory, cipher);\n }\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (cipher.type === CipherType.Login) {\n if (!this.isNullOrWhitespace(item.secureContents.password)) {\n cipher.login.password = item.secureContents.password;\n }\n if (item.secureContents.URLs != null) {\n const urls: string[] = [];\n item.secureContents.URLs.forEach((u: any) => {\n if (!this.isNullOrWhitespace(u.url)) {\n urls.push(u.url);\n }\n });\n if (urls.length > 0) {\n cipher.login.uris = this.makeUriArray(urls);\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\n private parsePasswordHistory(items: any[], cipher: CipherView) {\n const maxSize = items.length > 5 ? 5 : items.length;\n cipher.passwordHistory = items\n .filter((h: any) => !this.isNullOrWhitespace(h.value) && h.time != null)\n .sort((a, b) => b.time - a.time)\n .slice(0, maxSize)\n .map((h: any) => {\n const ph = new PasswordHistoryView();\n ph.password = h.value;\n ph.lastUsedDate = new Date(('' + h.time).length >= 13 ? h.time : h.time * 1000);\n return ph;\n });\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 } else if (cipher.type === CipherType.Identity) {\n const identity = cipher.identity;\n if (this.isNullOrWhitespace(identity.firstName) && fieldDesignation === 'firstname') {\n identity.firstName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.lastName) && fieldDesignation === 'lastname') {\n identity.lastName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.middleName) && fieldDesignation === 'initial') {\n identity.middleName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.phone) && fieldDesignation === 'defphone') {\n identity.phone = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.company) && fieldDesignation === 'company') {\n identity.company = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.email) && fieldDesignation === 'email') {\n identity.email = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.username) && fieldDesignation === 'username') {\n identity.username = fieldValue;\n return;\n } else if (fieldDesignation === 'address') {\n // fieldValue is an object casted into a string, so access the plain value instead\n const { street, city, country, zip } = field[valueKey];\n identity.address1 = this.getValueOrDefault(street);\n identity.city = this.getValueOrDefault(city);\n if (!this.isNullOrWhitespace(country)) {\n identity.country = country.toUpperCase();\n }\n identity.postalCode = this.getValueOrDefault(zip);\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n if (fieldName === 'password' && cipher.passwordHistory != null &&\n cipher.passwordHistory.some((h) => h.password === fieldValue)) {\n return;\n }\n\n const fieldType = field.k === 'concealed' ? FieldType.Hidden : FieldType.Text;\n this.processKvp(cipher, fieldName, fieldValue, fieldType);\n });\n }\n}\n","import { Importer } from '../importer';\nimport { IgnoredProperties, OnePasswordCsvImporter } from './onepasswordCsvImporter';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { CardView, CipherView, IdentityView } from '../../models/view';\n\nexport class OnePasswordMacCsvImporter extends OnePasswordCsvImporter implements Importer {\n setCipherType(value: any, cipher: CipherView) {\n const onePassType = this.getValueOrDefault(this.getProp(value, 'type'), 'Login');\n switch (onePassType) {\n case 'Credit Card':\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n IgnoredProperties.push('type');\n break;\n case 'Identity':\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n IgnoredProperties.push('type');\n break;\n case 'Login':\n case 'Secure Note':\n IgnoredProperties.push('type');\n default:\n break;\n }\n }\n}\n","import { CipherView } from '../../models/view';\n\nexport class CipherImportContext {\n lowerProperty: string;\n constructor(public importRecord: any, public property: string, public cipher: CipherView) {\n this.lowerProperty = property.toLowerCase();\n }\n}\n","export class View {\n}\n","import { Importer } from '../importer';\nimport { CipherImportContext } from './cipherImportContext';\nimport { OnePasswordCsvImporter } from './onepasswordCsvImporter';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { CardView, CipherView, IdentityView, LoginView } from '../../models/view';\n\nexport class OnePasswordWinCsvImporter extends OnePasswordCsvImporter implements Importer {\n constructor() {\n super();\n this.identityPropertyParsers.push(this.setIdentityAddress);\n }\n\n setCipherType(value: any, cipher: CipherView) {\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n\n if (!this.isNullOrWhitespace(this.getPropByRegexp(value, /\\d+: number/i)) &&\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /\\d+: expiry date/i))) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (!this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: first name/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: initial/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: last name/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /internet \\d+: email/i))) {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n }\n }\n\n setIdentityAddress(context: CipherImportContext) {\n if (context.lowerProperty.match(/address \\d+: address/i)) {\n this.processKvp(context.cipher, 'address', context.importRecord[context.property]);\n return true;\n }\n return false;\n }\n\n setCreditCardExpiry(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.expiration) && context.lowerProperty.includes('expiry date')) {\n const expSplit = (context.importRecord[context.property] as string).split('/');\n context.cipher.card.expMonth = expSplit[0];\n if (context.cipher.card.expMonth[0] === '0' && context.cipher.card.expMonth.length === 2) {\n context.cipher.card.expMonth = context.cipher.card.expMonth.substr(1, 1);\n }\n context.cipher.card.expYear = expSplit[2].length > 4 ? expSplit[2].substr(0, 4) : expSplit[2];\n return true;\n }\n return false;\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValue('category', value));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValue('description', value);\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\n cipher.login.username = this.getValue('username', value);\n cipher.login.password = this.getValue('password', value);\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\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 Promise.resolve(result);\n }\n\n private getValue(key: string, value: any) {\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PassmanJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((credential: any) => {\n if (credential.tags != null && credential.tags.length > 0) {\n const folderName = credential.tags[0].text;\n this.processFolder(result, folderName);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = credential.label;\n\n cipher.login.username = this.getValueOrDefault(credential.username);\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = this.getValueOrDefault(credential.email);\n } else if (!this.isNullOrWhitespace(credential.email)) {\n cipher.notes = ('Email: ' + credential.email + '\\n');\n }\n\n cipher.login.password = this.getValueOrDefault(credential.password);\n cipher.login.uris = this.makeUriArray(credential.url);\n cipher.notes += this.getValueOrDefault(credential.description, '');\n if (credential.otp != null) {\n cipher.login.totp = this.getValueOrDefault(credential.otp.secret);\n }\n\n if (credential.custom_fields != null) {\n credential.custom_fields.forEach((customField: any) => {\n switch (customField.field_type) {\n case 'text':\n case 'password':\n this.processKvp(cipher, customField.label, customField.value);\n break;\n }\n });\n }\n\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport class PasspackCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const tagsJson = !this.isNullOrWhitespace(value.Tags) ? JSON.parse(value.Tags) : null;\n const tags: string[] = tagsJson != null && tagsJson.tags != null && tagsJson.tags.length > 0 ?\n tagsJson.tags.map((tagJson: string) => {\n try {\n const t = JSON.parse(tagJson);\n return this.getValueOrDefault(t.tag);\n } catch { }\n return null;\n }).filter((t: string) => !this.isNullOrWhitespace(t)) : null;\n\n if (this.organization && tags != null && tags.length > 0) {\n tags.forEach((tag) => {\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 if (!this.organization && tags != null && tags.length > 0) {\n this.processFolder(result, tags[0]);\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Notes, '');\n cipher.notes += ('\\n\\n' + this.getValueOrDefault(value['Shared Notes'], '') + '\\n');\n cipher.name = this.getValueOrDefault(value['Entry Name'], '--');\n cipher.login.username = this.getValueOrDefault(value['User ID']);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.URL);\n\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\n value.__parsed_extra.forEach((extra: string) => {\n if (!this.isNullOrWhitespace(extra)) {\n cipher.notes += ('\\n' + extra);\n }\n });\n }\n\n const fieldsJson = !this.isNullOrWhitespace(value['Extra Fields']) ?\n JSON.parse(value['Extra Fields']) : null;\n const fields = fieldsJson != null && fieldsJson.extraFields != null &&\n fieldsJson.extraFields.length > 0 ? fieldsJson.extraFields.map((fieldJson: string) => {\n try {\n return JSON.parse(fieldJson);\n } catch { }\n return null;\n }) : null;\n if (fields != null) {\n fields.forEach((f: any) => {\n if (f != null) {\n this.processKvp(cipher, f.name, f.data);\n }\n });\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let newVersion = true;\n results.forEach((value) => {\n if (value.length !== 5 && value.length < 9) {\n return;\n }\n const altFormat = value.length === 10 && value[0] === '0';\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[altFormat ? 1 : 0], '--');\n cipher.login.username = this.getValueOrDefault(value[altFormat ? 2 : 1]);\n cipher.login.password = this.getValueOrDefault(value[altFormat ? 3 : 2]);\n if (value.length === 5) {\n newVersion = false;\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.uris = this.makeUriArray(value[3]);\n } else {\n const folder = this.getValueOrDefault(value[altFormat ? 9 : 8], '(None)');\n let folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\n if (folderName != null) {\n folderName = folder.split(' > ').join('/');\n folderName = folder.split('>').join('/');\n }\n this.processFolder(result, folderName);\n cipher.notes = this.getValueOrDefault(value[altFormat ? 5 : 3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n }\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (newVersion && this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(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 { FolderView } from '../models/view/folderView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.items == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const foldersMap = new Map();\n results.folders.forEach((value: any) => {\n foldersMap.set(value.id, value.name);\n });\n const foldersIndexMap = new Map();\n foldersMap.forEach((val, key) => {\n foldersIndexMap.set(key, result.folders.length);\n const f = new FolderView();\n f.name = val;\n result.folders.push(f);\n });\n\n results.items.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.uris = this.makeUriArray(value.login_url);\n\n if (value.folder != null && foldersIndexMap.has(value.folder)) {\n result.folderRelationships.push([result.ciphers.length, foldersIndexMap.get(value.folder)]);\n }\n\n if (value.identifiers == null) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\n }\n\n if (value.type === 'CreditCard') {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n }\n\n for (const property in value.identifiers) {\n if (!value.identifiers.hasOwnProperty(property)) {\n continue;\n }\n const valObj = value.identifiers[property];\n const val = valObj != null ? valObj.toString() : null;\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\n continue;\n }\n\n if (property === 'custom_fields') {\n valObj.forEach((cf: any) => {\n this.processKvp(cipher, cf.name, cf.value);\n });\n continue;\n }\n\n if (cipher.type === CipherType.Card) {\n if (property === 'cardNumber') {\n cipher.card.number = val;\n cipher.card.brand = this.getCardBrand(val);\n continue;\n } else if (property === 'nameOnCard') {\n cipher.card.cardholderName = val;\n continue;\n } else if (property === 'security_code') {\n cipher.card.code = val;\n continue;\n } else if (property === 'expires') {\n try {\n const expDate = new Date(val);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n continue;\n } else if (property === 'cardType') {\n continue;\n }\n } else {\n if ((property === 'username' || property === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = val;\n continue;\n } else if (property === 'password') {\n cipher.login.password = val;\n continue;\n } else if (property === 'totp') {\n cipher.login.totp = val;\n continue;\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(property) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n continue;\n }\n }\n\n this.processKvp(cipher, property, val);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const passwordSafe = doc.querySelector('passwordsafe');\n if (passwordSafe == null) {\n result.errorMessage = 'Missing `passwordsafe` node.';\n result.success = false;\n return Promise.resolve(result);\n }\n\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\n const entries = doc.querySelectorAll('passwordsafe > entry');\n Array.from(entries).forEach((entry) => {\n const group = this.querySelectorDirectChild(entry, 'group');\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\n group.textContent.split('.').join('/') : null;\n this.processFolder(result, groupText);\n\n const title = this.querySelectorDirectChild(entry, 'title');\n const username = this.querySelectorDirectChild(entry, 'username');\n const email = this.querySelectorDirectChild(entry, 'email');\n const password = this.querySelectorDirectChild(entry, 'password');\n const url = this.querySelectorDirectChild(entry, 'url');\n const notes = this.querySelectorDirectChild(entry, 'notes');\n const cipher = this.initLoginCipher();\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\n cipher.notes = notes != null ?\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\n cipher.login.username = username != null ? this.getValueOrDefault(username.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 if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\n cipher.login.username = this.getValueOrDefault(email.textContent);\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\n : (cipher.notes + '\\n' + 'Email: ' + email.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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordWalletTxtImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 1) {\n return;\n }\n if (value.length > 5) {\n this.processFolder(result, value[5]);\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n if (value.length > 4) {\n cipher.notes = this.getValueOrDefault(value[4], '').split('¬').join('\\n');\n }\n if (value.length > 2) {\n cipher.login.username = this.getValueOrDefault(value[2]);\n }\n if (value.length > 3) {\n cipher.login.password = this.getValueOrDefault(value[3]);\n }\n if (value.length > 1) {\n cipher.login.uris = this.makeUriArray(value[1]);\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\n\nexport class RememBearCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.trash === 'true') {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name);\n cipher.notes = this.getValueOrDefault(value.notes);\n if (value.type === 'LoginItem') {\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.username);\n } else if (value.type === 'CreditCardItem') {\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 cipher.card.code = this.getValueOrDefault(value.verification);\n\n try {\n const expMonth = this.getValueOrDefault(value.expiryMonth);\n if (expMonth != null) {\n const expMonthNumber = parseInt(expMonth, null);\n if (expMonthNumber != null && expMonthNumber >= 1 && expMonthNumber <= 12) {\n cipher.card.expMonth = expMonthNumber.toString();\n }\n }\n } catch { }\n try {\n const expYear = this.getValueOrDefault(value.expiryYear);\n if (expYear != null) {\n const expYearNumber = parseInt(expYear, null);\n if (expYearNumber != null) {\n cipher.card.expYear = expYearNumber.toString();\n }\n }\n } catch { }\n\n const pin = this.getValueOrDefault(value.pin);\n if (pin != null) {\n this.processKvp(cipher, 'PIN', pin);\n }\n const zip = this.getValueOrDefault(value.zipCode);\n if (zip != null) {\n this.processKvp(cipher, 'Zip Code', zip);\n }\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let i = 1;\n results.forEach((value) => {\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\n value.Folder.replace('/', '') : value.Folder;\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.name = this.getValueOrDefault(value.Name, '--');\n cipher.login.username = this.getValueOrDefault(value.Login);\n cipher.login.password = this.getValueOrDefault(value.Pwd);\n cipher.login.uris = this.makeUriArray(value.Url);\n\n if (!this.isNullOrWhitespace(value.Rf_fields)) {\n let fields: string[] = [value.Rf_fields];\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\n fields = fields.concat(value.__parsed_extra);\n }\n fields.forEach((field: string) => {\n const parts = field.split(':');\n if (parts.length < 3) {\n return;\n }\n const key = parts[0] === '-no-name-' ? null : parts[0];\n const val = parts.length === 4 && parts[2] === 'rck' ? parts[1] : parts[2];\n this.processKvp(cipher, key, val);\n });\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\n return;\n }\n\n result.ciphers.push(cipher);\n i++;\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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 === 'one_time_password') {\n cipher.login.totp = 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 Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SecureSafeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.Title);\n cipher.notes = this.getValueOrDefault(value.Comment);\n cipher.login.uris = this.makeUriArray(value.Url);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.username = this.getValueOrDefault(value.Username);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view/cipherView';\n\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\n cipher.name = this.getValueOrDefault(value[1], '--');\n\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\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 this.parseFieldsToNotes(cipher, 5, value);\n } else {\n this.parseFieldsToNotes(cipher, 2, value);\n }\n\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(result);\n }\n\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\n // last 3 rows do not get parsed\n for (let i = startIndex; i < value.length - 3; i++) {\n if (this.isNullOrWhitespace(value[i])) {\n continue;\n }\n cipher.notes += (value[i] + '\\n');\n }\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\n Array.from(loginNodes).forEach((loginNode) => {\n const accountId = loginNode.getAttribute('ID');\n if (this.isNullOrWhitespace(accountId)) {\n return;\n }\n\n const usernameText = loginNode.getAttribute('Name');\n const passwordText = loginNode.getAttribute('Password');\n let titleText: string = null;\n let linkText: string = null;\n let notesText: string = null;\n let groupId: string = null;\n let groupText: string = null;\n\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\n if (accountLogin != null) {\n const account = accountLogin.parentElement.parentElement;\n if (account != null) {\n titleText = account.getAttribute('Name');\n linkText = account.getAttribute('Link');\n groupId = account.getAttribute('ParentID');\n notesText = account.getAttribute('Comments');\n if (!this.isNullOrWhitespace(notesText)) {\n notesText = notesText.split('/n').join('\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(groupId)) {\n groupText = this.buildGroupText(doc, groupId, '');\n this.processFolder(result, groupText);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(titleText, '--');\n cipher.notes = this.getValueOrDefault(notesText);\n cipher.login.username = this.getValueOrDefault(usernameText);\n cipher.login.password = this.getValueOrDefault(passwordText);\n cipher.login.uris = this.makeUriArray(linkText);\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 Promise.resolve(result);\n }\n\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\n if (group == null) {\n return groupText;\n }\n if (!this.isNullOrWhitespace(groupText)) {\n groupText = '/' + groupText;\n }\n groupText = group.getAttribute('Name') + groupText;\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class YotiCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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['User name']);\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view';\n\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value['Password Name']) && this.isNullOrWhitespace(value['Secret Name'])) {\n return;\n }\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(\n value['Password Name'], this.getValueOrDefault(value['Secret Name'], '--'));\n cipher.login.uris = this.makeUriArray(\n this.getValueOrDefault(value['Password URL'], this.getValueOrDefault(value['Secret URL'])));\n this.parseData(cipher, value.SecretData);\n this.parseData(cipher, value.CustomData);\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(result);\n }\n\n private parseData(cipher: CipherView, data: string) {\n if (this.isNullOrWhitespace(data)) {\n return;\n }\n const dataLines = this.splitNewLine(data);\n dataLines.forEach((line) => {\n const delimPosition = line.indexOf(':');\n if (delimPosition < 0) {\n return;\n }\n const field = line.substring(0, delimPosition);\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\n return;\n }\n const fieldLower = field.toLowerCase();\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = value;\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = value;\n } else {\n this.processKvp(cipher, field, value);\n }\n });\n }\n}\n","import * as signalR from '@microsoft/signalr';\nimport * as signalRMsgPack from '@microsoft/signalr-protocol-msgpack';\n\nimport { NotificationType } from '../enums/notificationType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { EnvironmentService } from '../abstractions/environment.service';\nimport { LogService } from '../abstractions/log.service';\nimport { NotificationsService as NotificationsServiceAbstraction } from '../abstractions/notifications.service';\nimport { SyncService } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\nimport { VaultTimeoutService } from '../abstractions/vaultTimeout.service';\n\nimport {\n NotificationResponse,\n SyncCipherNotification,\n SyncFolderNotification,\n SyncSendNotification,\n} from '../models/response/notificationResponse';\n\nexport class NotificationsService implements NotificationsServiceAbstraction {\n private signalrConnection: signalR.HubConnection;\n private url: string;\n private connected = false;\n private inited = false;\n private inactive = false;\n private reconnectTimer: any = null;\n\n constructor(private userService: UserService, private syncService: SyncService,\n private appIdService: AppIdService, private apiService: ApiService,\n private vaultTimeoutService: VaultTimeoutService,\n private logoutCallback: () => Promise, private logService: LogService) {\n }\n\n async init(environmentService: EnvironmentService): Promise {\n this.inited = false;\n this.url = 'https://notifications.bitwarden.com';\n if (environmentService.notificationsUrl != null) {\n this.url = environmentService.notificationsUrl;\n } else if (environmentService.baseUrl != null) {\n this.url = environmentService.baseUrl + '/notifications';\n }\n\n // Set notifications server URL to `https://-` to effectively disable communication\n // with the notifications server from the client app\n if (this.url === 'https://-') {\n return;\n }\n\n if (this.signalrConnection != null) {\n this.signalrConnection.off('ReceiveMessage');\n this.signalrConnection.off('Heartbeat');\n await this.signalrConnection.stop();\n this.connected = false;\n this.signalrConnection = null;\n }\n\n this.signalrConnection = new signalR.HubConnectionBuilder()\n .withUrl(this.url + '/hub', {\n accessTokenFactory: () => this.apiService.getActiveBearerToken(),\n skipNegotiation: true,\n transport: signalR.HttpTransportType.WebSockets,\n })\n .withHubProtocol(new signalRMsgPack.MessagePackHubProtocol())\n // .configureLogging(signalR.LogLevel.Trace)\n .build();\n\n this.signalrConnection.on('ReceiveMessage',\n (data: any) => this.processNotification(new NotificationResponse(data)));\n this.signalrConnection.on('Heartbeat',\n (data: any) => { /*console.log('Heartbeat!');*/ });\n this.signalrConnection.onclose(() => {\n this.connected = false;\n this.reconnect(true);\n });\n this.inited = true;\n if (await this.isAuthedAndUnlocked()) {\n await this.reconnect(false);\n }\n }\n\n async updateConnection(sync = false): Promise {\n if (!this.inited) {\n return;\n }\n try {\n if (await this.isAuthedAndUnlocked()) {\n await this.reconnect(sync);\n } else {\n await this.signalrConnection.stop();\n }\n } catch (e) {\n this.logService.error(e.toString());\n }\n }\n\n async reconnectFromActivity(): Promise {\n this.inactive = false;\n if (this.inited && !this.connected) {\n await this.reconnect(true);\n }\n }\n\n async disconnectFromInactivity(): Promise {\n this.inactive = true;\n if (this.inited && this.connected) {\n await this.signalrConnection.stop();\n }\n }\n\n private async processNotification(notification: NotificationResponse) {\n const appId = await this.appIdService.getAppId();\n if (notification == null || notification.contextId === appId) {\n return;\n }\n\n const isAuthenticated = await this.userService.isAuthenticated();\n const payloadUserId = notification.payload.userId || notification.payload.UserId;\n const myUserId = await this.userService.getUserId();\n if (isAuthenticated && payloadUserId != null && payloadUserId !== myUserId) {\n return;\n }\n\n switch (notification.type) {\n case NotificationType.SyncCipherCreate:\n case NotificationType.SyncCipherUpdate:\n await this.syncService.syncUpsertCipher(notification.payload as SyncCipherNotification,\n notification.type === NotificationType.SyncCipherUpdate);\n break;\n case NotificationType.SyncCipherDelete:\n case NotificationType.SyncLoginDelete:\n await this.syncService.syncDeleteCipher(notification.payload as SyncCipherNotification);\n break;\n case NotificationType.SyncFolderCreate:\n case NotificationType.SyncFolderUpdate:\n await this.syncService.syncUpsertFolder(notification.payload as SyncFolderNotification,\n notification.type === NotificationType.SyncFolderUpdate);\n break;\n case NotificationType.SyncFolderDelete:\n await this.syncService.syncDeleteFolder(notification.payload as SyncFolderNotification);\n break;\n case NotificationType.SyncVault:\n case NotificationType.SyncCiphers:\n case NotificationType.SyncSettings:\n if (isAuthenticated) {\n await this.syncService.fullSync(false);\n }\n break;\n case NotificationType.SyncOrgKeys:\n if (isAuthenticated) {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n // Stop so a reconnect can be made\n await this.signalrConnection.stop();\n }\n break;\n case NotificationType.LogOut:\n if (isAuthenticated) {\n this.logoutCallback();\n }\n break;\n case NotificationType.SyncSendCreate:\n case NotificationType.SyncSendUpdate:\n await this.syncService.syncUpsertSend(notification.payload as SyncSendNotification,\n notification.type === NotificationType.SyncSendUpdate);\n break;\n case NotificationType.SyncSendDelete:\n await this.syncService.syncDeleteSend(notification.payload as SyncSendNotification);\n default:\n break;\n }\n }\n\n private async reconnect(sync: boolean) {\n if (this.reconnectTimer != null) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n if (this.connected || !this.inited || this.inactive) {\n return;\n }\n const authedAndUnlocked = await this.isAuthedAndUnlocked();\n if (!authedAndUnlocked) {\n return;\n }\n\n try {\n await this.signalrConnection.start();\n this.connected = true;\n if (sync) {\n await this.syncService.fullSync(false);\n }\n } catch { }\n\n if (!this.connected) {\n this.reconnectTimer = setTimeout(() => this.reconnect(sync), this.random(120000, 300000));\n }\n }\n\n private async isAuthedAndUnlocked() {\n if (await this.userService.isAuthenticated()) {\n const locked = await this.vaultTimeoutService.isLocked();\n return !locked;\n }\n return false;\n }\n\n private random(min: number, max: number) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { NotificationType } from '../../enums/notificationType';\n\nexport class NotificationResponse extends BaseResponse {\n contextId: string;\n type: NotificationType;\n payload: any;\n\n constructor(response: any) {\n super(response);\n this.contextId = this.getResponseProperty('ContextId');\n this.type = this.getResponseProperty('Type');\n\n const payload = this.getResponseProperty('Payload');\n switch (this.type) {\n case NotificationType.SyncCipherCreate:\n case NotificationType.SyncCipherDelete:\n case NotificationType.SyncCipherUpdate:\n case NotificationType.SyncLoginDelete:\n this.payload = new SyncCipherNotification(payload);\n break;\n case NotificationType.SyncFolderCreate:\n case NotificationType.SyncFolderDelete:\n case NotificationType.SyncFolderUpdate:\n this.payload = new SyncFolderNotification(payload);\n break;\n case NotificationType.SyncVault:\n case NotificationType.SyncCiphers:\n case NotificationType.SyncOrgKeys:\n case NotificationType.SyncSettings:\n case NotificationType.LogOut:\n this.payload = new UserNotification(payload);\n break;\n case NotificationType.SyncSendCreate:\n case NotificationType.SyncSendUpdate:\n case NotificationType.SyncSendDelete:\n this.payload = new SyncSendNotification(payload);\n default:\n break;\n }\n }\n}\n\nexport class SyncCipherNotification extends BaseResponse {\n id: string;\n userId: string;\n organizationId: string;\n collectionIds: string[];\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.collectionIds = this.getResponseProperty('CollectionIds');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n\nexport class SyncFolderNotification extends BaseResponse {\n id: string;\n userId: string;\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n\nexport class UserNotification extends BaseResponse {\n userId: string;\n date: Date;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.date = new Date(this.getResponseProperty('Date'));\n }\n}\n\nexport class SyncSendNotification extends BaseResponse {\n id: string;\n userId: string;\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n","import { PolicyService as PolicyServiceAbstraction } from '../abstractions/policy.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { PolicyData } from '../models/data/policyData';\n\nimport { MasterPasswordPolicyOptions } from '../models/domain/masterPasswordPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { PolicyType } from '../enums/policyType';\n\nconst Keys = {\n policiesPrefix: 'policies_',\n};\n\nexport class PolicyService implements PolicyServiceAbstraction {\n policyCache: Policy[];\n\n constructor(private userService: UserService, private storageService: StorageService) {\n }\n\n clearCache(): void {\n this.policyCache = null;\n }\n\n async getAll(type?: PolicyType): Promise {\n if (this.policyCache == null) {\n const userId = await this.userService.getUserId();\n const policies = await this.storageService.get<{ [id: string]: PolicyData; }>(\n Keys.policiesPrefix + userId);\n const response: Policy[] = [];\n for (const id in policies) {\n if (policies.hasOwnProperty(id)) {\n response.push(new Policy(policies[id]));\n }\n }\n this.policyCache = response;\n }\n if (type != null) {\n return this.policyCache.filter((p) => p.type === type);\n } else {\n return this.policyCache;\n }\n }\n\n async replace(policies: { [id: string]: PolicyData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.policiesPrefix + userId, policies);\n this.policyCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.policiesPrefix + userId);\n this.policyCache = null;\n }\n\n async getMasterPasswordPolicyOptions(policies?: Policy[]): Promise {\n let enforcedOptions: MasterPasswordPolicyOptions = null;\n\n if (policies == null) {\n policies = await this.getAll(PolicyType.MasterPassword);\n } else {\n policies = policies.filter((p) => p.type === PolicyType.MasterPassword);\n }\n\n if (policies == null || policies.length === 0) {\n return enforcedOptions;\n }\n\n policies.forEach((currentPolicy) => {\n if (!currentPolicy.enabled || currentPolicy.data == null) {\n return;\n }\n\n if (enforcedOptions == null) {\n enforcedOptions = new MasterPasswordPolicyOptions();\n }\n\n if (currentPolicy.data.minComplexity != null\n && currentPolicy.data.minComplexity > enforcedOptions.minComplexity) {\n enforcedOptions.minComplexity = currentPolicy.data.minComplexity;\n }\n\n if (currentPolicy.data.minLength != null\n && currentPolicy.data.minLength > enforcedOptions.minLength) {\n enforcedOptions.minLength = currentPolicy.data.minLength;\n }\n\n if (currentPolicy.data.requireUpper) {\n enforcedOptions.requireUpper = true;\n }\n\n if (currentPolicy.data.requireLower) {\n enforcedOptions.requireLower = true;\n }\n\n if (currentPolicy.data.requireNumbers) {\n enforcedOptions.requireNumbers = true;\n }\n\n if (currentPolicy.data.requireSpecial) {\n enforcedOptions.requireSpecial = true;\n }\n });\n\n return enforcedOptions;\n }\n\n evaluateMasterPassword(passwordStrength: number, newPassword: string,\n enforcedPolicyOptions: MasterPasswordPolicyOptions): boolean {\n if (enforcedPolicyOptions == null) {\n return true;\n }\n\n if (enforcedPolicyOptions.minComplexity > 0 && enforcedPolicyOptions.minComplexity > passwordStrength) {\n return false;\n }\n\n if (enforcedPolicyOptions.minLength > 0 && enforcedPolicyOptions.minLength > newPassword.length) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireUpper && newPassword.toLocaleLowerCase() === newPassword) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireLower && newPassword.toLocaleUpperCase() === newPassword) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireNumbers && !(/[0-9]/.test(newPassword))) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireSpecial && !(/[!@#$%\\^&*]/g.test(newPassword))) {\n return false;\n }\n\n return true;\n }\n}\n","import Domain from './domainBase';\n\nexport class MasterPasswordPolicyOptions extends Domain {\n minComplexity: number = 0;\n minLength: number = 0;\n requireUpper: boolean = false;\n requireLower: boolean = false;\n requireNumbers: boolean = false;\n requireSpecial: boolean = false;\n}\n","import * as lunr from 'lunr';\n\nimport { CipherView } from '../models/view/cipherView';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { LogService } from '../abstractions/log.service';\nimport { SearchService as SearchServiceAbstraction } from '../abstractions/search.service';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\nimport { SendView } from '../models/view/sendView';\n\nexport class SearchService implements SearchServiceAbstraction {\n private indexing = false;\n private index: lunr.Index = null;\n\n constructor(private cipherService: CipherService, private logService: LogService) {\n }\n\n clearIndex(): void {\n this.index = null;\n }\n\n isSearchable(query: string): boolean {\n const notSearchable = query == null || (this.index == null && query.length < 2) ||\n (this.index != null && query.length < 2 && query.indexOf('>') !== 0);\n return !notSearchable;\n }\n\n async indexCiphers(): Promise {\n if (this.indexing) {\n return;\n }\n\n this.logService.time('search indexing');\n this.indexing = true;\n this.index = null;\n const builder = new lunr.Builder();\n builder.ref('id');\n builder.field('shortid', { boost: 100, extractor: (c: CipherView) => c.id.substr(0, 8) });\n builder.field('name', { boost: 10 });\n builder.field('subtitle', {\n boost: 5,\n extractor: (c: CipherView) => {\n if (c.subTitle != null && c.type === CipherType.Card) {\n return c.subTitle.replace(/\\*/g, '');\n }\n return c.subTitle;\n },\n });\n builder.field('notes');\n builder.field('login.username', {\n extractor: (c: CipherView) => c.type === CipherType.Login && c.login != null ? c.login.username : null,\n });\n builder.field('login.uris', { boost: 2, extractor: (c: CipherView) => this.uriExtractor(c) });\n builder.field('fields', { extractor: (c: CipherView) => this.fieldExtractor(c, false) });\n builder.field('fields_joined', { extractor: (c: CipherView) => this.fieldExtractor(c, true) });\n builder.field('attachments', { extractor: (c: CipherView) => this.attachmentExtractor(c, false) });\n builder.field('attachments_joined',\n { extractor: (c: CipherView) => this.attachmentExtractor(c, true) });\n builder.field('organizationid', { extractor: (c: CipherView) => c.organizationId });\n const ciphers = await this.cipherService.getAllDecrypted();\n ciphers.forEach((c) => builder.add(c));\n this.index = builder.build();\n this.indexing = false;\n\n this.logService.timeEnd('search indexing');\n }\n\n async searchCiphers(query: string,\n filter: (((cipher: CipherView) => boolean) | (((cipher: CipherView) => boolean)[])) = null,\n ciphers: CipherView[] = null):\n Promise {\n const results: CipherView[] = [];\n if (query != null) {\n query = query.trim().toLowerCase();\n }\n if (query === '') {\n query = null;\n }\n\n if (ciphers == null) {\n ciphers = await this.cipherService.getAllDecrypted();\n }\n\n if (filter != null && Array.isArray(filter) && filter.length > 0) {\n ciphers = ciphers.filter((c) => filter.every((f) => f == null || f(c)));\n } else if (filter != null) {\n ciphers = ciphers.filter(filter as (cipher: CipherView) => boolean);\n }\n\n if (!this.isSearchable(query)) {\n return ciphers;\n }\n\n if (this.indexing) {\n await new Promise((r) => setTimeout(r, 250));\n if (this.indexing) {\n await new Promise((r) => setTimeout(r, 500));\n }\n }\n\n const index = this.getIndexForSearch();\n if (index == null) {\n // Fall back to basic search if index is not available\n return this.searchCiphersBasic(ciphers, query);\n }\n\n const ciphersMap = new Map();\n ciphers.forEach((c) => ciphersMap.set(c.id, c));\n\n let searchResults: lunr.Index.Result[] = null;\n const isQueryString = query != null && query.length > 1 && query.indexOf('>') === 0;\n if (isQueryString) {\n try {\n searchResults = index.search(query.substr(1).trim());\n } catch { }\n } else {\n // tslint:disable-next-line\n const soWild = lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING;\n searchResults = index.query((q) => {\n lunr.tokenizer(query).forEach((token) => {\n const t = token.toString();\n q.term(t, { fields: ['name'], wildcard: soWild });\n q.term(t, { fields: ['subtitle'], wildcard: soWild });\n q.term(t, { fields: ['login.uris'], wildcard: soWild });\n q.term(t, {});\n });\n });\n }\n\n if (searchResults != null) {\n searchResults.forEach((r) => {\n if (ciphersMap.has(r.ref)) {\n results.push(ciphersMap.get(r.ref));\n }\n });\n }\n return results;\n }\n\n searchCiphersBasic(ciphers: CipherView[], query: string, deleted: boolean = false) {\n query = query.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (deleted !== c.isDeleted) {\n return false;\n }\n if (c.name != null && c.name.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (query.length >= 8 && c.id.startsWith(query)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n return false;\n });\n }\n\n searchSends(sends: SendView[], query: string) {\n query = query.trim().toLocaleLowerCase();\n\n return sends.filter(s => {\n if (s.name != null && s.name.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (query.length >= 8 && (s.id.startsWith(query) || (s.file?.id != null && s.file.id.startsWith(query)))) {\n return true;\n }\n if (s.notes != null && s.notes.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (s.text?.text != null && s.text.text.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (s.file?.fileName != null && s.file.fileName.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n });\n }\n\n getIndexForSearch(): lunr.Index {\n return this.index;\n }\n\n private fieldExtractor(c: CipherView, joined: boolean) {\n if (!c.hasFields) {\n return null;\n }\n let fields: string[] = [];\n c.fields.forEach((f) => {\n if (f.name != null) {\n fields.push(f.name);\n }\n if (f.type === FieldType.Text && f.value != null) {\n fields.push(f.value);\n }\n });\n fields = fields.filter((f) => f.trim() !== '');\n if (fields.length === 0) {\n return null;\n }\n return joined ? fields.join(' ') : fields;\n }\n\n private attachmentExtractor(c: CipherView, joined: boolean) {\n if (!c.hasAttachments) {\n return null;\n }\n let attachments: string[] = [];\n c.attachments.forEach((a) => {\n if (a != null && a.fileName != null) {\n if (joined && a.fileName.indexOf('.') > -1) {\n attachments.push(a.fileName.substr(0, a.fileName.lastIndexOf('.')));\n } else {\n attachments.push(a.fileName);\n }\n }\n });\n attachments = attachments.filter((f) => f.trim() !== '');\n if (attachments.length === 0) {\n return null;\n }\n return joined ? attachments.join(' ') : attachments;\n }\n\n private uriExtractor(c: CipherView) {\n if (c.type !== CipherType.Login || c.login == null || !c.login.hasUris) {\n return null;\n }\n const uris: string[] = [];\n c.login.uris.forEach((u) => {\n if (u.uri == null || u.uri === '') {\n return;\n }\n if (u.hostname != null) {\n uris.push(u.hostname);\n return;\n }\n let uri = u.uri;\n if (u.match !== UriMatchType.RegularExpression) {\n const protocolIndex = uri.indexOf('://');\n if (protocolIndex > -1) {\n uri = uri.substr(protocolIndex + 3);\n }\n const queryIndex = uri.search(/\\?|&|#/);\n if (queryIndex > -1) {\n uri = uri.substring(0, queryIndex);\n }\n }\n uris.push(uri);\n });\n return uris.length > 0 ? uris : null;\n }\n}\n","import { SendData } from '../models/data/sendData';\n\nimport { SendRequest } from '../models/request/sendRequest';\n\nimport { SendResponse } from '../models/response/sendResponse';\n\nimport { Send } from '../models/domain/send';\nimport { SendFile } from '../models/domain/sendFile';\nimport { SendText } from '../models/domain/sendText';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { SendType } from '../enums/sendType';\n\nimport { SendView } from '../models/view/sendView';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { SendService as SendServiceAbstraction } from '../abstractions/send.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n sendsPrefix: 'sends_',\n};\n\nexport class SendService implements SendServiceAbstraction {\n decryptedSendCache: SendView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private apiService: ApiService, private storageService: StorageService,\n private i18nService: I18nService, private cryptoFunctionService: CryptoFunctionService) { }\n\n clearCache(): void {\n this.decryptedSendCache = null;\n }\n\n async encrypt(model: SendView, file: File, password: string,\n key?: SymmetricCryptoKey): Promise<[Send, ArrayBuffer]> {\n let fileData: ArrayBuffer = null;\n const send = new Send();\n send.id = model.id;\n send.type = model.type;\n send.disabled = model.disabled;\n send.maxAccessCount = model.maxAccessCount;\n if (model.key == null) {\n model.key = await this.cryptoFunctionService.randomBytes(16);\n model.cryptoKey = await this.cryptoService.makeSendKey(model.key);\n }\n if (password != null) {\n const passwordHash = await this.cryptoFunctionService.pbkdf2(password, model.key, 'sha256', 100000);\n send.password = Utils.fromBufferToB64(passwordHash);\n }\n send.key = await this.cryptoService.encrypt(model.key, key);\n send.name = await this.cryptoService.encrypt(model.name, model.cryptoKey);\n send.notes = await this.cryptoService.encrypt(model.notes, model.cryptoKey);\n if (send.type === SendType.Text) {\n send.text = new SendText();\n send.text.text = await this.cryptoService.encrypt(model.text.text, model.cryptoKey);\n send.text.hidden = model.text.hidden;\n } else if (send.type === SendType.File) {\n send.file = new SendFile();\n if (file != null) {\n fileData = await this.parseFile(send, file, model.cryptoKey);\n }\n }\n\n return [send, fileData];\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null || !sends.hasOwnProperty(id)) {\n return null;\n }\n\n return new Send(sends[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n const response: Send[] = [];\n for (const id in sends) {\n if (sends.hasOwnProperty(id)) {\n response.push(new Send(sends[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedSendCache != null) {\n return this.decryptedSendCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const decSends: SendView[] = [];\n const promises: Promise[] = [];\n const sends = await this.getAll();\n sends.forEach((send) => {\n promises.push(send.decrypt().then((f) => decSends.push(f)));\n });\n\n await Promise.all(promises);\n decSends.sort(Utils.getSortFunction(this.i18nService, 'name'));\n\n this.decryptedSendCache = decSends;\n return this.decryptedSendCache;\n }\n\n async saveWithServer(sendData: [Send, ArrayBuffer]): Promise {\n const request = new SendRequest(sendData[0]);\n let response: SendResponse;\n if (sendData[0].id == null) {\n if (sendData[0].type === SendType.Text) {\n response = await this.apiService.postSend(request);\n } else {\n const fd = new FormData();\n try {\n const blob = new Blob([sendData[1]], { type: 'application/octet-stream' });\n fd.append('model', JSON.stringify(request));\n fd.append('data', blob, sendData[0].file.fileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('model', JSON.stringify(request));\n fd.append('data', Buffer.from(sendData[1]) as any, {\n filepath: sendData[0].file.fileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n response = await this.apiService.postSendFile(fd);\n }\n sendData[0].id = response.id;\n } else {\n response = await this.apiService.putSend(sendData[0].id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new SendData(response, userId);\n await this.upsert(data);\n }\n\n async upsert(send: SendData | SendData[]): Promise {\n const userId = await this.userService.getUserId();\n let sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null) {\n sends = {};\n }\n\n if (send instanceof SendData) {\n const s = send as SendData;\n sends[s.id] = s;\n } else {\n (send as SendData[]).forEach((s) => {\n sends[s.id] = s;\n });\n }\n\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async replace(sends: { [id: string]: SendData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.sendsPrefix + userId);\n this.decryptedSendCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (sends[id] == null) {\n return;\n }\n delete sends[id];\n } else {\n (id as string[]).forEach((i) => {\n delete sends[i];\n });\n }\n\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteSend(id);\n await this.delete(id);\n }\n\n async removePasswordWithServer(id: string): Promise {\n const response = await this.apiService.putSendRemovePassword(id);\n const userId = await this.userService.getUserId();\n const data = new SendData(response, userId);\n await this.upsert(data);\n }\n\n private parseFile(send: Send, file: File, key: SymmetricCryptoKey): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(file);\n reader.onload = async (evt) => {\n try {\n send.file.fileName = await this.cryptoService.encrypt(file.name, key);\n const fileData = await this.cryptoService.encryptToBytes(evt.target.result as ArrayBuffer, key);\n resolve(fileData);\n } catch (e) {\n reject(e);\n }\n };\n reader.onerror = (evt) => {\n reject('Error reading file.');\n };\n });\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nimport { Send } from '../domain/send';\n\nexport class SendRequest {\n type: SendType;\n name: string;\n notes: string;\n key: string;\n maxAccessCount?: number;\n expirationDate: string;\n deletionDate: string;\n text: SendTextApi;\n file: SendFileApi;\n password: string;\n disabled: boolean;\n\n constructor(send: Send) {\n this.type = send.type;\n this.name = send.name ? send.name.encryptedString : null;\n this.notes = send.notes ? send.notes.encryptedString : null;\n this.maxAccessCount = send.maxAccessCount;\n this.expirationDate = send.expirationDate != null ? send.expirationDate.toISOString() : null;\n this.deletionDate = send.deletionDate != null ? send.deletionDate.toISOString() : null;\n this.key = send.key != null ? send.key.encryptedString : null;\n this.password = send.password;\n this.disabled = send.disabled;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendTextApi();\n this.text.text = send.text.text != null ? send.text.text.encryptedString : null;\n this.text.hidden = send.text.hidden;\n break;\n case SendType.File:\n this.file = new SendFileApi();\n this.file.fileName = send.file.fileName != null ? send.file.fileName.encryptedString : null;\n break;\n default:\n break;\n }\n }\n}\n","import { CryptoService } from '../../abstractions/crypto.service';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { Utils } from '../../misc/utils';\n\nimport { SendData } from '../data/sendData';\n\nimport { SendView } from '../view/sendView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SendFile } from './sendFile';\nimport { SendText } from './sendText';\n\nexport class Send extends Domain {\n id: string;\n accessId: string;\n userId: string;\n type: SendType;\n name: CipherString;\n notes: CipherString;\n file: SendFile;\n text: SendText;\n key: CipherString;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: Date;\n expirationDate: Date;\n deletionDate: Date;\n password: string;\n disabled: boolean;\n\n constructor(obj?: SendData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n accessId: null,\n userId: null,\n name: null,\n notes: null,\n key: null,\n }, alreadyEncrypted, ['id', 'accessId', 'userId']);\n\n this.type = obj.type;\n this.maxAccessCount = obj.maxAccessCount;\n this.accessCount = obj.accessCount;\n this.password = obj.password;\n this.disabled = obj.disabled;\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n this.deletionDate = obj.deletionDate != null ? new Date(obj.deletionDate) : null;\n this.expirationDate = obj.expirationDate != null ? new Date(obj.expirationDate) : null;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendText(obj.text, alreadyEncrypted);\n break;\n case SendType.File:\n this.file = new SendFile(obj.file, alreadyEncrypted);\n break;\n default:\n break;\n }\n }\n\n async decrypt(): Promise {\n const model = new SendView(this);\n\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n model.key = await cryptoService.decryptToBytes(this.key, null);\n model.cryptoKey = await cryptoService.makeSendKey(model.key);\n } catch (e) {\n // TODO: error?\n }\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, null, model.cryptoKey);\n\n switch (this.type) {\n case SendType.File:\n model.file = await this.file.decrypt(model.cryptoKey);\n break;\n case SendType.Text:\n model.text = await this.text.decrypt(model.cryptoKey);\n break;\n default:\n break;\n }\n\n return model;\n }\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 { DecryptParameters } from '../models/domain/decryptParameters';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport class WebCryptoFunctionService implements CryptoFunctionService {\n private crypto: Crypto;\n private subtle: SubtleCrypto;\n private isIE: boolean;\n private isOldSafari: 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.isIE = platformUtilsService.isIE();\n const ua = win.navigator.userAgent;\n this.isOldSafari = platformUtilsService.isSafari() &&\n (ua.indexOf(' Version/10.') > -1 || ua.indexOf(' Version/9.') > -1);\n }\n\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number): Promise {\n if (this.isIE || this.isOldSafari) {\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 hkdf(ikm: ArrayBuffer, salt: string | ArrayBuffer, info: string | ArrayBuffer,\n outputByteSize: number, algorithm: 'sha256' | 'sha512'): Promise {\n const saltBuf = this.toBuf(salt);\n const infoBuf = this.toBuf(info);\n\n const hkdfParams: HkdfParams = {\n name: 'HKDF',\n salt: saltBuf,\n info: infoBuf,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', ikm, { name: 'HKDF' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(hkdfParams as any, impKey, outputByteSize * 8);\n }\n\n // ref: https://tools.ietf.org/html/rfc5869\n async hkdfExpand(prk: ArrayBuffer, info: string | ArrayBuffer, outputByteSize: number,\n algorithm: 'sha256' | 'sha512'): Promise {\n const hashLen = algorithm === 'sha256' ? 32 : 64;\n if (outputByteSize > 255 * hashLen) {\n throw new Error('outputByteSize is too large.');\n }\n const prkArr = new Uint8Array(prk);\n if (prkArr.length < hashLen) {\n throw new Error('prk is too small.');\n }\n const infoBuf = this.toBuf(info);\n const infoArr = new Uint8Array(infoBuf);\n let runningOkmLength = 0;\n let previousT = new Uint8Array(0);\n const n = Math.ceil(outputByteSize / hashLen);\n const okm = new Uint8Array(n * hashLen);\n for (let i = 0; i < n; i++) {\n const t = new Uint8Array(previousT.length + infoArr.length + 1);\n t.set(previousT);\n t.set(infoArr, previousT.length);\n t.set([i + 1], t.length - 1);\n previousT = new Uint8Array(await this.hmac(t.buffer, prk, algorithm));\n okm.set(previousT, runningOkmLength);\n runningOkmLength += previousT.length;\n if (runningOkmLength >= outputByteSize) {\n break;\n }\n }\n return okm.slice(0, outputByteSize).buffer;\n }\n\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): Promise {\n if ((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 if (this.isIE && algorithm === 'sha512') {\n const hmac = (forge as any).hmac.create();\n const keyBytes = this.toByteString(key);\n const valueBytes = this.toByteString(value);\n hmac.start(algorithm, keyBytes);\n hmac.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(hmac.digest().data).buffer;\n }\n\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","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 jq from 'jquery';\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\n\nimport {\n BodyOutputType,\n Toast,\n ToasterConfig,\n ToasterContainerComponent,\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 SecurityContext,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\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 { EventService } from 'jslib/abstractions/event.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { NotificationsService } from 'jslib/abstractions/notifications.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { SettingsService } from 'jslib/abstractions/settings.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { RouterService } from './services/router.service';\n\nconst BroadcasterSubscriptionId = 'AppComponent';\nconst IdleTimeout = 60000 * 10; // 10 minutes\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 private idleTimer: number = null;\n private isIdle = false;\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 vaultTimeoutService: VaultTimeoutService, private storageService: StorageService,\n private cryptoService: CryptoService, private collectionService: CollectionService,\n private sanitizer: DomSanitizer, private searchService: SearchService,\n private notificationsService: NotificationsService, private routerService: RouterService,\n private stateService: StateService, private eventService: EventService,\n private policyService: PolicyService) { }\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 'loggedOut':\n case 'unlocked':\n this.notificationsService.updateConnection(false);\n break;\n case 'authBlocked':\n this.router.navigate(['/']);\n break;\n case 'logout':\n this.logOut(!!message.expired);\n break;\n case 'lockVault':\n await this.vaultTimeoutService.lock();\n break;\n case 'locked':\n this.notificationsService.updateConnection(false);\n this.router.navigate(['lock']);\n break;\n case 'lockedUrl':\n window.setTimeout(() => this.routerService.setPreviousUrl(message.url), 500);\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 case 'showToast':\n this.showToast(message);\n break;\n case 'analyticsEventTrack':\n this.analytics.eventTrack.next({\n action: message.action,\n properties: { label: message.label },\n });\n break;\n case 'setFullWidth':\n this.setFullWidth();\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 this.setFullWidth();\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n private async logOut(expired: boolean) {\n await this.eventService.uploadEvents();\n const userId = await this.userService.getUserId();\n\n await Promise.all([\n this.eventService.clearEvents(),\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.policyService.clear(userId),\n this.passwordGenerationService.clear(),\n this.stateService.purge(),\n ]);\n\n this.searchService.clearIndex();\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\n Swal.close();\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 // Idle states\n if (this.isIdle) {\n this.isIdle = false;\n this.idleStateChanged();\n }\n if (this.idleTimer != null) {\n window.clearTimeout(this.idleTimer);\n this.idleTimer = null;\n }\n this.idleTimer = window.setTimeout(() => {\n if (!this.isIdle) {\n this.isIdle = true;\n this.idleStateChanged();\n }\n }, IdleTimeout);\n }\n\n private showToast(msg: any) {\n const toast: Toast = {\n type: msg.type,\n title: msg.title,\n };\n if (typeof (msg.text) === 'string') {\n toast.body = msg.text;\n } else if (msg.text.length === 1) {\n toast.body = msg.text[0];\n } else {\n let message = '';\n msg.text.forEach((t: string) =>\n message += ('

' + this.sanitizer.sanitize(SecurityContext.HTML, t) + '

'));\n toast.body = message;\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\n }\n if (msg.options != null) {\n if (msg.options.trustedHtml === true) {\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\n }\n if (msg.options.timeout != null && msg.options.timeout > 0) {\n toast.timeout = msg.options.timeout;\n }\n }\n this.toasterService.popAsync(toast);\n }\n\n private idleStateChanged() {\n if (this.isIdle) {\n this.notificationsService.disconnectFromInactivity();\n } else {\n this.notificationsService.reconnectFromActivity();\n }\n }\n\n private async setFullWidth() {\n const enableFullWidth = await this.storageService.get('enableFullWidth');\n if (enableFullWidth) {\n document.body.classList.add('full-width');\n } else {\n document.body.classList.remove('full-width');\n }\n }\n}\n","\n\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { SendAccess } from 'jslib/models/domain/sendAccess';\n\nimport { SendAccessView } from 'jslib/models/view/sendAccessView';\n\nimport { SendType } from 'jslib/enums/sendType';\nimport { SendAccessRequest } from 'jslib/models/request/sendAccessRequest';\nimport { ErrorResponse } from 'jslib/models/response/errorResponse';\n\nimport { SendAccessResponse } from 'jslib/models/response/sendAccessResponse';\n\n@Component({\n selector: 'app-send-access',\n templateUrl: 'access.component.html',\n})\nexport class AccessComponent implements OnInit {\n send: SendAccessView;\n sendType = SendType;\n downloading = false;\n loading = true;\n passwordRequired = false;\n formPromise: Promise;\n password: string;\n showText = false;\n unavailable = false;\n error = false;\n\n private id: string;\n private key: string;\n private decKey: SymmetricCryptoKey;\n\n constructor(private i18nService: I18nService, private cryptoFunctionService: CryptoFunctionService,\n private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private route: ActivatedRoute, private cryptoService: CryptoService) {\n }\n\n get sendText() {\n if (this.send == null || this.send.text == null) {\n return null;\n }\n return this.showText ? this.send.text.text : this.send.text.maskedText;\n }\n\n ngOnInit() {\n this.route.params.subscribe(async (params) => {\n this.id = params.sendId;\n this.key = params.key;\n if (this.key == null || this.id == null) {\n return;\n }\n await this.load();\n });\n }\n\n async download() {\n if (this.send == null || this.decKey == null) {\n return;\n }\n\n if (this.downloading) {\n return;\n }\n\n this.downloading = true;\n const response = await fetch(new Request(this.send.file.url, { cache: 'no-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n this.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, this.decKey);\n this.platformUtilsService.saveFile(window, decBuf, null, this.send.file.fileName);\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n this.downloading = false;\n }\n\n copyText() {\n this.platformUtilsService.copyToClipboard(this.send.text.text);\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('valueCopied', this.i18nService.t('sendTypeText')));\n }\n\n toggleText() {\n this.showText = !this.showText;\n }\n\n async load() {\n this.unavailable = false;\n this.error = false;\n const keyArray = Utils.fromUrlB64ToArray(this.key);\n const accessRequest = new SendAccessRequest();\n if (this.password != null) {\n const passwordHash = await this.cryptoFunctionService.pbkdf2(this.password, keyArray, 'sha256', 100000);\n accessRequest.password = Utils.fromBufferToB64(passwordHash);\n }\n try {\n let sendResponse: SendAccessResponse = null;\n if (this.loading) {\n sendResponse = await this.apiService.postSendAccess(this.id, accessRequest);\n } else {\n this.formPromise = this.apiService.postSendAccess(this.id, accessRequest);\n sendResponse = await this.formPromise;\n }\n this.passwordRequired = false;\n const sendAccess = new SendAccess(sendResponse);\n this.decKey = await this.cryptoService.makeSendKey(keyArray);\n this.send = await sendAccess.decrypt(this.decKey);\n this.showText = this.send.text != null ? !this.send.text.hidden : true;\n } catch (e) {\n if (e instanceof ErrorResponse) {\n if (e.statusCode === 401) {\n this.passwordRequired = true;\n } else if (e.statusCode === 404) {\n this.unavailable = true;\n } else {\n this.error = true;\n }\n }\n }\n this.loading = false;\n }\n}\n","
\n
\n
\n

Bitwarden Send

\n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{'sendProtectedPassword' | i18n}}

\n

{{'sendProtectedPasswordDontKnow' | i18n}}

\n
\n \n \n
\n
\n \n
\n
\n
\n {{'sendAccessUnavailable' | i18n}}\n
\n
\n {{'unexpectedError' | i18n}}\n
\n
\n

{{send.name}}

\n
\n \n \n {{'sendHiddenByDefault' | i18n}}\n
\n \n
\n \n \n
\n \n \n

{{send.file.fileName}}

\n \n
\n
\n
\n
\n
\n
\n","import { SendType } from '../../enums/sendType';\n\nimport { SendAccessResponse } from '../response/sendAccessResponse';\n\nimport { SendAccessView } from '../view/sendAccessView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SendFile } from './sendFile';\nimport { SendText } from './sendText';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class SendAccess extends Domain {\n id: string;\n type: SendType;\n name: CipherString;\n file: SendFile;\n text: SendText;\n\n constructor(obj?: SendAccessResponse, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n name: null,\n }, alreadyEncrypted, ['id']);\n\n this.type = obj.type;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendText(obj.text, alreadyEncrypted);\n break;\n case SendType.File:\n this.file = new SendFile(obj.file, alreadyEncrypted);\n break;\n default:\n break;\n }\n }\n\n async decrypt(key: SymmetricCryptoKey): Promise {\n const model = new SendAccessView(this);\n\n await this.decryptObj(model, {\n name: null,\n }, null, key);\n\n switch (this.type) {\n case SendType.File:\n model.file = await this.file.decrypt(key);\n break;\n case SendType.Text:\n model.text = await this.text.decrypt(key);\n break;\n default:\n break;\n }\n\n return model;\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendAccess } from '../domain/sendAccess';\n\nimport { SendFileView } from './sendFileView';\nimport { SendTextView } from './sendTextView';\nimport { View } from './view';\n\nexport class SendAccessView implements View {\n id: string = null;\n name: string = null;\n type: SendType = null;\n text = new SendTextView();\n file = new SendFileView();\n\n constructor(s?: SendAccess) {\n if (!s) {\n return;\n }\n\n this.id = s.id;\n this.type = s.type;\n }\n}\n","export class SendAccessRequest {\n password: string;\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appBlurClick]',\n})\nexport class BlurClickDirective {\n constructor(private el: ElementRef) {\n }\n\n @HostListener('click') onClick() {\n this.el.nativeElement.blur();\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n OnInit,\n} from '@angular/core';\n\n@Directive({\n selector: '[appBoxRow]',\n})\nexport class BoxRowDirective implements OnInit {\n el: HTMLElement = null;\n formEls: Element[];\n\n constructor(private elRef: ElementRef) {\n this.el = elRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\n this.formEls.forEach((formEl) => {\n formEl.addEventListener('focus', (event: Event) => {\n this.el.classList.add('active');\n }, false);\n\n formEl.addEventListener('blur', (event: Event) => {\n this.el.classList.remove('active');\n }, false);\n });\n }\n\n @HostListener('click', ['$event']) onClick(event: Event) {\n const target = event.target as HTMLElement;\n if (target !== this.el && !target.classList.contains('progress') &&\n !target.classList.contains('progress-bar')) {\n return;\n }\n\n if (this.formEls.length > 0) {\n const formEl = (this.formEls[0] as HTMLElement);\n if (formEl.tagName.toLowerCase() === 'input') {\n const inputEl = (formEl as HTMLInputElement);\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\n inputEl.click();\n return;\n }\n }\n formEl.focus();\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { CipherView } from '../../models/view/cipherView';\n\n@Pipe({\n name: 'searchCiphers',\n})\nexport class SearchCiphersPipe implements PipeTransform {\n transform(ciphers: CipherView[], searchText: string, deleted: boolean = false): CipherView[] {\n if (ciphers == null || ciphers.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return ciphers.filter((c) => {\n return deleted !== c.isDeleted;\n });\n }\n\n searchText = searchText.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (deleted !== c.isDeleted) {\n return false;\n }\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\n return true;\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"],"sourceRoot":""} \ No newline at end of file diff --git a/app/main.164bd5060b8279190884.css b/app/main.d8139e017ad9a069b29d.css similarity index 99% rename from app/main.164bd5060b8279190884.css rename to app/main.d8139e017ad9a069b29d.css index da7bdf65..ea4474e0 100644 --- a/app/main.164bd5060b8279190884.css +++ b/app/main.d8139e017ad9a069b29d.css @@ -9904,7 +9904,8 @@ button.toast-close-button { background: #fff; box-shadow: 0 0 0.625em #d9d9d9; } .swal2-popup.swal2-toast .swal2-header { - flex-direction: row; } + flex-direction: row; + padding: 0; } .swal2-popup.swal2-toast .swal2-title { flex-grow: 1; justify-content: flex-start; @@ -9921,6 +9922,7 @@ button.toast-close-button { line-height: 0.8; } .swal2-popup.swal2-toast .swal2-content { justify-content: flex-start; + padding: 0; font-size: 1em; } .swal2-popup.swal2-toast .swal2-icon { width: 2em; @@ -9949,13 +9951,14 @@ button.toast-close-button { flex-basis: auto !important; width: auto; height: auto; - margin: 0 .3125em; } - .swal2-popup.swal2-toast .swal2-styled { margin: 0 .3125em; + padding: 0; } + .swal2-popup.swal2-toast .swal2-styled { + margin: .125em .3125em; padding: .3125em .625em; font-size: 1em; } .swal2-popup.swal2-toast .swal2-styled:focus { - box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); } + box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(100, 150, 200, 0.5); } .swal2-popup.swal2-toast .swal2-success { border-color: #a5dc86; } .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] { @@ -10017,7 +10020,7 @@ button.toast-close-button { overflow-x: hidden; transition: background-color 0.1s; -webkit-overflow-scrolling: touch; } - .swal2-container.swal2-backdrop-show { + .swal2-container.swal2-backdrop-show, .swal2-container.swal2-noanimation { background: rgba(0, 0, 0, 0.4); } .swal2-container.swal2-backdrop-hide { background: transparent !important; } @@ -10075,6 +10078,8 @@ button.toast-close-button { flex: 1; align-content: center; justify-content: center; } + .swal2-container.swal2-no-transition { + transition: none !important; } .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen) > .swal2-modal { margin: auto; } @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { @@ -10091,7 +10096,7 @@ button.toast-close-button { max-width: 100%; padding: 1.25em; border: none; - border-radius: 0.3125em; + border-radius: 5px; background: #fff; font-family: inherit; font-size: 1rem; } @@ -10103,7 +10108,8 @@ button.toast-close-button { .swal2-header { display: flex; flex-direction: column; - align-items: center; } + align-items: center; + padding: 0 1.8em; } .swal2-title { position: relative; @@ -10120,49 +10126,36 @@ button.toast-close-button { .swal2-actions { display: flex; z-index: 1; + box-sizing: border-box; flex-wrap: wrap; align-items: center; justify-content: center; width: 100%; - margin: 1.25em auto 0; } + margin: 1.25em auto 0; + padding: 0 1.6em; } .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] { opacity: .4; } .swal2-actions:not(.swal2-loading) .swal2-styled:hover { background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)); } .swal2-actions:not(.swal2-loading) .swal2-styled:active { background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); } - .swal2-actions.swal2-loading .swal2-styled.swal2-confirm { - box-sizing: border-box; - width: 2.5em; - height: 2.5em; - margin: .46875em; - padding: 0; - animation: swal2-rotate-loading 1.5s linear 0s infinite normal; - border: .25em solid transparent; - border-radius: 100%; - border-color: transparent; - background-color: transparent !important; - color: transparent; - cursor: default; - user-select: none; } - .swal2-actions.swal2-loading .swal2-styled.swal2-cancel { - margin-right: 30px; - margin-left: 30px; } - .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after { - content: ''; - display: inline-block; - width: 15px; - height: 15px; - margin-left: 5px; - animation: swal2-rotate-loading 1.5s linear 0s infinite normal; - border: 3px solid #999999; - border-radius: 50%; - border-right-color: transparent; - box-shadow: 1px 1px 1px #fff; } + +.swal2-loader { + display: none; + align-items: center; + justify-content: center; + width: 2.2em; + height: 2.2em; + margin: 0 1.875em; + animation: swal2-rotate-loading 1.5s linear 0s infinite normal; + border-width: 0.25em; + border-style: solid; + border-radius: 100%; + border-color: #2778c4 transparent #2778c4 transparent; } .swal2-styled { - margin: .3125em; - padding: .625em 2em; + margin: 0.3125em; + padding: 0.625em 1.1em; box-shadow: none; font-weight: 500; } .swal2-styled:not([disabled]) { @@ -10171,19 +10164,26 @@ button.toast-close-button { border: 0; border-radius: 0.25em; background: initial; - background-color: #3085d6; + background-color: #2778c4; + color: #fff; + font-size: 1.0625em; } + .swal2-styled.swal2-deny { + border: 0; + border-radius: 0.25em; + background: initial; + background-color: #d14529; color: #fff; font-size: 1.0625em; } .swal2-styled.swal2-cancel { border: 0; border-radius: 0.25em; background: initial; - background-color: #aaa; + background-color: #757575; color: #fff; font-size: 1.0625em; } .swal2-styled:focus { outline: none; - box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); } + box-shadow: 0 0 0 3px rgba(100, 150, 200, 0.5); } .swal2-styled::-moz-focus-inner { border: 0; } @@ -10195,10 +10195,17 @@ button.toast-close-button { color: #545454; font-size: 1em; } -.swal2-timer-progress-bar { +.swal2-timer-progress-bar-container { position: absolute; + right: 0; bottom: 0; left: 0; + height: 0.25em; + overflow: hidden; + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px; } + +.swal2-timer-progress-bar { width: 100%; height: 0.25em; background: rgba(0, 0, 0, 0.2); } @@ -10210,9 +10217,9 @@ button.toast-close-button { .swal2-close { position: absolute; z-index: 2; - /* 1617 */ top: 0; right: 0; + align-items: center; justify-content: center; width: 1.2em; height: 1.2em; @@ -10220,8 +10227,7 @@ button.toast-close-button { overflow: hidden; transition: color 0.1s ease-out; border: none; - border-radius: 0; - outline: initial; + border-radius: 5px; background: transparent; color: #cccccc; font-family: serif; @@ -10232,6 +10238,9 @@ button.toast-close-button { transform: none; background: transparent; color: #f27474; } + .swal2-close:focus { + outline: none; + box-shadow: inset 0 0 0 3px rgba(100, 150, 200, 0.5); } .swal2-close::-moz-focus-inner { border: 0; } @@ -10239,7 +10248,7 @@ button.toast-close-button { z-index: 1; justify-content: center; margin: 0; - padding: 0; + padding: 0 1.6em; color: #545454; font-size: 1.125em; font-weight: normal; @@ -10277,7 +10286,7 @@ button.toast-close-button { .swal2-textarea:focus { border: 1px solid #b4dbed; outline: none; - box-shadow: 0 0 3px #c4e6f5; } + box-shadow: 0 0 0 3px rgba(100, 150, 200, 0.5); } .swal2-input::placeholder, .swal2-file::placeholder, .swal2-textarea::placeholder { @@ -10336,10 +10345,16 @@ button.toast-close-button { .swal2-checkbox input { margin: 0 .4em; } +.swal2-input-label { + display: flex; + justify-content: center; + margin: 1em auto; } + .swal2-validation-message { display: none; align-items: center; justify-content: center; + margin: 0 -2.7em; padding: 0.625em; overflow: hidden; background: #f0f0f0; @@ -10367,8 +10382,9 @@ button.toast-close-button { width: 5em; height: 5em; margin: 1.25em auto 1.875em; - border: .25em solid transparent; + border: 0.25em solid transparent; border-radius: 50%; + border-color: #000; font-family: inherit; line-height: 5em; cursor: default; @@ -10474,7 +10490,9 @@ button.toast-close-button { animation: swal2-rotate-success-circular-line 4.25s ease-in; } .swal2-progress-steps { + flex-wrap: wrap; align-items: center; + max-width: 100%; margin: 0 0 1.25em; padding: 0; background: inherit; @@ -10484,15 +10502,16 @@ button.toast-close-button { position: relative; } .swal2-progress-steps .swal2-progress-step { z-index: 20; + flex-shrink: 0; width: 2em; height: 2em; border-radius: 2em; - background: #3085d6; + background: #2778c4; color: #fff; line-height: 2em; text-align: center; } .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step { - background: #3085d6; } + background: #2778c4; } .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step { background: #add8e6; color: #fff; } @@ -10500,10 +10519,11 @@ button.toast-close-button { background: #add8e6; } .swal2-progress-steps .swal2-progress-step-line { z-index: 10; + flex-shrink: 0; width: 2.5em; height: .4em; margin: 0 -1px; - background: #3085d6; } + background: #2778c4; } [class^='swal2'] { -webkit-tap-highlight-color: transparent; } @@ -10544,10 +10564,6 @@ button.toast-close-button { .swal2-range output { display: none; } } -@-moz-document url-prefix() { - .swal2-close:focus { - outline: 2px solid rgba(50, 100, 150, 0.4); } } - @keyframes swal2-toast-show { 0% { transform: translateY(-0.625em) rotateZ(2deg); } @@ -10929,6 +10945,9 @@ body.swal2-toast-column .swal2-toast { .swal2-popup .swal2-actions button.swal2-cancel { background-color: #ffffff; } +date-input-polyfill[data-open="true"] { + z-index: 10000 !important; } + html { font-size: 14px; } @@ -11034,7 +11053,7 @@ input:required, select:required, textarea:required { .modal-lg { width: 800px; } -.modal-body h3 { +.modal-body h3, .modal-body .section-header > * { font-weight: normal; text-transform: uppercase; color: #6c757d; } @@ -11060,12 +11079,20 @@ input[type="search"]::-webkit-search-cancel-button { border-color: #ced4da; background-color: #fbfbfb; } +.btn-link:focus, .btn-link.focus { + outline-color: -webkit-focus-ring-color; + outline-offset: 1px; + outline-style: auto; + outline-width: 1px; } + .btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel { color: #6c757d; } .btn-outline-secondary:hover:not(:disabled), .swal2-popup .swal2-actions button.swal2-cancel:hover:not(:disabled) { color: #333333; } .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled { opacity: 1; } + .btn-outline-secondary:focus, .swal2-popup .swal2-actions button.swal2-cancel:focus, .btn-outline-secondary.focus, .swal2-popup .swal2-actions button.focus.swal2-cancel { + box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); } .btn-submit { position: relative; } @@ -11083,6 +11110,12 @@ input[type="search"]::-webkit-search-cancel-button { .btn-submit:disabled:not(.manual) span, .btn-submit.loading span { visibility: hidden; } +.list-group-item:focus, .list-group-item.focus { + z-index: 100; } + +.fa-icon-above-input { + height: 1.5em; } + .table.table-list thead th { border-top: none; } @@ -11424,4 +11457,4 @@ img.logo { padding-right: 40px; } -/*# sourceMappingURL=main.164bd5060b8279190884.css.map*/ \ No newline at end of file +/*# sourceMappingURL=main.d8139e017ad9a069b29d.css.map*/ \ No newline at end of file diff --git a/app/main.d8139e017ad9a069b29d.css.map b/app/main.d8139e017ad9a069b29d.css.map new file mode 100644 index 00000000..ef861e59 --- /dev/null +++ b/app/main.d8139e017ad9a069b29d.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/css/webfonts.css","webpack:///./src/scss/styles.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH;;AAEhH;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA;AACA,sBAAsB;;AAEtB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,iBAAiB;;AAEjB;AACA,aAAa;;AAEb;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,0BAA0B;AAC1B;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,yBAAyB;;AAEzB;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,sBAAsB;;AAEtB;AACA;AACA,wBAAwB;;AAExB;AACA,mBAAmB;;AAEnB;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA,uBAAuB;;AAEvB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,2BAA2B;;AAE3B;AACA;AACA,eAAe;;AAEf;AACA;AACA,2BAA2B;;AAE3B;AACA,2BAA2B;;AAE3B;AACA;AACA,6BAA6B;;AAE7B;AACA,wBAAwB;;AAExB;AACA;AACA,kBAAkB;;AAElB;AACA,gBAAgB;;AAEhB;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,oBAAoB;;AAEpB;AACA,oBAAoB;;AAEpB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;AACxB;AACA,yBAAyB;;AAEzB;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,wBAAwB;;AAExB;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA,wBAAwB;;AAExB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,wBAAwB,EAAE;;AAE1B;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,kBAAkB;;AAElB;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,wBAAwB;;AAExB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,qCAAqC;AACrC;AACA,kCAAkC;;AAElC;AACA;AACA,kBAAkB;;AAElB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA,wCAAwC;;AAExC;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,wCAAwC;AACxC;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,cAAc;AACd;AACA,gDAAgD;AAChD;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;;AAEf;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,sBAAsB;;AAEtB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qFAAqF;;AAErF;AACA;AACA;AACA,mhBAAmhB;AACnhB;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;AACjB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,4BAA4B;;AAE5B;AACA,kDAAkD;;AAElD;AACA,wBAAwB;;AAExB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qFAAqF;;AAErF;AACA;AACA;AACA,6jBAA6jB;AAC7jB;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;AACjB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,4BAA4B;;AAE5B;AACA,mDAAmD;;AAEnD;AACA,wBAAwB;;AAExB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,4BAA4B;AAC5B;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI;AACxI;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;AACrD;AACA,kBAAkB;;AAElB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,cAAc;AACd;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,cAAc;;AAEd;AACA,mCAAmC;AACnC;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,eAAe;;AAEf;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,UAAU;;AAEV;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,kCAAkC;;AAElC;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,gBAAgB;;AAEhB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oBAAoB;;AAEpB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,qDAAqD;AACrD;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mBAAmB;AACnB;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,yBAAyB;;AAEzB;AACA,gNAAgN;;AAEhN;AACA;AACA,4BAA4B;;AAE5B;AACA,6JAA6J;;AAE7J;AACA,2CAA2C;;AAE3C;AACA,2CAA2C;;AAE3C;AACA,qBAAqB;;AAErB;AACA,0JAA0J;;AAE1J;AACA,2CAA2C;;AAE3C;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8IAA8I;AAC9I;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA;AACA,mCAAmC;AACnC;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,8BAA8B;AAC9B;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,qDAAqD;AACrD;AACA,8BAA8B;AAC9B;AACA,sBAAsB;AACtB;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,kBAAkB;AAClB;AACA,0EAA0E;AAC1E;AACA,0EAA0E;AAC1E;AACA,0EAA0E;AAC1E;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,oBAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA,oBAAoB;AACpB;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,+GAA+G;AAC/G;AACA;AACA;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,uBAAuB;AACvB;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA,mCAAmC;AACnC;AACA,wBAAwB;AACxB;AACA;AACA;AACA,qCAAqC;AACrC;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,gBAAgB;;AAEhB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,oBAAoB;AACpB;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,oBAAoB;AACpB;AACA,wBAAwB;AACxB;AACA,yBAAyB;AACzB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,sBAAsB;AACtB;AACA;AACA,qBAAqB;AACrB;AACA,kBAAkB;;AAElB;AACA,4BAA4B;AAC5B;AACA,8BAA8B;;AAE9B;AACA,4BAA4B;AAC5B;AACA,8BAA8B;AAC9B;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,mCAAmC;;AAEnC;AACA,2PAA2P;;AAE3P;AACA,4BAA4B;AAC5B;AACA,8BAA8B;AAC9B;AACA,gCAAgC;;AAEhC;AACA,cAAc;AACd;AACA,gBAAgB;;AAEhB;AACA,kCAAkC;AAClC;AACA,oCAAoC;AACpC;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA,yCAAyC;;AAEzC;AACA,iQAAiQ;;AAEjQ;AACA,kCAAkC;AAClC;AACA,gBAAgB;AAChB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,qCAAqC;AACrC;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,+DAA+D;AAC/D;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,+DAA+D;;AAE/D;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA,yBAAyB;AACzB;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,EAAE;;AAE5B;AACA;AACA,yBAAyB;AACzB;AACA,wBAAwB;AACxB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,uCAAuC;AACvC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,yCAAyC,EAAE;;AAE3C;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,kBAAkB,EAAE;;AAEpB;AACA,mBAAmB;AACnB;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,6BAA6B;;AAE7B;AACA,wBAAwB;;AAExB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI;AACxI;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,0BAA0B;AAC1B;AACA,kBAAkB;;AAElB;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB,EAAE;;AAE3B;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA,gCAAgC;AAChC;AACA,6BAA6B,EAAE;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA,6BAA6B;;AAE7B;AACA,qDAAqD;AACrD;AACA;AACA,sBAAsB,EAAE;;AAExB;AACA;AACA,0BAA0B;;AAE1B;AACA,UAAU;;AAEV;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA,sBAAsB;AACtB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA;AACA,mBAAmB;AACnB;AACA,wBAAwB;;AAExB;AACA,gBAAgB;;AAEhB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,0BAA0B;AAC1B;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,uBAAuB;;AAEvB;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mCAAmC;AACnC;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,oBAAoB;;AAEpB;AACA;AACA,gCAAgC;AAChC;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB;AACnB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,uBAAuB;AACvB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,eAAe;AACf;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,wBAAwB;AACxB;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,oCAAoC;AACpC;AACA,uCAAuC;AACvC;AACA,oCAAoC;AACpC;AACA,mCAAmC;AACnC;AACA,qBAAqB,EAAE;;AAEvB;AACA;AACA;AACA,qBAAqB,EAAE;;AAEvB;AACA;AACA,sBAAsB,EAAE;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA,oBAAoB;AACpB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,oBAAoB;AACpB;AACA,WAAW;AACX;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA,oBAAoB;AACpB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA,wBAAwB;AACxB;AACA,sCAAsC;AACtC;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,qBAAqB;AACrB;AACA,mCAAmC;AACnC;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,kBAAkB;;AAElB;AACA;AACA,iBAAiB;;AAEjB;AACA,qBAAqB;;AAErB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,UAAU;;AAEV;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,sMAAsM;;AAEtM;AACA,sMAAsM;;AAEtM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,wBAAwB;AACxB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA,eAAe;;AAEf;AACA,sCAAsC;;AAEtC;AACA,iC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;AACA,kCAAkC;;AAElC;AACA;AACA,gCAAgC;;AAEhC;AACA,6BAA6B;;AAE7B;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,kCAAkC;;AAElC;AACA,2BAA2B;;AAE3B;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,kCAAkC;;AAElC;AACA;AACA,gCAAgC;;AAEhC;AACA,0BAA0B;;AAE1B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA,+GAA+G;;AAE/G;AACA,iCAAiC;;AAEjC;AACA,iCAAiC;;AAEjC;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,8BAA8B;;AAE9B;AACA,+BAA+B;;AAE/B;AACA,gCAAgC;;AAEhC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA,uCAAuC;;AAEvC;AACA,uCAAuC;;AAEvC;AACA,wCAAwC;;AAExC;AACA,8BAA8B;;AAE9B;AACA,kCAAkC;;AAElC;AACA,8BAA8B;;AAE9B;AACA,8BAA8B;;AAE9B;AACA,iCAAiC;;AAEjC;AACA,gCAAgC;;AAEhC;AACA,yBAAyB;;AAEzB;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,uCAAuC;;AAEvC;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA,mCAAmC;;AAEnC;AACA;AACA,uCAAuC;;AAEvC;AACA,4BAA4B;;AAE5B;AACA,iCAAiC;;AAEjC;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA,qCAAqC;AACrC;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,gCAAgC;AAChC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,4BAA4B;AAC5B;AACA,aAAa;AACb;AACA,8BAA8B;AAC9B;AACA,8BAA8B;AAC9B;AACA,kBAAkB;AAClB;AACA,2BAA2B;AAC3B;AACA,yCAAyC;AACzC;AACA;AACA,wCAAwC;AACxC;AACA;AACA,yCAAyC;AACzC;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,0BAA0B,EAAE;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,cAAc;;AAEd;AACA,eAAe;;AAEf;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA,eAAe;;AAEf;AACA,cAAc;;AAEd;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA,wCAAwC;;AAExC;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,uBAAuB;;AAEvB;AACA,iBAAiB;;AAEjB;AACA,cAAc;;AAEd;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA,aAAa;;AAEb;AACA,YAAY;;AAEZ;AACA;AACA,cAAc;;AAEd;AACA;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA;AACA,aAAa;;AAEb;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,ieAAie;;AAEzgB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,6wBAA6wB;;AAErzB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,quBAAquB;;AAE7wB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qyHAAqyH;;AAE70H;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qsBAAqsB;;AAE7uB;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,kBAAkB;AAClB;AACA;AACA,qBAAqB;AACrB;AACA,sBAAsB;AACtB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,mBAAmB;AACnB;AACA,qEAAqE;AACrE;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,sBAAsB;AACtB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,uBAAuB;AACvB;AACA,2DAA2D;AAC3D;AACA,4DAA4D;AAC5D;AACA,qCAAqC;AACrC;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,mCAAmC;AACnC;AACA,uCAAuC;AACvC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,wBAAwB;AACxB;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,0BAA0B;AAC1B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA,8BAA8B;AAC9B;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,gCAAgC;AAChC;AACA,iBAAiB;AACjB;AACA;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,kBAAkB;AAClB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA,8EAA8E;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,mDAAmD;AACnD;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yDAAyD;AACzD;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;AACnB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;;AAEpB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA,kDAAkD;AAClD;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,qDAAqD;AACrD;AACA,sDAAsD;AACtD;AACA,kEAAkE;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,0BAA0B;AAC1B;AACA;AACA,oBAAoB;AACpB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,2CAA2C;;AAE3C;AACA,6BAA6B;;AAE7B;AACA,uCAAuC;;AAEvC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,UAAU;;AAEV;AACA;AACA,aAAa;;AAEb;AACA;AACA,2BAA2B;AAC3B;AACA,kBAAkB,EAAE;;AAEpB;AACA;AACA,2BAA2B;AAC3B;AACA,kBAAkB,EAAE;;AAEpB;AACA;AACA,kDAAkD;AAClD;AACA,4CAA4C;AAC5C;AACA,kDAAkD;AAClD;AACA,2CAA2C,EAAE;;AAE7C;AACA;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB,EAAE;;AAEnB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,mBAAmB,EAAE;;AAErB;AACA;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,wBAAwB,EAAE;;AAE1B;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA,8BAA8B;AAC9B;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA,+BAA+B,EAAE;;AAEjC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA,4BAA4B;AAC5B;AACA,8BAA8B,EAAE;;AAEhC;AACA,mBAAmB;;AAEnB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,YAAY;AACZ;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc;;AAEd;AACA;AACA,kCAAkC;AAClC;AACA,oBAAoB;AACpB;AACA,kCAAkC,EAAE;;AAEpC;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,mBAAmB;;AAEnB;AACA,YAAY;;AAEZ;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,kBAAkB;AAClB;AACA,0BAA0B;AAC1B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;;AAEvB;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA,0BAA0B;AAC1B;AACA,kCAAkC;;AAElC;AACA,4BAA4B;;AAE5B;AACA,kBAAkB;;AAElB;AACA,oBAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA,wBAAwB;AACxB;AACA,cAAc;;AAEd;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;AACrB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,qBAAqB;;AAErB;AACA;AACA,uBAAuB;;AAEvB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,yBAAyB;;AAEzB;AACA,qBAAqB;;AAErB;AACA,qBAAqB;AACrB;AACA,0BAA0B;AAC1B;AACA,aAAa;AACb;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;AACnB;AACA,wBAAwB;;AAExB;AACA,qBAAqB;;AAErB;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,mBAAmB;;AAEnB;AACA,gDAAgD;;AAEhD;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,iBAAiB;AACjB;AACA,mBAAmB;AACnB;AACA,eAAe;AACf;AACA,qDAAqD;;AAErD;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,kBAAkB;AAClB;AACA,uBAAuB;;AAEvB;AACA,eAAe;;AAEf;AACA,gBAAgB;;AAEhB;AACA,mBAAmB;;AAEnB;AACA,eAAe;;AAEf;AACA,yBAAyB;AACzB;AACA,mBAAmB;AACnB;AACA,qBAAqB;AACrB;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,qBAAqB;AACrB;AACA;AACA,wBAAwB;AACxB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;;AAErB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,gCAAgC;;AAEhC;AACA,qBAAqB;;AAErB;AACA,gCAAgC;;AAEhC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,iBAAiB;AACjB;AACA,8BAA8B;;AAE9B;AACA,gBAAgB;;AAEhB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;;AAEpG;AACA,iBAAiB;AACjB;AACA,sGAAsG;;AAEtG;AACA,gBAAgB;;AAEhB;AACA,eAAe;AACf;AACA,oBAAoB;;AAEpB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,mBAAmB;;AAEnB;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA,mBAAmB;;AAEnB;AACA,eAAe;;AAEf;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,sBAAsB;;AAEtB;AACA,iBAAiB;;AAEjB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,kBAAkB;AAClB;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;;AAErB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;AACnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,wBAAwB;;AAExB;AACA,eAAe;;AAEf;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,uDAAuD;AACvD;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,iBAAiB;AACjB;AACA,wBAAwB;AACxB;AACA,qBAAqB;AACrB;AACA,kCAAkC;AAClC;AACA;AACA;AACA,wCAAwC;AACxC;AACA,uBAAuB;AACvB;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,kBAAkB;;AAElB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA,mBAAmB;AACnB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,sBAAsB","file":"app/main.d8139e017ad9a069b29d.css","sourcesContent":["@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 300;\n\tsrc: url(../fonts/Open_Sans-italic-300.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 400;\n\tsrc: url(../fonts/Open_Sans-italic-400.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 600;\n\tsrc: url(../fonts/Open_Sans-italic-600.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 700;\n\tsrc: url(../fonts/Open_Sans-italic-700.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 800;\n\tsrc: url(../fonts/Open_Sans-italic-800.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 300;\n\tsrc: url(../fonts/Open_Sans-normal-300.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 400;\n\tsrc: url(../fonts/Open_Sans-normal-400.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 600;\n\tsrc: url(../fonts/Open_Sans-normal-600.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 700;\n\tsrc: url(../fonts/Open_Sans-normal-700.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 800;\n\tsrc: url(../fonts/Open_Sans-normal-800.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n","@charset \"UTF-8\";\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #175DDC;\n --secondary: #ced4da;\n --success: #00a65a;\n --info: #555555;\n --warning: #bf7e16;\n --danger: #dd4b39;\n --light: #f8f9fa;\n --dark: #343a40;\n --primary-accent: #1252A3;\n --secondary-alt: #1A3B66;\n --breakpoint-xs: 0;\n --breakpoint-sm: 1px;\n --breakpoint-md: 2px;\n --breakpoint-lg: 3px;\n --breakpoint-xl: 4px;\n --font-family-sans-serif: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; }\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block; }\n\nbody {\n margin: 0;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #333333;\n text-align: left;\n background-color: #ffffff; }\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important; }\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible; }\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem; }\n\np {\n margin-top: 0;\n margin-bottom: 1rem; }\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none; }\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit; }\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem; }\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0; }\n\ndt {\n font-weight: 700; }\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; }\n\nblockquote {\n margin: 0 0 1rem; }\n\nb,\nstrong {\n font-weight: bolder; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline; }\n\nsub {\n bottom: -.25em; }\n\nsup {\n top: -.5em; }\n\na {\n color: #175DDC;\n text-decoration: none;\n background-color: transparent; }\n a:hover {\n color: #104097;\n text-decoration: underline; }\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none; }\n a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none; }\n a:not([href]):not([tabindex]):focus {\n outline: 0; }\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em; }\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto; }\n\nfigure {\n margin: 0 0 1rem; }\n\nimg {\n vertical-align: middle;\n border-style: none; }\n\nsvg {\n overflow: hidden;\n vertical-align: middle; }\n\ntable {\n border-collapse: collapse; }\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom; }\n\nth {\n text-align: inherit; }\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem; }\n\nbutton {\n border-radius: 0; }\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color; }\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit; }\n\nbutton,\ninput {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nselect {\n word-wrap: normal; }\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; }\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer; }\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none; }\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0; }\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox; }\n\ntextarea {\n overflow: auto;\n resize: vertical; }\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0; }\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal; }\n\nprogress {\n vertical-align: baseline; }\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none; }\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button; }\n\noutput {\n display: inline-block; }\n\nsummary {\n display: list-item;\n cursor: pointer; }\n\ntemplate {\n display: none; }\n\n[hidden] {\n display: none !important; }\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2; }\n\nh1, .h1 {\n font-size: 1.7rem; }\n\nh2, .h2 {\n font-size: 1.3rem; }\n\nh3, .h3 {\n font-size: 1rem; }\n\nh4, .h4 {\n font-size: 1rem; }\n\nh5, .h5 {\n font-size: 1rem; }\n\nh6, .h6 {\n font-size: 1rem; }\n\n.lead {\n font-size: 1.25rem;\n font-weight: normal; }\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1); }\n\nsmall,\n.small {\n font-size: 90%;\n font-weight: 400; }\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3; }\n\n.list-unstyled {\n padding-left: 0;\n list-style: none; }\n\n.list-inline {\n padding-left: 0;\n list-style: none; }\n\n.list-inline-item {\n display: inline-block; }\n .list-inline-item:not(:last-child) {\n margin-right: 0.5rem; }\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase; }\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem; }\n\n.blockquote-footer {\n display: block;\n font-size: 90%;\n color: #6c757d; }\n .blockquote-footer::before {\n content: \"\\2014\\A0\"; }\n\n.img-fluid, .table.table-list td.table-list-icon img {\n max-width: 100%;\n height: auto; }\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #ffffff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto; }\n\n.figure {\n display: inline-block; }\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1; }\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d; }\n\ncode {\n font-size: 100%;\n color: #e83e8c;\n word-break: break-word; }\n a > code {\n color: inherit; }\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 100%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem; }\n kbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700; }\n\npre {\n display: block;\n font-size: 100%;\n color: #212529; }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal; }\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll; }\n\n.container {\n width: 100%;\n padding-right: 10px;\n padding-left: 10px;\n margin-right: auto;\n margin-left: auto; }\n @media (min-width: 1px) {\n .container {\n max-width: 540px; } }\n @media (min-width: 2px) {\n .container {\n max-width: 720px; } }\n @media (min-width: 3px) {\n .container {\n max-width: 960px; } }\n @media (min-width: 4px) {\n .container {\n max-width: 1140px; } }\n\n.container-fluid {\n width: 100%;\n padding-right: 10px;\n padding-left: 10px;\n margin-right: auto;\n margin-left: auto; }\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -10px;\n margin-left: -10px; }\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0; }\n .no-gutters > .col,\n .no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0; }\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 10px;\n padding-left: 10px; }\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n\n.col-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n\n.col-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n\n.col-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n\n.col-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n\n.col-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n\n.col-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n\n.col-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n\n.col-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n\n.order-first {\n order: -1; }\n\n.order-last {\n order: 13; }\n\n.order-0 {\n order: 0; }\n\n.order-1 {\n order: 1; }\n\n.order-2 {\n order: 2; }\n\n.order-3 {\n order: 3; }\n\n.order-4 {\n order: 4; }\n\n.order-5 {\n order: 5; }\n\n.order-6 {\n order: 6; }\n\n.order-7 {\n order: 7; }\n\n.order-8 {\n order: 8; }\n\n.order-9 {\n order: 9; }\n\n.order-10 {\n order: 10; }\n\n.order-11 {\n order: 11; }\n\n.order-12 {\n order: 12; }\n\n.offset-1 {\n margin-left: 8.33333%; }\n\n.offset-2 {\n margin-left: 16.66667%; }\n\n.offset-3 {\n margin-left: 25%; }\n\n.offset-4 {\n margin-left: 33.33333%; }\n\n.offset-5 {\n margin-left: 41.66667%; }\n\n.offset-6 {\n margin-left: 50%; }\n\n.offset-7 {\n margin-left: 58.33333%; }\n\n.offset-8 {\n margin-left: 66.66667%; }\n\n.offset-9 {\n margin-left: 75%; }\n\n.offset-10 {\n margin-left: 83.33333%; }\n\n.offset-11 {\n margin-left: 91.66667%; }\n\n@media (min-width: 1px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-sm-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-sm-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-sm-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-sm-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-sm-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-sm-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-sm-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-sm-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-sm-first {\n order: -1; }\n .order-sm-last {\n order: 13; }\n .order-sm-0 {\n order: 0; }\n .order-sm-1 {\n order: 1; }\n .order-sm-2 {\n order: 2; }\n .order-sm-3 {\n order: 3; }\n .order-sm-4 {\n order: 4; }\n .order-sm-5 {\n order: 5; }\n .order-sm-6 {\n order: 6; }\n .order-sm-7 {\n order: 7; }\n .order-sm-8 {\n order: 8; }\n .order-sm-9 {\n order: 9; }\n .order-sm-10 {\n order: 10; }\n .order-sm-11 {\n order: 11; }\n .order-sm-12 {\n order: 12; }\n .offset-sm-0 {\n margin-left: 0; }\n .offset-sm-1 {\n margin-left: 8.33333%; }\n .offset-sm-2 {\n margin-left: 16.66667%; }\n .offset-sm-3 {\n margin-left: 25%; }\n .offset-sm-4 {\n margin-left: 33.33333%; }\n .offset-sm-5 {\n margin-left: 41.66667%; }\n .offset-sm-6 {\n margin-left: 50%; }\n .offset-sm-7 {\n margin-left: 58.33333%; }\n .offset-sm-8 {\n margin-left: 66.66667%; }\n .offset-sm-9 {\n margin-left: 75%; }\n .offset-sm-10 {\n margin-left: 83.33333%; }\n .offset-sm-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 2px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-md-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-md-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-md-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-md-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-md-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-md-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-md-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-md-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-md-first {\n order: -1; }\n .order-md-last {\n order: 13; }\n .order-md-0 {\n order: 0; }\n .order-md-1 {\n order: 1; }\n .order-md-2 {\n order: 2; }\n .order-md-3 {\n order: 3; }\n .order-md-4 {\n order: 4; }\n .order-md-5 {\n order: 5; }\n .order-md-6 {\n order: 6; }\n .order-md-7 {\n order: 7; }\n .order-md-8 {\n order: 8; }\n .order-md-9 {\n order: 9; }\n .order-md-10 {\n order: 10; }\n .order-md-11 {\n order: 11; }\n .order-md-12 {\n order: 12; }\n .offset-md-0 {\n margin-left: 0; }\n .offset-md-1 {\n margin-left: 8.33333%; }\n .offset-md-2 {\n margin-left: 16.66667%; }\n .offset-md-3 {\n margin-left: 25%; }\n .offset-md-4 {\n margin-left: 33.33333%; }\n .offset-md-5 {\n margin-left: 41.66667%; }\n .offset-md-6 {\n margin-left: 50%; }\n .offset-md-7 {\n margin-left: 58.33333%; }\n .offset-md-8 {\n margin-left: 66.66667%; }\n .offset-md-9 {\n margin-left: 75%; }\n .offset-md-10 {\n margin-left: 83.33333%; }\n .offset-md-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 3px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-lg-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-lg-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-lg-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-lg-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-lg-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-lg-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-lg-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-lg-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-lg-first {\n order: -1; }\n .order-lg-last {\n order: 13; }\n .order-lg-0 {\n order: 0; }\n .order-lg-1 {\n order: 1; }\n .order-lg-2 {\n order: 2; }\n .order-lg-3 {\n order: 3; }\n .order-lg-4 {\n order: 4; }\n .order-lg-5 {\n order: 5; }\n .order-lg-6 {\n order: 6; }\n .order-lg-7 {\n order: 7; }\n .order-lg-8 {\n order: 8; }\n .order-lg-9 {\n order: 9; }\n .order-lg-10 {\n order: 10; }\n .order-lg-11 {\n order: 11; }\n .order-lg-12 {\n order: 12; }\n .offset-lg-0 {\n margin-left: 0; }\n .offset-lg-1 {\n margin-left: 8.33333%; }\n .offset-lg-2 {\n margin-left: 16.66667%; }\n .offset-lg-3 {\n margin-left: 25%; }\n .offset-lg-4 {\n margin-left: 33.33333%; }\n .offset-lg-5 {\n margin-left: 41.66667%; }\n .offset-lg-6 {\n margin-left: 50%; }\n .offset-lg-7 {\n margin-left: 58.33333%; }\n .offset-lg-8 {\n margin-left: 66.66667%; }\n .offset-lg-9 {\n margin-left: 75%; }\n .offset-lg-10 {\n margin-left: 83.33333%; }\n .offset-lg-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 4px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-xl-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-xl-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-xl-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-xl-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-xl-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-xl-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-xl-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-xl-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-xl-first {\n order: -1; }\n .order-xl-last {\n order: 13; }\n .order-xl-0 {\n order: 0; }\n .order-xl-1 {\n order: 1; }\n .order-xl-2 {\n order: 2; }\n .order-xl-3 {\n order: 3; }\n .order-xl-4 {\n order: 4; }\n .order-xl-5 {\n order: 5; }\n .order-xl-6 {\n order: 6; }\n .order-xl-7 {\n order: 7; }\n .order-xl-8 {\n order: 8; }\n .order-xl-9 {\n order: 9; }\n .order-xl-10 {\n order: 10; }\n .order-xl-11 {\n order: 11; }\n .order-xl-12 {\n order: 12; }\n .offset-xl-0 {\n margin-left: 0; }\n .offset-xl-1 {\n margin-left: 8.33333%; }\n .offset-xl-2 {\n margin-left: 16.66667%; }\n .offset-xl-3 {\n margin-left: 25%; }\n .offset-xl-4 {\n margin-left: 33.33333%; }\n .offset-xl-5 {\n margin-left: 41.66667%; }\n .offset-xl-6 {\n margin-left: 50%; }\n .offset-xl-7 {\n margin-left: 58.33333%; }\n .offset-xl-8 {\n margin-left: 66.66667%; }\n .offset-xl-9 {\n margin-left: 75%; }\n .offset-xl-10 {\n margin-left: 83.33333%; }\n .offset-xl-11 {\n margin-left: 91.66667%; } }\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #333333; }\n .table th,\n .table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6; }\n .table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6; }\n .table tbody + tbody {\n border-top: 2px solid #dee2e6; }\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem; }\n\n.table-bordered {\n border: 1px solid #dee2e6; }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6; }\n .table-bordered thead th,\n .table-bordered thead td {\n border-bottom-width: 2px; }\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0; }\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.02); }\n\n.table-hover tbody tr:hover {\n color: #333333;\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bed2f5; }\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #86abed; }\n\n.table-hover .table-primary:hover {\n background-color: #a8c3f2; }\n .table-hover .table-primary:hover > td,\n .table-hover .table-primary:hover > th {\n background-color: #a8c3f2; }\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #f1f3f5; }\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #e6e9ec; }\n\n.table-hover .table-secondary:hover {\n background-color: #e2e6ea; }\n .table-hover .table-secondary:hover > td,\n .table-hover .table-secondary:hover > th {\n background-color: #e2e6ea; }\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #b8e6d1; }\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #7ad1a9; }\n\n.table-hover .table-success:hover {\n background-color: #a5dfc5; }\n .table-hover .table-success:hover > td,\n .table-hover .table-success:hover > th {\n background-color: #a5dfc5; }\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #cfcfcf; }\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #a7a7a7; }\n\n.table-hover .table-info:hover {\n background-color: #c2c2c2; }\n .table-hover .table-info:hover > td,\n .table-hover .table-info:hover > th {\n background-color: #c2c2c2; }\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #eddbbe; }\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #debc86; }\n\n.table-hover .table-warning:hover {\n background-color: #e7d0aa; }\n .table-hover .table-warning:hover > td,\n .table-hover .table-warning:hover > th {\n background-color: #e7d0aa; }\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5cdc8; }\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #eda198; }\n\n.table-hover .table-danger:hover {\n background-color: #f1b9b2; }\n .table-hover .table-danger:hover > td,\n .table-hover .table-danger:hover > th {\n background-color: #f1b9b2; }\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe; }\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc; }\n\n.table-hover .table-light:hover {\n background-color: #ececf6; }\n .table-hover .table-light:hover > td,\n .table-hover .table-light:hover > th {\n background-color: #ececf6; }\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca; }\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c; }\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe; }\n .table-hover .table-dark:hover > td,\n .table-hover .table-dark:hover > th {\n background-color: #b9bbbe; }\n\n.table-primary-accent,\n.table-primary-accent > th,\n.table-primary-accent > td {\n background-color: #bdcfe5; }\n\n.table-primary-accent th,\n.table-primary-accent td,\n.table-primary-accent thead th,\n.table-primary-accent tbody + tbody {\n border-color: #84a5cf; }\n\n.table-hover .table-primary-accent:hover {\n background-color: #abc2de; }\n .table-hover .table-primary-accent:hover > td,\n .table-hover .table-primary-accent:hover > th {\n background-color: #abc2de; }\n\n.table-secondary-alt,\n.table-secondary-alt > th,\n.table-secondary-alt > td {\n background-color: #bfc8d4; }\n\n.table-secondary-alt th,\n.table-secondary-alt td,\n.table-secondary-alt thead th,\n.table-secondary-alt tbody + tbody {\n border-color: #8899af; }\n\n.table-hover .table-secondary-alt:hover {\n background-color: #b0bbca; }\n .table-hover .table-secondary-alt:hover > td,\n .table-hover .table-secondary-alt:hover > th {\n background-color: #b0bbca; }\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.03); }\n .table-hover .table-active:hover > td,\n .table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55; }\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6; }\n\n.table-dark {\n color: #fff;\n background-color: #343a40; }\n .table-dark th,\n .table-dark td,\n .table-dark thead th {\n border-color: #454d55; }\n .table-dark.table-bordered {\n border: 0; }\n .table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05); }\n .table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075); }\n\n@media (max-width: 0.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-sm > .table-bordered {\n border: 0; } }\n\n@media (max-width: 1.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-md > .table-bordered {\n border: 0; } }\n\n@media (max-width: 2.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-lg > .table-bordered {\n border: 0; } }\n\n@media (max-width: 3.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-xl > .table-bordered {\n border: 0; } }\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive > .table-bordered {\n border: 0; }\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fbfbfb;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none; } }\n .form-control::-ms-expand {\n background-color: transparent;\n border: 0; }\n .form-control:focus {\n color: #495057;\n background-color: #ffffff;\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .form-control::placeholder {\n color: #b4b4b4;\n opacity: 1; }\n .form-control:disabled, .form-control[readonly] {\n background-color: #e0e0e0;\n opacity: 1; }\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fbfbfb; }\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%; }\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5; }\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.15rem;\n line-height: 1.5; }\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5; }\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #333333;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0; }\n .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0; }\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto; }\n\ntextarea.form-control {\n height: auto; }\n\n.form-group {\n margin-bottom: 1rem; }\n\n.form-text {\n display: block;\n margin-top: 0.25rem; }\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px; }\n .form-row > .col,\n .form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px; }\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem; }\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem; }\n .form-check-input:disabled ~ .form-check-label {\n color: #6c757d; }\n\n.form-check-label {\n margin-bottom: 0; }\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem; }\n .form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0; }\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 90%;\n color: #00a65a; }\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(0, 166, 90, 0.9);\n border-radius: 0.25rem; }\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #00a65a;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a65a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n .was-validated .form-control:valid ~ .valid-feedback,\n .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n .form-control.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #00a65a;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a65a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fbfbfb no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n .was-validated .custom-select:valid ~ .valid-feedback,\n .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n .custom-select.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #00a65a; }\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #00a65a; }\n .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #00a65a; }\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #00d976;\n background-color: #00d976; }\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #00a65a; }\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #00a65a; }\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 90%;\n color: #dd4b39; }\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(221, 75, 57, 0.9);\n border-radius: 0.25rem; }\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dd4b39;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd4b39' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dd4b39' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .was-validated .form-control:invalid ~ .invalid-feedback,\n .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n .form-control.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dd4b39;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd4b39' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dd4b39' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fbfbfb no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .was-validated .custom-select:invalid ~ .invalid-feedback,\n .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n .custom-select.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dd4b39; }\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dd4b39; }\n .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dd4b39; }\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e47365;\n background-color: #e47365; }\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dd4b39; }\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dd4b39; }\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; }\n .form-inline .form-check {\n width: 100%; }\n @media (min-width: 1px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0; }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0; }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .form-inline .form-control-plaintext {\n display: inline-block; }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto; }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0; }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0; }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center; }\n .form-inline .custom-control-label {\n margin-bottom: 0; } }\n\n.btn, .swal2-popup .swal2-actions button {\n display: inline-block;\n font-weight: 600;\n color: #333333;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .btn, .swal2-popup .swal2-actions button {\n transition: none; } }\n .btn:hover, .swal2-popup .swal2-actions button:hover {\n color: #333333;\n text-decoration: none; }\n .btn:focus, .swal2-popup .swal2-actions button:focus, .btn.focus, .swal2-popup .swal2-actions button.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .btn.disabled, .swal2-popup .swal2-actions button.disabled, .btn:disabled, .swal2-popup .swal2-actions button:disabled {\n opacity: 0.65; }\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none; }\n\n.btn-primary, .swal2-popup .swal2-actions button.swal2-confirm {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-primary:hover, .swal2-popup .swal2-actions button.swal2-confirm:hover {\n color: #fff;\n background-color: #134eb9;\n border-color: #1249ae; }\n .btn-primary:focus, .swal2-popup .swal2-actions button.swal2-confirm:focus, .btn-primary.focus, .swal2-popup .swal2-actions button.focus.swal2-confirm {\n box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); }\n .btn-primary.disabled, .swal2-popup .swal2-actions button.disabled.swal2-confirm, .btn-primary:disabled, .swal2-popup .swal2-actions button.swal2-confirm:disabled {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-primary:not(:disabled):not(.disabled):active, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled).active,\n .show > .btn-primary.dropdown-toggle,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-confirm {\n color: #fff;\n background-color: #1249ae;\n border-color: #1145a2; }\n .btn-primary:not(:disabled):not(.disabled):active:focus, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled).active:focus,\n .show > .btn-primary.dropdown-toggle:focus,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-confirm:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); }\n\n.btn-secondary {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-secondary:hover {\n color: #212529;\n background-color: #b8c1ca;\n border-color: #b1bbc4; }\n .btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(180, 186, 191, 0.5); }\n .btn-secondary.disabled, .btn-secondary:disabled {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n .show > .btn-secondary.dropdown-toggle {\n color: #212529;\n background-color: #b1bbc4;\n border-color: #aab4bf; }\n .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n .show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(180, 186, 191, 0.5); }\n\n.btn-success {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-success:hover {\n color: #fff;\n background-color: #008045;\n border-color: #00733e; }\n .btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 179, 115, 0.5); }\n .btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n .show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #00733e;\n border-color: #006637; }\n .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n .show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 179, 115, 0.5); }\n\n.btn-info {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-info:hover {\n color: #fff;\n background-color: #424242;\n border-color: #3c3c3c; }\n .btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(111, 111, 111, 0.5); }\n .btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n .show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #3c3c3c;\n border-color: #353535; }\n .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n .show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(111, 111, 111, 0.5); }\n\n.btn-warning {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-warning:hover {\n color: #fff;\n background-color: #9d6712;\n border-color: #916011; }\n .btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(201, 145, 57, 0.5); }\n .btn-warning.disabled, .btn-warning:disabled {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n .show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #916011;\n border-color: #86580f; }\n .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n .show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(201, 145, 57, 0.5); }\n\n.btn-danger {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-danger:hover {\n color: #fff;\n background-color: #cd3623;\n border-color: #c23321; }\n .btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(226, 102, 87, 0.5); }\n .btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n .show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c23321;\n border-color: #b7301f; }\n .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n .show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(226, 102, 87, 0.5); }\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5; }\n .btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n .btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n .show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df; }\n .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n .show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124; }\n .btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n .btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n .show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d; }\n .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n .show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n\n.btn-primary-accent {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-primary-accent:hover {\n color: #fff;\n background-color: #0e4181;\n border-color: #0d3b75; }\n .btn-primary-accent:focus, .btn-primary-accent.focus {\n box-shadow: 0 0 0 0.2rem rgba(54, 108, 177, 0.5); }\n .btn-primary-accent.disabled, .btn-primary-accent:disabled {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-primary-accent:not(:disabled):not(.disabled):active, .btn-primary-accent:not(:disabled):not(.disabled).active,\n .show > .btn-primary-accent.dropdown-toggle {\n color: #fff;\n background-color: #0d3b75;\n border-color: #0c356a; }\n .btn-primary-accent:not(:disabled):not(.disabled):active:focus, .btn-primary-accent:not(:disabled):not(.disabled).active:focus,\n .show > .btn-primary-accent.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(54, 108, 177, 0.5); }\n\n.btn-secondary-alt {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-secondary-alt:hover {\n color: #fff;\n background-color: #122948;\n border-color: #10233d; }\n .btn-secondary-alt:focus, .btn-secondary-alt.focus {\n box-shadow: 0 0 0 0.2rem rgba(60, 88, 125, 0.5); }\n .btn-secondary-alt.disabled, .btn-secondary-alt:disabled {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-secondary-alt:not(:disabled):not(.disabled):active, .btn-secondary-alt:not(:disabled):not(.disabled).active,\n .show > .btn-secondary-alt.dropdown-toggle {\n color: #fff;\n background-color: #10233d;\n border-color: #0d1e33; }\n .btn-secondary-alt:not(:disabled):not(.disabled):active:focus, .btn-secondary-alt:not(:disabled):not(.disabled).active:focus,\n .show > .btn-secondary-alt.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(60, 88, 125, 0.5); }\n\n.btn-outline-primary {\n color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:hover {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n .btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #175DDC;\n background-color: transparent; }\n .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n .show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n\n.btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel {\n color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:hover, .swal2-popup .swal2-actions button.swal2-cancel:hover {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:focus, .swal2-popup .swal2-actions button.swal2-cancel:focus, .btn-outline-secondary.focus, .swal2-popup .swal2-actions button.focus.swal2-cancel {\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n .btn-outline-secondary.disabled, .swal2-popup .swal2-actions button.disabled.swal2-cancel, .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled {\n color: #ced4da;\n background-color: transparent; }\n .btn-outline-secondary:not(:disabled):not(.disabled):active, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled).active,\n .show > .btn-outline-secondary.dropdown-toggle,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-cancel {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-secondary.dropdown-toggle:focus,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-cancel:focus {\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n\n.btn-outline-success {\n color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:hover {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n .btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #00a65a;\n background-color: transparent; }\n .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n .show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n\n.btn-outline-info {\n color: #555555;\n border-color: #555555; }\n .btn-outline-info:hover {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n .btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #555555;\n background-color: transparent; }\n .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n .show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n\n.btn-outline-warning {\n color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:hover {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n .btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #bf7e16;\n background-color: transparent; }\n .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n .show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n\n.btn-outline-danger {\n color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:hover {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n .btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dd4b39;\n background-color: transparent; }\n .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n .show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n .btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent; }\n .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n .show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n .btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent; }\n .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n .show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.btn-outline-primary-accent {\n color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:hover {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:focus, .btn-outline-primary-accent.focus {\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n .btn-outline-primary-accent.disabled, .btn-outline-primary-accent:disabled {\n color: #1252A3;\n background-color: transparent; }\n .btn-outline-primary-accent:not(:disabled):not(.disabled):active, .btn-outline-primary-accent:not(:disabled):not(.disabled).active,\n .show > .btn-outline-primary-accent.dropdown-toggle {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:not(:disabled):not(.disabled):active:focus, .btn-outline-primary-accent:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-primary-accent.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n\n.btn-outline-secondary-alt {\n color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:hover {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:focus, .btn-outline-secondary-alt.focus {\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n .btn-outline-secondary-alt.disabled, .btn-outline-secondary-alt:disabled {\n color: #1A3B66;\n background-color: transparent; }\n .btn-outline-secondary-alt:not(:disabled):not(.disabled):active, .btn-outline-secondary-alt:not(:disabled):not(.disabled).active,\n .show > .btn-outline-secondary-alt.dropdown-toggle {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary-alt:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-secondary-alt.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n\n.btn-link {\n font-weight: 400;\n color: #175DDC;\n text-decoration: none; }\n .btn-link:hover {\n color: #104097;\n text-decoration: underline; }\n .btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none; }\n .btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none; }\n\n.btn-lg, .btn-group-lg > .btn, .swal2-popup .swal2-actions .btn-group-lg > button {\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\n.btn-sm, .btn-group-sm > .btn, .swal2-popup .swal2-actions .btn-group-sm > button {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.btn-block {\n display: block;\n width: 100%; }\n .btn-block + .btn-block {\n margin-top: 0.5rem; }\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%; }\n\n.fade {\n transition: opacity 0.15s linear; }\n @media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none; } }\n .fade:not(.show) {\n opacity: 0; }\n\n.collapse:not(.show) {\n display: none; }\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease; }\n @media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none; } }\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative; }\n\n.dropdown-toggle {\n white-space: nowrap; }\n .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent; }\n .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #333333;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem; }\n\n.dropdown-menu-left {\n right: auto;\n left: 0; }\n\n.dropdown-menu-right {\n right: 0;\n left: auto; }\n\n@media (min-width: 1px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0; }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 2px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0; }\n .dropdown-menu-md-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 3px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0; }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 4px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0; }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto; } }\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem; }\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent; }\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem; }\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid; }\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0; }\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem; }\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\"; }\n\n.dropleft .dropdown-toggle::after {\n display: none; }\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent; }\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0; }\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto; }\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef; }\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #333333;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0; }\n .dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: rgba(0, 0, 0, 0.06); }\n .dropdown-item.active, .dropdown-item:active {\n color: #333333;\n text-decoration: none;\n background-color: rgba(0, 0, 0, 0.1); }\n .dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent; }\n\n.dropdown-menu.show {\n display: block; }\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap; }\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #333333; }\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; }\n .btn-group > .btn, .swal2-popup .swal2-actions .btn-group > button,\n .btn-group-vertical > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > button {\n position: relative;\n flex: 1 1 auto; }\n .btn-group > .btn:hover, .swal2-popup .swal2-actions .btn-group > button:hover,\n .btn-group-vertical > .btn:hover,\n .swal2-popup .swal2-actions .btn-group-vertical > button:hover {\n z-index: 1; }\n .btn-group > .btn:focus, .swal2-popup .swal2-actions .btn-group > button:focus, .btn-group > .btn:active, .swal2-popup .swal2-actions .btn-group > button:active, .btn-group > .btn.active, .swal2-popup .swal2-actions .btn-group > button.active,\n .btn-group-vertical > .btn:focus,\n .swal2-popup .swal2-actions .btn-group-vertical > button:focus,\n .btn-group-vertical > .btn:active,\n .swal2-popup .swal2-actions .btn-group-vertical > button:active,\n .btn-group-vertical > .btn.active,\n .swal2-popup .swal2-actions .btn-group-vertical > button.active {\n z-index: 1; }\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start; }\n .btn-toolbar .input-group {\n width: auto; }\n\n.btn-group > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group > button:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px; }\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .swal2-popup .swal2-actions .btn-group > button:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn,\n.swal2-popup .swal2-actions .btn-group > .btn-group:not(:last-child) > button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group > button:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn,\n.swal2-popup .swal2-actions .btn-group > .btn-group:not(:first-child) > button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem; }\n .dropdown-toggle-split::after,\n .dropup .dropdown-toggle-split::after,\n .dropright .dropdown-toggle-split::after {\n margin-left: 0; }\n .dropleft .dropdown-toggle-split::before {\n margin-right: 0; }\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .swal2-popup .swal2-actions .btn-group-sm > button + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem; }\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .swal2-popup .swal2-actions .btn-group-lg > button + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem; }\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center; }\n \n .btn-group-vertical > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > button,\n .btn-group-vertical > .btn-group {\n width: 100%; }\n .btn-group-vertical > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px; }\n .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:last-child):not(.dropdown-toggle),\n .btn-group-vertical > .btn-group:not(:last-child) > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > .btn-group:not(:last-child) > button {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n .btn-group-vertical > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > .btn-group:not(:first-child) > button {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.btn-group-toggle > .btn, .swal2-popup .swal2-actions .btn-group-toggle > button,\n.btn-group-toggle > .btn-group > .btn,\n.swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button {\n margin-bottom: 0; }\n .btn-group-toggle > .btn input[type=\"radio\"], .swal2-popup .swal2-actions .btn-group-toggle > button input[type=\"radio\"],\n .btn-group-toggle > .btn input[type=\"checkbox\"],\n .swal2-popup .swal2-actions .btn-group-toggle > button input[type=\"checkbox\"],\n .btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n .swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button input[type=\"radio\"],\n .btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"],\n .swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none; }\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%; }\n .input-group > .form-control,\n .input-group > .form-control-plaintext,\n .input-group > .custom-select,\n .input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0; }\n .input-group > .form-control + .form-control,\n .input-group > .form-control + .custom-select,\n .input-group > .form-control + .custom-file,\n .input-group > .form-control-plaintext + .form-control,\n .input-group > .form-control-plaintext + .custom-select,\n .input-group > .form-control-plaintext + .custom-file,\n .input-group > .custom-select + .form-control,\n .input-group > .custom-select + .custom-select,\n .input-group > .custom-select + .custom-file,\n .input-group > .custom-file + .form-control,\n .input-group > .custom-file + .custom-select,\n .input-group > .custom-file + .custom-file {\n margin-left: -1px; }\n .input-group > .form-control:focus,\n .input-group > .custom-select:focus,\n .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3; }\n .input-group > .custom-file .custom-file-input:focus {\n z-index: 4; }\n .input-group > .form-control:not(:last-child),\n .input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .input-group > .form-control:not(:first-child),\n .input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n .input-group > .custom-file {\n display: flex;\n align-items: center; }\n .input-group > .custom-file:not(:last-child) .custom-file-label,\n .input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.input-group-prepend,\n.input-group-append {\n display: flex; }\n .input-group-prepend .btn, .input-group-prepend .swal2-popup .swal2-actions button, .swal2-popup .swal2-actions .input-group-prepend button,\n .input-group-append .btn,\n .input-group-append .swal2-popup .swal2-actions button,\n .swal2-popup .swal2-actions .input-group-append button {\n position: relative;\n z-index: 2; }\n .input-group-prepend .btn:focus, .input-group-prepend .swal2-popup .swal2-actions button:focus, .swal2-popup .swal2-actions .input-group-prepend button:focus,\n .input-group-append .btn:focus,\n .input-group-append .swal2-popup .swal2-actions button:focus,\n .swal2-popup .swal2-actions .input-group-append button:focus {\n z-index: 3; }\n .input-group-prepend .btn + .btn, .input-group-prepend .swal2-popup .swal2-actions button + .btn, .swal2-popup .swal2-actions .input-group-prepend button + .btn, .input-group-prepend .swal2-popup .swal2-actions .btn + button, .swal2-popup .swal2-actions .input-group-prepend .btn + button, .input-group-prepend .swal2-popup .swal2-actions button + button, .swal2-popup .swal2-actions .input-group-prepend button + button,\n .input-group-prepend .btn + .input-group-text,\n .input-group-prepend .swal2-popup .swal2-actions button + .input-group-text,\n .swal2-popup .swal2-actions .input-group-prepend button + .input-group-text,\n .input-group-prepend .input-group-text + .input-group-text,\n .input-group-prepend .input-group-text + .btn,\n .input-group-prepend .swal2-popup .swal2-actions .input-group-text + button,\n .swal2-popup .swal2-actions .input-group-prepend .input-group-text + button,\n .input-group-append .btn + .btn,\n .input-group-append .swal2-popup .swal2-actions button + .btn,\n .swal2-popup .swal2-actions .input-group-append button + .btn,\n .input-group-append .swal2-popup .swal2-actions .btn + button,\n .swal2-popup .swal2-actions .input-group-append .btn + button,\n .input-group-append .swal2-popup .swal2-actions button + button,\n .swal2-popup .swal2-actions .input-group-append button + button,\n .input-group-append .btn + .input-group-text,\n .input-group-append .swal2-popup .swal2-actions button + .input-group-text,\n .swal2-popup .swal2-actions .input-group-append button + .input-group-text,\n .input-group-append .input-group-text + .input-group-text,\n .input-group-append .input-group-text + .btn,\n .input-group-append .swal2-popup .swal2-actions .input-group-text + button,\n .swal2-popup .swal2-actions .input-group-append .input-group-text + button {\n margin-left: -1px; }\n\n.input-group-prepend {\n margin-right: -1px; }\n\n.input-group-append {\n margin-left: -1px; }\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem; }\n .input-group-text input[type=\"radio\"],\n .input-group-text input[type=\"checkbox\"] {\n margin-top: 0; }\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px); }\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.swal2-popup .swal2-actions .input-group-lg > .input-group-prepend > button,\n.input-group-lg > .input-group-append > .btn,\n.swal2-popup .swal2-actions .input-group-lg > .input-group-append > button {\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px); }\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.swal2-popup .swal2-actions .input-group-sm > .input-group-prepend > button,\n.input-group-sm > .input-group-append > .btn,\n.swal2-popup .swal2-actions .input-group-sm > .input-group-append > button {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem; }\n\n.input-group > .input-group-prepend > .btn, .swal2-popup .swal2-actions .input-group > .input-group-prepend > button,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.swal2-popup .swal2-actions .input-group > .input-group-append:not(:last-child) > button,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.swal2-popup .swal2-actions .input-group > .input-group-append:last-child > button:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.input-group > .input-group-append > .btn, .swal2-popup .swal2-actions .input-group > .input-group-append > button,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.swal2-popup .swal2-actions .input-group > .input-group-prepend:not(:first-child) > button,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.swal2-popup .swal2-actions .input-group > .input-group-prepend:first-child > button:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem; }\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem; }\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0; }\n .custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #175DDC;\n background-color: #175DDC; }\n .custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #81a9f2; }\n .custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #afc8f7;\n border-color: #afc8f7; }\n .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d; }\n .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e0e0e0; }\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top; }\n .custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fbfbfb;\n border: #adb5bd solid 1px; }\n .custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%; }\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem; }\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"); }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #175DDC;\n background-color: #175DDC; }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\"); }\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%; }\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\"); }\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-switch {\n padding-left: 2.25rem; }\n .custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem; }\n .custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none; } }\n .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fbfbfb;\n transform: translateX(0.75rem); }\n .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n background-color: #fbfbfb;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none; }\n .custom-select:focus {\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fbfbfb; }\n .custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none; }\n .custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef; }\n .custom-select::-ms-expand {\n display: none; }\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem; }\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.15rem; }\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0; }\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0; }\n .custom-file-input:focus ~ .custom-file-label {\n border-color: #81a9f2;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-file-input:disabled ~ .custom-file-label {\n background-color: #e0e0e0; }\n .custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\"; }\n .custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse); }\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fbfbfb;\n border: 1px solid #ced4da;\n border-radius: 0.25rem; }\n .custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0; }\n\n.custom-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none; }\n .custom-range:focus {\n outline: none; }\n .custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range::-moz-focus-outer {\n border: 0; }\n .custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none; } }\n .custom-range::-webkit-slider-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem; }\n .custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none; } }\n .custom-range::-moz-range-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem; }\n .custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none; } }\n .custom-range::-ms-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem; }\n .custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem; }\n .custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem; }\n .custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd; }\n .custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default; }\n .custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd; }\n .custom-range:disabled::-moz-range-track {\n cursor: default; }\n .custom-range:disabled::-ms-thumb {\n background-color: #adb5bd; }\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none; } }\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none; }\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem; }\n .nav-link:hover, .nav-link:focus {\n text-decoration: none; }\n .nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default; }\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6; }\n .nav-tabs .nav-item {\n margin-bottom: -1px; }\n .nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6; }\n .nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent; }\n .nav-tabs .nav-link.active,\n .nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #ffffff;\n border-color: #dee2e6 #dee2e6 #ffffff; }\n .nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.nav-pills .nav-link {\n border-radius: 0.25rem; }\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #175DDC; }\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center; }\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center; }\n\n.tab-content > .tab-pane {\n display: none; }\n\n.tab-content > .active {\n display: block; }\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.75rem 1rem; }\n .navbar > .container,\n .navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between; }\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 1rem;\n font-size: 2.1875rem;\n line-height: inherit;\n white-space: nowrap; }\n .navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none; }\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none; }\n .navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0; }\n .navbar-nav .dropdown-menu {\n position: static;\n float: none; }\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem; }\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center; }\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.15rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem; }\n .navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none; }\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%; }\n\n@media (max-width: 0.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 1px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row; }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-sm .navbar-toggler {\n display: none; } }\n\n@media (max-width: 1.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 2px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-md .navbar-nav {\n flex-direction: row; }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-md .navbar-toggler {\n display: none; } }\n\n@media (max-width: 2.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 3px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row; }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-lg .navbar-toggler {\n display: none; } }\n\n@media (max-width: 3.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 4px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row; }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-xl .navbar-toggler {\n display: none; } }\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0; }\n .navbar-expand .navbar-nav {\n flex-direction: row; }\n .navbar-expand .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand .navbar-toggler {\n display: none; }\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9); }\n .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5); }\n .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7); }\n .navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3); }\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1); }\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"); }\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5); }\n .navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9); }\n .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-dark .navbar-brand {\n color: #fff; }\n .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff; }\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.7); }\n .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.9); }\n .navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25); }\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff; }\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.7);\n border-color: rgba(255, 255, 255, 0.1); }\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"); }\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.7); }\n .navbar-dark .navbar-text a {\n color: #fff; }\n .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff; }\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem; }\n .card > hr {\n margin-right: 0;\n margin-left: 0; }\n .card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem; }\n\n.card-title {\n margin-bottom: 0.6rem; }\n\n.card-subtitle {\n margin-top: -0.3rem;\n margin-bottom: 0; }\n\n.card-text:last-child {\n margin-bottom: 0; }\n\n.card-link:hover {\n text-decoration: none; }\n\n.card-link + .card-link {\n margin-left: 1.25rem; }\n\n.card-header {\n padding: 0.6rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125); }\n .card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }\n .card-header + .list-group .list-group-item:first-child {\n border-top: 0; }\n\n.card-footer {\n padding: 0.6rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125); }\n .card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.6rem;\n margin-left: -0.625rem;\n border-bottom: 0; }\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem; }\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem; }\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px); }\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px); }\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px); }\n\n.card-deck {\n display: flex;\n flex-direction: column; }\n .card-deck .card {\n margin-bottom: 10px; }\n @media (min-width: 1px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -10px;\n margin-left: -10px; }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 10px;\n margin-bottom: 0;\n margin-left: 10px; } }\n\n.card-group {\n display: flex;\n flex-direction: column; }\n .card-group > .card {\n margin-bottom: 10px; }\n @media (min-width: 1px) {\n .card-group {\n flex-flow: row wrap; }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0; }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0; }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0; }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0; }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0; }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0; } }\n\n.card-columns .card {\n margin-bottom: 0.6rem; }\n\n@media (min-width: 1px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1; }\n .card-columns .card {\n display: inline-block;\n width: 100%; } }\n\n.accordion > .card {\n overflow: hidden; }\n .accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0; }\n .accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0; }\n .accordion > .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n .accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n .accordion > .card .card-header {\n margin-bottom: -1px; }\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem; }\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem; }\n .breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\"; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none; }\n\n.breadcrumb-item.active {\n color: #6c757d; }\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem; }\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #175DDC;\n background-color: #fff;\n border: 1px solid #dee2e6; }\n .page-link:hover {\n z-index: 2;\n color: #104097;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6; }\n .page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem; }\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6; }\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.15rem;\n line-height: 1.5; }\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem; }\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem; }\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5; }\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem; }\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem; }\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none; } }\n a.badge:hover, a.badge:focus {\n text-decoration: none; }\n .badge:empty {\n display: none; }\n\n.btn .badge, .swal2-popup .swal2-actions button .badge {\n position: relative;\n top: -1px; }\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem; }\n\n.badge-primary {\n color: #fff;\n background-color: #175DDC; }\n a.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #1249ae; }\n a.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n\n.badge-secondary {\n color: #212529;\n background-color: #ced4da; }\n a.badge-secondary:hover, a.badge-secondary:focus {\n color: #212529;\n background-color: #b1bbc4; }\n a.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n\n.badge-success {\n color: #fff;\n background-color: #00a65a; }\n a.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #00733e; }\n a.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n\n.badge-info {\n color: #fff;\n background-color: #555555; }\n a.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #3c3c3c; }\n a.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n\n.badge-warning {\n color: #fff;\n background-color: #bf7e16; }\n a.badge-warning:hover, a.badge-warning:focus {\n color: #fff;\n background-color: #916011; }\n a.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n\n.badge-danger {\n color: #fff;\n background-color: #dd4b39; }\n a.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #c23321; }\n a.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa; }\n a.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5; }\n a.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.badge-dark {\n color: #fff;\n background-color: #343a40; }\n a.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124; }\n a.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.badge-primary-accent {\n color: #fff;\n background-color: #1252A3; }\n a.badge-primary-accent:hover, a.badge-primary-accent:focus {\n color: #fff;\n background-color: #0d3b75; }\n a.badge-primary-accent:focus, a.badge-primary-accent.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n\n.badge-secondary-alt {\n color: #fff;\n background-color: #1A3B66; }\n a.badge-secondary-alt:hover, a.badge-secondary-alt:focus {\n color: #fff;\n background-color: #10233d; }\n a.badge-secondary-alt:focus, a.badge-secondary-alt.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem; }\n @media (min-width: 1px) {\n .jumbotron {\n padding: 4rem 2rem; } }\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0; }\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem; }\n\n.alert-heading {\n color: inherit; }\n\n.alert-link {\n font-weight: 700; }\n\n.alert-dismissible {\n padding-right: 4rem; }\n .alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit; }\n\n.alert-primary {\n color: #0c3072;\n background-color: #d1dff8;\n border-color: #bed2f5; }\n .alert-primary hr {\n border-top-color: #a8c3f2; }\n .alert-primary .alert-link {\n color: #071d44; }\n\n.alert-secondary {\n color: #6b6e71;\n background-color: #f5f6f8;\n border-color: #f1f3f5; }\n .alert-secondary hr {\n border-top-color: #e2e6ea; }\n .alert-secondary .alert-link {\n color: #525557; }\n\n.alert-success {\n color: #00562f;\n background-color: #ccedde;\n border-color: #b8e6d1; }\n .alert-success hr {\n border-top-color: #a5dfc5; }\n .alert-success .alert-link {\n color: #002313; }\n\n.alert-info {\n color: #2c2c2c;\n background-color: #dddddd;\n border-color: #cfcfcf; }\n .alert-info hr {\n border-top-color: #c2c2c2; }\n .alert-info .alert-link {\n color: #131313; }\n\n.alert-warning {\n color: #63420b;\n background-color: #f2e5d0;\n border-color: #eddbbe; }\n .alert-warning hr {\n border-top-color: #e7d0aa; }\n .alert-warning .alert-link {\n color: #352306; }\n\n.alert-danger {\n color: #73271e;\n background-color: #f8dbd7;\n border-color: #f5cdc8; }\n .alert-danger hr {\n border-top-color: #f1b9b2; }\n .alert-danger .alert-link {\n color: #4b1913; }\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe; }\n .alert-light hr {\n border-top-color: #ececf6; }\n .alert-light .alert-link {\n color: #686868; }\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca; }\n .alert-dark hr {\n border-top-color: #b9bbbe; }\n .alert-dark .alert-link {\n color: #040505; }\n\n.alert-primary-accent {\n color: #092b55;\n background-color: #d0dced;\n border-color: #bdcfe5; }\n .alert-primary-accent hr {\n border-top-color: #abc2de; }\n .alert-primary-accent .alert-link {\n color: #041427; }\n\n.alert-secondary-alt {\n color: #0e1f35;\n background-color: #d1d8e0;\n border-color: #bfc8d4; }\n .alert-secondary-alt hr {\n border-top-color: #b0bbca; }\n .alert-secondary-alt .alert-link {\n color: #03070d; }\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0; }\n to {\n background-position: 0 0; } }\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem; }\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #175DDC;\n transition: width 0.6s ease; }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none; } }\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem; }\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite; }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none; } }\n\n.media {\n display: flex;\n align-items: flex-start; }\n\n.media-body {\n flex: 1; }\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0; }\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit; }\n .list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa; }\n .list-group-item-action:active {\n color: #333333;\n background-color: #e9ecef; }\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.6rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125); }\n .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n .list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff; }\n .list-group-item.active {\n z-index: 2;\n color: #333333;\n background-color: #ffffff;\n border-color: rgba(0, 0, 0, 0.125); }\n\n.list-group-horizontal {\n flex-direction: row; }\n .list-group-horizontal .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; }\n\n@media (min-width: 1px) {\n .list-group-horizontal-sm {\n flex-direction: row; }\n .list-group-horizontal-sm .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-sm .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 2px) {\n .list-group-horizontal-md {\n flex-direction: row; }\n .list-group-horizontal-md .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-md .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-md .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 3px) {\n .list-group-horizontal-lg {\n flex-direction: row; }\n .list-group-horizontal-lg .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-lg .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 4px) {\n .list-group-horizontal-xl {\n flex-direction: row; }\n .list-group-horizontal-xl .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-xl .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0; }\n .list-group-flush .list-group-item:last-child {\n margin-bottom: -1px; }\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0; }\n\n.list-group-flush:last-child .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom: 0; }\n\n.list-group-item-primary {\n color: #0c3072;\n background-color: #bed2f5; }\n .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #0c3072;\n background-color: #a8c3f2; }\n .list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #0c3072;\n border-color: #0c3072; }\n\n.list-group-item-secondary {\n color: #6b6e71;\n background-color: #f1f3f5; }\n .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #6b6e71;\n background-color: #e2e6ea; }\n .list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #6b6e71;\n border-color: #6b6e71; }\n\n.list-group-item-success {\n color: #00562f;\n background-color: #b8e6d1; }\n .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #00562f;\n background-color: #a5dfc5; }\n .list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #00562f;\n border-color: #00562f; }\n\n.list-group-item-info {\n color: #2c2c2c;\n background-color: #cfcfcf; }\n .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #2c2c2c;\n background-color: #c2c2c2; }\n .list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #2c2c2c;\n border-color: #2c2c2c; }\n\n.list-group-item-warning {\n color: #63420b;\n background-color: #eddbbe; }\n .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #63420b;\n background-color: #e7d0aa; }\n .list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #63420b;\n border-color: #63420b; }\n\n.list-group-item-danger {\n color: #73271e;\n background-color: #f5cdc8; }\n .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #73271e;\n background-color: #f1b9b2; }\n .list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #73271e;\n border-color: #73271e; }\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe; }\n .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6; }\n .list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182; }\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca; }\n .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe; }\n .list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21; }\n\n.list-group-item-primary-accent {\n color: #092b55;\n background-color: #bdcfe5; }\n .list-group-item-primary-accent.list-group-item-action:hover, .list-group-item-primary-accent.list-group-item-action:focus {\n color: #092b55;\n background-color: #abc2de; }\n .list-group-item-primary-accent.list-group-item-action.active {\n color: #fff;\n background-color: #092b55;\n border-color: #092b55; }\n\n.list-group-item-secondary-alt {\n color: #0e1f35;\n background-color: #bfc8d4; }\n .list-group-item-secondary-alt.list-group-item-action:hover, .list-group-item-secondary-alt.list-group-item-action:focus {\n color: #0e1f35;\n background-color: #b0bbca; }\n .list-group-item-secondary-alt.list-group-item-action.active {\n color: #fff;\n background-color: #0e1f35;\n border-color: #0e1f35; }\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5; }\n .close:hover {\n color: #000;\n text-decoration: none; }\n .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75; }\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none; }\n\na.close.disabled {\n pointer-events: none; }\n\n.modal-open {\n overflow: hidden; }\n .modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto; }\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0; }\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none; }\n .modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px); }\n @media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none; } }\n .modal.show .modal-dialog {\n transform: none; }\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem); }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden; }\n .modal-dialog-scrollable .modal-header,\n .modal-dialog-scrollable .modal-footer {\n flex-shrink: 0; }\n .modal-dialog-scrollable .modal-body {\n overflow-y: auto; }\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem); }\n .modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\"; }\n .modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%; }\n .modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none; }\n .modal-dialog-centered.modal-dialog-scrollable::before {\n content: none; }\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0; }\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000; }\n .modal-backdrop.fade {\n opacity: 0; }\n .modal-backdrop.show {\n opacity: 0.3; }\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem; }\n .modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto; }\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5; }\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem; }\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem; }\n .modal-footer > :not(:first-child) {\n margin-left: .25rem; }\n .modal-footer > :not(:last-child) {\n margin-right: .25rem; }\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll; }\n\n@media (min-width: 1px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto; }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem); }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem); }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem); }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem); }\n .modal-sm {\n max-width: 300px; } }\n\n@media (min-width: 3px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px; } }\n\n@media (min-width: 4px) {\n .modal-xl {\n max-width: 1140px; } }\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0; }\n .tooltip.show {\n opacity: 0.9; }\n .tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem; }\n .tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid; }\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0; }\n .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0; }\n .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000; }\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem; }\n .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem; }\n .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000; }\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0; }\n .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0; }\n .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000; }\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem; }\n .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem; }\n .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000; }\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem; }\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem; }\n .popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem; }\n .popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid; }\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem; }\n .bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc((0.5rem + 1px) * -1); }\n .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff; }\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem; }\n .bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0; }\n .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff; }\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem; }\n .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc((0.5rem + 1px) * -1); }\n .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff; }\n .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7; }\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem; }\n .bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0; }\n .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff; }\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px); }\n .popover-header:empty {\n display: none; }\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #333333; }\n\n.carousel {\n position: relative; }\n\n.carousel.pointer-event {\n touch-action: pan-y; }\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden; }\n .carousel-inner::after {\n display: block;\n clear: both;\n content: \"\"; }\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none; } }\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block; }\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%); }\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%); }\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none; }\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1; }\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: 0s 0.6s opacity; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none; } }\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none; } }\n .carousel-control-prev:hover, .carousel-control-prev:focus,\n .carousel-control-next:hover,\n .carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9; }\n\n.carousel-control-prev {\n left: 0; }\n\n.carousel-control-next {\n right: 0; }\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%; }\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"); }\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"); }\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none; }\n .carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none; } }\n .carousel-indicators .active {\n opacity: 1; }\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center; }\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg); } }\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite; }\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em; }\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0); }\n 50% {\n opacity: 1; } }\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite; }\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem; }\n\n.align-baseline {\n vertical-align: baseline !important; }\n\n.align-top {\n vertical-align: top !important; }\n\n.align-middle {\n vertical-align: middle !important; }\n\n.align-bottom {\n vertical-align: bottom !important; }\n\n.align-text-bottom {\n vertical-align: text-bottom !important; }\n\n.align-text-top {\n vertical-align: text-top !important; }\n\n.bg-primary {\n background-color: #175DDC !important; }\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #1249ae !important; }\n\n.bg-secondary {\n background-color: #ced4da !important; }\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #b1bbc4 !important; }\n\n.bg-success {\n background-color: #00a65a !important; }\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #00733e !important; }\n\n.bg-info {\n background-color: #555555 !important; }\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #3c3c3c !important; }\n\n.bg-warning {\n background-color: #bf7e16 !important; }\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #916011 !important; }\n\n.bg-danger {\n background-color: #dd4b39 !important; }\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #c23321 !important; }\n\n.bg-light {\n background-color: #f8f9fa !important; }\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important; }\n\n.bg-dark {\n background-color: #343a40 !important; }\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important; }\n\n.bg-primary-accent {\n background-color: #1252A3 !important; }\n\na.bg-primary-accent:hover, a.bg-primary-accent:focus,\nbutton.bg-primary-accent:hover,\nbutton.bg-primary-accent:focus {\n background-color: #0d3b75 !important; }\n\n.bg-secondary-alt {\n background-color: #1A3B66 !important; }\n\na.bg-secondary-alt:hover, a.bg-secondary-alt:focus,\nbutton.bg-secondary-alt:hover,\nbutton.bg-secondary-alt:focus {\n background-color: #10233d !important; }\n\n.bg-white {\n background-color: #fff !important; }\n\n.bg-transparent {\n background-color: transparent !important; }\n\n.border {\n border: 1px solid #dee2e6 !important; }\n\n.border-top {\n border-top: 1px solid #dee2e6 !important; }\n\n.border-right {\n border-right: 1px solid #dee2e6 !important; }\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important; }\n\n.border-left {\n border-left: 1px solid #dee2e6 !important; }\n\n.border-0 {\n border: 0 !important; }\n\n.border-top-0 {\n border-top: 0 !important; }\n\n.border-right-0 {\n border-right: 0 !important; }\n\n.border-bottom-0 {\n border-bottom: 0 !important; }\n\n.border-left-0 {\n border-left: 0 !important; }\n\n.border-primary {\n border-color: #175DDC !important; }\n\n.border-secondary {\n border-color: #ced4da !important; }\n\n.border-success {\n border-color: #00a65a !important; }\n\n.border-info {\n border-color: #555555 !important; }\n\n.border-warning {\n border-color: #bf7e16 !important; }\n\n.border-danger {\n border-color: #dd4b39 !important; }\n\n.border-light {\n border-color: #f8f9fa !important; }\n\n.border-dark {\n border-color: #343a40 !important; }\n\n.border-primary-accent {\n border-color: #1252A3 !important; }\n\n.border-secondary-alt {\n border-color: #1A3B66 !important; }\n\n.border-white {\n border-color: #fff !important; }\n\n.rounded-sm {\n border-radius: 0.2rem !important; }\n\n.rounded, .table.table-list td.table-list-icon img, app-avatar img {\n border-radius: 0.25rem !important; }\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important; }\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important; }\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-lg {\n border-radius: 0.3rem !important; }\n\n.rounded-circle {\n border-radius: 50% !important; }\n\n.rounded-pill {\n border-radius: 50rem !important; }\n\n.rounded-0 {\n border-radius: 0 !important; }\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\"; }\n\n.d-none {\n display: none !important; }\n\n.d-inline {\n display: inline !important; }\n\n.d-inline-block {\n display: inline-block !important; }\n\n.d-block {\n display: block !important; }\n\n.d-table {\n display: table !important; }\n\n.d-table-row {\n display: table-row !important; }\n\n.d-table-cell {\n display: table-cell !important; }\n\n.d-flex {\n display: flex !important; }\n\n.d-inline-flex {\n display: inline-flex !important; }\n\n@media (min-width: 1px) {\n .d-sm-none {\n display: none !important; }\n .d-sm-inline {\n display: inline !important; }\n .d-sm-inline-block {\n display: inline-block !important; }\n .d-sm-block {\n display: block !important; }\n .d-sm-table {\n display: table !important; }\n .d-sm-table-row {\n display: table-row !important; }\n .d-sm-table-cell {\n display: table-cell !important; }\n .d-sm-flex {\n display: flex !important; }\n .d-sm-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 2px) {\n .d-md-none {\n display: none !important; }\n .d-md-inline {\n display: inline !important; }\n .d-md-inline-block {\n display: inline-block !important; }\n .d-md-block {\n display: block !important; }\n .d-md-table {\n display: table !important; }\n .d-md-table-row {\n display: table-row !important; }\n .d-md-table-cell {\n display: table-cell !important; }\n .d-md-flex {\n display: flex !important; }\n .d-md-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 3px) {\n .d-lg-none {\n display: none !important; }\n .d-lg-inline {\n display: inline !important; }\n .d-lg-inline-block {\n display: inline-block !important; }\n .d-lg-block {\n display: block !important; }\n .d-lg-table {\n display: table !important; }\n .d-lg-table-row {\n display: table-row !important; }\n .d-lg-table-cell {\n display: table-cell !important; }\n .d-lg-flex {\n display: flex !important; }\n .d-lg-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 4px) {\n .d-xl-none {\n display: none !important; }\n .d-xl-inline {\n display: inline !important; }\n .d-xl-inline-block {\n display: inline-block !important; }\n .d-xl-block {\n display: block !important; }\n .d-xl-table {\n display: table !important; }\n .d-xl-table-row {\n display: table-row !important; }\n .d-xl-table-cell {\n display: table-cell !important; }\n .d-xl-flex {\n display: flex !important; }\n .d-xl-inline-flex {\n display: inline-flex !important; } }\n\n@media print {\n .d-print-none {\n display: none !important; }\n .d-print-inline {\n display: inline !important; }\n .d-print-inline-block {\n display: inline-block !important; }\n .d-print-block {\n display: block !important; }\n .d-print-table {\n display: table !important; }\n .d-print-table-row {\n display: table-row !important; }\n .d-print-table-cell {\n display: table-cell !important; }\n .d-print-flex {\n display: flex !important; }\n .d-print-inline-flex {\n display: inline-flex !important; } }\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden; }\n .embed-responsive::before {\n display: block;\n content: \"\"; }\n .embed-responsive .embed-responsive-item,\n .embed-responsive iframe,\n .embed-responsive embed,\n .embed-responsive object,\n .embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0; }\n\n.embed-responsive-21by9::before {\n padding-top: 42.85714%; }\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%; }\n\n.embed-responsive-4by3::before {\n padding-top: 75%; }\n\n.embed-responsive-1by1::before {\n padding-top: 100%; }\n\n.flex-row {\n flex-direction: row !important; }\n\n.flex-column {\n flex-direction: column !important; }\n\n.flex-row-reverse {\n flex-direction: row-reverse !important; }\n\n.flex-column-reverse {\n flex-direction: column-reverse !important; }\n\n.flex-wrap {\n flex-wrap: wrap !important; }\n\n.flex-nowrap {\n flex-wrap: nowrap !important; }\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n\n.flex-fill {\n flex: 1 1 auto !important; }\n\n.flex-grow-0 {\n flex-grow: 0 !important; }\n\n.flex-grow-1 {\n flex-grow: 1 !important; }\n\n.flex-shrink-0 {\n flex-shrink: 0 !important; }\n\n.flex-shrink-1 {\n flex-shrink: 1 !important; }\n\n.justify-content-start {\n justify-content: flex-start !important; }\n\n.justify-content-end {\n justify-content: flex-end !important; }\n\n.justify-content-center {\n justify-content: center !important; }\n\n.justify-content-between {\n justify-content: space-between !important; }\n\n.justify-content-around {\n justify-content: space-around !important; }\n\n.align-items-start {\n align-items: flex-start !important; }\n\n.align-items-end {\n align-items: flex-end !important; }\n\n.align-items-center {\n align-items: center !important; }\n\n.align-items-baseline {\n align-items: baseline !important; }\n\n.align-items-stretch {\n align-items: stretch !important; }\n\n.align-content-start {\n align-content: flex-start !important; }\n\n.align-content-end {\n align-content: flex-end !important; }\n\n.align-content-center {\n align-content: center !important; }\n\n.align-content-between {\n align-content: space-between !important; }\n\n.align-content-around {\n align-content: space-around !important; }\n\n.align-content-stretch {\n align-content: stretch !important; }\n\n.align-self-auto {\n align-self: auto !important; }\n\n.align-self-start {\n align-self: flex-start !important; }\n\n.align-self-end {\n align-self: flex-end !important; }\n\n.align-self-center {\n align-self: center !important; }\n\n.align-self-baseline {\n align-self: baseline !important; }\n\n.align-self-stretch {\n align-self: stretch !important; }\n\n@media (min-width: 1px) {\n .flex-sm-row {\n flex-direction: row !important; }\n .flex-sm-column {\n flex-direction: column !important; }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-sm-wrap {\n flex-wrap: wrap !important; }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important; }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-sm-fill {\n flex: 1 1 auto !important; }\n .flex-sm-grow-0 {\n flex-grow: 0 !important; }\n .flex-sm-grow-1 {\n flex-grow: 1 !important; }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-sm-start {\n justify-content: flex-start !important; }\n .justify-content-sm-end {\n justify-content: flex-end !important; }\n .justify-content-sm-center {\n justify-content: center !important; }\n .justify-content-sm-between {\n justify-content: space-between !important; }\n .justify-content-sm-around {\n justify-content: space-around !important; }\n .align-items-sm-start {\n align-items: flex-start !important; }\n .align-items-sm-end {\n align-items: flex-end !important; }\n .align-items-sm-center {\n align-items: center !important; }\n .align-items-sm-baseline {\n align-items: baseline !important; }\n .align-items-sm-stretch {\n align-items: stretch !important; }\n .align-content-sm-start {\n align-content: flex-start !important; }\n .align-content-sm-end {\n align-content: flex-end !important; }\n .align-content-sm-center {\n align-content: center !important; }\n .align-content-sm-between {\n align-content: space-between !important; }\n .align-content-sm-around {\n align-content: space-around !important; }\n .align-content-sm-stretch {\n align-content: stretch !important; }\n .align-self-sm-auto {\n align-self: auto !important; }\n .align-self-sm-start {\n align-self: flex-start !important; }\n .align-self-sm-end {\n align-self: flex-end !important; }\n .align-self-sm-center {\n align-self: center !important; }\n .align-self-sm-baseline {\n align-self: baseline !important; }\n .align-self-sm-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 2px) {\n .flex-md-row {\n flex-direction: row !important; }\n .flex-md-column {\n flex-direction: column !important; }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-md-wrap {\n flex-wrap: wrap !important; }\n .flex-md-nowrap {\n flex-wrap: nowrap !important; }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-md-fill {\n flex: 1 1 auto !important; }\n .flex-md-grow-0 {\n flex-grow: 0 !important; }\n .flex-md-grow-1 {\n flex-grow: 1 !important; }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-md-start {\n justify-content: flex-start !important; }\n .justify-content-md-end {\n justify-content: flex-end !important; }\n .justify-content-md-center {\n justify-content: center !important; }\n .justify-content-md-between {\n justify-content: space-between !important; }\n .justify-content-md-around {\n justify-content: space-around !important; }\n .align-items-md-start {\n align-items: flex-start !important; }\n .align-items-md-end {\n align-items: flex-end !important; }\n .align-items-md-center {\n align-items: center !important; }\n .align-items-md-baseline {\n align-items: baseline !important; }\n .align-items-md-stretch {\n align-items: stretch !important; }\n .align-content-md-start {\n align-content: flex-start !important; }\n .align-content-md-end {\n align-content: flex-end !important; }\n .align-content-md-center {\n align-content: center !important; }\n .align-content-md-between {\n align-content: space-between !important; }\n .align-content-md-around {\n align-content: space-around !important; }\n .align-content-md-stretch {\n align-content: stretch !important; }\n .align-self-md-auto {\n align-self: auto !important; }\n .align-self-md-start {\n align-self: flex-start !important; }\n .align-self-md-end {\n align-self: flex-end !important; }\n .align-self-md-center {\n align-self: center !important; }\n .align-self-md-baseline {\n align-self: baseline !important; }\n .align-self-md-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 3px) {\n .flex-lg-row {\n flex-direction: row !important; }\n .flex-lg-column {\n flex-direction: column !important; }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-lg-wrap {\n flex-wrap: wrap !important; }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important; }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-lg-fill {\n flex: 1 1 auto !important; }\n .flex-lg-grow-0 {\n flex-grow: 0 !important; }\n .flex-lg-grow-1 {\n flex-grow: 1 !important; }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-lg-start {\n justify-content: flex-start !important; }\n .justify-content-lg-end {\n justify-content: flex-end !important; }\n .justify-content-lg-center {\n justify-content: center !important; }\n .justify-content-lg-between {\n justify-content: space-between !important; }\n .justify-content-lg-around {\n justify-content: space-around !important; }\n .align-items-lg-start {\n align-items: flex-start !important; }\n .align-items-lg-end {\n align-items: flex-end !important; }\n .align-items-lg-center {\n align-items: center !important; }\n .align-items-lg-baseline {\n align-items: baseline !important; }\n .align-items-lg-stretch {\n align-items: stretch !important; }\n .align-content-lg-start {\n align-content: flex-start !important; }\n .align-content-lg-end {\n align-content: flex-end !important; }\n .align-content-lg-center {\n align-content: center !important; }\n .align-content-lg-between {\n align-content: space-between !important; }\n .align-content-lg-around {\n align-content: space-around !important; }\n .align-content-lg-stretch {\n align-content: stretch !important; }\n .align-self-lg-auto {\n align-self: auto !important; }\n .align-self-lg-start {\n align-self: flex-start !important; }\n .align-self-lg-end {\n align-self: flex-end !important; }\n .align-self-lg-center {\n align-self: center !important; }\n .align-self-lg-baseline {\n align-self: baseline !important; }\n .align-self-lg-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 4px) {\n .flex-xl-row {\n flex-direction: row !important; }\n .flex-xl-column {\n flex-direction: column !important; }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-xl-wrap {\n flex-wrap: wrap !important; }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important; }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-xl-fill {\n flex: 1 1 auto !important; }\n .flex-xl-grow-0 {\n flex-grow: 0 !important; }\n .flex-xl-grow-1 {\n flex-grow: 1 !important; }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-xl-start {\n justify-content: flex-start !important; }\n .justify-content-xl-end {\n justify-content: flex-end !important; }\n .justify-content-xl-center {\n justify-content: center !important; }\n .justify-content-xl-between {\n justify-content: space-between !important; }\n .justify-content-xl-around {\n justify-content: space-around !important; }\n .align-items-xl-start {\n align-items: flex-start !important; }\n .align-items-xl-end {\n align-items: flex-end !important; }\n .align-items-xl-center {\n align-items: center !important; }\n .align-items-xl-baseline {\n align-items: baseline !important; }\n .align-items-xl-stretch {\n align-items: stretch !important; }\n .align-content-xl-start {\n align-content: flex-start !important; }\n .align-content-xl-end {\n align-content: flex-end !important; }\n .align-content-xl-center {\n align-content: center !important; }\n .align-content-xl-between {\n align-content: space-between !important; }\n .align-content-xl-around {\n align-content: space-around !important; }\n .align-content-xl-stretch {\n align-content: stretch !important; }\n .align-self-xl-auto {\n align-self: auto !important; }\n .align-self-xl-start {\n align-self: flex-start !important; }\n .align-self-xl-end {\n align-self: flex-end !important; }\n .align-self-xl-center {\n align-self: center !important; }\n .align-self-xl-baseline {\n align-self: baseline !important; }\n .align-self-xl-stretch {\n align-self: stretch !important; } }\n\n.float-left {\n float: left !important; }\n\n.float-right {\n float: right !important; }\n\n.float-none {\n float: none !important; }\n\n@media (min-width: 1px) {\n .float-sm-left {\n float: left !important; }\n .float-sm-right {\n float: right !important; }\n .float-sm-none {\n float: none !important; } }\n\n@media (min-width: 2px) {\n .float-md-left {\n float: left !important; }\n .float-md-right {\n float: right !important; }\n .float-md-none {\n float: none !important; } }\n\n@media (min-width: 3px) {\n .float-lg-left {\n float: left !important; }\n .float-lg-right {\n float: right !important; }\n .float-lg-none {\n float: none !important; } }\n\n@media (min-width: 4px) {\n .float-xl-left {\n float: left !important; }\n .float-xl-right {\n float: right !important; }\n .float-xl-none {\n float: none !important; } }\n\n.overflow-auto {\n overflow: auto !important; }\n\n.overflow-hidden {\n overflow: hidden !important; }\n\n.position-static {\n position: static !important; }\n\n.position-relative {\n position: relative !important; }\n\n.position-absolute {\n position: absolute !important; }\n\n.position-fixed {\n position: fixed !important; }\n\n.position-sticky {\n position: sticky !important; }\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030; }\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030; }\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020; } }\n\n.sr-only, .table.table-list tr:not(:hover) td.table-list-options > .dropdown:not(.show) button:not(:focus):not(:active), .table.table-list tr:not(:hover) td.table-list-options > button:not(:focus):not(:active) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal; }\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }\n\n.shadow-none {\n box-shadow: none !important; }\n\n.w-25 {\n width: 25% !important; }\n\n.w-50 {\n width: 50% !important; }\n\n.w-75 {\n width: 75% !important; }\n\n.w-100 {\n width: 100% !important; }\n\n.w-auto {\n width: auto !important; }\n\n.h-25 {\n height: 25% !important; }\n\n.h-50 {\n height: 50% !important; }\n\n.h-75 {\n height: 75% !important; }\n\n.h-100 {\n height: 100% !important; }\n\n.h-auto {\n height: auto !important; }\n\n.mw-100 {\n max-width: 100% !important; }\n\n.mh-100 {\n max-height: 100% !important; }\n\n.min-vw-100 {\n min-width: 100vw !important; }\n\n.min-vh-100 {\n min-height: 100vh !important; }\n\n.vw-100 {\n width: 100vw !important; }\n\n.vh-100 {\n height: 100vh !important; }\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0); }\n\n.m-0 {\n margin: 0 !important; }\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important; }\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important; }\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important; }\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important; }\n\n.m-1 {\n margin: 0.25rem !important; }\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important; }\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important; }\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important; }\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important; }\n\n.m-2 {\n margin: 0.5rem !important; }\n\n.mt-2, .form-check-block .form-check-label > span,\n.my-2 {\n margin-top: 0.5rem !important; }\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important; }\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important; }\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important; }\n\n.m-3 {\n margin: 1rem !important; }\n\n.mt-3, .form-check-block + .form-check-block:not(.mt-2),\n.my-3 {\n margin-top: 1rem !important; }\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important; }\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important; }\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important; }\n\n.m-4 {\n margin: 1.5rem !important; }\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important; }\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important; }\n\n.mb-4, .card-body-header,\n.my-4 {\n margin-bottom: 1.5rem !important; }\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important; }\n\n.m-5 {\n margin: 3rem !important; }\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important; }\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important; }\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important; }\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important; }\n\n.p-0 {\n padding: 0 !important; }\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important; }\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important; }\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important; }\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important; }\n\n.p-1 {\n padding: 0.25rem !important; }\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important; }\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important; }\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important; }\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important; }\n\n.p-2 {\n padding: 0.5rem !important; }\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important; }\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important; }\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important; }\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important; }\n\n.p-3 {\n padding: 1rem !important; }\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important; }\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important; }\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important; }\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important; }\n\n.p-4 {\n padding: 1.5rem !important; }\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important; }\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important; }\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important; }\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important; }\n\n.p-5 {\n padding: 3rem !important; }\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important; }\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important; }\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important; }\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important; }\n\n.m-n1 {\n margin: -0.25rem !important; }\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important; }\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important; }\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important; }\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important; }\n\n.m-n2 {\n margin: -0.5rem !important; }\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important; }\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important; }\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important; }\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important; }\n\n.m-n3 {\n margin: -1rem !important; }\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important; }\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important; }\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important; }\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important; }\n\n.m-n4 {\n margin: -1.5rem !important; }\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important; }\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important; }\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important; }\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important; }\n\n.m-n5 {\n margin: -3rem !important; }\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important; }\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important; }\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important; }\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important; }\n\n.m-auto {\n margin: auto !important; }\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important; }\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important; }\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important; }\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important; }\n\n@media (min-width: 1px) {\n .m-sm-0 {\n margin: 0 !important; }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important; }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important; }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important; }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important; }\n .m-sm-1 {\n margin: 0.25rem !important; }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important; }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important; }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important; }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important; }\n .m-sm-2 {\n margin: 0.5rem !important; }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important; }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important; }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important; }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important; }\n .m-sm-3 {\n margin: 1rem !important; }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important; }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important; }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important; }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important; }\n .m-sm-4 {\n margin: 1.5rem !important; }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important; }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important; }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important; }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important; }\n .m-sm-5 {\n margin: 3rem !important; }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important; }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important; }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important; }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important; }\n .p-sm-0 {\n padding: 0 !important; }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important; }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important; }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important; }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important; }\n .p-sm-1 {\n padding: 0.25rem !important; }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important; }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important; }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important; }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important; }\n .p-sm-2 {\n padding: 0.5rem !important; }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important; }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important; }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important; }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important; }\n .p-sm-3 {\n padding: 1rem !important; }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important; }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important; }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important; }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important; }\n .p-sm-4 {\n padding: 1.5rem !important; }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important; }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important; }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important; }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important; }\n .p-sm-5 {\n padding: 3rem !important; }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important; }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important; }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important; }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important; }\n .m-sm-n1 {\n margin: -0.25rem !important; }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important; }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important; }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important; }\n .m-sm-n2 {\n margin: -0.5rem !important; }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important; }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important; }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important; }\n .m-sm-n3 {\n margin: -1rem !important; }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important; }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important; }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important; }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important; }\n .m-sm-n4 {\n margin: -1.5rem !important; }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important; }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important; }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important; }\n .m-sm-n5 {\n margin: -3rem !important; }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important; }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important; }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important; }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important; }\n .m-sm-auto {\n margin: auto !important; }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important; }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important; }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important; }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 2px) {\n .m-md-0 {\n margin: 0 !important; }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important; }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important; }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important; }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important; }\n .m-md-1 {\n margin: 0.25rem !important; }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important; }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important; }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important; }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important; }\n .m-md-2 {\n margin: 0.5rem !important; }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important; }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important; }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important; }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important; }\n .m-md-3 {\n margin: 1rem !important; }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important; }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important; }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important; }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important; }\n .m-md-4 {\n margin: 1.5rem !important; }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important; }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important; }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important; }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important; }\n .m-md-5 {\n margin: 3rem !important; }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important; }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important; }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important; }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important; }\n .p-md-0 {\n padding: 0 !important; }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important; }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important; }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important; }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important; }\n .p-md-1 {\n padding: 0.25rem !important; }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important; }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important; }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important; }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important; }\n .p-md-2 {\n padding: 0.5rem !important; }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important; }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important; }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important; }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important; }\n .p-md-3 {\n padding: 1rem !important; }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important; }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important; }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important; }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important; }\n .p-md-4 {\n padding: 1.5rem !important; }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important; }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important; }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important; }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important; }\n .p-md-5 {\n padding: 3rem !important; }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important; }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important; }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important; }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important; }\n .m-md-n1 {\n margin: -0.25rem !important; }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important; }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important; }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important; }\n .m-md-n2 {\n margin: -0.5rem !important; }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important; }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important; }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important; }\n .m-md-n3 {\n margin: -1rem !important; }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important; }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important; }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important; }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important; }\n .m-md-n4 {\n margin: -1.5rem !important; }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important; }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important; }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important; }\n .m-md-n5 {\n margin: -3rem !important; }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important; }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important; }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important; }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important; }\n .m-md-auto {\n margin: auto !important; }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important; }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important; }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important; }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 3px) {\n .m-lg-0 {\n margin: 0 !important; }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important; }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important; }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important; }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important; }\n .m-lg-1 {\n margin: 0.25rem !important; }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important; }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important; }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important; }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important; }\n .m-lg-2 {\n margin: 0.5rem !important; }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important; }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important; }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important; }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important; }\n .m-lg-3 {\n margin: 1rem !important; }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important; }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important; }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important; }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important; }\n .m-lg-4 {\n margin: 1.5rem !important; }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important; }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important; }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important; }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important; }\n .m-lg-5 {\n margin: 3rem !important; }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important; }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important; }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important; }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important; }\n .p-lg-0 {\n padding: 0 !important; }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important; }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important; }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important; }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important; }\n .p-lg-1 {\n padding: 0.25rem !important; }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important; }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important; }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important; }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important; }\n .p-lg-2 {\n padding: 0.5rem !important; }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important; }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important; }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important; }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important; }\n .p-lg-3 {\n padding: 1rem !important; }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important; }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important; }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important; }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important; }\n .p-lg-4 {\n padding: 1.5rem !important; }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important; }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important; }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important; }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important; }\n .p-lg-5 {\n padding: 3rem !important; }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important; }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important; }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important; }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important; }\n .m-lg-n1 {\n margin: -0.25rem !important; }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important; }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important; }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important; }\n .m-lg-n2 {\n margin: -0.5rem !important; }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important; }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important; }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important; }\n .m-lg-n3 {\n margin: -1rem !important; }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important; }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important; }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important; }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important; }\n .m-lg-n4 {\n margin: -1.5rem !important; }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important; }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important; }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important; }\n .m-lg-n5 {\n margin: -3rem !important; }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important; }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important; }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important; }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important; }\n .m-lg-auto {\n margin: auto !important; }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important; }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important; }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important; }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 4px) {\n .m-xl-0 {\n margin: 0 !important; }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important; }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important; }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important; }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important; }\n .m-xl-1 {\n margin: 0.25rem !important; }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important; }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important; }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important; }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important; }\n .m-xl-2 {\n margin: 0.5rem !important; }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important; }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important; }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important; }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important; }\n .m-xl-3 {\n margin: 1rem !important; }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important; }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important; }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important; }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important; }\n .m-xl-4 {\n margin: 1.5rem !important; }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important; }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important; }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important; }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important; }\n .m-xl-5 {\n margin: 3rem !important; }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important; }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important; }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important; }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important; }\n .p-xl-0 {\n padding: 0 !important; }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important; }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important; }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important; }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important; }\n .p-xl-1 {\n padding: 0.25rem !important; }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important; }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important; }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important; }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important; }\n .p-xl-2 {\n padding: 0.5rem !important; }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important; }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important; }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important; }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important; }\n .p-xl-3 {\n padding: 1rem !important; }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important; }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important; }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important; }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important; }\n .p-xl-4 {\n padding: 1.5rem !important; }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important; }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important; }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important; }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important; }\n .p-xl-5 {\n padding: 3rem !important; }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important; }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important; }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important; }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important; }\n .m-xl-n1 {\n margin: -0.25rem !important; }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important; }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important; }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important; }\n .m-xl-n2 {\n margin: -0.5rem !important; }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important; }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important; }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important; }\n .m-xl-n3 {\n margin: -1rem !important; }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important; }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important; }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important; }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important; }\n .m-xl-n4 {\n margin: -1.5rem !important; }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important; }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important; }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important; }\n .m-xl-n5 {\n margin: -3rem !important; }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important; }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important; }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important; }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important; }\n .m-xl-auto {\n margin: auto !important; }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important; }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important; }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important; }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important; } }\n\n.text-monospace, .totp .totp-code {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important; }\n\n.text-justify {\n text-align: justify !important; }\n\n.text-wrap {\n white-space: normal !important; }\n\n.text-nowrap {\n white-space: nowrap !important; }\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n\n.text-left {\n text-align: left !important; }\n\n.text-right {\n text-align: right !important; }\n\n.text-center {\n text-align: center !important; }\n\n@media (min-width: 1px) {\n .text-sm-left {\n text-align: left !important; }\n .text-sm-right {\n text-align: right !important; }\n .text-sm-center {\n text-align: center !important; } }\n\n@media (min-width: 2px) {\n .text-md-left {\n text-align: left !important; }\n .text-md-right {\n text-align: right !important; }\n .text-md-center {\n text-align: center !important; } }\n\n@media (min-width: 3px) {\n .text-lg-left {\n text-align: left !important; }\n .text-lg-right {\n text-align: right !important; }\n .text-lg-center {\n text-align: center !important; } }\n\n@media (min-width: 4px) {\n .text-xl-left {\n text-align: left !important; }\n .text-xl-right {\n text-align: right !important; }\n .text-xl-center {\n text-align: center !important; } }\n\n.text-lowercase {\n text-transform: lowercase !important; }\n\n.text-uppercase {\n text-transform: uppercase !important; }\n\n.text-capitalize {\n text-transform: capitalize !important; }\n\n.font-weight-light {\n font-weight: 300 !important; }\n\n.font-weight-lighter {\n font-weight: lighter !important; }\n\n.font-weight-normal {\n font-weight: 400 !important; }\n\n.font-weight-bold {\n font-weight: 700 !important; }\n\n.font-weight-bolder {\n font-weight: bolder !important; }\n\n.font-italic {\n font-style: italic !important; }\n\n.text-white {\n color: #fff !important; }\n\n.text-primary {\n color: #175DDC !important; }\n\na.text-primary:hover, a.text-primary:focus {\n color: #104097 !important; }\n\n.text-secondary {\n color: #ced4da !important; }\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #a2aeb9 !important; }\n\n.text-success {\n color: #00a65a !important; }\n\na.text-success:hover, a.text-success:focus {\n color: #005a31 !important; }\n\n.text-info {\n color: #555555 !important; }\n\na.text-info:hover, a.text-info:focus {\n color: #2f2f2f !important; }\n\n.text-warning {\n color: #bf7e16 !important; }\n\na.text-warning:hover, a.text-warning:focus {\n color: #7a510e !important; }\n\n.text-danger {\n color: #dd4b39 !important; }\n\na.text-danger:hover, a.text-danger:focus {\n color: #ac2d1e !important; }\n\n.text-light {\n color: #f8f9fa !important; }\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important; }\n\n.text-dark {\n color: #343a40 !important; }\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important; }\n\n.text-primary-accent {\n color: #1252A3 !important; }\n\na.text-primary-accent:hover, a.text-primary-accent:focus {\n color: #0a2f5e !important; }\n\n.text-secondary-alt {\n color: #1A3B66 !important; }\n\na.text-secondary-alt:hover, a.text-secondary-alt:focus {\n color: #0a1829 !important; }\n\n.text-body {\n color: #333333 !important; }\n\n.text-muted, .card-header small, .modal-header small {\n color: #6c757d !important; }\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important; }\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important; }\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0; }\n\n.text-decoration-none {\n text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important; }\n\n.text-reset {\n color: inherit !important; }\n\n.visible {\n visibility: visible !important; }\n\n.invisible {\n visibility: hidden !important; }\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important; }\n a:not(.btn) {\n text-decoration: underline; }\n abbr[title]::after {\n content: \" (\" attr(title) \")\"; }\n pre {\n white-space: pre-wrap !important; }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid; }\n thead {\n display: table-header-group; }\n tr,\n img {\n page-break-inside: avoid; }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3; }\n h2,\n h3 {\n page-break-after: avoid; }\n @page {\n size: a3; }\n body {\n min-width: 3px !important; }\n .container {\n min-width: 3px !important; }\n .navbar {\n display: none; }\n .badge {\n border: 1px solid #000; }\n .table {\n border-collapse: collapse !important; }\n .table td,\n .table th {\n background-color: #fff !important; }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important; }\n .table-dark {\n color: inherit; }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6; }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6; } }\n\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url(../fonts/fontawesome-webfont.eot);\n src: url(../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format(\"embedded-opentype\"), url(../fonts/fontawesome-webfont.woff2) format(\"woff2\"), url(../fonts/fontawesome-webfont.woff) format(\"woff\"), url(../fonts/fontawesome-webfont.ttf) format(\"truetype\"), url(../fonts/fontawesome-webfont.svg#fontawesomeregular) format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -15%; }\n\n.fa-2x {\n font-size: 2em; }\n\n.fa-3x {\n font-size: 3em; }\n\n.fa-4x {\n font-size: 4em; }\n\n.fa-5x {\n font-size: 5em; }\n\n.fa-fw {\n width: 1.28571em;\n text-align: center; }\n\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14286em;\n list-style-type: none; }\n .fa-ul > li {\n position: relative; }\n\n.fa-li {\n position: absolute;\n left: -2.14286em;\n width: 2.14286em;\n top: 0.14286em;\n text-align: center; }\n .fa-li.fa-lg {\n left: -1.85714em; }\n\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eee;\n border-radius: .1em; }\n\n.fa-pull-left {\n float: left; }\n\n.fa-pull-right {\n float: right; }\n\n.fa.fa-pull-left {\n margin-right: .3em; }\n\n.fa.fa-pull-right {\n margin-left: .3em; }\n\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right; }\n\n.pull-left {\n float: left; }\n\n.fa.pull-left {\n margin-right: .3em; }\n\n.fa.pull-right {\n margin-left: .3em; }\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none; }\n\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle; }\n\n.fa-stack-1x, .fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center; }\n\n.fa-stack-1x {\n line-height: inherit; }\n\n.fa-stack-2x {\n font-size: 2em; }\n\n.fa-inverse {\n color: #fff; }\n\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\F000\"; }\n\n.fa-music:before {\n content: \"\\F001\"; }\n\n.fa-search:before {\n content: \"\\F002\"; }\n\n.fa-envelope-o:before {\n content: \"\\F003\"; }\n\n.fa-heart:before {\n content: \"\\F004\"; }\n\n.fa-star:before {\n content: \"\\F005\"; }\n\n.fa-star-o:before {\n content: \"\\F006\"; }\n\n.fa-user:before {\n content: \"\\F007\"; }\n\n.fa-film:before {\n content: \"\\F008\"; }\n\n.fa-th-large:before {\n content: \"\\F009\"; }\n\n.fa-th:before {\n content: \"\\F00A\"; }\n\n.fa-th-list:before {\n content: \"\\F00B\"; }\n\n.fa-check:before {\n content: \"\\F00C\"; }\n\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\F00D\"; }\n\n.fa-search-plus:before {\n content: \"\\F00E\"; }\n\n.fa-search-minus:before {\n content: \"\\F010\"; }\n\n.fa-power-off:before {\n content: \"\\F011\"; }\n\n.fa-signal:before {\n content: \"\\F012\"; }\n\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\F013\"; }\n\n.fa-trash-o:before {\n content: \"\\F014\"; }\n\n.fa-home:before {\n content: \"\\F015\"; }\n\n.fa-file-o:before {\n content: \"\\F016\"; }\n\n.fa-clock-o:before {\n content: \"\\F017\"; }\n\n.fa-road:before {\n content: \"\\F018\"; }\n\n.fa-download:before {\n content: \"\\F019\"; }\n\n.fa-arrow-circle-o-down:before {\n content: \"\\F01A\"; }\n\n.fa-arrow-circle-o-up:before {\n content: \"\\F01B\"; }\n\n.fa-inbox:before {\n content: \"\\F01C\"; }\n\n.fa-play-circle-o:before {\n content: \"\\F01D\"; }\n\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\F01E\"; }\n\n.fa-refresh:before {\n content: \"\\F021\"; }\n\n.fa-list-alt:before {\n content: \"\\F022\"; }\n\n.fa-lock:before {\n content: \"\\F023\"; }\n\n.fa-flag:before {\n content: \"\\F024\"; }\n\n.fa-headphones:before {\n content: \"\\F025\"; }\n\n.fa-volume-off:before {\n content: \"\\F026\"; }\n\n.fa-volume-down:before {\n content: \"\\F027\"; }\n\n.fa-volume-up:before {\n content: \"\\F028\"; }\n\n.fa-qrcode:before {\n content: \"\\F029\"; }\n\n.fa-barcode:before {\n content: \"\\F02A\"; }\n\n.fa-tag:before {\n content: \"\\F02B\"; }\n\n.fa-tags:before {\n content: \"\\F02C\"; }\n\n.fa-book:before {\n content: \"\\F02D\"; }\n\n.fa-bookmark:before {\n content: \"\\F02E\"; }\n\n.fa-print:before {\n content: \"\\F02F\"; }\n\n.fa-camera:before {\n content: \"\\F030\"; }\n\n.fa-font:before {\n content: \"\\F031\"; }\n\n.fa-bold:before {\n content: \"\\F032\"; }\n\n.fa-italic:before {\n content: \"\\F033\"; }\n\n.fa-text-height:before {\n content: \"\\F034\"; }\n\n.fa-text-width:before {\n content: \"\\F035\"; }\n\n.fa-align-left:before {\n content: \"\\F036\"; }\n\n.fa-align-center:before {\n content: \"\\F037\"; }\n\n.fa-align-right:before {\n content: \"\\F038\"; }\n\n.fa-align-justify:before {\n content: \"\\F039\"; }\n\n.fa-list:before {\n content: \"\\F03A\"; }\n\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\F03B\"; }\n\n.fa-indent:before {\n content: \"\\F03C\"; }\n\n.fa-video-camera:before {\n content: \"\\F03D\"; }\n\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\F03E\"; }\n\n.fa-pencil:before {\n content: \"\\F040\"; }\n\n.fa-map-marker:before {\n content: \"\\F041\"; }\n\n.fa-adjust:before {\n content: \"\\F042\"; }\n\n.fa-tint:before {\n content: \"\\F043\"; }\n\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\F044\"; }\n\n.fa-share-square-o:before {\n content: \"\\F045\"; }\n\n.fa-check-square-o:before {\n content: \"\\F046\"; }\n\n.fa-arrows:before {\n content: \"\\F047\"; }\n\n.fa-step-backward:before {\n content: \"\\F048\"; }\n\n.fa-fast-backward:before {\n content: \"\\F049\"; }\n\n.fa-backward:before {\n content: \"\\F04A\"; }\n\n.fa-play:before {\n content: \"\\F04B\"; }\n\n.fa-pause:before {\n content: \"\\F04C\"; }\n\n.fa-stop:before {\n content: \"\\F04D\"; }\n\n.fa-forward:before {\n content: \"\\F04E\"; }\n\n.fa-fast-forward:before {\n content: \"\\F050\"; }\n\n.fa-step-forward:before {\n content: \"\\F051\"; }\n\n.fa-eject:before {\n content: \"\\F052\"; }\n\n.fa-chevron-left:before {\n content: \"\\F053\"; }\n\n.fa-chevron-right:before {\n content: \"\\F054\"; }\n\n.fa-plus-circle:before {\n content: \"\\F055\"; }\n\n.fa-minus-circle:before {\n content: \"\\F056\"; }\n\n.fa-times-circle:before {\n content: \"\\F057\"; }\n\n.fa-check-circle:before {\n content: \"\\F058\"; }\n\n.fa-question-circle:before {\n content: \"\\F059\"; }\n\n.fa-info-circle:before {\n content: \"\\F05A\"; }\n\n.fa-crosshairs:before {\n content: \"\\F05B\"; }\n\n.fa-times-circle-o:before {\n content: \"\\F05C\"; }\n\n.fa-check-circle-o:before {\n content: \"\\F05D\"; }\n\n.fa-ban:before {\n content: \"\\F05E\"; }\n\n.fa-arrow-left:before {\n content: \"\\F060\"; }\n\n.fa-arrow-right:before {\n content: \"\\F061\"; }\n\n.fa-arrow-up:before {\n content: \"\\F062\"; }\n\n.fa-arrow-down:before {\n content: \"\\F063\"; }\n\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\F064\"; }\n\n.fa-expand:before {\n content: \"\\F065\"; }\n\n.fa-compress:before {\n content: \"\\F066\"; }\n\n.fa-plus:before {\n content: \"\\F067\"; }\n\n.fa-minus:before {\n content: \"\\F068\"; }\n\n.fa-asterisk:before {\n content: \"\\F069\"; }\n\n.fa-exclamation-circle:before {\n content: \"\\F06A\"; }\n\n.fa-gift:before {\n content: \"\\F06B\"; }\n\n.fa-leaf:before {\n content: \"\\F06C\"; }\n\n.fa-fire:before {\n content: \"\\F06D\"; }\n\n.fa-eye:before {\n content: \"\\F06E\"; }\n\n.fa-eye-slash:before {\n content: \"\\F070\"; }\n\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\F071\"; }\n\n.fa-plane:before {\n content: \"\\F072\"; }\n\n.fa-calendar:before {\n content: \"\\F073\"; }\n\n.fa-random:before {\n content: \"\\F074\"; }\n\n.fa-comment:before {\n content: \"\\F075\"; }\n\n.fa-magnet:before {\n content: \"\\F076\"; }\n\n.fa-chevron-up:before {\n content: \"\\F077\"; }\n\n.fa-chevron-down:before {\n content: \"\\F078\"; }\n\n.fa-retweet:before {\n content: \"\\F079\"; }\n\n.fa-shopping-cart:before {\n content: \"\\F07A\"; }\n\n.fa-folder:before {\n content: \"\\F07B\"; }\n\n.fa-folder-open:before {\n content: \"\\F07C\"; }\n\n.fa-arrows-v:before {\n content: \"\\F07D\"; }\n\n.fa-arrows-h:before {\n content: \"\\F07E\"; }\n\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\F080\"; }\n\n.fa-twitter-square:before {\n content: \"\\F081\"; }\n\n.fa-facebook-square:before {\n content: \"\\F082\"; }\n\n.fa-camera-retro:before {\n content: \"\\F083\"; }\n\n.fa-key:before {\n content: \"\\F084\"; }\n\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\F085\"; }\n\n.fa-comments:before {\n content: \"\\F086\"; }\n\n.fa-thumbs-o-up:before {\n content: \"\\F087\"; }\n\n.fa-thumbs-o-down:before {\n content: \"\\F088\"; }\n\n.fa-star-half:before {\n content: \"\\F089\"; }\n\n.fa-heart-o:before {\n content: \"\\F08A\"; }\n\n.fa-sign-out:before {\n content: \"\\F08B\"; }\n\n.fa-linkedin-square:before {\n content: \"\\F08C\"; }\n\n.fa-thumb-tack:before {\n content: \"\\F08D\"; }\n\n.fa-external-link:before {\n content: \"\\F08E\"; }\n\n.fa-sign-in:before {\n content: \"\\F090\"; }\n\n.fa-trophy:before {\n content: \"\\F091\"; }\n\n.fa-github-square:before {\n content: \"\\F092\"; }\n\n.fa-upload:before {\n content: \"\\F093\"; }\n\n.fa-lemon-o:before {\n content: \"\\F094\"; }\n\n.fa-phone:before {\n content: \"\\F095\"; }\n\n.fa-square-o:before {\n content: \"\\F096\"; }\n\n.fa-bookmark-o:before {\n content: \"\\F097\"; }\n\n.fa-phone-square:before {\n content: \"\\F098\"; }\n\n.fa-twitter:before {\n content: \"\\F099\"; }\n\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\F09A\"; }\n\n.fa-github:before {\n content: \"\\F09B\"; }\n\n.fa-unlock:before {\n content: \"\\F09C\"; }\n\n.fa-credit-card:before {\n content: \"\\F09D\"; }\n\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\F09E\"; }\n\n.fa-hdd-o:before {\n content: \"\\F0A0\"; }\n\n.fa-bullhorn:before {\n content: \"\\F0A1\"; }\n\n.fa-bell:before {\n content: \"\\F0F3\"; }\n\n.fa-certificate:before {\n content: \"\\F0A3\"; }\n\n.fa-hand-o-right:before {\n content: \"\\F0A4\"; }\n\n.fa-hand-o-left:before {\n content: \"\\F0A5\"; }\n\n.fa-hand-o-up:before {\n content: \"\\F0A6\"; }\n\n.fa-hand-o-down:before {\n content: \"\\F0A7\"; }\n\n.fa-arrow-circle-left:before {\n content: \"\\F0A8\"; }\n\n.fa-arrow-circle-right:before {\n content: \"\\F0A9\"; }\n\n.fa-arrow-circle-up:before {\n content: \"\\F0AA\"; }\n\n.fa-arrow-circle-down:before {\n content: \"\\F0AB\"; }\n\n.fa-globe:before {\n content: \"\\F0AC\"; }\n\n.fa-wrench:before {\n content: \"\\F0AD\"; }\n\n.fa-tasks:before {\n content: \"\\F0AE\"; }\n\n.fa-filter:before {\n content: \"\\F0B0\"; }\n\n.fa-briefcase:before {\n content: \"\\F0B1\"; }\n\n.fa-arrows-alt:before {\n content: \"\\F0B2\"; }\n\n.fa-group:before,\n.fa-users:before {\n content: \"\\F0C0\"; }\n\n.fa-chain:before,\n.fa-link:before {\n content: \"\\F0C1\"; }\n\n.fa-cloud:before {\n content: \"\\F0C2\"; }\n\n.fa-flask:before {\n content: \"\\F0C3\"; }\n\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\F0C4\"; }\n\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\F0C5\"; }\n\n.fa-paperclip:before {\n content: \"\\F0C6\"; }\n\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\F0C7\"; }\n\n.fa-square:before {\n content: \"\\F0C8\"; }\n\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\F0C9\"; }\n\n.fa-list-ul:before {\n content: \"\\F0CA\"; }\n\n.fa-list-ol:before {\n content: \"\\F0CB\"; }\n\n.fa-strikethrough:before {\n content: \"\\F0CC\"; }\n\n.fa-underline:before {\n content: \"\\F0CD\"; }\n\n.fa-table:before {\n content: \"\\F0CE\"; }\n\n.fa-magic:before {\n content: \"\\F0D0\"; }\n\n.fa-truck:before {\n content: \"\\F0D1\"; }\n\n.fa-pinterest:before {\n content: \"\\F0D2\"; }\n\n.fa-pinterest-square:before {\n content: \"\\F0D3\"; }\n\n.fa-google-plus-square:before {\n content: \"\\F0D4\"; }\n\n.fa-google-plus:before {\n content: \"\\F0D5\"; }\n\n.fa-money:before {\n content: \"\\F0D6\"; }\n\n.fa-caret-down:before {\n content: \"\\F0D7\"; }\n\n.fa-caret-up:before {\n content: \"\\F0D8\"; }\n\n.fa-caret-left:before {\n content: \"\\F0D9\"; }\n\n.fa-caret-right:before {\n content: \"\\F0DA\"; }\n\n.fa-columns:before {\n content: \"\\F0DB\"; }\n\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\F0DC\"; }\n\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\F0DD\"; }\n\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\F0DE\"; }\n\n.fa-envelope:before {\n content: \"\\F0E0\"; }\n\n.fa-linkedin:before {\n content: \"\\F0E1\"; }\n\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\F0E2\"; }\n\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\F0E3\"; }\n\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\F0E4\"; }\n\n.fa-comment-o:before {\n content: \"\\F0E5\"; }\n\n.fa-comments-o:before {\n content: \"\\F0E6\"; }\n\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\F0E7\"; }\n\n.fa-sitemap:before {\n content: \"\\F0E8\"; }\n\n.fa-umbrella:before {\n content: \"\\F0E9\"; }\n\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\F0EA\"; }\n\n.fa-lightbulb-o:before {\n content: \"\\F0EB\"; }\n\n.fa-exchange:before {\n content: \"\\F0EC\"; }\n\n.fa-cloud-download:before {\n content: \"\\F0ED\"; }\n\n.fa-cloud-upload:before {\n content: \"\\F0EE\"; }\n\n.fa-user-md:before {\n content: \"\\F0F0\"; }\n\n.fa-stethoscope:before {\n content: \"\\F0F1\"; }\n\n.fa-suitcase:before {\n content: \"\\F0F2\"; }\n\n.fa-bell-o:before {\n content: \"\\F0A2\"; }\n\n.fa-coffee:before {\n content: \"\\F0F4\"; }\n\n.fa-cutlery:before {\n content: \"\\F0F5\"; }\n\n.fa-file-text-o:before {\n content: \"\\F0F6\"; }\n\n.fa-building-o:before {\n content: \"\\F0F7\"; }\n\n.fa-hospital-o:before {\n content: \"\\F0F8\"; }\n\n.fa-ambulance:before {\n content: \"\\F0F9\"; }\n\n.fa-medkit:before {\n content: \"\\F0FA\"; }\n\n.fa-fighter-jet:before {\n content: \"\\F0FB\"; }\n\n.fa-beer:before {\n content: \"\\F0FC\"; }\n\n.fa-h-square:before {\n content: \"\\F0FD\"; }\n\n.fa-plus-square:before {\n content: \"\\F0FE\"; }\n\n.fa-angle-double-left:before {\n content: \"\\F100\"; }\n\n.fa-angle-double-right:before {\n content: \"\\F101\"; }\n\n.fa-angle-double-up:before {\n content: \"\\F102\"; }\n\n.fa-angle-double-down:before {\n content: \"\\F103\"; }\n\n.fa-angle-left:before {\n content: \"\\F104\"; }\n\n.fa-angle-right:before {\n content: \"\\F105\"; }\n\n.fa-angle-up:before {\n content: \"\\F106\"; }\n\n.fa-angle-down:before {\n content: \"\\F107\"; }\n\n.fa-desktop:before {\n content: \"\\F108\"; }\n\n.fa-laptop:before {\n content: \"\\F109\"; }\n\n.fa-tablet:before {\n content: \"\\F10A\"; }\n\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\F10B\"; }\n\n.fa-circle-o:before {\n content: \"\\F10C\"; }\n\n.fa-quote-left:before {\n content: \"\\F10D\"; }\n\n.fa-quote-right:before {\n content: \"\\F10E\"; }\n\n.fa-spinner:before {\n content: \"\\F110\"; }\n\n.fa-circle:before {\n content: \"\\F111\"; }\n\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\F112\"; }\n\n.fa-github-alt:before {\n content: \"\\F113\"; }\n\n.fa-folder-o:before {\n content: \"\\F114\"; }\n\n.fa-folder-open-o:before {\n content: \"\\F115\"; }\n\n.fa-smile-o:before {\n content: \"\\F118\"; }\n\n.fa-frown-o:before {\n content: \"\\F119\"; }\n\n.fa-meh-o:before {\n content: \"\\F11A\"; }\n\n.fa-gamepad:before {\n content: \"\\F11B\"; }\n\n.fa-keyboard-o:before {\n content: \"\\F11C\"; }\n\n.fa-flag-o:before {\n content: \"\\F11D\"; }\n\n.fa-flag-checkered:before {\n content: \"\\F11E\"; }\n\n.fa-terminal:before {\n content: \"\\F120\"; }\n\n.fa-code:before {\n content: \"\\F121\"; }\n\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\F122\"; }\n\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\F123\"; }\n\n.fa-location-arrow:before {\n content: \"\\F124\"; }\n\n.fa-crop:before {\n content: \"\\F125\"; }\n\n.fa-code-fork:before {\n content: \"\\F126\"; }\n\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\F127\"; }\n\n.fa-question:before {\n content: \"\\F128\"; }\n\n.fa-info:before {\n content: \"\\F129\"; }\n\n.fa-exclamation:before {\n content: \"\\F12A\"; }\n\n.fa-superscript:before {\n content: \"\\F12B\"; }\n\n.fa-subscript:before {\n content: \"\\F12C\"; }\n\n.fa-eraser:before {\n content: \"\\F12D\"; }\n\n.fa-puzzle-piece:before {\n content: \"\\F12E\"; }\n\n.fa-microphone:before {\n content: \"\\F130\"; }\n\n.fa-microphone-slash:before {\n content: \"\\F131\"; }\n\n.fa-shield:before {\n content: \"\\F132\"; }\n\n.fa-calendar-o:before {\n content: \"\\F133\"; }\n\n.fa-fire-extinguisher:before {\n content: \"\\F134\"; }\n\n.fa-rocket:before {\n content: \"\\F135\"; }\n\n.fa-maxcdn:before {\n content: \"\\F136\"; }\n\n.fa-chevron-circle-left:before {\n content: \"\\F137\"; }\n\n.fa-chevron-circle-right:before {\n content: \"\\F138\"; }\n\n.fa-chevron-circle-up:before {\n content: \"\\F139\"; }\n\n.fa-chevron-circle-down:before {\n content: \"\\F13A\"; }\n\n.fa-html5:before {\n content: \"\\F13B\"; }\n\n.fa-css3:before {\n content: \"\\F13C\"; }\n\n.fa-anchor:before {\n content: \"\\F13D\"; }\n\n.fa-unlock-alt:before {\n content: \"\\F13E\"; }\n\n.fa-bullseye:before {\n content: \"\\F140\"; }\n\n.fa-ellipsis-h:before {\n content: \"\\F141\"; }\n\n.fa-ellipsis-v:before {\n content: \"\\F142\"; }\n\n.fa-rss-square:before {\n content: \"\\F143\"; }\n\n.fa-play-circle:before {\n content: \"\\F144\"; }\n\n.fa-ticket:before {\n content: \"\\F145\"; }\n\n.fa-minus-square:before {\n content: \"\\F146\"; }\n\n.fa-minus-square-o:before {\n content: \"\\F147\"; }\n\n.fa-level-up:before {\n content: \"\\F148\"; }\n\n.fa-level-down:before {\n content: \"\\F149\"; }\n\n.fa-check-square:before {\n content: \"\\F14A\"; }\n\n.fa-pencil-square:before {\n content: \"\\F14B\"; }\n\n.fa-external-link-square:before {\n content: \"\\F14C\"; }\n\n.fa-share-square:before {\n content: \"\\F14D\"; }\n\n.fa-compass:before {\n content: \"\\F14E\"; }\n\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\F150\"; }\n\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\F151\"; }\n\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\F152\"; }\n\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\F153\"; }\n\n.fa-gbp:before {\n content: \"\\F154\"; }\n\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\F155\"; }\n\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\F156\"; }\n\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\F157\"; }\n\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\F158\"; }\n\n.fa-won:before,\n.fa-krw:before {\n content: \"\\F159\"; }\n\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\F15A\"; }\n\n.fa-file:before {\n content: \"\\F15B\"; }\n\n.fa-file-text:before {\n content: \"\\F15C\"; }\n\n.fa-sort-alpha-asc:before {\n content: \"\\F15D\"; }\n\n.fa-sort-alpha-desc:before {\n content: \"\\F15E\"; }\n\n.fa-sort-amount-asc:before {\n content: \"\\F160\"; }\n\n.fa-sort-amount-desc:before {\n content: \"\\F161\"; }\n\n.fa-sort-numeric-asc:before {\n content: \"\\F162\"; }\n\n.fa-sort-numeric-desc:before {\n content: \"\\F163\"; }\n\n.fa-thumbs-up:before {\n content: \"\\F164\"; }\n\n.fa-thumbs-down:before {\n content: \"\\F165\"; }\n\n.fa-youtube-square:before {\n content: \"\\F166\"; }\n\n.fa-youtube:before {\n content: \"\\F167\"; }\n\n.fa-xing:before {\n content: \"\\F168\"; }\n\n.fa-xing-square:before {\n content: \"\\F169\"; }\n\n.fa-youtube-play:before {\n content: \"\\F16A\"; }\n\n.fa-dropbox:before {\n content: \"\\F16B\"; }\n\n.fa-stack-overflow:before {\n content: \"\\F16C\"; }\n\n.fa-instagram:before {\n content: \"\\F16D\"; }\n\n.fa-flickr:before {\n content: \"\\F16E\"; }\n\n.fa-adn:before {\n content: \"\\F170\"; }\n\n.fa-bitbucket:before {\n content: \"\\F171\"; }\n\n.fa-bitbucket-square:before {\n content: \"\\F172\"; }\n\n.fa-tumblr:before {\n content: \"\\F173\"; }\n\n.fa-tumblr-square:before {\n content: \"\\F174\"; }\n\n.fa-long-arrow-down:before {\n content: \"\\F175\"; }\n\n.fa-long-arrow-up:before {\n content: \"\\F176\"; }\n\n.fa-long-arrow-left:before {\n content: \"\\F177\"; }\n\n.fa-long-arrow-right:before {\n content: \"\\F178\"; }\n\n.fa-apple:before {\n content: \"\\F179\"; }\n\n.fa-windows:before {\n content: \"\\F17A\"; }\n\n.fa-android:before {\n content: \"\\F17B\"; }\n\n.fa-linux:before {\n content: \"\\F17C\"; }\n\n.fa-dribbble:before {\n content: \"\\F17D\"; }\n\n.fa-skype:before {\n content: \"\\F17E\"; }\n\n.fa-foursquare:before {\n content: \"\\F180\"; }\n\n.fa-trello:before {\n content: \"\\F181\"; }\n\n.fa-female:before {\n content: \"\\F182\"; }\n\n.fa-male:before {\n content: \"\\F183\"; }\n\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\F184\"; }\n\n.fa-sun-o:before {\n content: \"\\F185\"; }\n\n.fa-moon-o:before {\n content: \"\\F186\"; }\n\n.fa-archive:before {\n content: \"\\F187\"; }\n\n.fa-bug:before {\n content: \"\\F188\"; }\n\n.fa-vk:before {\n content: \"\\F189\"; }\n\n.fa-weibo:before {\n content: \"\\F18A\"; }\n\n.fa-renren:before {\n content: \"\\F18B\"; }\n\n.fa-pagelines:before {\n content: \"\\F18C\"; }\n\n.fa-stack-exchange:before {\n content: \"\\F18D\"; }\n\n.fa-arrow-circle-o-right:before {\n content: \"\\F18E\"; }\n\n.fa-arrow-circle-o-left:before {\n content: \"\\F190\"; }\n\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\F191\"; }\n\n.fa-dot-circle-o:before {\n content: \"\\F192\"; }\n\n.fa-wheelchair:before {\n content: \"\\F193\"; }\n\n.fa-vimeo-square:before {\n content: \"\\F194\"; }\n\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\F195\"; }\n\n.fa-plus-square-o:before {\n content: \"\\F196\"; }\n\n.fa-space-shuttle:before {\n content: \"\\F197\"; }\n\n.fa-slack:before {\n content: \"\\F198\"; }\n\n.fa-envelope-square:before {\n content: \"\\F199\"; }\n\n.fa-wordpress:before {\n content: \"\\F19A\"; }\n\n.fa-openid:before {\n content: \"\\F19B\"; }\n\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\F19C\"; }\n\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\F19D\"; }\n\n.fa-yahoo:before {\n content: \"\\F19E\"; }\n\n.fa-google:before {\n content: \"\\F1A0\"; }\n\n.fa-reddit:before {\n content: \"\\F1A1\"; }\n\n.fa-reddit-square:before {\n content: \"\\F1A2\"; }\n\n.fa-stumbleupon-circle:before {\n content: \"\\F1A3\"; }\n\n.fa-stumbleupon:before {\n content: \"\\F1A4\"; }\n\n.fa-delicious:before {\n content: \"\\F1A5\"; }\n\n.fa-digg:before {\n content: \"\\F1A6\"; }\n\n.fa-pied-piper-pp:before {\n content: \"\\F1A7\"; }\n\n.fa-pied-piper-alt:before {\n content: \"\\F1A8\"; }\n\n.fa-drupal:before {\n content: \"\\F1A9\"; }\n\n.fa-joomla:before {\n content: \"\\F1AA\"; }\n\n.fa-language:before {\n content: \"\\F1AB\"; }\n\n.fa-fax:before {\n content: \"\\F1AC\"; }\n\n.fa-building:before {\n content: \"\\F1AD\"; }\n\n.fa-child:before {\n content: \"\\F1AE\"; }\n\n.fa-paw:before {\n content: \"\\F1B0\"; }\n\n.fa-spoon:before {\n content: \"\\F1B1\"; }\n\n.fa-cube:before {\n content: \"\\F1B2\"; }\n\n.fa-cubes:before {\n content: \"\\F1B3\"; }\n\n.fa-behance:before {\n content: \"\\F1B4\"; }\n\n.fa-behance-square:before {\n content: \"\\F1B5\"; }\n\n.fa-steam:before {\n content: \"\\F1B6\"; }\n\n.fa-steam-square:before {\n content: \"\\F1B7\"; }\n\n.fa-recycle:before {\n content: \"\\F1B8\"; }\n\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\F1B9\"; }\n\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\F1BA\"; }\n\n.fa-tree:before {\n content: \"\\F1BB\"; }\n\n.fa-spotify:before {\n content: \"\\F1BC\"; }\n\n.fa-deviantart:before {\n content: \"\\F1BD\"; }\n\n.fa-soundcloud:before {\n content: \"\\F1BE\"; }\n\n.fa-database:before {\n content: \"\\F1C0\"; }\n\n.fa-file-pdf-o:before {\n content: \"\\F1C1\"; }\n\n.fa-file-word-o:before {\n content: \"\\F1C2\"; }\n\n.fa-file-excel-o:before {\n content: \"\\F1C3\"; }\n\n.fa-file-powerpoint-o:before {\n content: \"\\F1C4\"; }\n\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\F1C5\"; }\n\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\F1C6\"; }\n\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\F1C7\"; }\n\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\F1C8\"; }\n\n.fa-file-code-o:before {\n content: \"\\F1C9\"; }\n\n.fa-vine:before {\n content: \"\\F1CA\"; }\n\n.fa-codepen:before {\n content: \"\\F1CB\"; }\n\n.fa-jsfiddle:before {\n content: \"\\F1CC\"; }\n\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\F1CD\"; }\n\n.fa-circle-o-notch:before {\n content: \"\\F1CE\"; }\n\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\\F1D0\"; }\n\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\F1D1\"; }\n\n.fa-git-square:before {\n content: \"\\F1D2\"; }\n\n.fa-git:before {\n content: \"\\F1D3\"; }\n\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\F1D4\"; }\n\n.fa-tencent-weibo:before {\n content: \"\\F1D5\"; }\n\n.fa-qq:before {\n content: \"\\F1D6\"; }\n\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\F1D7\"; }\n\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\F1D8\"; }\n\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\F1D9\"; }\n\n.fa-history:before {\n content: \"\\F1DA\"; }\n\n.fa-circle-thin:before {\n content: \"\\F1DB\"; }\n\n.fa-header:before {\n content: \"\\F1DC\"; }\n\n.fa-paragraph:before {\n content: \"\\F1DD\"; }\n\n.fa-sliders:before {\n content: \"\\F1DE\"; }\n\n.fa-share-alt:before {\n content: \"\\F1E0\"; }\n\n.fa-share-alt-square:before {\n content: \"\\F1E1\"; }\n\n.fa-bomb:before {\n content: \"\\F1E2\"; }\n\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\F1E3\"; }\n\n.fa-tty:before {\n content: \"\\F1E4\"; }\n\n.fa-binoculars:before {\n content: \"\\F1E5\"; }\n\n.fa-plug:before {\n content: \"\\F1E6\"; }\n\n.fa-slideshare:before {\n content: \"\\F1E7\"; }\n\n.fa-twitch:before {\n content: \"\\F1E8\"; }\n\n.fa-yelp:before {\n content: \"\\F1E9\"; }\n\n.fa-newspaper-o:before {\n content: \"\\F1EA\"; }\n\n.fa-wifi:before {\n content: \"\\F1EB\"; }\n\n.fa-calculator:before {\n content: \"\\F1EC\"; }\n\n.fa-paypal:before {\n content: \"\\F1ED\"; }\n\n.fa-google-wallet:before {\n content: \"\\F1EE\"; }\n\n.fa-cc-visa:before {\n content: \"\\F1F0\"; }\n\n.fa-cc-mastercard:before {\n content: \"\\F1F1\"; }\n\n.fa-cc-discover:before {\n content: \"\\F1F2\"; }\n\n.fa-cc-amex:before {\n content: \"\\F1F3\"; }\n\n.fa-cc-paypal:before {\n content: \"\\F1F4\"; }\n\n.fa-cc-stripe:before {\n content: \"\\F1F5\"; }\n\n.fa-bell-slash:before {\n content: \"\\F1F6\"; }\n\n.fa-bell-slash-o:before {\n content: \"\\F1F7\"; }\n\n.fa-trash:before {\n content: \"\\F1F8\"; }\n\n.fa-copyright:before {\n content: \"\\F1F9\"; }\n\n.fa-at:before {\n content: \"\\F1FA\"; }\n\n.fa-eyedropper:before {\n content: \"\\F1FB\"; }\n\n.fa-paint-brush:before {\n content: \"\\F1FC\"; }\n\n.fa-birthday-cake:before {\n content: \"\\F1FD\"; }\n\n.fa-area-chart:before {\n content: \"\\F1FE\"; }\n\n.fa-pie-chart:before {\n content: \"\\F200\"; }\n\n.fa-line-chart:before {\n content: \"\\F201\"; }\n\n.fa-lastfm:before {\n content: \"\\F202\"; }\n\n.fa-lastfm-square:before {\n content: \"\\F203\"; }\n\n.fa-toggle-off:before {\n content: \"\\F204\"; }\n\n.fa-toggle-on:before {\n content: \"\\F205\"; }\n\n.fa-bicycle:before {\n content: \"\\F206\"; }\n\n.fa-bus:before {\n content: \"\\F207\"; }\n\n.fa-ioxhost:before {\n content: \"\\F208\"; }\n\n.fa-angellist:before {\n content: \"\\F209\"; }\n\n.fa-cc:before {\n content: \"\\F20A\"; }\n\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\F20B\"; }\n\n.fa-meanpath:before {\n content: \"\\F20C\"; }\n\n.fa-buysellads:before {\n content: \"\\F20D\"; }\n\n.fa-connectdevelop:before {\n content: \"\\F20E\"; }\n\n.fa-dashcube:before {\n content: \"\\F210\"; }\n\n.fa-forumbee:before {\n content: \"\\F211\"; }\n\n.fa-leanpub:before {\n content: \"\\F212\"; }\n\n.fa-sellsy:before {\n content: \"\\F213\"; }\n\n.fa-shirtsinbulk:before {\n content: \"\\F214\"; }\n\n.fa-simplybuilt:before {\n content: \"\\F215\"; }\n\n.fa-skyatlas:before {\n content: \"\\F216\"; }\n\n.fa-cart-plus:before {\n content: \"\\F217\"; }\n\n.fa-cart-arrow-down:before {\n content: \"\\F218\"; }\n\n.fa-diamond:before {\n content: \"\\F219\"; }\n\n.fa-ship:before {\n content: \"\\F21A\"; }\n\n.fa-user-secret:before {\n content: \"\\F21B\"; }\n\n.fa-motorcycle:before {\n content: \"\\F21C\"; }\n\n.fa-street-view:before {\n content: \"\\F21D\"; }\n\n.fa-heartbeat:before {\n content: \"\\F21E\"; }\n\n.fa-venus:before {\n content: \"\\F221\"; }\n\n.fa-mars:before {\n content: \"\\F222\"; }\n\n.fa-mercury:before {\n content: \"\\F223\"; }\n\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\F224\"; }\n\n.fa-transgender-alt:before {\n content: \"\\F225\"; }\n\n.fa-venus-double:before {\n content: \"\\F226\"; }\n\n.fa-mars-double:before {\n content: \"\\F227\"; }\n\n.fa-venus-mars:before {\n content: \"\\F228\"; }\n\n.fa-mars-stroke:before {\n content: \"\\F229\"; }\n\n.fa-mars-stroke-v:before {\n content: \"\\F22A\"; }\n\n.fa-mars-stroke-h:before {\n content: \"\\F22B\"; }\n\n.fa-neuter:before {\n content: \"\\F22C\"; }\n\n.fa-genderless:before {\n content: \"\\F22D\"; }\n\n.fa-facebook-official:before {\n content: \"\\F230\"; }\n\n.fa-pinterest-p:before {\n content: \"\\F231\"; }\n\n.fa-whatsapp:before {\n content: \"\\F232\"; }\n\n.fa-server:before {\n content: \"\\F233\"; }\n\n.fa-user-plus:before {\n content: \"\\F234\"; }\n\n.fa-user-times:before {\n content: \"\\F235\"; }\n\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\F236\"; }\n\n.fa-viacoin:before {\n content: \"\\F237\"; }\n\n.fa-train:before {\n content: \"\\F238\"; }\n\n.fa-subway:before {\n content: \"\\F239\"; }\n\n.fa-medium:before {\n content: \"\\F23A\"; }\n\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\F23B\"; }\n\n.fa-optin-monster:before {\n content: \"\\F23C\"; }\n\n.fa-opencart:before {\n content: \"\\F23D\"; }\n\n.fa-expeditedssl:before {\n content: \"\\F23E\"; }\n\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: \"\\F240\"; }\n\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\F241\"; }\n\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\F242\"; }\n\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\F243\"; }\n\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\F244\"; }\n\n.fa-mouse-pointer:before {\n content: \"\\F245\"; }\n\n.fa-i-cursor:before {\n content: \"\\F246\"; }\n\n.fa-object-group:before {\n content: \"\\F247\"; }\n\n.fa-object-ungroup:before {\n content: \"\\F248\"; }\n\n.fa-sticky-note:before {\n content: \"\\F249\"; }\n\n.fa-sticky-note-o:before {\n content: \"\\F24A\"; }\n\n.fa-cc-jcb:before {\n content: \"\\F24B\"; }\n\n.fa-cc-diners-club:before {\n content: \"\\F24C\"; }\n\n.fa-clone:before {\n content: \"\\F24D\"; }\n\n.fa-balance-scale:before {\n content: \"\\F24E\"; }\n\n.fa-hourglass-o:before {\n content: \"\\F250\"; }\n\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\F251\"; }\n\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\F252\"; }\n\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\F253\"; }\n\n.fa-hourglass:before {\n content: \"\\F254\"; }\n\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\F255\"; }\n\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\F256\"; }\n\n.fa-hand-scissors-o:before {\n content: \"\\F257\"; }\n\n.fa-hand-lizard-o:before {\n content: \"\\F258\"; }\n\n.fa-hand-spock-o:before {\n content: \"\\F259\"; }\n\n.fa-hand-pointer-o:before {\n content: \"\\F25A\"; }\n\n.fa-hand-peace-o:before {\n content: \"\\F25B\"; }\n\n.fa-trademark:before {\n content: \"\\F25C\"; }\n\n.fa-registered:before {\n content: \"\\F25D\"; }\n\n.fa-creative-commons:before {\n content: \"\\F25E\"; }\n\n.fa-gg:before {\n content: \"\\F260\"; }\n\n.fa-gg-circle:before {\n content: \"\\F261\"; }\n\n.fa-tripadvisor:before {\n content: \"\\F262\"; }\n\n.fa-odnoklassniki:before {\n content: \"\\F263\"; }\n\n.fa-odnoklassniki-square:before {\n content: \"\\F264\"; }\n\n.fa-get-pocket:before {\n content: \"\\F265\"; }\n\n.fa-wikipedia-w:before {\n content: \"\\F266\"; }\n\n.fa-safari:before {\n content: \"\\F267\"; }\n\n.fa-chrome:before {\n content: \"\\F268\"; }\n\n.fa-firefox:before {\n content: \"\\F269\"; }\n\n.fa-opera:before {\n content: \"\\F26A\"; }\n\n.fa-internet-explorer:before {\n content: \"\\F26B\"; }\n\n.fa-tv:before,\n.fa-television:before {\n content: \"\\F26C\"; }\n\n.fa-contao:before {\n content: \"\\F26D\"; }\n\n.fa-500px:before {\n content: \"\\F26E\"; }\n\n.fa-amazon:before {\n content: \"\\F270\"; }\n\n.fa-calendar-plus-o:before {\n content: \"\\F271\"; }\n\n.fa-calendar-minus-o:before {\n content: \"\\F272\"; }\n\n.fa-calendar-times-o:before {\n content: \"\\F273\"; }\n\n.fa-calendar-check-o:before {\n content: \"\\F274\"; }\n\n.fa-industry:before {\n content: \"\\F275\"; }\n\n.fa-map-pin:before {\n content: \"\\F276\"; }\n\n.fa-map-signs:before {\n content: \"\\F277\"; }\n\n.fa-map-o:before {\n content: \"\\F278\"; }\n\n.fa-map:before {\n content: \"\\F279\"; }\n\n.fa-commenting:before {\n content: \"\\F27A\"; }\n\n.fa-commenting-o:before {\n content: \"\\F27B\"; }\n\n.fa-houzz:before {\n content: \"\\F27C\"; }\n\n.fa-vimeo:before {\n content: \"\\F27D\"; }\n\n.fa-black-tie:before {\n content: \"\\F27E\"; }\n\n.fa-fonticons:before {\n content: \"\\F280\"; }\n\n.fa-reddit-alien:before {\n content: \"\\F281\"; }\n\n.fa-edge:before {\n content: \"\\F282\"; }\n\n.fa-credit-card-alt:before {\n content: \"\\F283\"; }\n\n.fa-codiepie:before {\n content: \"\\F284\"; }\n\n.fa-modx:before {\n content: \"\\F285\"; }\n\n.fa-fort-awesome:before {\n content: \"\\F286\"; }\n\n.fa-usb:before {\n content: \"\\F287\"; }\n\n.fa-product-hunt:before {\n content: \"\\F288\"; }\n\n.fa-mixcloud:before {\n content: \"\\F289\"; }\n\n.fa-scribd:before {\n content: \"\\F28A\"; }\n\n.fa-pause-circle:before {\n content: \"\\F28B\"; }\n\n.fa-pause-circle-o:before {\n content: \"\\F28C\"; }\n\n.fa-stop-circle:before {\n content: \"\\F28D\"; }\n\n.fa-stop-circle-o:before {\n content: \"\\F28E\"; }\n\n.fa-shopping-bag:before {\n content: \"\\F290\"; }\n\n.fa-shopping-basket:before {\n content: \"\\F291\"; }\n\n.fa-hashtag:before {\n content: \"\\F292\"; }\n\n.fa-bluetooth:before {\n content: \"\\F293\"; }\n\n.fa-bluetooth-b:before {\n content: \"\\F294\"; }\n\n.fa-percent:before {\n content: \"\\F295\"; }\n\n.fa-gitlab:before {\n content: \"\\F296\"; }\n\n.fa-wpbeginner:before {\n content: \"\\F297\"; }\n\n.fa-wpforms:before {\n content: \"\\F298\"; }\n\n.fa-envira:before {\n content: \"\\F299\"; }\n\n.fa-universal-access:before {\n content: \"\\F29A\"; }\n\n.fa-wheelchair-alt:before {\n content: \"\\F29B\"; }\n\n.fa-question-circle-o:before {\n content: \"\\F29C\"; }\n\n.fa-blind:before {\n content: \"\\F29D\"; }\n\n.fa-audio-description:before {\n content: \"\\F29E\"; }\n\n.fa-volume-control-phone:before {\n content: \"\\F2A0\"; }\n\n.fa-braille:before {\n content: \"\\F2A1\"; }\n\n.fa-assistive-listening-systems:before {\n content: \"\\F2A2\"; }\n\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\\F2A3\"; }\n\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\\F2A4\"; }\n\n.fa-glide:before {\n content: \"\\F2A5\"; }\n\n.fa-glide-g:before {\n content: \"\\F2A6\"; }\n\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\\F2A7\"; }\n\n.fa-low-vision:before {\n content: \"\\F2A8\"; }\n\n.fa-viadeo:before {\n content: \"\\F2A9\"; }\n\n.fa-viadeo-square:before {\n content: \"\\F2AA\"; }\n\n.fa-snapchat:before {\n content: \"\\F2AB\"; }\n\n.fa-snapchat-ghost:before {\n content: \"\\F2AC\"; }\n\n.fa-snapchat-square:before {\n content: \"\\F2AD\"; }\n\n.fa-pied-piper:before {\n content: \"\\F2AE\"; }\n\n.fa-first-order:before {\n content: \"\\F2B0\"; }\n\n.fa-yoast:before {\n content: \"\\F2B1\"; }\n\n.fa-themeisle:before {\n content: \"\\F2B2\"; }\n\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\\F2B3\"; }\n\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\\F2B4\"; }\n\n.fa-handshake-o:before {\n content: \"\\F2B5\"; }\n\n.fa-envelope-open:before {\n content: \"\\F2B6\"; }\n\n.fa-envelope-open-o:before {\n content: \"\\F2B7\"; }\n\n.fa-linode:before {\n content: \"\\F2B8\"; }\n\n.fa-address-book:before {\n content: \"\\F2B9\"; }\n\n.fa-address-book-o:before {\n content: \"\\F2BA\"; }\n\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\F2BB\"; }\n\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\F2BC\"; }\n\n.fa-user-circle:before {\n content: \"\\F2BD\"; }\n\n.fa-user-circle-o:before {\n content: \"\\F2BE\"; }\n\n.fa-user-o:before {\n content: \"\\F2C0\"; }\n\n.fa-id-badge:before {\n content: \"\\F2C1\"; }\n\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\F2C2\"; }\n\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\F2C3\"; }\n\n.fa-quora:before {\n content: \"\\F2C4\"; }\n\n.fa-free-code-camp:before {\n content: \"\\F2C5\"; }\n\n.fa-telegram:before {\n content: \"\\F2C6\"; }\n\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\F2C7\"; }\n\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\F2C8\"; }\n\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\F2C9\"; }\n\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\F2CA\"; }\n\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\F2CB\"; }\n\n.fa-shower:before {\n content: \"\\F2CC\"; }\n\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\F2CD\"; }\n\n.fa-podcast:before {\n content: \"\\F2CE\"; }\n\n.fa-window-maximize:before {\n content: \"\\F2D0\"; }\n\n.fa-window-minimize:before {\n content: \"\\F2D1\"; }\n\n.fa-window-restore:before {\n content: \"\\F2D2\"; }\n\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\F2D3\"; }\n\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\F2D4\"; }\n\n.fa-bandcamp:before {\n content: \"\\F2D5\"; }\n\n.fa-grav:before {\n content: \"\\F2D6\"; }\n\n.fa-etsy:before {\n content: \"\\F2D7\"; }\n\n.fa-imdb:before {\n content: \"\\F2D8\"; }\n\n.fa-ravelry:before {\n content: \"\\F2D9\"; }\n\n.fa-eercast:before {\n content: \"\\F2DA\"; }\n\n.fa-microchip:before {\n content: \"\\F2DB\"; }\n\n.fa-snowflake-o:before {\n content: \"\\F2DC\"; }\n\n.fa-superpowers:before {\n content: \"\\F2DD\"; }\n\n.fa-wpexplorer:before {\n content: \"\\F2DE\"; }\n\n.fa-meetup:before {\n content: \"\\F2E0\"; }\n\n.sr-only, .table.table-list tr:not(:hover) td.table-list-options > .dropdown:not(.show) button:not(:focus):not(:active), .table.table-list tr:not(:hover) td.table-list-options > button:not(:focus):not(:active) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n.toaster-icon {\n position: absolute;\n left: 0.0em;\n top: 0.0em;\n font-weight: normal;\n color: #ffffff; }\n\n.toast-title {\n font-weight: bold; }\n\n.toast-message {\n -ms-word-wrap: break-word;\n word-wrap: break-word; }\n\n.toast-message a,\n.toast-message label {\n color: #ffffff; }\n\n.toast-message a:hover {\n color: #cccccc;\n text-decoration: none; }\n\n.toast-close-button {\n position: relative;\n right: -0.3em;\n top: -0.3em;\n float: right;\n font-size: 20px;\n font-weight: bold;\n color: #ffffff;\n -webkit-text-shadow: 0 1px 0 #ffffff;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n z-index: 999; }\n\n.toast-close-button:hover, .toast-close-button:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40); }\n\n/*Additional properties for button version\n iOS requires the button element instead of an anchor tag.\n If you want the anchor version, it requires `href=\"#\"`.*/\nbutton.toast-close-button {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none; }\n\n.toast-content {\n display: inline-block;\n width: 95%; }\n\n.toast-top-full-width {\n top: 0;\n right: 0;\n width: 100%; }\n\n.toast-bottom-full-width {\n bottom: 0;\n right: 0;\n width: 100%; }\n\n.toast-top-left {\n top: 12px;\n left: 12px; }\n\n.toast-top-center {\n top: 12px; }\n\n.toast-top-right {\n top: 12px;\n right: 12px; }\n\n.toast-bottom-right {\n right: 12px;\n bottom: 12px; }\n\n.toast-bottom-center {\n bottom: 12px; }\n\n.toast-bottom-left {\n bottom: 12px;\n left: 12px; }\n\n.toast-center {\n top: 45%; }\n\n#toast-container {\n position: fixed;\n z-index: 999999;\n /*overrides*/\n pointer-events: auto; }\n\n#toast-container.toast-center,\n#toast-container.toast-top-center,\n#toast-container.toast-bottom-center {\n width: 100%;\n pointer-events: none;\n left: 0;\n right: 0; }\n\n#toast-container.toast-center > div,\n#toast-container.toast-top-center > div,\n#toast-container.toast-bottom-center > div {\n margin: 6px auto;\n pointer-events: auto; }\n\n#toast-container.toast-center > button,\n#toast-container.toast-top-center > button,\n#toast-container.toast-bottom-center > button {\n pointer-events: auto; }\n\n#toast-container * {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n#toast-container > div {\n margin: 0 0 6px;\n padding: 15px 15px 15px 50px;\n width: 300px;\n -moz-border-radius: 3px 3px 3px 3px;\n -webkit-border-radius: 3px 3px 3px 3px;\n border-radius: 3px 3px 3px 3px;\n background-position: 15px center;\n background-repeat: no-repeat;\n -moz-box-shadow: 0 0 12px #999999;\n -webkit-box-shadow: 0 0 12px #999999;\n box-shadow: 0 0 12px #999999;\n color: #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80); }\n\n#toast-container > :hover {\n -moz-box-shadow: 0 0 12px #000000;\n -webkit-box-shadow: 0 0 12px #000000;\n box-shadow: 0 0 12px #000000;\n opacity: 1;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n filter: alpha(opacity=100);\n cursor: pointer; }\n\n.icon-success {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\") !important; }\n\n.icon-error {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\") !important; }\n\n.icon-info {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\") !important; }\n\n.icon-wait {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/gif;base64,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\") !important; }\n\n.icon-warning {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\") !important; }\n\n#toast-container.toast-top-full-width > div,\n#toast-container.toast-bottom-full-width > div {\n width: 96%;\n margin: auto; }\n\n.toast {\n position: relative;\n background-color: #030303; }\n\n.toast-success {\n background-color: #51a351; }\n\n.toast-error {\n background-color: #bd362f; }\n\n.toast-info {\n background-color: #2f96b4; }\n\n.toast-wait {\n background-color: #2f96b4; }\n\n.toast-warning {\n background-color: #f89406; }\n\n/*Responsive Design*/\n@media all and (max-width: 240px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 11em; }\n #toast-container .toast-close-button {\n right: -0.1em;\n top: -0.2em; }\n .toast-content {\n width: 94%; } }\n\n@media all and (min-width: 241px) and (max-width: 480px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 18em; }\n #toast-container .toast-close-button {\n right: -0.1em;\n top: -0.2em; }\n .toast-content {\n width: 94%; } }\n\n@media all and (min-width: 481px) and (max-width: 768px) {\n #toast-container > div {\n padding: 15px 15px 15px 50px;\n width: 25em; } }\n\n.swal2-popup.swal2-toast {\n flex-direction: row;\n align-items: center;\n width: auto;\n padding: 0.625em;\n overflow-y: hidden;\n background: #fff;\n box-shadow: 0 0 0.625em #d9d9d9; }\n .swal2-popup.swal2-toast .swal2-header {\n flex-direction: row;\n padding: 0; }\n .swal2-popup.swal2-toast .swal2-title {\n flex-grow: 1;\n justify-content: flex-start;\n margin: 0 0.6em;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-footer {\n margin: 0.5em 0 0;\n padding: 0.5em 0 0;\n font-size: 0.8em; }\n .swal2-popup.swal2-toast .swal2-close {\n position: static;\n width: 0.8em;\n height: 0.8em;\n line-height: 0.8; }\n .swal2-popup.swal2-toast .swal2-content {\n justify-content: flex-start;\n padding: 0;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-icon {\n width: 2em;\n min-width: 2em;\n height: 2em;\n margin: 0; }\n .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {\n display: flex;\n align-items: center;\n font-size: 1.8em;\n font-weight: bold; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {\n font-size: .25em; } }\n .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {\n width: 2em;\n height: 2em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n top: .875em;\n width: 1.375em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n left: .3125em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n right: .3125em; }\n .swal2-popup.swal2-toast .swal2-actions {\n flex-basis: auto !important;\n width: auto;\n height: auto;\n margin: 0 .3125em;\n padding: 0; }\n .swal2-popup.swal2-toast .swal2-styled {\n margin: .125em .3125em;\n padding: .3125em .625em;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-styled:focus {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(100, 150, 200, 0.5); }\n .swal2-popup.swal2-toast .swal2-success {\n border-color: #a5dc86; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] {\n position: absolute;\n width: 1.6em;\n height: 3em;\n transform: rotate(45deg);\n border-radius: 50%; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n top: -.8em;\n left: -.5em;\n transform: rotate(-45deg);\n transform-origin: 2em 2em;\n border-radius: 4em 0 0 4em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n top: -.25em;\n left: .9375em;\n transform-origin: 0 1.5em;\n border-radius: 0 4em 4em 0; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-ring {\n width: 2em;\n height: 2em; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-fix {\n top: 0;\n left: .4375em;\n width: .4375em;\n height: 2.6875em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] {\n height: .3125em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] {\n top: 1.125em;\n left: .1875em;\n width: .75em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] {\n top: .9375em;\n right: .1875em;\n width: 1.375em; }\n .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip {\n animation: swal2-toast-animate-success-line-tip .75s; }\n .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long {\n animation: swal2-toast-animate-success-line-long .75s; }\n .swal2-popup.swal2-toast.swal2-show {\n animation: swal2-toast-show 0.5s; }\n .swal2-popup.swal2-toast.swal2-hide {\n animation: swal2-toast-hide 0.1s forwards; }\n\n.swal2-container {\n display: flex;\n position: fixed;\n z-index: 1060;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 0.625em;\n overflow-x: hidden;\n transition: background-color 0.1s;\n -webkit-overflow-scrolling: touch; }\n .swal2-container.swal2-backdrop-show, .swal2-container.swal2-noanimation {\n background: rgba(0, 0, 0, 0.4); }\n .swal2-container.swal2-backdrop-hide {\n background: transparent !important; }\n .swal2-container.swal2-top {\n align-items: flex-start; }\n .swal2-container.swal2-top-start, .swal2-container.swal2-top-left {\n align-items: flex-start;\n justify-content: flex-start; }\n .swal2-container.swal2-top-end, .swal2-container.swal2-top-right {\n align-items: flex-start;\n justify-content: flex-end; }\n .swal2-container.swal2-center {\n align-items: center; }\n .swal2-container.swal2-center-start, .swal2-container.swal2-center-left {\n align-items: center;\n justify-content: flex-start; }\n .swal2-container.swal2-center-end, .swal2-container.swal2-center-right {\n align-items: center;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom {\n align-items: flex-end; }\n .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left {\n align-items: flex-end;\n justify-content: flex-start; }\n .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right {\n align-items: flex-end;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom > :first-child,\n .swal2-container.swal2-bottom-start > :first-child,\n .swal2-container.swal2-bottom-left > :first-child,\n .swal2-container.swal2-bottom-end > :first-child,\n .swal2-container.swal2-bottom-right > :first-child {\n margin-top: auto; }\n .swal2-container.swal2-grow-fullscreen > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-self: stretch;\n justify-content: center; }\n .swal2-container.swal2-grow-row > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-content: center;\n justify-content: center; }\n .swal2-container.swal2-grow-column {\n flex: 1;\n flex-direction: column; }\n .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom {\n align-items: center; }\n .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left {\n align-items: flex-start; }\n .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right {\n align-items: flex-end; }\n .swal2-container.swal2-grow-column > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-content: center;\n justify-content: center; }\n .swal2-container.swal2-no-transition {\n transition: none !important; }\n .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen) > .swal2-modal {\n margin: auto; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-container .swal2-modal {\n margin: 0 !important; } }\n\n.swal2-popup {\n display: none;\n position: relative;\n box-sizing: border-box;\n flex-direction: column;\n justify-content: center;\n width: 32em;\n max-width: 100%;\n padding: 1.25em;\n border: none;\n border-radius: 5px;\n background: #fff;\n font-family: inherit;\n font-size: 1rem; }\n .swal2-popup:focus {\n outline: none; }\n .swal2-popup.swal2-loading {\n overflow-y: hidden; }\n\n.swal2-header {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.8em; }\n\n.swal2-title {\n position: relative;\n max-width: 100%;\n margin: 0 0 0.4em;\n padding: 0;\n color: #595959;\n font-size: 1.875em;\n font-weight: 600;\n text-align: center;\n text-transform: none;\n word-wrap: break-word; }\n\n.swal2-actions {\n display: flex;\n z-index: 1;\n box-sizing: border-box;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n width: 100%;\n margin: 1.25em auto 0;\n padding: 0 1.6em; }\n .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] {\n opacity: .4; }\n .swal2-actions:not(.swal2-loading) .swal2-styled:hover {\n background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)); }\n .swal2-actions:not(.swal2-loading) .swal2-styled:active {\n background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); }\n\n.swal2-loader {\n display: none;\n align-items: center;\n justify-content: center;\n width: 2.2em;\n height: 2.2em;\n margin: 0 1.875em;\n animation: swal2-rotate-loading 1.5s linear 0s infinite normal;\n border-width: 0.25em;\n border-style: solid;\n border-radius: 100%;\n border-color: #2778c4 transparent #2778c4 transparent; }\n\n.swal2-styled {\n margin: 0.3125em;\n padding: 0.625em 1.1em;\n box-shadow: none;\n font-weight: 500; }\n .swal2-styled:not([disabled]) {\n cursor: pointer; }\n .swal2-styled.swal2-confirm {\n border: 0;\n border-radius: 0.25em;\n background: initial;\n background-color: #2778c4;\n color: #fff;\n font-size: 1.0625em; }\n .swal2-styled.swal2-deny {\n border: 0;\n border-radius: 0.25em;\n background: initial;\n background-color: #d14529;\n color: #fff;\n font-size: 1.0625em; }\n .swal2-styled.swal2-cancel {\n border: 0;\n border-radius: 0.25em;\n background: initial;\n background-color: #757575;\n color: #fff;\n font-size: 1.0625em; }\n .swal2-styled:focus {\n outline: none;\n box-shadow: 0 0 0 3px rgba(100, 150, 200, 0.5); }\n .swal2-styled::-moz-focus-inner {\n border: 0; }\n\n.swal2-footer {\n justify-content: center;\n margin: 1.25em 0 0;\n padding: 1em 0 0;\n border-top: 1px solid #eee;\n color: #545454;\n font-size: 1em; }\n\n.swal2-timer-progress-bar-container {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n height: 0.25em;\n overflow: hidden;\n border-bottom-right-radius: 5px;\n border-bottom-left-radius: 5px; }\n\n.swal2-timer-progress-bar {\n width: 100%;\n height: 0.25em;\n background: rgba(0, 0, 0, 0.2); }\n\n.swal2-image {\n max-width: 100%;\n margin: 1.25em auto; }\n\n.swal2-close {\n position: absolute;\n z-index: 2;\n top: 0;\n right: 0;\n align-items: center;\n justify-content: center;\n width: 1.2em;\n height: 1.2em;\n padding: 0;\n overflow: hidden;\n transition: color 0.1s ease-out;\n border: none;\n border-radius: 5px;\n background: transparent;\n color: #cccccc;\n font-family: serif;\n font-size: 2.5em;\n line-height: 1.2;\n cursor: pointer; }\n .swal2-close:hover {\n transform: none;\n background: transparent;\n color: #f27474; }\n .swal2-close:focus {\n outline: none;\n box-shadow: inset 0 0 0 3px rgba(100, 150, 200, 0.5); }\n .swal2-close::-moz-focus-inner {\n border: 0; }\n\n.swal2-content {\n z-index: 1;\n justify-content: center;\n margin: 0;\n padding: 0 1.6em;\n color: #545454;\n font-size: 1.125em;\n font-weight: normal;\n line-height: normal;\n text-align: center;\n word-wrap: break-word; }\n\n.swal2-input,\n.swal2-file,\n.swal2-textarea,\n.swal2-select,\n.swal2-radio,\n.swal2-checkbox {\n margin: 1em auto; }\n\n.swal2-input,\n.swal2-file,\n.swal2-textarea {\n box-sizing: border-box;\n width: 100%;\n transition: border-color 0.3s, box-shadow 0.3s;\n border: 1px solid #d9d9d9;\n border-radius: 0.1875em;\n background: inherit;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n color: inherit;\n font-size: 1.125em; }\n .swal2-input.swal2-inputerror,\n .swal2-file.swal2-inputerror,\n .swal2-textarea.swal2-inputerror {\n border-color: #f27474 !important;\n box-shadow: 0 0 2px #f27474 !important; }\n .swal2-input:focus,\n .swal2-file:focus,\n .swal2-textarea:focus {\n border: 1px solid #b4dbed;\n outline: none;\n box-shadow: 0 0 0 3px rgba(100, 150, 200, 0.5); }\n .swal2-input::placeholder,\n .swal2-file::placeholder,\n .swal2-textarea::placeholder {\n color: #cccccc; }\n\n.swal2-range {\n margin: 1em auto;\n background: #fff; }\n .swal2-range input {\n width: 80%; }\n .swal2-range output {\n width: 20%;\n color: inherit;\n font-weight: 600;\n text-align: center; }\n .swal2-range input,\n .swal2-range output {\n height: 2.625em;\n padding: 0;\n font-size: 1.125em;\n line-height: 2.625em; }\n\n.swal2-input {\n height: 2.625em;\n padding: 0 0.75em; }\n .swal2-input[type='number'] {\n max-width: 10em; }\n\n.swal2-file {\n background: inherit;\n font-size: 1.125em; }\n\n.swal2-textarea {\n height: 6.75em;\n padding: 0.75em; }\n\n.swal2-select {\n min-width: 50%;\n max-width: 100%;\n padding: .375em .625em;\n background: inherit;\n color: inherit;\n font-size: 1.125em; }\n\n.swal2-radio,\n.swal2-checkbox {\n align-items: center;\n justify-content: center;\n background: #fff;\n color: inherit; }\n .swal2-radio label,\n .swal2-checkbox label {\n margin: 0 .6em;\n font-size: 1.125em; }\n .swal2-radio input,\n .swal2-checkbox input {\n margin: 0 .4em; }\n\n.swal2-input-label {\n display: flex;\n justify-content: center;\n margin: 1em auto; }\n\n.swal2-validation-message {\n display: none;\n align-items: center;\n justify-content: center;\n margin: 0 -2.7em;\n padding: 0.625em;\n overflow: hidden;\n background: #f0f0f0;\n color: #666666;\n font-size: 1em;\n font-weight: 300; }\n .swal2-validation-message::before {\n content: '!';\n display: inline-block;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n margin: 0 .625em;\n border-radius: 50%;\n background-color: #f27474;\n color: #fff;\n font-weight: 600;\n line-height: 1.5em;\n text-align: center; }\n\n.swal2-icon {\n position: relative;\n box-sizing: content-box;\n justify-content: center;\n width: 5em;\n height: 5em;\n margin: 1.25em auto 1.875em;\n border: 0.25em solid transparent;\n border-radius: 50%;\n border-color: #000;\n font-family: inherit;\n line-height: 5em;\n cursor: default;\n user-select: none; }\n .swal2-icon .swal2-icon-content {\n display: flex;\n align-items: center;\n font-size: 3.75em; }\n .swal2-icon.swal2-error {\n border-color: #f27474;\n color: #f27474; }\n .swal2-icon.swal2-error .swal2-x-mark {\n position: relative;\n flex-grow: 1; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n display: block;\n position: absolute;\n top: 2.3125em;\n width: 2.9375em;\n height: .3125em;\n border-radius: .125em;\n background-color: #f27474; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n left: 1.0625em;\n transform: rotate(45deg); }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n right: 1em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-error.swal2-icon-show {\n animation: swal2-animate-error-icon .5s; }\n .swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark {\n animation: swal2-animate-error-x-mark .5s; }\n .swal2-icon.swal2-warning {\n border-color: #facea8;\n color: #f8bb86; }\n .swal2-icon.swal2-info {\n border-color: #9de0f6;\n color: #3fc3ee; }\n .swal2-icon.swal2-question {\n border-color: #c9dae1;\n color: #87adbd; }\n .swal2-icon.swal2-success {\n border-color: #a5dc86;\n color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'] {\n position: absolute;\n width: 3.75em;\n height: 7.5em;\n transform: rotate(45deg);\n border-radius: 50%; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n top: -.4375em;\n left: -2.0635em;\n transform: rotate(-45deg);\n transform-origin: 3.75em 3.75em;\n border-radius: 7.5em 0 0 7.5em; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n top: -.6875em;\n left: 1.875em;\n transform: rotate(-45deg);\n transform-origin: 0 3.75em;\n border-radius: 0 7.5em 7.5em 0; }\n .swal2-icon.swal2-success .swal2-success-ring {\n position: absolute;\n z-index: 2;\n top: -.25em;\n left: -.25em;\n box-sizing: content-box;\n width: 100%;\n height: 100%;\n border: 0.25em solid rgba(165, 220, 134, 0.3);\n border-radius: 50%; }\n .swal2-icon.swal2-success .swal2-success-fix {\n position: absolute;\n z-index: 1;\n top: .5em;\n left: 1.625em;\n width: .4375em;\n height: 5.625em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'] {\n display: block;\n position: absolute;\n z-index: 2;\n height: .3125em;\n border-radius: .125em;\n background-color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {\n top: 2.875em;\n left: .8125em;\n width: 1.5625em;\n transform: rotate(45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] {\n top: 2.375em;\n right: .5em;\n width: 2.9375em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip {\n animation: swal2-animate-success-line-tip .75s; }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long {\n animation: swal2-animate-success-line-long .75s; }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right {\n animation: swal2-rotate-success-circular-line 4.25s ease-in; }\n\n.swal2-progress-steps {\n flex-wrap: wrap;\n align-items: center;\n max-width: 100%;\n margin: 0 0 1.25em;\n padding: 0;\n background: inherit;\n font-weight: 600; }\n .swal2-progress-steps li {\n display: inline-block;\n position: relative; }\n .swal2-progress-steps .swal2-progress-step {\n z-index: 20;\n flex-shrink: 0;\n width: 2em;\n height: 2em;\n border-radius: 2em;\n background: #2778c4;\n color: #fff;\n line-height: 2em;\n text-align: center; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {\n background: #2778c4; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step {\n background: #add8e6;\n color: #fff; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {\n background: #add8e6; }\n .swal2-progress-steps .swal2-progress-step-line {\n z-index: 10;\n flex-shrink: 0;\n width: 2.5em;\n height: .4em;\n margin: 0 -1px;\n background: #2778c4; }\n\n[class^='swal2'] {\n -webkit-tap-highlight-color: transparent; }\n\n.swal2-show {\n animation: swal2-show 0.3s; }\n\n.swal2-hide {\n animation: swal2-hide 0.15s forwards; }\n\n.swal2-noanimation {\n transition: none; }\n\n.swal2-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll; }\n\n.swal2-rtl .swal2-close {\n right: auto;\n left: 0; }\n\n.swal2-rtl .swal2-timer-progress-bar {\n right: 0;\n left: auto; }\n\n@supports (-ms-accelerator: true) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@keyframes swal2-toast-show {\n 0% {\n transform: translateY(-0.625em) rotateZ(2deg); }\n 33% {\n transform: translateY(0) rotateZ(-2deg); }\n 66% {\n transform: translateY(0.3125em) rotateZ(2deg); }\n 100% {\n transform: translateY(0) rotateZ(0deg); } }\n\n@keyframes swal2-toast-hide {\n 100% {\n transform: rotateZ(1deg);\n opacity: 0; } }\n\n@keyframes swal2-toast-animate-success-line-tip {\n 0% {\n top: .5625em;\n left: .0625em;\n width: 0; }\n 54% {\n top: .125em;\n left: .125em;\n width: 0; }\n 70% {\n top: .625em;\n left: -.25em;\n width: 1.625em; }\n 84% {\n top: 1.0625em;\n left: .75em;\n width: .5em; }\n 100% {\n top: 1.125em;\n left: .1875em;\n width: .75em; } }\n\n@keyframes swal2-toast-animate-success-line-long {\n 0% {\n top: 1.625em;\n right: 1.375em;\n width: 0; }\n 65% {\n top: 1.25em;\n right: .9375em;\n width: 0; }\n 84% {\n top: .9375em;\n right: 0;\n width: 1.125em; }\n 100% {\n top: .9375em;\n right: .1875em;\n width: 1.375em; } }\n\n@keyframes swal2-show {\n 0% {\n transform: scale(0.7); }\n 45% {\n transform: scale(1.05); }\n 80% {\n transform: scale(0.95); }\n 100% {\n transform: scale(1); } }\n\n@keyframes swal2-hide {\n 0% {\n transform: scale(1);\n opacity: 1; }\n 100% {\n transform: scale(0.5);\n opacity: 0; } }\n\n@keyframes swal2-animate-success-line-tip {\n 0% {\n top: 1.1875em;\n left: .0625em;\n width: 0; }\n 54% {\n top: 1.0625em;\n left: .125em;\n width: 0; }\n 70% {\n top: 2.1875em;\n left: -.375em;\n width: 3.125em; }\n 84% {\n top: 3em;\n left: 1.3125em;\n width: 1.0625em; }\n 100% {\n top: 2.8125em;\n left: .8125em;\n width: 1.5625em; } }\n\n@keyframes swal2-animate-success-line-long {\n 0% {\n top: 3.375em;\n right: 2.875em;\n width: 0; }\n 65% {\n top: 3.375em;\n right: 2.875em;\n width: 0; }\n 84% {\n top: 2.1875em;\n right: 0;\n width: 3.4375em; }\n 100% {\n top: 2.375em;\n right: .5em;\n width: 2.9375em; } }\n\n@keyframes swal2-rotate-success-circular-line {\n 0% {\n transform: rotate(-45deg); }\n 5% {\n transform: rotate(-45deg); }\n 12% {\n transform: rotate(-405deg); }\n 100% {\n transform: rotate(-405deg); } }\n\n@keyframes swal2-animate-error-x-mark {\n 0% {\n margin-top: 1.625em;\n transform: scale(0.4);\n opacity: 0; }\n 50% {\n margin-top: 1.625em;\n transform: scale(0.4);\n opacity: 0; }\n 80% {\n margin-top: -.375em;\n transform: scale(1.15); }\n 100% {\n margin-top: 0;\n transform: scale(1);\n opacity: 1; } }\n\n@keyframes swal2-animate-error-icon {\n 0% {\n transform: rotateX(100deg);\n opacity: 0; }\n 100% {\n transform: rotateX(0deg);\n opacity: 1; } }\n\n@keyframes swal2-rotate-loading {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n\nbody.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n overflow: hidden; }\n\nbody.swal2-height-auto {\n height: auto !important; }\n\nbody.swal2-no-backdrop .swal2-container {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n max-width: calc(100% - 0.625em * 2);\n background-color: transparent !important; }\n body.swal2-no-backdrop .swal2-container > .swal2-modal {\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }\n body.swal2-no-backdrop .swal2-container.swal2-top {\n top: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-top-start, body.swal2-no-backdrop .swal2-container.swal2-top-left {\n top: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-top-end, body.swal2-no-backdrop .swal2-container.swal2-top-right {\n top: 0;\n right: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-center {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%); }\n body.swal2-no-backdrop .swal2-container.swal2-center-start, body.swal2-no-backdrop .swal2-container.swal2-center-left {\n top: 50%;\n left: 0;\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-center-end, body.swal2-no-backdrop .swal2-container.swal2-center-right {\n top: 50%;\n right: 0;\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-bottom {\n bottom: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-bottom-start, body.swal2-no-backdrop .swal2-container.swal2-bottom-left {\n bottom: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-bottom-end, body.swal2-no-backdrop .swal2-container.swal2-bottom-right {\n right: 0;\n bottom: 0; }\n\n@media print {\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n overflow-y: scroll !important; }\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) > [aria-hidden='true'] {\n display: none; }\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container {\n position: static !important; } }\n\nbody.swal2-toast-shown .swal2-container {\n background-color: transparent; }\n body.swal2-toast-shown .swal2-container.swal2-top {\n top: 0;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {\n top: 0;\n right: 0;\n bottom: auto;\n left: auto; }\n body.swal2-toast-shown .swal2-container.swal2-top-start, body.swal2-toast-shown .swal2-container.swal2-top-left {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0; }\n body.swal2-toast-shown .swal2-container.swal2-center-start, body.swal2-toast-shown .swal2-container.swal2-center-left {\n top: 50%;\n right: auto;\n bottom: auto;\n left: 0;\n transform: translateY(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-center {\n top: 50%;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translate(-50%, -50%); }\n body.swal2-toast-shown .swal2-container.swal2-center-end, body.swal2-toast-shown .swal2-container.swal2-center-right {\n top: 50%;\n right: 0;\n bottom: auto;\n left: auto;\n transform: translateY(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-bottom-start, body.swal2-toast-shown .swal2-container.swal2-bottom-left {\n top: auto;\n right: auto;\n bottom: 0;\n left: 0; }\n body.swal2-toast-shown .swal2-container.swal2-bottom {\n top: auto;\n right: auto;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-bottom-end, body.swal2-toast-shown .swal2-container.swal2-bottom-right {\n top: auto;\n right: 0;\n bottom: 0;\n left: auto; }\n\nbody.swal2-toast-column .swal2-toast {\n flex-direction: column;\n align-items: stretch; }\n body.swal2-toast-column .swal2-toast .swal2-actions {\n flex: 1;\n align-self: stretch;\n height: 2.2em;\n margin-top: .3125em; }\n body.swal2-toast-column .swal2-toast .swal2-loading {\n justify-content: center; }\n body.swal2-toast-column .swal2-toast .swal2-input {\n height: 2em;\n margin: .3125em auto;\n font-size: 1em; }\n body.swal2-toast-column .swal2-toast .swal2-validation-message {\n font-size: 1em; }\n\n#toast-container.toast-top-right {\n top: 76px; }\n\n#toast-container .toast-close-button {\n right: -0.15em; }\n\n#toast-container .toast {\n opacity: 1 !important;\n background-image: none !important;\n border-radius: 0.25rem;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.35);\n display: flex;\n align-items: center; }\n #toast-container .toast:hover {\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); }\n #toast-container .toast:before {\n font-family: FontAwesome;\n font-size: 25px;\n line-height: 20px;\n float: left;\n color: #ffffff;\n padding-right: 10px;\n margin: auto 0 auto -36px; }\n #toast-container .toast .toaster-icon {\n display: none; }\n #toast-container .toast .toast-message p {\n margin-bottom: 0.5rem; }\n #toast-container .toast .toast-message p:last-child {\n margin-bottom: 0; }\n #toast-container .toast.toast-danger, #toast-container .toast.toast-error {\n background-image: none !important;\n background-color: #dd4b39; }\n #toast-container .toast.toast-danger:before, #toast-container .toast.toast-error:before {\n content: \"\\F0E7\";\n margin-left: -30px; }\n #toast-container .toast.toast-warning {\n background-image: none !important;\n background-color: #bf7e16; }\n #toast-container .toast.toast-warning:before {\n content: \"\\F071\"; }\n #toast-container .toast.toast-info {\n background-image: none !important;\n background-color: #555555; }\n #toast-container .toast.toast-info:before {\n content: \"\\F05A\"; }\n #toast-container .toast.toast-success {\n background-image: none !important;\n background-color: #00a65a; }\n #toast-container .toast.toast-success:before {\n content: \"\\F00C\"; }\n\n.swal2-container {\n background-color: rgba(0, 0, 0, 0.3); }\n\n.swal2-popup {\n padding: 15px 0 0;\n background-color: #fff;\n color: #333333;\n border: 1px solid #9a9a9a;\n border-radius: 0.3rem;\n width: 34em; }\n .swal2-popup .swal2-header {\n padding: 0 15px; }\n .swal2-popup .swal2-icon {\n margin: 0 auto;\n width: auto;\n height: auto;\n border: none; }\n .swal2-popup .swal2-content {\n padding-bottom: 15px;\n font-size: 1rem;\n border-bottom: 1px solid #dee2e6; }\n .swal2-popup i.swal-custom-icon {\n display: block;\n margin: 0 auto;\n font-size: 35px; }\n .swal2-popup .swal2-title {\n padding: 10px 0 15px;\n margin: 0;\n font-size: 1.15rem;\n color: #333333; }\n .swal2-popup .swal2-content {\n font-size: 1rem;\n color: #333333;\n padding: 0 15px 15px; }\n .swal2-popup .swal2-actions {\n padding: 15px;\n margin: 0;\n background-color: #fbfbfb;\n border-radius: 0.3rem;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n font-size: 1rem; }\n .swal2-popup .swal2-actions button {\n margin-right: 10px; }\n .swal2-popup .swal2-actions button.swal2-confirm {\n font-weight: bold; }\n .swal2-popup .swal2-actions button.swal2-cancel {\n background-color: #ffffff; }\n\ndate-input-polyfill[data-open=\"true\"] {\n z-index: 10000 !important; }\n\nhtml {\n font-size: 14px; }\n\nbody {\n min-width: 1010px; }\n body.layout_frontend {\n background-color: #ecf0f5; }\n body.full-width:not(.layout_frontend) .container {\n min-width: 980px;\n width: 90%; }\n\n.page-header, .secondary-header {\n border-bottom: 1px solid #dee2e6;\n padding-bottom: 0.6rem;\n margin-bottom: 0.5rem; }\n .page-header h1, .page-header h2, .page-header h3, .page-header h4, .secondary-header h1, .secondary-header h2, .secondary-header h3, .secondary-header h4 {\n margin: 0; }\n\nh1 small, h2 small, h3 small, h4 small, h5 small {\n font-size: 80%; }\n\ninput:required, select:required, textarea:required {\n box-shadow: none; }\n\n.secondary-header, .spaced-header {\n margin-top: 4rem; }\n\n.navbar {\n padding-left: 0;\n padding-right: 0; }\n .navbar .dropdown-menu {\n min-width: 200px;\n max-width: 300px; }\n .navbar .dropdown-menu .dropdown-item-text {\n line-height: 1.3; }\n .navbar .dropdown-menu .dropdown-item-text span, .navbar .dropdown-menu .dropdown-item-text small {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .navbar .nav-link {\n font-weight: 600; }\n\n.navbar-brand {\n margin-top: -20px;\n margin-bottom: -20px; }\n\n.dropdown-menu button {\n cursor: pointer; }\n\n.container {\n width: 980px;\n max-width: none !important;\n margin: 0 auto;\n padding: 0; }\n\n.page-content {\n margin-top: 20px; }\n\n.footer {\n margin-top: 40px;\n padding: 40px 0 40px 0;\n border-top: 1px solid #dee2e6; }\n\n.list-group-item.active {\n border-left: 3px solid #175DDC;\n font-weight: bold;\n padding-left: calc(1.25rem - 3px); }\n\n.card-header, .modal-header {\n font-weight: bold;\n text-transform: uppercase; }\n .card-header small, .modal-header small {\n font-weight: normal;\n text-transform: none; }\n\n.card-body-header {\n font-size: 1.15rem; }\n\n.card ul.fa-ul.card-ul {\n margin-left: 1.9em; }\n .card ul.fa-ul.card-ul li {\n word-break: break-all; }\n .card ul.fa-ul.card-ul .fa-li {\n top: 4px; }\n .card ul.fa-ul.card-ul.carets {\n margin-left: 1.1em; }\n .card ul.fa-ul.card-ul.carets .fa-li {\n left: -17px;\n width: 1.1em; }\n .card ul.fa-ul.card-ul ul.carets {\n margin-left: 0.85em; }\n\n.card-org-plans h2 {\n font-size: 1.15rem; }\n\n.modal-dialog {\n width: 500px; }\n\n.modal-sm {\n width: 300px; }\n\n.modal-lg {\n width: 800px; }\n\n.modal-body h3, .modal-body .section-header > * {\n font-weight: normal;\n text-transform: uppercase;\n color: #6c757d; }\n\n.modal .list-group-flush :first-child {\n border-top: none; }\n\n.modal .list-group-flush :last-child {\n border-bottom: none; }\n\n.modal-footer {\n justify-content: flex-start;\n background-color: #fbfbfb;\n border-radius: 0.3rem; }\n\nlabel:not(.form-check-label):not(.btn), label.bold {\n font-weight: 600; }\n\ninput[type=\"search\"]::-webkit-search-cancel-button {\n -webkit-appearance: searchfield-cancel-button; }\n\n.btn[class*=\"btn-outline-\"]:not(:hover), .swal2-popup .swal2-actions button[class*=\"btn-outline-\"]:not(:hover) {\n border-color: #ced4da;\n background-color: #fbfbfb; }\n\n.btn-link:focus, .btn-link.focus {\n outline-color: -webkit-focus-ring-color;\n outline-offset: 1px;\n outline-style: auto;\n outline-width: 1px; }\n\n.btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel {\n color: #6c757d; }\n .btn-outline-secondary:hover:not(:disabled), .swal2-popup .swal2-actions button.swal2-cancel:hover:not(:disabled) {\n color: #333333; }\n .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled {\n opacity: 1; }\n .btn-outline-secondary:focus, .swal2-popup .swal2-actions button.swal2-cancel:focus, .btn-outline-secondary.focus, .swal2-popup .swal2-actions button.focus.swal2-cancel {\n box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); }\n\n.btn-submit {\n position: relative; }\n .btn-submit .fa-spinner {\n position: absolute;\n display: none;\n align-items: center;\n justify-content: center;\n bottom: 0;\n top: 0;\n left: 0;\n right: 0; }\n .btn-submit:disabled:not(.manual) .fa-spinner, .btn-submit.loading .fa-spinner {\n display: flex; }\n .btn-submit:disabled:not(.manual) span, .btn-submit.loading span {\n visibility: hidden; }\n\n.list-group-item:focus, .list-group-item.focus {\n z-index: 100; }\n\n.fa-icon-above-input {\n height: 1.5em; }\n\n.table.table-list thead th {\n border-top: none; }\n\n.table.table-list tr:first-child td {\n border: none; }\n\n.table.table-list td {\n vertical-align: middle; }\n .table.table-list td.reduced-lh {\n line-height: 1; }\n .table.table-list td.reduced-lh small {\n font-size: 80%; }\n .table.table-list td small, .table.table-list td > .fa, .table.table-list td .icon {\n color: #6c757d; }\n\n.table.table-list td.wrap {\n word-break: break-all; }\n\n.table.table-list td.table-list-options {\n width: 76px;\n max-width: 76px;\n text-align: right;\n height: 50px; }\n .table.table-list td.table-list-options.wider {\n width: 100px;\n max-width: 100px; }\n .table.table-list td.table-list-options .btn, .table.table-list td.table-list-options .swal2-popup .swal2-actions button, .swal2-popup .swal2-actions .table.table-list td.table-list-options button {\n line-height: 1;\n transition: initial; }\n .table.table-list td.table-list-options .dropdown-menu {\n line-height: 1.5; }\n\n.table.table-list td.table-list-icon {\n width: 45px;\n max-width: 45px;\n text-align: center; }\n .table.table-list td.table-list-icon img {\n max-height: 24px; }\n\n.table.table-list td.table-list-checkbox {\n width: 35px;\n max-width: 35px; }\n\n.table.table-list td.table-list-strike {\n color: #6c757d;\n text-decoration: line-through; }\n\n.text-lg {\n font-size: 1.15rem; }\n\n.text-strike {\n text-decoration: line-through; }\n\n.font-weight-semibold {\n font-weight: 600; }\n\n.password-wrapper {\n word-break: break-all;\n white-space: pre-wrap;\n min-width: 0; }\n\n.password-row {\n min-width: 0; }\n\n.password-number {\n color: #007fde; }\n\n.password-special {\n color: #c40800; }\n\napp-vault-groupings .card #search, app-org-vault-groupings .card #search, .groupings .card #search {\n margin-bottom: 1rem; }\n\napp-vault-groupings .card h3, app-org-vault-groupings .card h3, .groupings .card h3 {\n font-weight: normal;\n text-transform: uppercase;\n color: #6c757d; }\n\napp-vault-groupings .card ul:last-child, app-org-vault-groupings .card ul:last-child, .groupings .card ul:last-child {\n margin-bottom: 0; }\n\napp-vault-groupings .card .card-body a, app-org-vault-groupings .card .card-body a, .groupings .card .card-body a {\n color: #333333; }\n app-vault-groupings .card .card-body a:hover.text-muted, app-org-vault-groupings .card .card-body a:hover.text-muted, .groupings .card .card-body a:hover.text-muted {\n color: #333333 !important; }\n\napp-vault-groupings .card .show-active, app-org-vault-groupings .card .show-active, .groupings .card .show-active {\n display: none; }\n\napp-vault-groupings .card li > .fa, app-vault-groupings .card li > div > .fa, app-org-vault-groupings .card li > .fa, app-org-vault-groupings .card li > div > .fa, .groupings .card li > .fa, .groupings .card li > div > .fa {\n cursor: pointer; }\n\napp-vault-groupings .card li.active > .show-active, app-vault-groupings .card li.active > div .show-active, app-org-vault-groupings .card li.active > .show-active, app-org-vault-groupings .card li.active > div .show-active, .groupings .card li.active > .show-active, .groupings .card li.active > div .show-active {\n display: inline; }\n\napp-vault-groupings .card li.active > a:first-of-type, app-vault-groupings .card li.active > div a:first-of-type, app-org-vault-groupings .card li.active > a:first-of-type, app-org-vault-groupings .card li.active > div a:first-of-type, .groupings .card li.active > a:first-of-type, .groupings .card li.active > div a:first-of-type {\n font-weight: bold;\n color: #175DDC; }\n\napp-vault-groupings .card li.active > .fa, app-vault-groupings .card li.active > div > .fa, app-org-vault-groupings .card li.active > .fa, app-org-vault-groupings .card li.active > div > .fa, .groupings .card li.active > .fa, .groupings .card li.active > div > .fa {\n color: #175DDC; }\n\napp-password-generator #lengthRange {\n width: 100%; }\n\napp-password-generator .card-password .card-body {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n font-size: 1.15rem;\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\napp-password-generator-history .list-group-item {\n line-height: 1; }\n app-password-generator-history .list-group-item .password {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\napp-import textarea {\n height: 150px; }\n\napp-user-billing .progress {\n height: 20px; }\n app-user-billing .progress .progress-bar {\n min-width: 50px; }\n\n#duo-frame {\n background: url(../images/loading.svg) 0 0 no-repeat;\n height: 330px; }\n #duo-frame iframe {\n width: 100%;\n height: 100%;\n border: none; }\n\n#bt-dropin-container {\n background: url(../images/loading.svg) 0 0 no-repeat;\n min-height: 50px; }\n\n.braintree-placeholder, .braintree-sheet__header {\n display: none; }\n\n.braintree-sheet__content--button {\n text-align: left;\n padding: 0;\n min-height: 0; }\n\n.braintree-sheet__container {\n margin-bottom: 0; }\n\n.braintree-sheet {\n border: none; }\n\n.totp .totp-code {\n font-size: 1.2rem; }\n\n.totp .totp-countdown {\n margin: 3px 3px 0 0;\n display: block;\n user-select: none; }\n .totp .totp-countdown .totp-sec {\n font-size: 0.85em;\n position: absolute;\n line-height: 32px;\n width: 32px;\n text-align: center; }\n .totp .totp-countdown svg {\n width: 32px;\n height: 32px;\n transform: rotate(-90deg); }\n .totp .totp-countdown .totp-circle {\n fill: none;\n stroke: #175DDC; }\n .totp .totp-countdown .totp-circle.inner {\n stroke-width: 3;\n stroke-dasharray: 78.6;\n stroke-dashoffset: 0; }\n .totp .totp-countdown .totp-circle.outer {\n stroke-width: 2;\n stroke-dasharray: 88;\n stroke-dashoffset: 0; }\n\n.totp > .align-items-center {\n margin-bottom: -5px; }\n\n.totp.low .totp-sec, .totp.low .totp-code {\n color: #dd4b39; }\n\n.totp.low .totp-circle {\n stroke: #dd4b39; }\n\n.callout {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-left-width: 5px;\n border-radius: calc(0.25rem - 1px);\n background-color: #fafafa; }\n .callout .callout-heading {\n margin-top: 0; }\n .callout h3.callout-heading {\n font-weight: bold;\n text-transform: uppercase; }\n .callout.callout-primary {\n border-left-color: #175DDC; }\n .callout.callout-primary .callout-heading {\n color: #175DDC; }\n .callout.callout-info {\n border-left-color: #343a40; }\n .callout.callout-info .callout-heading {\n color: #343a40; }\n .callout.callout-danger {\n border-left-color: #dd4b39; }\n .callout.callout-danger .callout-heading {\n color: #dd4b39; }\n .callout.callout-success {\n border-left-color: #00a65a; }\n .callout.callout-success .callout-heading {\n color: #00a65a; }\n .callout.callout-warning {\n border-left-color: #bf7e16; }\n .callout.callout-warning .callout-heading {\n color: #bf7e16; }\n\n.list-group-2fa .logo-2fa {\n min-width: 100px; }\n\n.form-check-block .form-check-label {\n font-weight: 600; }\n .form-check-block .form-check-label > small {\n display: block;\n color: #6c757d;\n font-weight: normal; }\n .form-check-block .form-check-label > span {\n display: block;\n font-weight: normal; }\n\n.form-inline input[type='datetime-local'] {\n width: 200px; }\n\n.form-control.stripe-form-control {\n padding-top: 0.55rem; }\n .form-control.stripe-form-control.is-focused {\n color: #495057;\n background-color: #ffffff;\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .form-control.stripe-form-control.is-focused.is-invalid {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .form-control.stripe-form-control.is-invalid {\n border-color: #dd4b39; }\n\n.org-nav {\n background-color: #fbfbfb;\n border-bottom: 1px solid #dee2e6;\n height: 100px;\n min-height: 100px; }\n .org-nav .container {\n height: 100%; }\n .org-nav .nav-tabs {\n border-bottom: none; }\n .org-nav .nav-tabs a {\n color: #333333; }\n .org-nav .nav-tabs a:not(.active) {\n border-color: transparent; }\n .org-nav .nav-tabs a.active {\n border-top: 3px solid #175DDC;\n font-weight: bold;\n padding-top: calc(0.5rem - 2px); }\n .org-nav .nav-tabs a.disabled {\n color: #b4b4b4; }\n .org-nav .org-name {\n line-height: 1; }\n .org-nav .org-name span {\n font-size: 1.15rem;\n display: block; }\n\nimg.logo {\n width: 284px;\n height: 43px;\n margin: 0 auto;\n display: block; }\n\n.min-height-fix {\n min-height: 1px; }\n\n.overflow-hidden {\n overflow: hidden; }\n\n.cdk-drag-preview {\n z-index: 1070 !important;\n opacity: 0.8;\n background-color: #fff;\n border-radius: 0.25rem; }\n\n.cursor-move {\n cursor: move !important; }\n\n.layout.enterprise2 header {\n color: #ced4da;\n background-color: #175DDC; }\n .layout.enterprise2 header:before {\n content: \"\";\n position: absolute;\n z-index: -1;\n width: 100%;\n height: 340px;\n left: 0;\n transform: skewY(-3deg);\n background: #175DDC; }\n .layout.enterprise2 header img.logo {\n margin: 12px 0 0;\n width: 284px;\n max-width: 284px;\n height: auto; }\n\n.layout.enterprise2 h2 {\n color: #ffffff;\n font-size: 1.8rem;\n margin: 100px 0 150px 0; }\n\n.layout.enterprise2 p {\n margin: 20px 0 40px 0;\n font-size: 1.4rem; }\n .layout.enterprise2 p:before {\n content: \"/\";\n padding-right: 12px; }\n .layout.enterprise2 p:not(.highlight):before {\n color: #1252A3; }\n .layout.enterprise2 p b:after {\n content: \"\\27F6\";\n font-size: 2rem;\n padding-left: 6px; }\n\n.layout.enterprise2 blockquote {\n margin: 20px 0 0 0;\n font-size: 1.4rem;\n padding-right: 40px; }\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/main.d8139e017ad9a069b29d.js b/app/main.d8139e017ad9a069b29d.js new file mode 100644 index 00000000..666fedfb --- /dev/null +++ b/app/main.d8139e017ad9a069b29d.js @@ -0,0 +1,2 @@ +!function(e){function t(t){for(var r,o,s=t[0],l=t[1],c=t[2],u=0,d=[];u1&&(r+=e.slice(1)),void 0===t[e=r]&&(e=e.toLowerCase()),void 0===t[e]&&(e=e.toUpperCase())}return t[e]},e}();t.BaseResponse=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(3);var r=n(0),i=n(3),a=n(4);function o(e,t){if(1&e&&r.ɵɵelement(0,"i",4),2&e){var n=r.ɵɵnextContext(2);r.ɵɵclassMapInterpolate1("fa ",n.icon,"")}}function s(e,t){if(1&e&&(r.ɵɵelementStart(0,"h3",2),r.ɵɵtext(1,"\n "),r.ɵɵtemplate(2,o,1,3,"i",3),r.ɵɵtext(3),r.ɵɵelementEnd()),2&e){var n=r.ɵɵnextContext();r.ɵɵadvance(2),r.ɵɵproperty("ngIf",n.icon),r.ɵɵadvance(1),r.ɵɵtextInterpolate1("\n ",n.title,"\n ")}}var l=function(e){return{clickable:e}},c=["*"],p=function(){function e(e){this.i18nService=e,this.type="info"}return e.prototype.ngOnInit=function(){this.calloutStyle=this.type,"warning"===this.type||"danger"===this.type?("danger"===this.type&&(this.calloutStyle="danger"),void 0===this.title&&(this.title=this.i18nService.t("warning")),void 0===this.icon&&(this.icon="fa-warning")):"error"===this.type?(this.calloutStyle="danger",void 0===this.title&&(this.title=this.i18nService.t("error")),void 0===this.icon&&(this.icon="fa-bolt")):"tip"===this.type&&(this.calloutStyle="success",void 0===this.title&&(this.title=this.i18nService.t("tip")),void 0===this.icon&&(this.icon="fa-lightbulb-o"))},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(i.I18nService))},e.ɵcmp=r.ɵɵdefineComponent({type:e,selectors:[["app-callout"]],inputs:{type:"type",icon:"icon",title:"title",clickable:"clickable"},ngContentSelectors:c,decls:7,vars:7,consts:[["role","alert",3,"ngClass"],["class","callout-heading",4,"ngIf"],[1,"callout-heading"],["aria-hidden","true",3,"class",4,"ngIf"],["aria-hidden","true"]],template:function(e,t){1&e&&(r.ɵɵprojectionDef(),r.ɵɵelementStart(0,"div",0),r.ɵɵtext(1,"\n "),r.ɵɵtemplate(2,s,4,2,"h3",1),r.ɵɵtext(3,"\n "),r.ɵɵprojection(4),r.ɵɵtext(5,"\n"),r.ɵɵelementEnd(),r.ɵɵtext(6,"\n")),2&e&&(r.ɵɵclassMapInterpolate1("callout callout-",t.calloutStyle,""),r.ɵɵproperty("ngClass",r.ɵɵpureFunction1(5,l,t.clickable)),r.ɵɵadvance(2),r.ɵɵproperty("ngIf",t.title))},directives:[a.NgClass,a.NgIf],encapsulation:2}),e}();t.CalloutComponent=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(702),i=n(144),a=n(158),o=n(257),s=n(32),l=n(211),c=n(129),p=n(161),u=n(94),d=n(40),m=n(128),h=n(113),f=n(701),v=function(){function e(){this.organizationId=null,this.logService=new f.ConsoleLogService(!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"],this.parseCsvOptions={encoding:"UTF-8",skipEmptyLines:!1}}return Object.defineProperty(e.prototype,"organization",{get:function(){return null!=this.organizationId},enumerable:!0,configurable:!0}),e.prototype.parseXml=function(e){var t=(new DOMParser).parseFromString(e,"application/xml");return null!=t&&null==t.querySelector("parsererror")?t:null},e.prototype.parseCsv=function(e,t,n){var i=this;void 0===n&&(n={});var a=Object.assign({header:t},this.parseCsvOptions,n);e=this.splitNewLine(e).join("\n").trim();var o=r.parse(e,a);return null!=o.errors&&o.errors.length>0&&o.errors.forEach(function(e){null!=e.row&&i.logService.warning("Error parsing row "+e.row+": "+e.message)}),o.data&&o.data.length>0?o.data:null},e.prototype.parseSingleRowCsv=function(e){if(this.isNullOrWhitespace(e))return null;var t=this.parseCsv(e,!1);return null!=t&&t.length>0&&t[0].length>0?t[0]:null},e.prototype.makeUriArray=function(e){var t=this;if(null==e)return null;if("string"==typeof e){var n=new o.LoginUriView;return n.uri=this.fixUri(e),this.isNullOrWhitespace(n.uri)?null:(n.match=null,[n])}if(e.length>0){var r=[];return e.forEach(function(e){var n=new o.LoginUriView;n.uri=t.fixUri(e),t.isNullOrWhitespace(n.uri)||(n.match=null,r.push(n))}),0===r.length?null:r}return null},e.prototype.fixUri=function(e){return null==e?null:(-1===(e=e.trim()).indexOf("://")&&e.indexOf(".")>=0&&(e="http://"+e),e.length>1e3?e.substring(0,1e3):e)},e.prototype.nameFromUrl=function(e){var t=s.Utils.getHostname(e);return this.isNullOrWhitespace(t)?null:t.startsWith("www.")?t.replace("www.",""):t},e.prototype.isNullOrWhitespace=function(e){return s.Utils.isNullOrWhitespace(e)},e.prototype.getValueOrDefault=function(e,t){return void 0===t&&(t=null),this.isNullOrWhitespace(e)?t:e},e.prototype.splitNewLine=function(e){return e.split(this.newLineRegex)},e.prototype.getCardBrand=function(e){if(this.isNullOrWhitespace(e))return null;var t=new RegExp("^4");return null!=e.match(t)?"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(e)?"Mastercard":(t=new RegExp("^3[47]"),null!=e.match(t)?"Amex":(t=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!=e.match(t)?"Discover":(t=new RegExp("^36"),null!=e.match(t)?"Diners Club":(t=new RegExp("^30[0-5]"),null!=e.match(t)?"Diners Club":(t=new RegExp("^35(2[89]|[3-8][0-9])"),null!=e.match(t)?"JCB":(t=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=e.match(t)?"Visa":null))))))},e.prototype.setCardExpiration=function(e,t){if(!this.isNullOrWhitespace(t)){var n=t.split("/");if(2===n.length){var r=null,i=null;if(1!==n[0].length&&2!==n[0].length||2===(r=n[0]).length&&"0"===r[0]&&(r=r.substr(1,1)),2!==n[1].length&&4!==n[1].length||(i=2===r.length?"20"+n[1]:n[1]),null!=r&&null!=i)return e.card.expMonth=r,e.card.expYear=i,!0}}return!1},e.prototype.moveFoldersToCollections=function(e){e.folderRelationships.forEach(function(t){return e.collectionRelationships.push(t)}),e.collections=e.folders.map(function(e){var t=new a.CollectionView;return t.name=e.name,t}),e.folderRelationships=[],e.folders=[]},e.prototype.querySelectorDirectChild=function(e,t){var n=this.querySelectorAllDirectChild(e,t);return 0===n.length?null:n[0]},e.prototype.querySelectorAllDirectChild=function(e,t){return Array.from(e.querySelectorAll(t)).filter(function(t){return t.parentNode===e})},e.prototype.initLoginCipher=function(){var e=new i.CipherView;return e.favorite=!1,e.notes="",e.fields=[],e.login=new p.LoginView,e.type=d.CipherType.Login,e},e.prototype.cleanupCipher=function(e){null!=e&&(e.type!==d.CipherType.Login&&(e.login=null),this.isNullOrWhitespace(e.name)&&(e.name="--"),this.isNullOrWhitespace(e.notes)?e.notes=null:e.notes=e.notes.trim(),null!=e.fields&&0===e.fields.length&&(e.fields=null))},e.prototype.processKvp=function(e,t,n,r){if(void 0===r&&(r=m.FieldType.Text),!this.isNullOrWhitespace(n))if(this.isNullOrWhitespace(t)&&(t=""),n.length>200||n.trim().search(this.newLineRegex)>-1)null==e.notes&&(e.notes=""),e.notes+=t+": "+this.splitNewLine(n).join("\n")+"\n";else{null==e.fields&&(e.fields=[]);var i=new l.FieldView;i.type=r,i.name=t,i.value=n,e.fields.push(i)}},e.prototype.processFolder=function(e,t){var n=e.folders.length,r=!this.isNullOrWhitespace(t),i=r;if(r)for(var a=0;a-1&&(n=t.getUrlObject("http://"+e)));return n},t.getUrlObject=function(e){try{if(null!=o)return o.URL?new o.URL(e):o.parse(e);if("function"==typeof URL)return new URL(e);if(null!=window){var t=e.indexOf("://")>-1;if(!t&&e.indexOf(".")>-1)e="http://"+e;else if(!t)return null;var n=window.document.createElement("a");return n.href=e,n}}catch(r){}return null},t.inited=!1,t.isNativeScript=!1,t.isNode=!1,t.isBrowser=!0,t.isMobileBrowser=!1,t.isAppleMobileBrowser=!1,t.global=null,t.tldEndingRegex=/.*\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/,t}();t.Utils=s,s.init()}).call(this,n(127),n(110),n(105).Buffer)},,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PasswordGenerationService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.onClick=function(e){e.preventDefault()},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appStopClick",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.StopClickDirective=i},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StateService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Login=1]="Login",e[e.SecureNote=2]="SecureNote",e[e.Card=3]="Card",e[e.Identity=4]="Identity"}(t.CipherType||(t.CipherType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.CollectionService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StorageService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PolicyService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(e,t){this.el=e,this.renderer=t}return Object.defineProperty(e.prototype,"appInputVerbatim",{set:function(e){this.disableComplete=""===e||!0===e},enumerable:!0,configurable:!0}),e.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")},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef),r.ɵɵdirectiveInject(r.Renderer2))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appInputVerbatim",""]],inputs:{appInputVerbatim:"appInputVerbatim"}}),e}();t.InputVerbatimDirective=i},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.FolderService=r},,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.onClick=function(e){e.stopPropagation()},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appStopProp",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.StopPropDirective=i},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AuthService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SyncService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EnvironmentService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(32),i=n(0),a=function(){function e(e){this.el=e}return Object.defineProperty(e.prototype,"appAutofocus",{set:function(e){this.autofocus=""===e||!0===e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){!r.Utils.isMobileBrowser&&this.autofocus&&this.el.nativeElement.focus()},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(i.ElementRef))},e.ɵdir=i.ɵɵdefineDirective({type:e,selectors:[["","appAutofocus",""]],inputs:{appAutofocus:"appAutofocus"}}),e}();t.AutofocusDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.environmentUrlsKey=e.environmentUrlsKey,this.disableGaKey=e.disableGaKey,this.disableAddLoginNotificationKey=e.disableAddLoginNotificationKey,this.disableContextMenuItemKey=e.disableContextMenuItemKey,this.disableFaviconKey=e.disableFaviconKey,this.disableBadgeCounterKey=e.disableBadgeCounterKey,this.disableAutoTotpCopyKey=e.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=e.enableAutoFillOnPageLoadKey,this.vaultTimeoutKey=e.vaultTimeoutKey,this.vaultTimeoutActionKey=e.vaultTimeoutActionKey,this.lastActiveKey=e.lastActiveKey,this.neverDomainsKey=e.neverDomainsKey,this.installedVersionKey=e.installedVersionKey,this.localeKey=e.localeKey,this.themeKey=e.themeKey,this.collapsedGroupingsKey=e.collapsedGroupingsKey,this.autoConfirmFingerprints=e.autoConfirmFingerprints,this.dontShowCardsCurrentTab=e.dontShowCardsCurrentTab,this.dontShowIdentitiesCurrentTab=e.dontShowIdentitiesCurrentTab,this.defaultUriMatch=e.defaultUriMatch,this.pinProtectedKey=e.pinProtectedKey,this.protectedPin=e.protectedPin,this.clearClipboardKey=e.clearClipboardKey,this.eventCollectionKey=e.eventCollectionKey,this.ssoCodeVerifierKey=e.ssoCodeVerifierKey,this.ssoStateKey=e.ssoStateKey,this.biometricUnlockKey=e.biometricUnlockKey,this.biometricText=e.biometricText,this.biometricAwaitingAcceptance=e.biometricAwaitingAcceptance,this.biometricFingerprintValidated=e.biometricFingerprintValidated}return e.environmentUrlsKey="environmentUrls",e.disableGaKey="disableGa",e.disableAddLoginNotificationKey="disableAddLoginNotification",e.disableChangedPasswordNotificationKey="disableChangedPasswordNotification",e.disableContextMenuItemKey="disableContextMenuItem",e.disableFaviconKey="disableFavicon",e.disableBadgeCounterKey="disableBadgeCounter",e.disableAutoTotpCopyKey="disableAutoTotpCopy",e.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",e.vaultTimeoutKey="lockOption",e.vaultTimeoutActionKey="vaultTimeoutAction",e.lastActiveKey="lastActive",e.neverDomainsKey="neverDomains",e.installedVersionKey="installedVersion",e.localeKey="locale",e.themeKey="theme",e.collapsedGroupingsKey="collapsedGroupings",e.autoConfirmFingerprints="autoConfirmFingerprints",e.dontShowCardsCurrentTab="dontShowCardsCurrentTab",e.dontShowIdentitiesCurrentTab="dontShowIdentitiesCurrentTab",e.defaultUriMatch="defaultUriMatch",e.pinProtectedKey="pinProtectedKey",e.protectedPin="protectedPin",e.clearClipboardKey="clearClipboardKey",e.eventCollectionKey="eventCollection",e.ssoCodeVerifierKey="ssoCodeVerifier",e.ssoStateKey="ssoState",e.biometricUnlockKey="biometric",e.biometricText="biometricText",e.biometricAwaitingAcceptance="biometricAwaitingAcceptance",e.biometricFingerprintValidated="biometricFingerprintValidated",e}();t.ConstantsService=r},,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EventService=r},,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PasswordVerificationRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SearchService=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1?e[o]=s||null:e[o]=s?new a.CipherString(s):null}},e.prototype.buildDataModel=function(e,t,n,r){for(var i in void 0===r&&(r=[]),n)if(n.hasOwnProperty(i)){var a=e[n[i]||i];r.indexOf(i)>-1?t[i]=null!=a?a:null:t[i]=null!=a?a.encryptedString:null}},e.prototype.decryptObj=function(e,t,n,a){return void 0===a&&(a=null),r(this,void 0,void 0,function(){var r,o,s;return i(this,function(i){switch(i.label){case 0:for(s in r=[],o=this,t)t.hasOwnProperty(s)&&function(i){var s=Promise.resolve().then(function(){var e=t[i]||i;return o[e]?o[e].decrypt(n,a):null}).then(function(t){e[i]=t});r.push(s)}(s);return[4,Promise.all(r)];case 1:return i.sent(),[2,e]}})})},e}();t.default=o},,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(271),o=(n(0),n(838)),s=n(32),l=(n(15),n(0)),c=n(15);function p(e,t){}var u=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.el=null,r}return i(t,e),t.prototype.ngOnDestroy=function(){},t.prototype.show=function(e,t,n,r){var i=this;void 0===n&&(n=!0),void 0===r&&(r=null),this.parentContainer=t,this.fade=n;var o=this.componentFactoryResolver.resolveComponentFactory(e),l=this.container.createComponent(o);null!=r&&r(l.instance);var c=Array.from(document.querySelectorAll(".modal"));return c.length>0&&(this.el=a(c[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){i.onShow.emit(),i.messagingService.send("modalShow")}),this.el.on("shown.bs.modal",function(){i.onShown.emit(),i.messagingService.send("modalShown"),s.Utils.isMobileBrowser||i.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){i.onClose.emit(),i.messagingService.send("modalClose")}),this.el.on("hidden.bs.modal",function(){i.onClosed.emit(),i.messagingService.send("modalClosed"),null!=i.parentContainer&&i.parentContainer.clear()})),l.instance},t.prototype.close=function(){null!=this.el&&this.el.modal("hide")},t.ɵfac=function(e){return new(e||t)(l.ɵɵdirectiveInject(l.ComponentFactoryResolver),l.ɵɵdirectiveInject(c.MessagingService))},t.ɵcmp=l.ɵɵdefineComponent({type:t,selectors:[["app-modal"]],features:[l.ɵɵInheritDefinitionFeature],decls:2,vars:0,consts:[["container",""]],template:function(e,t){1&e&&l.ɵɵtemplate(0,p,0,0,"ng-template",null,0,l.ɵɵtemplateRefExtractor)},encapsulation:2}),t}(o.ModalComponent);t.ModalComponent=u},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AuditService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.cardholderName=null,this.expMonth=null,this.expYear=null,this.code=null,this._brand=null,this._number=null,this._subTitle=null}return Object.defineProperty(e.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"brand",{get:function(){return this._brand},set:function(e){this._brand=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"number",{get:function(){return this._number},set:function(e){this._number=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){if(null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4)){null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="";var e=this.number.length>=5&&null!=this.number.match(new RegExp("^3[47]"))?5:4;this._subTitle+="*"+this.number.substr(this.number.length-e)}return this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var e=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return e+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),e.prototype.formatYear=function(e){return 2===e.length?"20"+e:e},e}();t.CardView=r},,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.type=null,e&&(this.type=e.type)}return Object.defineProperty(e.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),e}();t.SecureNoteView=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.TokenService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.CryptoFunctionService=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1?(e="http://"+e,t=!0):this.imageEnabled&&(t=0===e.indexOf("http")&&e.indexOf(".")>-1),this.imageEnabled&&t)try{this.image=this.iconsUrl+"/"+s.Utils.getHostname(e)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(c.EnvironmentService),l.ɵɵdirectiveInject(p.StateService))},e.ɵcmp=l.ɵɵdefineComponent({type:e,selectors:[["app-vault-icon"]],inputs:{cipher:"cipher"},features:[l.ɵɵNgOnChangesFeature],decls:7,vars:2,consts:[["aria-hidden","true",1,"icon"],["alt","",3,"src","appFallbackSrc",4,"ngIf"],[3,"class",4,"ngIf"],["alt","",3,"src","appFallbackSrc"]],template:function(e,t){1&e&&(l.ɵɵelementStart(0,"div",0),l.ɵɵtext(1,"\n "),l.ɵɵtemplate(2,m,1,2,"img",1),l.ɵɵtext(3,"\n "),l.ɵɵtemplate(4,h,1,3,"i",2),l.ɵɵtext(5,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(6,"\n")),2&e&&(l.ɵɵadvance(2),l.ɵɵproperty("ngIf",t.imageEnabled&&t.image),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",!t.imageEnabled||!t.image))},directives:[u.NgIf,d.FallbackSrcDirective],encapsulation:2}),e}();t.IconComponent=v},,,,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});n(0);var a=n(814),o=n(0),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.ɵfac=function(e){return l(e||t)},t.ɵprov=o.ɵɵdefineInjectable({token:t,factory:t.ɵfac}),t}(a.BroadcasterService);t.BroadcasterService=s;var l=o.ɵɵgetInheritedFactory(s)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.VaultTimeoutService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Generic=0]="Generic"}(t.SecureNoteType||(t.SecureNoteType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Authenticator=0]="Authenticator",e[e.Email=1]="Email",e[e.Duo=2]="Duo",e[e.Yubikey=3]="Yubikey",e[e.U2f=4]="U2f",e[e.Remember=5]="Remember",e[e.OrganizationDuo=6]="OrganizationDuo"}(t.TwoFactorProviderType||(t.TwoFactorProviderType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.TotpService=r},,,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1)try{window.document.body.removeChild(e)}catch(t){}})},500),this.hidePaypal||(window.document.head.removeChild(this.btScript),window.setTimeout(function(){Array.from(window.document.head.querySelectorAll("script")).forEach(function(e){if(null!=e.src&&e.src.indexOf("paypal")>-1)try{window.document.head.removeChild(e)}catch(t){}});var e=window.document.head.querySelector("#braintree-dropin-stylesheet");if(null!=e)try{window.document.head.removeChild(e)}catch(t){}},500))},e.prototype.changeMethod=function(){var e=this;this.btInstance=null,this.method===a.PaymentMethodType.PayPal?window.setTimeout(function(){window.braintree.dropin.create({authorization:e.platformUtilsService.isDev()?o.WebConstants.btSandboxKey:o.WebConstants.btProductionKey,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(t,n){null==t?e.btInstance=n:console.error(t)})},250):this.setStripeElement()},e.prototype.createPaymentToken=function(){var e=this;return new Promise(function(t,n){e.method===a.PaymentMethodType.Credit?t([null,e.method]):e.method===a.PaymentMethodType.PayPal?e.btInstance.requestPaymentMethod().then(function(n){t([n.nonce,e.method])}).catch(function(e){n(e.message)}):e.method!==a.PaymentMethodType.Card&&e.method!==a.PaymentMethodType.BankAccount||(e.method===a.PaymentMethodType.Card?e.apiService.postSetupPayment().then(function(t){return e.stripe.handleCardSetup(t,e.stripeCardNumberElement)}).then(function(r){r.error?n(r.error.message):r.setupIntent&&"succeeded"===r.setupIntent.status?t([r.setupIntent.payment_method,e.method]):n()}):e.stripe.createToken("bank_account",e.bank).then(function(r){r.error?n(r.error.message):r.token&&null!=r.token.id?t([r.token.id,e.method]):n()}))})},e.prototype.handleStripeCardPayment=function(e,t){var n=this;return new Promise(function(a,o){if(!n.showMethods||null!=n.stripeCardNumberElement){return(n.showMethods?n.stripe.handleCardSetup(e,n.stripeCardNumberElement):n.stripe.handleCardSetup(e)).then(function(e){return r(n,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return e.error?(o(e.error.message),[3,5]):[3,1];case 1:return e.paymentIntent&&"succeeded"===e.paymentIntent.status?null==t?[3,3]:[4,t()]:[3,4];case 2:n.sent(),n.label=3;case 3:return a(),[3,5];case 4:o(),n.label=5;case 5:return[2]}})})})}o()})},e.prototype.setStripeElement=function(){var e=this;window.setTimeout(function(){e.showMethods&&e.method===a.PaymentMethodType.Card&&(null==e.stripeCardNumberElement&&(e.stripeCardNumberElement=e.stripeElements.create("cardNumber",{style:I,classes:E,placeholder:""})),null==e.stripeCardExpiryElement&&(e.stripeCardExpiryElement=e.stripeElements.create("cardExpiry",{style:I,classes:E})),null==e.stripeCardCvcElement&&(e.stripeCardCvcElement=e.stripeElements.create("cardCvc",{style:I,classes:E,placeholder:""})),e.stripeCardNumberElement.mount("#stripe-card-number-element"),e.stripeCardExpiryElement.mount("#stripe-card-expiry-element"),e.stripeCardCvcElement.mount("#stripe-card-cvc-element"))},50)},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.PlatformUtilsService),s.ɵɵdirectiveInject(c.ApiService))},e.ɵcmp=s.ɵɵdefineComponent({type:e,selectors:[["app-payment"]],inputs:{showMethods:"showMethods",showOptions:"showOptions",method:"method",hideBank:"hideBank",hidePaypal:"hidePaypal",hideCredit:"hideCredit"},decls:10,vars:5,consts:[["class","mb-4 text-lg",4,"ngIf"],[4,"ngIf"],[1,"mb-4","text-lg"],[1,"form-check","form-check-inline","mr-4"],["type","radio","name","Method","id","method-card",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-card",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-credit-card"],["class","form-check form-check-inline mr-4",4,"ngIf"],["class","form-check form-check-inline",4,"ngIf"],["type","radio","name","Method","id","method-bank",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-bank",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-university"],[1,"form-check","form-check-inline"],["type","radio","name","Method","id","method-paypal",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-paypal",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-paypal"],["type","radio","name","Method","id","method-credit",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-credit",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-dollar"],[1,"row"],[1,"form-group","col-4"],["for","stripe-card-number-element"],["id","stripe-card-number-element",1,"form-control","stripe-form-control"],[1,"form-group","col-8","d-flex","align-items-end"],["src","images/cards.png","alt","Visa, MasterCard, Discover, AmEx, JCB, Diners Club, UnionPay","width","323","height","32"],["for","stripe-card-expiry-element"],["id","stripe-card-expiry-element",1,"form-control","stripe-form-control"],[1,"d-flex"],["for","stripe-card-cvc-element"],["href","https://www.cvvnumber.com/cvv.html","tabindex","-1","target","_blank","rel","noopener noreferrer",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],["id","stripe-card-cvc-element",1,"form-control","stripe-form-control"],["type","warning",3,"title"],[1,"form-group","col-6"],["for","routing_number"],["id","routing_number","type","text","name","routing_number","required","","appInputVerbatim","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_number"],["id","account_number","type","text","name","account_number","required","","appInputVerbatim","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_holder_name"],["id","account_holder_name","type","text","name","account_holder_name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_holder_type"],["id","account_holder_type","name","account_holder_type","required","",1,"form-control",3,"ngModel","ngModelChange"],["value",""],["value","company"],["value","individual"],[1,"mb-3"],["id","bt-dropin-container",1,"mb-1"],[1,"text-muted"],["type","note"]],template:function(e,t){1&e&&(s.ɵɵtemplate(0,x,19,8,"div",0),s.ɵɵtext(1,"\n"),s.ɵɵtemplate(2,b,46,12,"ng-container",1),s.ɵɵtext(3,"\n"),s.ɵɵtemplate(4,S,60,34,"ng-container",1),s.ɵɵtext(5,"\n"),s.ɵɵtemplate(6,w,11,3,"ng-container",1),s.ɵɵtext(7,"\n"),s.ɵɵtemplate(8,C,6,3,"ng-container",1),s.ɵɵtext(9,"\n")),2&e&&(s.ɵɵproperty("ngIf",t.showOptions&&t.showMethods),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.Card),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.BankAccount),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.PayPal),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.Credit))},directives:[p.NgIf,u.RadioControlValueAccessor,u.DefaultValueAccessor,u.NgControlStatus,u.NgModel,d.A11yTitleDirective,m.CalloutComponent,u.RequiredValidator,h.InputVerbatimDirective,u.SelectControlValueAccessor,u.NgSelectOption,u.ɵangular_packages_forms_forms_x],pipes:[f.I18nPipe],encapsulation:2}),e}();t.PaymentComponent=P},,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Text=0]="Text",e[e.Hidden=1]="Hidden",e[e.Boolean=2]="Boolean"}(t.FieldType||(t.FieldType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=null,this.name=null,this.revisionDate=null,e&&(this.id=e.id,this.revisionDate=e.revisionDate)}}();t.FolderView=r},,,,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1&&(n=this.getFirstLetters(r,this.charCount)),null==n&&(n=r.substr(0,this.charCount)),o=this.getCharText(n),s=this.stringToColor(r),(l=this.getSvg(this.size,s)).appendChild(o),c=window.document.createElement("div").appendChild(l).outerHTML,p=window.btoa(unescape(encodeURIComponent(c))),this.src="data:image/svg+xml;base64,"+p,i.label=4;case 4:return[2]}})})},e.prototype.stringToColor=function(e){for(var t=0,n=0;n>8*n&255).toString(16)).substr(-2)}return r},e.prototype.getFirstLetters=function(e,t){var n=e.split(" ");if(n.length>1){for(var r="",i=0;i0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasOldAttachments",{get:function(){if(this.hasAttachments)for(var e=0;e0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"passwordRevisionDisplayDate",{get:function(){return this.type!==r.CipherType.Login||null==this.login?null:null==this.login.password||""===this.login.password?null:this.login.passwordRevisionDate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isDeleted",{get:function(){return null!=this.deletedDate},enumerable:!0,configurable:!0}),e}();t.CipherView=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(32),i=function(){function e(e){this.title=null,this.middleName=null,this.address1=null,this.address2=null,this.address3=null,this.city=null,this.state=null,this.postalCode=null,this.country=null,this.company=null,this.email=null,this.phone=null,this.ssn=null,this.username=null,this.passportNumber=null,this.licenseNumber=null,this._firstName=null,this._lastName=null,this._subTitle=null}return Object.defineProperty(e.prototype,"firstName",{get:function(){return this._firstName},set:function(e){this._firstName=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lastName",{get:function(){return this._lastName},set:function(e){this._lastName=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.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(e.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var e="";return null!=this.title&&(e+=this.title+" "),null!=this.firstName&&(e+=this.firstName+" "),null!=this.middleName&&(e+=this.middleName+" "),null!=this.lastName&&(e+=this.lastName),e.trim()}return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullAddress",{get:function(){var e=this.address1;return r.Utils.isNullOrWhitespace(this.address2)||(r.Utils.isNullOrWhitespace(e)||(e+=", "),e+=this.address2),r.Utils.isNullOrWhitespace(this.address3)||(r.Utils.isNullOrWhitespace(e)||(e+=", "),e+=this.address3),e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullAddressPart2",{get:function(){if(null==this.city&&null==this.state&&null==this.postalCode)return null;var e=this.city||"-",t=this.state,n=this.postalCode||"-",i=e;return r.Utils.isNullOrWhitespace(t)||(i+=", "+t),i+=", "+n},enumerable:!0,configurable:!0}),e}();t.IdentityView=i},,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.organizationId=e.organizationId,this.name=e.name,this.externalId=e.externalId,this.readOnly=e.readOnly}}();t.CollectionData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(141),i=function(){return function(e){this.id=null,this.organizationId=null,this.name=null,this.externalId=null,this.readOnly=null,this.hidePasswords=null,e&&(this.id=e.id,this.organizationId=e.organizationId,this.externalId=e.externalId,e instanceof r.Collection&&(this.readOnly=e.readOnly,this.hidePasswords=e.hidePasswords))}}();t.CollectionView=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Invited=0]="Invited",e[e.Accepted=1]="Accepted",e[e.Confirmed=2]="Confirmed"}(t.OrganizationUserStatusType||(t.OrganizationUserStatusType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(481),a=n(482),o=n(483),s=n(484),l=n(485),c=n(592),p=n(487),u=function(){return function(e,t,n){if(null!=e){switch(this.id=e.id,this.organizationId=e.organizationId,this.folderId=e.folderId,this.userId=t,this.edit=e.edit,this.viewPassword=e.viewPassword,this.organizationUseTotp=e.organizationUseTotp,this.favorite=e.favorite,this.revisionDate=e.revisionDate,this.type=e.type,this.name=e.name,this.notes=e.notes,this.collectionIds=null!=n?n:e.collectionIds,this.deletedDate=e.deletedDate,this.type){case r.CipherType.Login:this.login=new l.LoginData(e.login);break;case r.CipherType.SecureNote:this.secureNote=new p.SecureNoteData(e.secureNote);break;case r.CipherType.Card:this.card=new a.CardData(e.card);break;case r.CipherType.Identity:this.identity=new s.IdentityData(e.identity)}null!=e.fields&&(this.fields=e.fields.map(function(e){return new o.FieldData(e)})),null!=e.attachments&&(this.attachments=e.attachments.map(function(e){return new i.AttachmentData(e)})),null!=e.passwordHistory&&(this.passwordHistory=e.passwordHistory.map(function(e){return new c.PasswordHistoryData(e)}))}}}();t.CipherData=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(32),i=function(){function e(e){this.username=null,this.password=null,this.passwordRevisionDate=null,this.totp=null,this.uris=null,e&&(this.passwordRevisionDate=e.passwordRevisionDate)}return Object.defineProperty(e.prototype,"uri",{get:function(){return this.hasUris?this.uris[0].uri:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maskedPassword",{get:function(){return null!=this.password?"••••••••":null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){return this.username},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canLaunch",{get:function(){return this.hasUris&&this.uris.some(function(e){return e.canLaunch})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasTotp",{get:function(){return!r.Utils.isNullOrWhitespace(this.totp)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"launchUri",{get:function(){if(this.hasUris){var e=this.uris.find(function(e){return e.canLaunch});if(null!=e)return e.launchUri}return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasUris",{get:function(){return null!=this.uris&&this.uris.length>0},enumerable:!0,configurable:!0}),e}();t.LoginView=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Text=0]="Text",e[e.File=1]="File"}(t.SendType||(t.SendType={}))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?(p=[],[4,this.attachments.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){p.push(e)})},Promise.resolve())]):[3,13];case 12:o.sent(),t.attachments=p,o.label=13;case 13:return null!=this.fields&&this.fields.length>0?(u=[],[4,this.fields.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){u.push(e)})},Promise.resolve())]):[3,15];case 14:o.sent(),t.fields=u,o.label=15;case 15:return null!=this.passwordHistory&&this.passwordHistory.length>0?(d=[],[4,this.passwordHistory.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){d.push(e)})},Promise.resolve())]):[3,17];case 16:o.sent(),t.passwordHistory=d,o.label=17;case 17:return[2,t]}})})},t.prototype.toCipherData=function(e){var t=new l.CipherData;switch(t.id=this.id,t.organizationId=this.organizationId,t.folderId=this.folderId,t.userId=null!=this.organizationId?e:null,t.edit=this.edit,t.viewPassword=this.viewPassword,t.organizationUseTotp=this.organizationUseTotp,t.favorite=this.favorite,t.revisionDate=null!=this.revisionDate?this.revisionDate.toISOString():null,t.type=this.type,t.collectionIds=this.collectionIds,t.deletedDate=null!=this.deletedDate?this.deletedDate.toISOString():null,this.buildDataModel(this,t,{name:null,notes:null}),t.type){case s.CipherType.Login:t.login=this.login.toLoginData();break;case s.CipherType.SecureNote:t.secureNote=this.secureNote.toSecureNoteData();break;case s.CipherType.Card:t.card=this.card.toCardData();break;case s.CipherType.Identity:t.identity=this.identity.toIdentityData()}return null!=this.fields&&(t.fields=this.fields.map(function(e){return e.toFieldData()})),null!=this.attachments&&(t.attachments=this.attachments.map(function(e){return e.toAttachmentData()})),null!=this.passwordHistory&&(t.passwordHistory=this.passwordHistory.map(function(e){return e.toPasswordHistoryData()})),t},t}(d.default);t.Cipher=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SendService=r},,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.name=null,this.value=null,this.type=null,this.newField=!1,this.showValue=!1,e&&(this.type=e.type)}return Object.defineProperty(e.prototype,"maskedValue",{get:function(){return null!=this.value?"••••••••":null},enumerable:!0,configurable:!0}),e}();t.FieldView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(596),a=n(597),o=n(598),s=n(599),l=n(600),c=n(601),p=n(870),u=function(){return function(e){var t=this;switch(this.type=e.type,this.folderId=e.folderId,this.organizationId=e.organizationId,this.name=e.name?e.name.encryptedString:null,this.notes=e.notes?e.notes.encryptedString:null,this.favorite=e.favorite,this.lastKnownRevisionDate=e.revisionDate,this.type){case r.CipherType.Login:this.login=new s.LoginApi,this.login.uris=null,this.login.username=e.login.username?e.login.username.encryptedString:null,this.login.password=e.login.password?e.login.password.encryptedString:null,this.login.passwordRevisionDate=null!=e.login.passwordRevisionDate?e.login.passwordRevisionDate.toISOString():null,this.login.totp=e.login.totp?e.login.totp.encryptedString:null,null!=e.login.uris&&(this.login.uris=e.login.uris.map(function(e){var t=new l.LoginUriApi;return t.uri=null!=e.uri?e.uri.encryptedString:null,t.match=null!=e.match?e.match:null,t}));break;case r.CipherType.SecureNote:this.secureNote=new c.SecureNoteApi,this.secureNote.type=e.secureNote.type;break;case r.CipherType.Card:this.card=new i.CardApi,this.card.cardholderName=null!=e.card.cardholderName?e.card.cardholderName.encryptedString:null,this.card.brand=null!=e.card.brand?e.card.brand.encryptedString:null,this.card.number=null!=e.card.number?e.card.number.encryptedString:null,this.card.expMonth=null!=e.card.expMonth?e.card.expMonth.encryptedString:null,this.card.expYear=null!=e.card.expYear?e.card.expYear.encryptedString:null,this.card.code=null!=e.card.code?e.card.code.encryptedString:null;break;case r.CipherType.Identity:this.identity=new o.IdentityApi,this.identity.title=null!=e.identity.title?e.identity.title.encryptedString:null,this.identity.firstName=null!=e.identity.firstName?e.identity.firstName.encryptedString:null,this.identity.middleName=null!=e.identity.middleName?e.identity.middleName.encryptedString:null,this.identity.lastName=null!=e.identity.lastName?e.identity.lastName.encryptedString:null,this.identity.address1=null!=e.identity.address1?e.identity.address1.encryptedString:null,this.identity.address2=null!=e.identity.address2?e.identity.address2.encryptedString:null,this.identity.address3=null!=e.identity.address3?e.identity.address3.encryptedString:null,this.identity.city=null!=e.identity.city?e.identity.city.encryptedString:null,this.identity.state=null!=e.identity.state?e.identity.state.encryptedString:null,this.identity.postalCode=null!=e.identity.postalCode?e.identity.postalCode.encryptedString:null,this.identity.country=null!=e.identity.country?e.identity.country.encryptedString:null,this.identity.company=null!=e.identity.company?e.identity.company.encryptedString:null,this.identity.email=null!=e.identity.email?e.identity.email.encryptedString:null,this.identity.phone=null!=e.identity.phone?e.identity.phone.encryptedString:null,this.identity.ssn=null!=e.identity.ssn?e.identity.ssn.encryptedString:null,this.identity.username=null!=e.identity.username?e.identity.username.encryptedString:null,this.identity.passportNumber=null!=e.identity.passportNumber?e.identity.passportNumber.encryptedString:null,this.identity.licenseNumber=null!=e.identity.licenseNumber?e.identity.licenseNumber.encryptedString:null}null!=e.fields&&(this.fields=e.fields.map(function(e){var t=new a.FieldApi;return t.type=e.type,t.name=e.name?e.name.encryptedString:null,t.value=e.value?e.value.encryptedString:null,t})),null!=e.passwordHistory&&(this.passwordHistory=[],e.passwordHistory.forEach(function(e){t.passwordHistory.push({lastUsedDate:e.lastUsedDate,password:e.password?e.password.encryptedString:null})})),null!=e.attachments&&(this.attachments={},this.attachments2={},e.attachments.forEach(function(e){var n=e.fileName?e.fileName.encryptedString:null;t.attachments[e.id]=n;var r=new p.AttachmentRequest;r.fileName=n,null!=e.key&&(r.key=e.key.encryptedString),t.attachments2[e.id]=r}))}}();t.CipherRequest=u},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(73);var r=n(8),i=(n(3),n(0)),a=n(8),o=n(73),s=n(3),l=function(){function e(e,t,n,i){var a=this;this.router=e,this.activatedRoute=t,this.titleService=n,this.previousUrl=void 0,this.currentUrl=void 0,this.currentUrl=this.router.url,e.events.subscribe(function(e){if(e instanceof r.NavigationEnd){a.previousUrl=a.currentUrl,a.currentUrl=e.url;for(var t=i.t("pageTitle","Bitwarden"),n=null,o=null,s=a.activatedRoute.firstChild;null!=s;){if(null==s.firstChild){if(null!=s.snapshot.data&&null!=s.snapshot.data.title){o=s.snapshot.data.title;break}if(null!=s.snapshot.data&&null!=s.snapshot.data.titleId){n=s.snapshot.data.titleId;break}n=null,o=null;break}s=s.firstChild}if(null!=n||null!=o){var l=null!=o?o:i.t(n);null!=l&&""!==l&&(t=l+" | "+t)}a.titleService.setTitle(t)}})}return e.prototype.getPreviousUrl=function(){return this.previousUrl},e.prototype.setPreviousUrl=function(e){this.previousUrl=e},e.ɵfac=function(t){return new(t||e)(i.ɵɵinject(a.Router),i.ɵɵinject(a.ActivatedRoute),i.ɵɵinject(o.Title),i.ɵɵinject(s.I18nService))},e.ɵprov=i.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.RouterService=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.PBKDF2_SHA256=0]="PBKDF2_SHA256"}(t.KdfType||(t.KdfType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(3);var r=n(0),i=n(3),a=n(4);function o(e,t){if(1&e&&(r.ɵɵelementContainerStart(0),r.ɵɵtext(1),r.ɵɵelementContainerEnd()),2&e){var n=r.ɵɵnextContext();r.ɵɵadvance(1),r.ɵɵtextInterpolate1("\n ",n.text,"\n ")}}var s=function(e){return{width:e}},l=function(){function e(e){this.i18nService=e,this.showText=!1,this.scoreWidth=0,this.color="bg-danger"}return e.prototype.ngOnChanges=function(){switch(this.scoreWidth=null==this.score?0:20*(this.score+1),this.score){case 4:this.color="bg-success",this.text=this.i18nService.t("strong");break;case 3:this.color="bg-primary",this.text=this.i18nService.t("good");break;case 2:this.color="bg-warning",this.text=this.i18nService.t("weak");break;default:this.color="bg-danger",this.text=null!=this.score?this.i18nService.t("weak"):null}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(i.I18nService))},e.ɵcmp=r.ɵɵdefineComponent({type:e,selectors:[["app-password-strength"]],inputs:{score:"score",showText:"showText"},features:[r.ɵɵNgOnChangesFeature],decls:8,vars:8,consts:[[1,"progress"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",3,"ngStyle"],[4,"ngIf"]],template:function(e,t){1&e&&(r.ɵɵelementStart(0,"div",0),r.ɵɵtext(1,"\n "),r.ɵɵelementStart(2,"div",1),r.ɵɵtext(3,"\n "),r.ɵɵtemplate(4,o,2,1,"ng-container",2),r.ɵɵtext(5,"\n "),r.ɵɵelementEnd(),r.ɵɵtext(6,"\n"),r.ɵɵelementEnd(),r.ɵɵtext(7,"\n")),2&e&&(r.ɵɵadvance(2),r.ɵɵclassMapInterpolate1("progress-bar ",t.color,""),r.ɵɵproperty("ngStyle",r.ɵɵpureFunction1(6,s,t.scoreWidth+"%")),r.ɵɵattribute("aria-valuenow",t.scoreWidth),r.ɵɵadvance(2),r.ɵɵproperty("ngIf",t.showText&&t.text))},directives:[a.NgStyle,a.NgIf],encapsulation:2}),e}();t.PasswordStrengthComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Owner=0]="Owner",e[e.Admin=1]="Admin",e[e.User=2]="User",e[e.Manager=3]="Manager",e[e.Custom=4]="Custom"}(t.OrganizationUserType||(t.OrganizationUserType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e,t,n,r,i){return null==e||0===e.length?[]:null==t||t.length<2?e:(t=t.trim().toLowerCase(),e.filter(function(e){return null!=n&&null!=e[n]&&e[n].toString().toLowerCase().indexOf(t)>-1||(null!=r&&null!=e[r]&&e[r].toString().toLowerCase().indexOf(t)>-1||null!=i&&null!=e[i]&&e[i].toString().toLowerCase().indexOf(t)>-1)}))},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"search",type:e,pure:!0}),e}();t.SearchPipe=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(3);var r=n(277),i=n(253),a=n(0),o=n(3),s=function(){function e(e){this.i18nService=e}return e.prototype.getDefaultDateFilters=function(){var e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),23,59);e.setDate(e.getDate()-30);var n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0);return[this.toDateTimeLocalString(n),this.toDateTimeLocalString(t)]},e.prototype.formatDateFilters=function(e,t){var n=new Date(e),r=new Date(t+":59.999");if(isNaN(n.getTime())||isNaN(r.getTime())||r"+n+"";var r=this.makeAnchor(n);return r.setAttribute("href","#/organizations/"+e.organizationId+"/vault?search="+n+"&viewEvents="+e.cipherId),r.outerHTML},e.prototype.formatGroupId=function(e){var t=this.getShortId(e.groupId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/groups?search="+t),n.outerHTML},e.prototype.formatCollectionId=function(e){var t=this.getShortId(e.collectionId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/collections?search="+t),n.outerHTML},e.prototype.formatOrgUserId=function(e){var t=this.getShortId(e.organizationUserId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/people?search="+t+"&viewEvents="+e.organizationUserId),n.outerHTML},e.prototype.formatPolicyId=function(e){var t=this.getShortId(e.policyId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/policies?policyId="+e.policyId),n.outerHTML},e.prototype.makeAnchor=function(e){var t=document.createElement("a");return t.title=this.i18nService.t("view"),t.innerHTML=""+e+"",t},e.prototype.getShortId=function(e){return e.substring(0,8)},e.prototype.toDateTimeLocalString=function(e){return e.getFullYear()+"-"+this.pad(e.getMonth()+1)+"-"+this.pad(e.getDate())+"T"+this.pad(e.getHours())+":"+this.pad(e.getMinutes())},e.prototype.pad=function(e){var t=Math.floor(Math.abs(e));return(t<10?"0":"")+t},e.ɵfac=function(t){return new(t||e)(a.ɵɵinject(o.I18nService))},e.ɵprov=a.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.EventService=s;var l=function(){return function(){}}();t.EventInfo=l;var c=function(){return function(){this.cipherInfo=!0}}();t.EventOptions=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.User_LoggedIn=1e3]="User_LoggedIn",e[e.User_ChangedPassword=1001]="User_ChangedPassword",e[e.User_Updated2fa=1002]="User_Updated2fa",e[e.User_Disabled2fa=1003]="User_Disabled2fa",e[e.User_Recovered2fa=1004]="User_Recovered2fa",e[e.User_FailedLogIn=1005]="User_FailedLogIn",e[e.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",e[e.User_ClientExportedVault=1007]="User_ClientExportedVault",e[e.Cipher_Created=1100]="Cipher_Created",e[e.Cipher_Updated=1101]="Cipher_Updated",e[e.Cipher_Deleted=1102]="Cipher_Deleted",e[e.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",e[e.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",e[e.Cipher_Shared=1105]="Cipher_Shared",e[e.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",e[e.Cipher_ClientViewed=1107]="Cipher_ClientViewed",e[e.Cipher_ClientToggledPasswordVisible=1108]="Cipher_ClientToggledPasswordVisible",e[e.Cipher_ClientToggledHiddenFieldVisible=1109]="Cipher_ClientToggledHiddenFieldVisible",e[e.Cipher_ClientToggledCardCodeVisible=1110]="Cipher_ClientToggledCardCodeVisible",e[e.Cipher_ClientCopiedPassword=1111]="Cipher_ClientCopiedPassword",e[e.Cipher_ClientCopiedHiddenField=1112]="Cipher_ClientCopiedHiddenField",e[e.Cipher_ClientCopiedCardCode=1113]="Cipher_ClientCopiedCardCode",e[e.Cipher_ClientAutofilled=1114]="Cipher_ClientAutofilled",e[e.Cipher_SoftDeleted=1115]="Cipher_SoftDeleted",e[e.Cipher_Restored=1116]="Cipher_Restored",e[e.Collection_Created=1300]="Collection_Created",e[e.Collection_Updated=1301]="Collection_Updated",e[e.Collection_Deleted=1302]="Collection_Deleted",e[e.Group_Created=1400]="Group_Created",e[e.Group_Updated=1401]="Group_Updated",e[e.Group_Deleted=1402]="Group_Deleted",e[e.OrganizationUser_Invited=1500]="OrganizationUser_Invited",e[e.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",e[e.OrganizationUser_Updated=1502]="OrganizationUser_Updated",e[e.OrganizationUser_Removed=1503]="OrganizationUser_Removed",e[e.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",e[e.OrganizationUser_UnlinkedSso=1505]="OrganizationUser_UnlinkedSso",e[e.Organization_Updated=1600]="Organization_Updated",e[e.Organization_PurgedVault=1601]="Organization_PurgedVault",e[e.Policy_Updated=1700]="Policy_Updated"}(t.EventType||(t.EventType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Card=0]="Card",e[e.BankAccount=1]="BankAccount",e[e.PayPal=2]="PayPal",e[e.BitPay=3]="BitPay",e[e.Credit=4]="Credit",e[e.WireTransfer=5]="WireTransfer",e[e.AppleInApp=6]="AppleInApp",e[e.GoogleInApp=7]="GoogleInApp",e[e.Check=8]="Check"}(t.PaymentMethodType||(t.PaymentMethodType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]4?(t=Math.floor(this.totpCode.length/2),this.totpCodeFormatted=this.totpCode.substring(0,t)+" "+this.totpCode.substring(t)):this.totpCodeFormatted=this.totpCode:(this.totpCodeFormatted=null,this.totpInterval&&window.clearInterval(this.totpInterval)),[2]}})})},t.prototype.allowOwnershipAssignment=function(){return(!this.editMode||this.cloneMode)&&null!=this.ownershipOptions&&(this.ownershipOptions.length>1||!this.allowPersonal)},t.prototype.totpTick=function(e){return a(this,void 0,void 0,function(){var t,n;return o(this,function(r){switch(r.label){case 0:return t=Math.round((new Date).getTime()/1e3),n=t%e,this.totpSec=e-n,this.totpDash=+(Math.round(78.6/e*n+"e+2")+"e-2"),this.totpLow=this.totpSec<=7,0!==n?[3,2]:[4,this.totpUpdateCode()];case 1:r.sent(),r.label=2;case 2:return[2]}})})},t.ɵfac=function(e){return new(e||t)(p.ɵɵdirectiveInject(u.CipherService),p.ɵɵdirectiveInject(d.FolderService),p.ɵɵdirectiveInject(m.I18nService),p.ɵɵdirectiveInject(h.PlatformUtilsService),p.ɵɵdirectiveInject(f.AuditService),p.ɵɵdirectiveInject(v.StateService),p.ɵɵdirectiveInject(y.UserService),p.ɵɵdirectiveInject(g.CollectionService),p.ɵɵdirectiveInject(x.TotpService),p.ɵɵdirectiveInject(b.PasswordGenerationService),p.ɵɵdirectiveInject(S.MessagingService),p.ɵɵdirectiveInject(w.EventService),p.ɵɵdirectiveInject(C.PolicyService))},t.ɵcmp=p.ɵɵdefineComponent({type:t,selectors:[["app-vault-add-edit"]],features:[p.ɵɵInheritDefinitionFeature],decls:36,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","cipherAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","cipherAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit","class","btn btn-primary btn-submit",3,"disabled",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["type","info",4,"ngIf"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","col-6 form-group",4,"ngIf"],[4,"ngIf"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"mt-4"],["cdkDropList","",3,"cdkDropListDropped",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-2",3,"click",4,"ngIf"],["type","info"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","folder"],["id","folder","name","FolderId",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","loginUsername"],[1,"input-group"],["id","loginUsername","type","text","name","Login.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","input-group-append",4,"ngIf"],[1,"d-flex"],["for","loginPassword"],["class","ml-auto d-flex",4,"ngIf"],["id","loginPassword","name","Login.Password","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"input-group-append"],["type","button",1,"btn","btn-outline-secondary",3,"appA11yTitle","disabled","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],["aria-hidden","true",1,"fa","fa-lg","fa-clone"],["for","loginTotp"],["id","loginTotp","name","Login.Totp","appInputVerbatim","",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-6","form-group","totp","d-flex","align-items-end",3,"ngClass"],["class","d-flex align-items-center",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-3",3,"click",4,"ngIf"],["type","button",1,"btn","btn-outline-secondary",3,"appA11yTitle","click"],[1,"ml-auto","d-flex"],["href","#","class","d-block mr-2 fa-icon-above-input","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["href","#","appStopClick","",1,"d-block","fa-icon-above-input",3,"appA11yTitle","appApiAction","click"],["checkPasswordBtn",""],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-check-circle",3,"hidden"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-spinner","fa-spin",3,"hidden","title"],["href","#","appStopClick","",1,"d-block","mr-2","fa-icon-above-input",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-refresh"],["src","images/totp-countdown.png",1,"ml-2",3,"title"],["href","#","appStopClick","","class","badge badge-primary ml-3",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"badge","badge-primary","ml-3",3,"click"],[1,"d-flex","align-items-center"],[1,"totp-countdown","mr-3","ml-2"],[1,"totp-sec"],["r","12.6","cy","16","cx","16",1,"totp-circle","inner",3,"ngStyle"],["r","14","cy","16","cx","16",1,"totp-circle","outer"],[1,"totp-code","mr-2",3,"title"],["type","button",1,"btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-clone"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-7","form-group"],[3,"for"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","placeholder","ngModelChange"],["aria-hidden","true",1,"fa","fa-lg","fa-share"],[1,"col-5","form-group"],["href","https://help.bitwarden.com/article/uri-match-detection/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-control","overflow-hidden",3,"id","name","ngModel","disabled","ngModelChange","change"],["type","button","class","btn btn-link text-danger ml-2",3,"appA11yTitle","click",4,"ngIf"],["type","button",1,"btn","btn-link","text-danger","ml-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-minus-circle","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-fw"],["for","cardCardholderName"],["id","cardCardholderName","type","text","name","Card.CardCardholderName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardBrand"],["id","cardBrand","name","Card.Brand",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardNumber"],["id","cardNumber","type","text","name","Card.Number","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"col","form-group"],["for","cardExpMonth"],["id","cardExpMonth","name","Card.ExpMonth",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardExpYear"],["id","cardExpYear","type","text","name","Card.ExpYear",1,"form-control",3,"ngModel","placeholder","disabled","ngModelChange"],["for","cardCode"],["id","cardCode","name","Card.Code","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-4","form-group"],["for","idTitle"],["id","idTitle","name","Identity.Title",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idFirstName"],["id","idFirstName","type","text","name","Identity.FirstName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idMiddleName"],["id","idMiddleName","type","text","name","Identity.MiddleName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLastName"],["id","idLastName","type","text","name","Identity.LastName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idUsername"],["id","idUsername","type","text","name","Identity.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCompany"],["id","idCompany","type","text","name","Identity.Company",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idSsn"],["id","idSsn","type","text","name","Identity.SSN","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPassportNumber"],["id","idPassportNumber","type","text","name","Identity.PassportNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLicenseNumber"],["id","idLicenseNumber","type","text","name","Identity.LicenseNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idEmail"],["id","idEmail","type","text","name","Identity.Email","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPhone"],["id","idPhone","type","text","name","Identity.Phone",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress1"],["id","idAddress1","type","text","name","Identity.Address1",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress2"],["id","idAddress2","type","text","name","Identity.Address2",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress3"],["id","idAddress3","type","text","name","Identity.Address3",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCity"],["id","idCity","type","text","name","Identity.City",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idState"],["id","idState","type","text","name","Identity.State",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPostalCode"],["id","idPostalCode","type","text","name","Identity.PostalCode",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCountry"],["id","idCountry","type","text","name","Identity.Country",1,"form-control",3,"ngModel","disabled","ngModelChange"],["cdkDropList","",3,"cdkDropListDropped"],["class","row","cdkDrag","",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"row"],["href","https://help.bitwarden.com/article/custom-fields/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","ngModelChange"],["class","input-group",4,"ngIf"],[1,"flex-fill"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange",4,"ngIf"],["type","button","class","btn btn-link text-muted cursor-move",3,"appA11yTitle",4,"ngIf"],["appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"id","type","name","ngModel","disabled","ngModelChange"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-link","text-muted","cursor-move",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-bars","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-2",3,"click"],[1,"col-5"],["for","addFieldType",1,"sr-only"],["id","addFieldType","name","AddFieldType",1,"form-control",3,"ngModel","ngModelChange"],["for","organizationId"],["id","organizationId","name","OrganizationId",1,"form-control",3,"ngModel","disabled","ngModelChange","change"],["class","form-check",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"ngModel","id","name","disabled","ngModelChange"],[1,"form-check-label",3,"for"],[1,"small","text-muted","mt-4"],[1,"font-weight-semibold"],["class","ml-3",4,"ngIf"],["href","#","appStopClick","",3,"title","click"],[1,"ml-3"],[4,"ngFor","ngForOf"],[1,"password-wrapper","text-monospace","ml-2"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"ml-auto"],["type","button","class","btn btn-link",3,"appA11yTitle","click",4,"ngIf"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,_e,54,25,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵelementStart(22,"div",9),p.ɵɵtext(23,"\n "),p.ɵɵtemplate(24,Ae,9,7,"button",10),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",11),p.ɵɵtext(27),p.ɵɵpipe(28,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(29,"\n "),p.ɵɵtemplate(30,Be,6,2,"div",12),p.ɵɵtext(31,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(32,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(33,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n")),2&e&&(p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,7,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.cipher),p.ɵɵadvance(4),p.ɵɵproperty("ngIf",!t.viewOnly),p.ɵɵadvance(3),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(28,9,t.viewOnly?"close":"cancel"),"\n "),p.ɵɵadvance(3),p.ɵɵproperty("ngIf",t.cipher&&!t.viewOnly))},directives:[I.NgControlStatusGroup,I.NgForm,E.ApiActionDirective,P.A11yTitleDirective,k.NgIf,I.DefaultValueAccessor,I.RequiredValidator,I.NgControlStatus,I.NgModel,_.CalloutComponent,I.SelectControlValueAccessor,A.AutofocusDirective,k.NgForOf,I.NgSelectOption,I.ɵangular_packages_forms_forms_x,O.InputVerbatimDirective,k.NgClass,T.StopClickDirective,k.NgStyle,M.CdkDropList,M.CdkDrag,B.TrueFalseValueDirective,I.CheckboxControlValueAccessor],pipes:[D.I18nPipe,k.DatePipe],encapsulation:2}),t}(c.AddEditComponent);t.AddEditComponent=De},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.ImportService=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]500?500:this.ciphers.length,n=0;n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]r){if(a===o.TwoFactorProviderType.U2f&&!e)return;n=a,r=s.priority}}),n},e.prototype.makePreloginKey=function(e,t){return i(this,void 0,void 0,function(){var n,r,i,o;return a(this,function(a){switch(a.label){case 0:t=t.trim().toLowerCase(),n=null,r=null,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.apiService.postPrelogin(new p.PreloginRequest(t))];case 2:return null!=(i=a.sent())&&(n=i.kdf,r=i.kdfIterations),[3,4];case 3:if(null==(o=a.sent())||404!==o.statusCode)throw o;return[3,4];case 4:return[2,this.cryptoService.makeKey(e,t,n,r)]}})})},e.prototype.authingWithApiKey=function(){return null!=this.clientId&&null!=this.clientSecret},e.prototype.authingWithSso=function(){return null!=this.code&&null!=this.codeVerifier&&null!=this.ssoRedirectUrl},e.prototype.authingWithPassword=function(){return null!=this.email&&null!=this.masterPasswordHash},e.prototype.logInHelper=function(e,t,n,r,p,d,m,h,f,v,y){return i(this,void 0,void 0,function(){var i,g,x,b,S,w,C,I,E,P,k,_,A;return a(this,function(a){switch(a.label){case 0:return[4,this.tokenService.getTwoFactorToken(e)];case 1:return i=a.sent(),[4,this.appIdService.getAppId()];case 2:return g=a.sent(),x=new l.DeviceRequest(g,this.platformUtilsService),b=[],S=[],w=[],b=null!=e&&null!=t?[e,t]:null,S=null!=n&&null!=r&&null!=p?[n,r,p]:null,w=null!=d&&null!=m?[d,m]:null,C=null!=v&&null!=f?new u.TokenRequest(b,S,w,f,v,y,x):null!=i?new u.TokenRequest(b,S,w,o.TwoFactorProviderType.Remember,i,!1,x):new u.TokenRequest(b,S,w,null,null,!1,x),[4,this.apiService.postIdentityToken(C)];case 3:return I=a.sent(),this.clearState(),(E=new s.AuthResult).twoFactor=!I.accessToken,E.twoFactor?(P=I,this.email=e,this.masterPasswordHash=t,this.code=n,this.codeVerifier=r,this.ssoRedirectUrl=p,this.clientId=d,this.clientSecret=m,this.key=this.setCryptoKeys?h:null,this.twoFactorProvidersData=P.twoFactorProviders2,E.twoFactorProviders=P.twoFactorProviders2,[2,E]):(k=I,E.resetMasterPassword=k.resetMasterPassword,null==k.twoFactorToken?[3,5]:[4,this.tokenService.setTwoFactorToken(k.twoFactorToken,e)]);case 4:a.sent(),a.label=5;case 5:return[4,this.tokenService.setTokens(k.accessToken,k.refreshToken)];case 6:return a.sent(),[4,this.userService.setInformation(this.tokenService.getUserId(),this.tokenService.getEmail(),k.kdf,k.kdfIterations)];case 7:return a.sent(),this.setCryptoKeys?null==h?[3,9]:[4,this.cryptoService.setKey(h)]:[3,19];case 8:a.sent(),a.label=9;case 9:return null==t?[3,11]:[4,this.cryptoService.setKeyHash(t)];case 10:a.sent(),a.label=11;case 11:return null!=n&&null==k.key?[3,19]:[4,this.cryptoService.setEncKey(k.key)];case 12:if(a.sent(),null!=k.privateKey)return[3,17];a.label=13;case 13:return a.trys.push([13,16,,17]),[4,this.cryptoService.makeKeyPair()];case 14:return _=a.sent(),[4,this.apiService.postAccountKeys(new c.KeysRequest(_[0],_[1].encryptedString))];case 15:return a.sent(),k.privateKey=_[1].encryptedString,[3,17];case 16:return A=a.sent(),this.logService.error(A),[3,17];case 17:return[4,this.cryptoService.setEncPrivateKey(k.privateKey)];case 18:a.sent(),a.label=19;case 19:return null!=this.vaultTimeoutService&&(this.vaultTimeoutService.biometricLocked=!1),this.messagingService.send("loggedIn"),[2,E]}})})},e.prototype.clearState=function(){this.key=null,this.email=null,this.masterPasswordHash=null,this.code=null,this.codeVerifier=null,this.ssoRedirectUrl=null,this.clientId=null,this.clientSecret=null,this.twoFactorProvidersData=null,this.selectedTwoFactorProviderType=null},e}();t.AuthService=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.id=e,this.readOnly=t,this.hidePasswords=n}}();t.SelectionReadOnlyRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Android=0]="Android",e[e.iOS=1]="iOS",e[e.ChromeExtension=2]="ChromeExtension",e[e.FirefoxExtension=3]="FirefoxExtension",e[e.OperaExtension=4]="OperaExtension",e[e.EdgeExtension=5]="EdgeExtension",e[e.WindowsDesktop=6]="WindowsDesktop",e[e.MacOsDesktop=7]="MacOsDesktop",e[e.LinuxDesktop=8]="LinuxDesktop",e[e.ChromeBrowser=9]="ChromeBrowser",e[e.FirefoxBrowser=10]="FirefoxBrowser",e[e.OperaBrowser=11]="OperaBrowser",e[e.EdgeBrowser=12]="EdgeBrowser",e[e.IEBrowser=13]="IEBrowser",e[e.UnknownBrowser=14]="UnknownBrowser",e[e.AndroidAmazon=15]="AndroidAmazon",e[e.UWP=16]="UWP",e[e.SafariBrowser=17]="SafariBrowser",e[e.VivaldiBrowser=18]="VivaldiBrowser",e[e.VivaldiExtension=19]="VivaldiExtension",e[e.SafariExtension=20]="SafariExtension"}(t.DeviceType||(t.DeviceType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SettingsService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Free=0]="Free",e[e.FamiliesAnnually2019=1]="FamiliesAnnually2019",e[e.TeamsMonthly2019=2]="TeamsMonthly2019",e[e.TeamsAnnually2019=3]="TeamsAnnually2019",e[e.EnterpriseMonthly2019=4]="EnterpriseMonthly2019",e[e.EnterpriseAnnually2019=5]="EnterpriseAnnually2019",e[e.Custom=6]="Custom",e[e.FamiliesAnnually=7]="FamiliesAnnually",e[e.TeamsMonthly=8]="TeamsMonthly",e[e.TeamsAnnually=9]="TeamsAnnually",e[e.EnterpriseMonthly=10]="EnterpriseMonthly",e[e.EnterpriseAnnually=11]="EnterpriseAnnually"}(t.PlanType||(t.PlanType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&(e.uris=[],this.uris.forEach(function(t){e.uris.push(t.toLoginUriData())})),e},t}(n(82).default);t.Login=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(486),o=n(257),s=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.match=t.match,r.buildDomainModel(r,t,{uri:null},n,[]),r)}return i(t,e),t.prototype.decrypt=function(e,t){return this.decryptObj(new o.LoginUriView(this),{uri:null},e,t)},t.prototype.toLoginUriData=function(){var e=new a.LoginUriData;return this.buildDataModel(this,e,{uri:null},["match"]),e},t}(n(82).default);t.LoginUri=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Domain=0]="Domain",e[e.Host=1]="Host",e[e.StartsWith=2]="StartsWith",e[e.Exact=3]="Exact",e[e.RegularExpression=4]="RegularExpression",e[e.Never=5]="Never"}(t.UriMatchType||(t.UriMatchType={}))},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(487),o=n(82),s=n(94),l=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.type=t.type,r)}return i(t,e),t.prototype.decrypt=function(e,t){return Promise.resolve(new s.SecureNoteView(this))},t.prototype.toSecureNoteData=function(){var e=new a.SecureNoteData;return e.type=this.type,e},t}(o.default);t.SecureNote=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),i=n(14),a=n(0),o=function(){function e(e,t){this.elementRef=e,this.renderer=t,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(e){}}return e.prototype.onHostChange=function(e){this.propagateChange(e.target.checked?this.trueValue:this.falseValue)},e.prototype.writeValue=function(e){e===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},e.prototype.registerOnChange=function(e){this.propagateChange=e},e.prototype.registerOnTouched=function(e){},e.prototype.setDisabledState=function(e){},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(a.ElementRef),a.ɵɵdirectiveInject(a.Renderer2))},e.ɵdir=a.ɵɵdefineDirective({type:e,selectors:[["input","type","checkbox","appTrueFalseValue",""]],hostBindings:function(e,t){1&e&&a.ɵɵlistener("change",function(e){return t.onHostChange(e)})},inputs:{trueValue:"trueValue",falseValue:"falseValue"},features:[a.ɵɵProvidersFeature([{provide:i.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return e}),multi:!0}])]}),e}();t.TrueFalseValueDirective=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=(n(41),n(49),n(42),n(7),n(874)),s=n(0),l=n(41),c=n(49),p=n(42),u=n(7),d=n(18),m=n(14),h=n(66),f=n(4),v=n(37),y=n(10),g=function(e){return{active:e}};function x(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"a",8),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext().selectFavorites()}),s.ɵɵtext(3,"\n "),s.ɵɵelement(4,"i",17),s.ɵɵtext(5),s.ɵɵpipe(6,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext();s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(4,g,r.selectedFavorites)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(6,2,"favorites"),"\n ")}}function b(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"a",8),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext().selectTrash()}),s.ɵɵtext(3,"\n "),s.ɵɵelement(4,"i",18),s.ɵɵtext(5),s.ɵɵpipe(6,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext();s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(4,g,r.selectedTrash)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(6,2,"trash"),"\n ")}}function S(e,t){1&e&&(s.ɵɵelementStart(0,"p",19),s.ɵɵtext(1,"\n "),s.ɵɵelement(2,"i",20),s.ɵɵpipe(3,"i18n"),s.ɵɵtext(4,"\n "),s.ɵɵelementStart(5,"span",21),s.ɵɵtext(6),s.ɵɵpipe(7,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(8,"\n "),s.ɵɵelementEnd()),2&e&&(s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(3,2,"loading")),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(7,4,"loading")))}var w=function(e,t){return{"fa-caret-right":e,"fa-caret-down":t}};function C(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"i",32),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).collapse(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext().$implicit,i=s.ɵɵnextContext(4);s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(1,2,"toggleCollapse")),s.ɵɵproperty("ngClass",s.ɵɵpureFunction2(4,w,i.isCollapsed(r.node),!i.isCollapsed(r.node)))}}function I(e,t){1&e&&s.ɵɵelement(0,"i",33)}function E(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"a",34),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).editFolder(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵtext(2,"\n "),s.ɵɵelement(3,"i",35),s.ɵɵtext(4,"\n "),s.ɵɵelementEnd()}2&e&&s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(1,1,"editFolder"))}function P(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}var k=function(e){return{$implicit:e}};function _(e,t){if(1&e&&(s.ɵɵelementStart(0,"ul",36),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,P,2,0,"ng-container",26),s.ɵɵtext(3,"\n "),s.ɵɵelementEnd()),2&e){var n=s.ɵɵnextContext().$implicit;s.ɵɵnextContext(2);var r=s.ɵɵreference(15);s.ɵɵadvance(2),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(2,k,n.children))}}function A(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"div",22),s.ɵɵtext(3,"\n "),s.ɵɵtemplate(4,C,2,7,"i",28),s.ɵɵtext(5,"\n "),s.ɵɵelementStart(6,"a",8),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).selectFolder(e.node)}),s.ɵɵtext(7,"\n "),s.ɵɵtemplate(8,I,1,0,"i",29),s.ɵɵtext(9),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵtemplate(11,E,5,3,"a",30),s.ɵɵtext(12,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(13,"\n "),s.ɵɵtemplate(14,_,4,4,"ul",31),s.ɵɵtext(15,"\n "),s.ɵɵelementEnd()}if(2&e){var r=t.$implicit,i=s.ɵɵnextContext(4);s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(6,g,i.selectedFolder&&r.node.id===i.selectedFolderId)),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",r.children.length),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",0===r.children.length),s.ɵɵadvance(1),s.ɵɵtextInterpolate1("",r.node.name,"\n "),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.node.id),s.ɵɵadvance(3),s.ɵɵproperty("ngIf",r.children.length&&!i.isCollapsed(r.node))}}function O(e,t){if(1&e&&(s.ɵɵtext(0,"\n "),s.ɵɵtemplate(1,A,16,8,"li",27),s.ɵɵtext(2,"\n ")),2&e){var n=t.$implicit;s.ɵɵadvance(1),s.ɵɵproperty("ngForOf",n)}}function T(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function M(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h3",22),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementStart(5,"a",23),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext(2).addFolder()}),s.ɵɵpipe(6,"i18n"),s.ɵɵtext(7,"\n "),s.ɵɵelement(8,"i",24),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"ul",6),s.ɵɵtext(13,"\n "),s.ɵɵtemplate(14,O,3,1,"ng-template",null,25,s.ɵɵtemplateRefExtractor),s.ɵɵtext(16,"\n "),s.ɵɵtemplate(17,T,2,0,"ng-container",26),s.ɵɵtext(18,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(19,"\n "),s.ɵɵelementContainerEnd()}if(2&e){var r=s.ɵɵreference(15),i=s.ɵɵnextContext(2);s.ɵɵadvance(3),s.ɵɵtextInterpolate1("\n ",s.ɵɵpipeBind1(4,4,"folders"),"\n "),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(6,6,"addFolder")),s.ɵɵadvance(12),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(8,k,i.nestedFolders))}}function B(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"i",32),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).collapse(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext().$implicit,i=s.ɵɵnextContext(4);s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(1,2,"toggleCollapse")),s.ɵɵproperty("ngClass",s.ɵɵpureFunction2(4,w,i.isCollapsed(r.node),!i.isCollapsed(r.node)))}}function D(e,t){1&e&&s.ɵɵelement(0,"i",39)}function V(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function j(e,t){if(1&e&&(s.ɵɵelementStart(0,"ul",36),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,V,2,0,"ng-container",26),s.ɵɵtext(3,"\n "),s.ɵɵelementEnd()),2&e){var n=s.ɵɵnextContext().$implicit;s.ɵɵnextContext(2);var r=s.ɵɵreference(9);s.ɵɵadvance(2),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(2,k,n.children))}}function R(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,B,2,7,"i",28),s.ɵɵtext(3,"\n "),s.ɵɵelementStart(4,"a",8),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).selectCollection(e.node)}),s.ɵɵtext(5,"\n "),s.ɵɵtemplate(6,D,1,0,"i",38),s.ɵɵtext(7),s.ɵɵelementEnd(),s.ɵɵtext(8,"\n "),s.ɵɵtemplate(9,j,4,4,"ul",31),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd()}if(2&e){var r=t.$implicit,i=s.ɵɵnextContext(4);s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(5,g,r.node.id===i.selectedCollectionId)),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.children.length),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",0===r.children.length),s.ɵɵadvance(1),s.ɵɵtextInterpolate1("",r.node.name,"\n "),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.children.length&&!i.isCollapsed(r.node))}}function F(e,t){if(1&e&&(s.ɵɵtext(0,"\n "),s.ɵɵtemplate(1,R,11,7,"li",27),s.ɵɵtext(2,"\n ")),2&e){var n=t.$implicit;s.ɵɵadvance(1),s.ɵɵproperty("ngForOf",n)}}function U(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function N(e,t){if(1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h3"),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(5,"\n "),s.ɵɵelementStart(6,"ul",6),s.ɵɵtext(7,"\n "),s.ɵɵtemplate(8,F,3,1,"ng-template",null,37,s.ɵɵtemplateRefExtractor),s.ɵɵtext(10,"\n "),s.ɵɵtemplate(11,U,2,0,"ng-container",26),s.ɵɵtext(12,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(13,"\n "),s.ɵɵelementContainerEnd()),2&e){var n=s.ɵɵreference(9),r=s.ɵɵnextContext(2);s.ɵɵadvance(3),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(4,3,"collections")),s.ɵɵadvance(8),s.ɵɵproperty("ngTemplateOutlet",n)("ngTemplateOutletContext",s.ɵɵpureFunction1(5,k,r.nestedCollections))}}function z(e,t){if(1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,M,20,10,"ng-container",16),s.ɵɵtext(3,"\n "),s.ɵɵtemplate(4,N,14,7,"ng-container",16),s.ɵɵtext(5,"\n "),s.ɵɵelementContainerEnd()),2&e){var n=s.ɵɵnextContext();s.ɵɵadvance(2),s.ɵɵproperty("ngIf",n.showFolders),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",n.showCollections&&n.collections&&n.collections.length)}}var L=function(e){function t(t,n,r,i){var o=e.call(this,t,n,r,i)||this;return o.onSearchTextChanged=new a.EventEmitter,o.searchText="",o.searchPlaceholder=null,o}return i(t,e),t.prototype.searchTextChanged=function(){this.onSearchTextChanged.emit(this.searchText)},t.ɵfac=function(e){return new(e||t)(s.ɵɵdirectiveInject(l.CollectionService),s.ɵɵdirectiveInject(c.FolderService),s.ɵɵdirectiveInject(p.StorageService),s.ɵɵdirectiveInject(u.UserService))},t.ɵcmp=s.ɵɵdefineComponent({type:t,selectors:[["app-vault-groupings"]],outputs:{onSearchTextChanged:"onSearchTextChanged"},features:[s.ɵɵInheritDefinitionFeature],decls:82,vars:47,consts:[[1,"card","vault-filters"],[1,"card-header","d-flex"],["href","https://help.bitwarden.com/article/searching-vault/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"card-body"],["type","search","id","search","autocomplete","off","appAutofocus","",1,"form-control",3,"placeholder","ngModel","ngModelChange","input"],[1,"fa-ul","card-ul"],[3,"ngClass"],["href","#","appStopClick","",3,"click"],[1,"fa-li","fa","fa-fw","fa-th"],[3,"ngClass",4,"ngIf"],[1,"fa-li","fa","fa-fw","fa-globe"],[1,"fa-li","fa","fa-fw","fa-credit-card"],[1,"fa-li","fa","fa-fw","fa-id-card-o"],[1,"fa-li","fa","fa-fw","fa-sticky-note-o"],["class","text-muted",4,"ngIf"],[4,"ngIf"],[1,"fa-li","fa","fa-fw","fa-star"],[1,"fa-li","fa","fa-fw","fa-trash-o"],[1,"text-muted"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"sr-only"],[1,"d-flex"],["href","#","appStopClick","",1,"text-muted","ml-auto",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],["recursiveFolders",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngClass",4,"ngFor","ngForOf"],["class","fa-li fa",3,"title","ngClass","click",4,"ngIf"],["class","fa-li fa fa-folder-o","aria-hidden","true",4,"ngIf"],["href","#","class","text-muted ml-auto show-active","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["class","fa-ul card-ul carets",4,"ngIf"],[1,"fa-li","fa",3,"title","ngClass","click"],["aria-hidden","true",1,"fa-li","fa","fa-folder-o"],["href","#","appStopClick","",1,"text-muted","ml-auto","show-active",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-pencil","fa-fw"],[1,"fa-ul","card-ul","carets"],["recursiveCollections",""],["class","fa-li fa fa-cube","aria-hidden","true",4,"ngIf"],["aria-hidden","true",1,"fa-li","fa","fa-cube"]],template:function(e,t){1&e&&(s.ɵɵelementStart(0,"div",0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"div",1),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementStart(5,"a",2),s.ɵɵpipe(6,"i18n"),s.ɵɵtext(7,"\n "),s.ɵɵelement(8,"i",3),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"div",4),s.ɵɵtext(13,"\n "),s.ɵɵelementStart(14,"input",5),s.ɵɵlistener("ngModelChange",function(e){return t.searchText=e})("input",function(){return t.searchTextChanged()}),s.ɵɵpipe(15,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(16,"\n "),s.ɵɵelementStart(17,"ul",6),s.ɵɵtext(18,"\n "),s.ɵɵelementStart(19,"li",7),s.ɵɵtext(20,"\n "),s.ɵɵelementStart(21,"a",8),s.ɵɵlistener("click",function(){return t.selectAll()}),s.ɵɵtext(22,"\n "),s.ɵɵelement(23,"i",9),s.ɵɵtext(24),s.ɵɵpipe(25,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(26,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(27,"\n "),s.ɵɵtemplate(28,x,8,6,"li",10),s.ɵɵtext(29,"\n "),s.ɵɵtemplate(30,b,8,6,"li",10),s.ɵɵtext(31,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(32,"\n "),s.ɵɵelementStart(33,"h3"),s.ɵɵtext(34),s.ɵɵpipe(35,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(36,"\n "),s.ɵɵelementStart(37,"ul",6),s.ɵɵtext(38,"\n "),s.ɵɵelementStart(39,"li",7),s.ɵɵtext(40,"\n "),s.ɵɵelementStart(41,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Login)}),s.ɵɵtext(42,"\n "),s.ɵɵelement(43,"i",11),s.ɵɵtext(44),s.ɵɵpipe(45,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(46,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(47,"\n "),s.ɵɵelementStart(48,"li",7),s.ɵɵtext(49,"\n "),s.ɵɵelementStart(50,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Card)}),s.ɵɵtext(51,"\n "),s.ɵɵelement(52,"i",12),s.ɵɵtext(53),s.ɵɵpipe(54,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(55,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(56,"\n "),s.ɵɵelementStart(57,"li",7),s.ɵɵtext(58,"\n "),s.ɵɵelementStart(59,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Identity)}),s.ɵɵtext(60,"\n "),s.ɵɵelement(61,"i",13),s.ɵɵtext(62),s.ɵɵpipe(63,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(64,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(65,"\n "),s.ɵɵelementStart(66,"li",7),s.ɵɵtext(67,"\n "),s.ɵɵelementStart(68,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.SecureNote)}),s.ɵɵtext(69,"\n "),s.ɵɵelement(70,"i",14),s.ɵɵtext(71),s.ɵɵpipe(72,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(73,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(74,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(75,"\n "),s.ɵɵtemplate(76,S,9,6,"p",15),s.ɵɵtext(77,"\n "),s.ɵɵtemplate(78,z,6,2,"ng-container",16),s.ɵɵtext(79,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(80,"\n"),s.ɵɵelementEnd(),s.ɵɵtext(81,"\n")),2&e&&(s.ɵɵadvance(3),s.ɵɵtextInterpolate1("\n ",s.ɵɵpipeBind1(4,19,"filters"),"\n "),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(6,21,"learnMore")),s.ɵɵadvance(9),s.ɵɵpropertyInterpolate("placeholder",t.searchPlaceholder||s.ɵɵpipeBind1(15,23,"searchVault")),s.ɵɵproperty("ngModel",t.searchText),s.ɵɵadvance(5),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(37,g,t.selectedAll)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(25,25,"allItems"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",t.showFavorites),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showTrash),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(35,27,"types")),s.ɵɵadvance(5),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(39,g,t.selectedType===t.cipherType.Login)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(45,29,"typeLogin"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(41,g,t.selectedType===t.cipherType.Card)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(54,31,"typeCard"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(43,g,t.selectedType===t.cipherType.Identity)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(63,33,"typeIdentity"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(45,g,t.selectedType===t.cipherType.SecureNote)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(72,35,"typeSecureNote"),"\n "),s.ɵɵadvance(5),s.ɵɵproperty("ngIf",!t.loaded),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.loaded))},directives:[d.A11yTitleDirective,m.DefaultValueAccessor,h.AutofocusDirective,m.NgControlStatus,m.NgModel,f.NgClass,v.StopClickDirective,f.NgIf,f.NgTemplateOutlet,f.NgForOf],pipes:[y.I18nPipe],encapsulation:2}),t}(o.GroupingsComponent);t.GroupingsComponent=L},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(159),i=n(250),a=function(){function e(e){null!=e&&(this.id=e.id,this.name=e.name,this.status=e.status,this.type=e.type,this.enabled=e.enabled,this.usePolicies=e.usePolicies,this.useGroups=e.useGroups,this.useDirectory=e.useDirectory,this.useEvents=e.useEvents,this.useTotp=e.useTotp,this.use2fa=e.use2fa,this.useApi=e.useApi,this.useBusinessPortal=e.useBusinessPortal,this.useSso=e.useSso,this.selfHost=e.selfHost,this.usersGetPremium=e.usersGetPremium,this.seats=e.seats,this.maxCollections=e.maxCollections,this.maxStorageGb=e.maxStorageGb,this.ssoBound=e.ssoBound,this.identifier=e.identifier,this.permissions=e.permissions)}return Object.defineProperty(e.prototype,"canAccess",{get:function(){return this.type===i.OrganizationUserType.Owner||this.enabled&&this.status===r.OrganizationUserStatusType.Confirmed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isManager",{get:function(){return this.type===i.OrganizationUserType.Manager||this.type===i.OrganizationUserType.Owner||this.type===i.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAdmin",{get:function(){return this.type===i.OrganizationUserType.Owner||this.type===i.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOwner",{get:function(){return this.type===i.OrganizationUserType.Owner},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessBusinessPortal",{get:function(){return this.isAdmin||this.permissions.accessBusinessPortal},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessEventLogs",{get:function(){return this.isAdmin||this.permissions.accessEventLogs},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessImportExport",{get:function(){return this.isAdmin||this.permissions.accessImportExport},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessReports",{get:function(){return this.isAdmin||this.permissions.accessReports},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageAllCollections",{get:function(){return this.isAdmin||this.permissions.manageAllCollections},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageAssignedCollections",{get:function(){return this.isManager||this.permissions.manageAssignedCollections},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageGroups",{get:function(){return this.isAdmin||this.permissions.manageGroups},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageSso",{get:function(){return this.isAdmin||this.permissions.manageSso},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManagePolicies",{get:function(){return this.isAdmin||this.permissions.managePolicies},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageUsers",{get:function(){return this.isAdmin||this.permissions.manageUsers},enumerable:!0,configurable:!0}),e}();t.Organization=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.id=null,this.size=null,this.sizeName=null,this.fileName=null,e&&(this.id=e.id,this.size=e.size,this.sizeName=e.sizeName)}return Object.defineProperty(e.prototype,"fileSize",{get:function(){try{if(null!=this.size)return parseInt(this.size,null)}catch(e){}return 0},enumerable:!0,configurable:!0}),e}();t.SendFileView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.text=null,e&&(this.hidden=e.hidden)}return Object.defineProperty(e.prototype,"maskedText",{get:function(){return null!=this.text?"••••••••":null},enumerable:!0,configurable:!0}),e}();t.SendTextView=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1&&this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),n,{timeout:5e3*n.length}),n},e.ɵfac=function(t){return new(t||e)(r.ɵɵinject(i.I18nService),r.ɵɵinject(a.PlatformUtilsService))},e.ɵprov=r.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.ValidationService=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.AesCbc256_B64=0]="AesCbc256_B64",e[e.AesCbc128_HmacSha256_B64=1]="AesCbc128_HmacSha256_B64",e[e.AesCbc256_HmacSha256_B64=2]="AesCbc256_HmacSha256_B64",e[e.Rsa2048_OaepSha256_B64=3]="Rsa2048_OaepSha256_B64",e[e.Rsa2048_OaepSha1_B64=4]="Rsa2048_OaepSha1_B64",e[e.Rsa2048_OaepSha256_HmacSha256_B64=5]="Rsa2048_OaepSha256_HmacSha256_B64",e[e.Rsa2048_OaepSha1_HmacSha256_B64=6]="Rsa2048_OaepSha1_HmacSha256_B64"}(t.EncryptionType||(t.EncryptionType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.publicKey=e,this.encryptedPrivateKey=t}}();t.KeysRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var n=e.call(this)||this;return null==t?n:(n.id=t.id,n.organizationId=t.organizationId,n.type=t.type,n.data=t.data,n.enabled=t.enabled,n)}return i(t,e),t}(n(82).default);t.Policy=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.organizationId=e.organizationId,this.type=e.type,this.data=e.data,this.enabled=e.enabled}}();t.PolicyData=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&(e=e.concat(this.email.substr(0,t).trim().toLowerCase().split(/[^A-Za-z0-9]/))),e},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(o.I18nService),a.ɵɵdirectiveInject(s.CryptoService),a.ɵɵdirectiveInject(l.MessagingService),a.ɵɵdirectiveInject(c.UserService),a.ɵɵdirectiveInject(p.PasswordGenerationService),a.ɵɵdirectiveInject(u.PlatformUtilsService),a.ɵɵdirectiveInject(d.PolicyService))},e.ɵdir=a.ɵɵdefineDirective({type:e}),e}();t.ChangePasswordComponent=m},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&t.forEach(function(t){var n=e.data.filter(function(e){return e.id===t});null!=n&&n.length>0&&(n[0].checked=!0)}),[3,5];case 3:return"collection"!==this.entity?[3,5]:[4,this.apiService.getCollectionUsers(this.organizationId,this.entityId)];case 4:null!=(t=r.sent())&&e.data.length>0&&t.forEach(function(t){var n=e.data.filter(function(e){return!e.accessAll&&e.id===t.id});null!=n&&n.length>0&&(n[0].checked=!0,n[0].readOnly=t.readOnly,n[0].hidePasswords=t.hidePasswords)}),r.label=5;case 5:return this.allUsers.forEach(function(e){"collection"===n.entity&&e.accessAll&&(e.checked=!0),e.checked&&n.selectedCount++}),[2]}})})},e.prototype.check=function(e){"collection"===this.entity&&e.accessAll||(e.checked=!e.checked,this.selectedChanged(e))},e.prototype.selectedChanged=function(e){e.checked?this.selectedCount++:("collection"===this.entity&&(e.readOnly=!1,e.hidePasswords=!1),this.selectedCount--)},e.prototype.filterSelected=function(e){this.showSelected=e},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),"group"===this.entity?(e=this.users.filter(function(e){return e.checked}).map(function(e){return e.id}),this.formPromise=this.apiService.putGroupUsers(this.organizationId,this.entityId,e)):(e=this.users.filter(function(e){return e.checked&&!e.accessAll}).map(function(e){return new l.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)}),this.formPromise=this.apiService.putCollectionUsers(this.organizationId,this.entityId,e)),[4,this.formPromise];case 1:return t.sent(),this.analytics.eventTrack.next({action:"group"===this.entity?"Edited Group Users":"Edited Collection Users"}),this.toasterService.popAsync("success",null,this.i18nService.t("updatedUsers")),this.onEditedUsers.emit(),[3,3];case 2:return t.sent(),[3,3];case 3:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-entity-users"]],inputs:{entity:"entity",entityId:"entityId",entityName:"entityName",organizationId:"organizationId"},outputs:{onEditedUsers:"onEditedUsers"},decls:49,vars:29,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAccessTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAccessTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"d-flex"],[1,"mr-3"],["for","search",1,"sr-only"],["type","search","id","search","name","SearchText",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["role","group",1,"btn-group","btn-group-sm"],["type","button",1,"btn","btn-outline-secondary",3,"ngClass","click"],["class","badge badge-pill badge-info",4,"ngIf"],[4,"ngIf"],[1,"badge","badge-pill","badge-info"],[1,"table","table-hover","table-list","mb-0"],["width","100","class","text-center",4,"ngIf"],[4,"ngFor","ngForOf"],["width","100",1,"text-center"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","disabled","ngModelChange","change"],["width","30",3,"click"],["size","25",3,"data","email","circle","fontSize"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],["class","text-center",4,"ngIf"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"text-muted","d-block"],["aria-hidden","true",1,"fa","fa-th",3,"title"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵpipe(11,"i18n"),p.ɵɵelementStart(12,"small"),p.ɵɵtext(13),p.ɵɵelementEnd(),p.ɵɵtext(14,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(15,"\n "),p.ɵɵelementStart(16,"button",6),p.ɵɵpipe(17,"i18n"),p.ɵɵtext(18,"\n "),p.ɵɵelementStart(19,"span",7),p.ɵɵtext(20,"×"),p.ɵɵelementEnd(),p.ɵɵtext(21,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(22,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(23,"\n "),p.ɵɵtemplate(24,C,9,6,"div",8),p.ɵɵtext(25,"\n "),p.ɵɵtemplate(26,K,32,22,"div",8),p.ɵɵpipe(27,"search"),p.ɵɵtext(28,"\n "),p.ɵɵelementStart(29,"div",9),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"button",10),p.ɵɵtext(32,"\n "),p.ɵɵelement(33,"i",11),p.ɵɵpipe(34,"i18n"),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"span"),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(40,"\n "),p.ɵɵelementStart(41,"button",12),p.ɵɵtext(42),p.ɵɵpipe(43,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(11,10,"userAccess"),"\n "),p.ɵɵadvance(3),p.ɵɵtextInterpolate(t.entityName),p.ɵɵadvance(3),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(17,12,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading||!t.users),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading&&t.users&&p.ɵɵpipeBindV(27,14,p.ɵɵpureFunction2(26,q,t.users,t.searchText))),p.ɵɵadvance(5),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(34,20,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,22,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(43,24,"close"))}},directives:[f.NgControlStatusGroup,f.NgForm,v.ApiActionDirective,y.A11yTitleDirective,g.NgIf,f.DefaultValueAccessor,f.NgControlStatus,f.NgModel,g.NgClass,g.NgForOf,f.CheckboxControlValueAccessor,x.StopPropDirective,b.AvatarComponent],pipes:[S.I18nPipe,w.SearchPipe],encapsulation:2}),e}();t.EntityUsersComponent=W},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?this.events=this.events.concat(a):this.events=a,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(o.ApiService),a.ɵɵdirectiveInject(s.I18nService),a.ɵɵdirectiveInject(l.EventService),a.ɵɵdirectiveInject(c.ToasterService))},e.ɵcmp=a.ɵɵdefineComponent({type:e,selectors:[["app-entity-events"]],inputs:{name:"name",entity:"entity",entityId:"entityId",organizationId:"organizationId",showUser:"showUser"},decls:36,vars:12,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","eventLogsTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],["id","eventLogsTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"d-flex"],[1,"form-inline"],["for","start",1,"sr-only"],["type","datetime-local","id","start","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],[1,"mx-2"],["for","end",1,"sr-only"],["type","datetime-local","id","end","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"appApiAction","disabled","click"],["refreshBtn",""],["aria-hidden","true",1,"fa","fa-refresh","fa-fw",3,"ngClass"],[4,"ngIf"],["class","table table-hover mb-0",4,"ngIf"],["type","button","class","btn btn-block btn-link btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],[1,"table","table-hover","mb-0"],["width","210",1,"border-top-0"],["width","40",1,"border-top-0"],["class","border-top-0","width","150",4,"ngIf"],[1,"border-top-0"],[4,"ngFor","ngForOf"],["width","150",1,"border-top-0"],["aria-hidden","true",3,"title"],[3,"innerHTML"],[3,"appA11yTitle"],["type","button",1,"btn","btn-block","btn-link","btn-submit",3,"appApiAction","disabled","click"],["moreBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"]],template:function(e,t){1&e&&(a.ɵɵelementStart(0,"div",0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",1),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"div",2),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"div",3),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"h2",4),a.ɵɵtext(9),a.ɵɵpipe(10,"i18n"),a.ɵɵtemplate(11,f,2,1,"small",5),a.ɵɵtext(12,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementStart(14,"button",6),a.ɵɵpipe(15,"i18n"),a.ɵɵtext(16,"\n "),a.ɵɵelementStart(17,"span",7),a.ɵɵtext(18,"×"),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(20,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(21,"\n "),a.ɵɵtemplate(22,v,9,6,"div",8),a.ɵɵtext(23,"\n "),a.ɵɵtemplate(24,I,40,25,"div",8),a.ɵɵtext(25,"\n "),a.ɵɵelementStart(26,"div",9),a.ɵɵtext(27,"\n "),a.ɵɵelementStart(28,"button",10),a.ɵɵtext(29),a.ɵɵpipe(30,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(31,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(32,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(33,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(34,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(35,"\n")),2&e&&(a.ɵɵadvance(9),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(10,6,"eventLogs"),"\n "),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",t.name),a.ɵɵadvance(3),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(15,8,"close")),a.ɵɵadvance(8),a.ɵɵproperty("ngIf",!t.loaded),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",t.loaded),a.ɵɵadvance(5),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(30,10,"close")))},directives:[p.NgIf,u.A11yTitleDirective,d.DefaultValueAccessor,d.NgControlStatus,d.NgModel,m.ApiActionDirective,p.NgClass,p.NgForOf],pipes:[h.I18nPipe,p.DatePipe],encapsulation:2}),e}();t.EntityEventsComponent=E},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.accessBusinessPortal=n.getResponseProperty("AccessBusinessPortal"),n.accessEventLogs=n.getResponseProperty("AccessEventLogs"),n.accessImportExport=n.getResponseProperty("AccessImportExport"),n.accessReports=n.getResponseProperty("AccessReports"),n.manageAllCollections=n.getResponseProperty("ManageAllCollections"),n.manageAssignedCollections=n.getResponseProperty("ManageAssignedCollections"),n.manageCiphers=n.getResponseProperty("ManageCiphers"),n.manageGroups=n.getResponseProperty("ManageGroups"),n.manageSso=n.getResponseProperty("ManageSso"),n.managePolicies=n.getResponseProperty("ManagePolicies"),n.manageUsers=n.getResponseProperty("ManageUsers"),n)}return i(t,e),t}(n(24).BaseResponse);t.PermissionsApi=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0)return void(this.creditAmount=parseFloat((Math.round(100*e)/100).toString()).toFixed(2).toString())}}catch(t){}this.creditAmount=""},Object.defineProperty(e.prototype,"creditAmountNumber",{get:function(){if(null!=this.creditAmount&&""!==this.creditAmount)try{return parseFloat(this.creditAmount)}catch(e){}return null},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.UserService),c.ɵɵdirectiveInject(u.ApiService),c.ɵɵdirectiveInject(d.Angulartics2),c.ɵɵdirectiveInject(m.ToasterService),c.ɵɵdirectiveInject(h.PlatformUtilsService))},e.ɵcmp=c.ɵɵdefineComponent({type:e,selectors:[["app-add-credit"]],viewQuery:function(e,t){var n;(1&e&&c.ɵɵstaticViewQuery(b,!0,a.ElementRef),2&e)&&(c.ɵɵqueryRefresh(n=c.ɵɵloadQuery())&&(t.ppButtonFormRef=n.first))},inputs:{creditAmount:"creditAmount",showOptions:"showOptions",method:"method",organizationId:"organizationId"},outputs:{onAdded:"onAdded",onCanceled:"onCanceled"},decls:92,vars:32,consts:[["ngNativeValidate","",1,"card",3,"appApiAction","ngSubmit"],["form",""],[1,"card-body"],["type","button",1,"close",3,"appA11yTitle","click"],["aria-hidden","true"],[1,"card-body-header"],["class","mb-4 text-lg",4,"ngIf"],[1,"form-group"],[1,"row"],[1,"col-4"],["for","creditAmount"],[1,"input-group"],[1,"input-group-prepend"],[1,"input-group-text"],["id","creditAmount","type","text","name","CreditAmount","required","",1,"form-control",3,"ngModel","ngModelChange","blur"],[1,"form-text","text-muted"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["method","post","target","_top",3,"action"],["ppButtonForm",""],["type","hidden","name","cmd","value","_xclick"],["type","hidden","name","business",3,"value"],["type","hidden","name","button_subtype","value","services"],["type","hidden","name","no_note","value","1"],["type","hidden","name","no_shipping","value","1"],["type","hidden","name","rm","value","1"],["type","hidden","name","return",3,"value"],["type","hidden","name","cancel_return",3,"value"],["type","hidden","name","currency_code","value","USD"],["type","hidden","name","image_url","value","https://bitwarden.com/images/paypal-banner.png"],["type","hidden","name","bn","value","PP-BuyNowBF:btn_buynow_LG.gif:NonHosted"],["type","hidden","name","amount",3,"value"],["type","hidden","name","custom",3,"value"],["type","hidden","name","item_name","value","Bitwarden Account Credit"],["type","hidden","name","item_number",3,"value"],[1,"mb-4","text-lg"],[1,"form-check","form-check-inline"],["type","radio","name","Method","id","credit-method-paypal",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","credit-method-paypal",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-paypal"],["type","radio","name","Method","id","credit-method-bitcoin",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","credit-method-bitcoin",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-bitcoin"]],template:function(e,t){if(1&e&&(c.ɵɵelementStart(0,"form",0,1),c.ɵɵlistener("ngSubmit",function(){return t.submit()}),c.ɵɵtext(2,"\n "),c.ɵɵelementStart(3,"div",2),c.ɵɵtext(4,"\n "),c.ɵɵelementStart(5,"button",3),c.ɵɵlistener("click",function(){return t.cancel()}),c.ɵɵpipe(6,"i18n"),c.ɵɵelementStart(7,"span",4),c.ɵɵtext(8,"×"),c.ɵɵelementEnd(),c.ɵɵelementEnd(),c.ɵɵtext(9,"\n "),c.ɵɵelementStart(10,"h3",5),c.ɵɵtext(11),c.ɵɵpipe(12,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(13,"\n "),c.ɵɵtemplate(14,S,22,4,"div",6),c.ɵɵtext(15,"\n "),c.ɵɵelementStart(16,"div",7),c.ɵɵtext(17,"\n "),c.ɵɵelementStart(18,"div",8),c.ɵɵtext(19,"\n "),c.ɵɵelementStart(20,"div",9),c.ɵɵtext(21,"\n "),c.ɵɵelementStart(22,"label",10),c.ɵɵtext(23),c.ɵɵpipe(24,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(25,"\n "),c.ɵɵelementStart(26,"div",11),c.ɵɵtext(27,"\n "),c.ɵɵelementStart(28,"div",12),c.ɵɵelementStart(29,"span",13),c.ɵɵtext(30,"$USD"),c.ɵɵelementEnd(),c.ɵɵelementEnd(),c.ɵɵtext(31,"\n "),c.ɵɵelementStart(32,"input",14),c.ɵɵlistener("ngModelChange",function(e){return t.creditAmount=e})("blur",function(){return t.formatAmount()}),c.ɵɵelementEnd(),c.ɵɵtext(33,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(34,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(35,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(36,"\n "),c.ɵɵelementStart(37,"small",15),c.ɵɵtext(38),c.ɵɵpipe(39,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(40,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(41,"\n "),c.ɵɵelementStart(42,"button",16),c.ɵɵtext(43,"\n "),c.ɵɵelement(44,"i",17),c.ɵɵpipe(45,"i18n"),c.ɵɵtext(46,"\n "),c.ɵɵelementStart(47,"span"),c.ɵɵtext(48),c.ɵɵpipe(49,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(50,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(51,"\n "),c.ɵɵelementStart(52,"button",18),c.ɵɵlistener("click",function(){return t.cancel()}),c.ɵɵtext(53),c.ɵɵpipe(54,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(55,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(56,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(57,"\n"),c.ɵɵelementStart(58,"form",19,20),c.ɵɵtext(60,"\n "),c.ɵɵelement(61,"input",21),c.ɵɵtext(62,"\n "),c.ɵɵelement(63,"input",22),c.ɵɵtext(64,"\n "),c.ɵɵelement(65,"input",23),c.ɵɵtext(66,"\n "),c.ɵɵelement(67,"input",24),c.ɵɵtext(68,"\n "),c.ɵɵelement(69,"input",25),c.ɵɵtext(70,"\n "),c.ɵɵelement(71,"input",26),c.ɵɵtext(72,"\n "),c.ɵɵelement(73,"input",27),c.ɵɵtext(74,"\n "),c.ɵɵelement(75,"input",28),c.ɵɵtext(76,"\n "),c.ɵɵelement(77,"input",29),c.ɵɵtext(78,"\n "),c.ɵɵelement(79,"input",30),c.ɵɵtext(80,"\n "),c.ɵɵelement(81,"input",31),c.ɵɵtext(82,"\n "),c.ɵɵelement(83,"input",32),c.ɵɵtext(84,"\n "),c.ɵɵelement(85,"input",33),c.ɵɵtext(86,"\n "),c.ɵɵelement(87,"input",34),c.ɵɵtext(88,"\n "),c.ɵɵelement(89,"input",35),c.ɵɵtext(90,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(91,"\n")),2&e){var n=c.ɵɵreference(1);c.ɵɵproperty("appApiAction",t.formPromise),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("appA11yTitle",c.ɵɵpipeBind1(6,18,"cancel")),c.ɵɵadvance(6),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(12,20,"addCredit")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",t.showOptions),c.ɵɵadvance(9),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(24,22,"amount")),c.ɵɵadvance(9),c.ɵɵproperty("ngModel",t.creditAmount),c.ɵɵadvance(6),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(39,24,"creditDelayed")),c.ɵɵadvance(4),c.ɵɵproperty("disabled",n.loading||t.ppLoading),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("title",c.ɵɵpipeBind1(45,26,"loading")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(49,28,"submit")),c.ɵɵadvance(5),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(54,30,"cancel"),"\n "),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("action",t.ppButtonFormAction,c.ɵɵsanitizeUrl),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("value",t.ppButtonBusinessId),c.ɵɵadvance(10),c.ɵɵpropertyInterpolate("value",t.returnUrl),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("value",t.returnUrl),c.ɵɵadvance(8),c.ɵɵpropertyInterpolate("value",t.creditAmount),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("value",t.ppButtonCustomField),c.ɵɵadvance(4),c.ɵɵpropertyInterpolate("value",t.subject)}},directives:[f.NgControlStatusGroup,f.NgForm,v.ApiActionDirective,y.A11yTitleDirective,g.NgIf,f.DefaultValueAccessor,f.RequiredValidator,f.NgControlStatus,f.NgModel,f.ɵangular_packages_forms_forms_y,f.RadioControlValueAccessor],pipes:[x.I18nPipe],encapsulation:2}),e}();t.AddCreditComponent=w},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&(t.push(e),r.exposedPasswordMap.set(e.id,n))});n.push(i)}}),[4,Promise.all(n)];case 2:return i.sent(),this.ciphers=t,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(u.AuditService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(d.MessagingService),c.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-exposed-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:26,vars:14,consts:[[1,"page-header"],["type","button",1,"btn","btn-primary","btn-submit",3,"disabled","click"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],[4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],[1,"badge","badge-warning"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],[1,"sr-only"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(5,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(6,"\n"),c.ɵɵelementStart(7,"p"),c.ɵɵtext(8),c.ɵɵpipe(9,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(10,"\n"),c.ɵɵelementStart(11,"button",1),c.ɵɵlistener("click",function(){return t.load()}),c.ɵɵtext(12,"\n "),c.ɵɵelement(13,"i",2),c.ɵɵpipe(14,"i18n"),c.ɵɵtext(15,"\n "),c.ɵɵelementStart(16,"span"),c.ɵɵtext(17),c.ɵɵpipe(18,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(19,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(20,"\n"),c.ɵɵtemplate(21,k,6,2,"div",3),c.ɵɵtext(22,"\n"),c.ɵɵtemplate(23,_,0,0,"ng-template",null,4,c.ɵɵtemplateRefExtractor),c.ɵɵtext(25,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(4,6,"exposedPasswordsReport")),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(9,8,"exposedPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("disabled",t.loading),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("title",c.ɵɵpipeBind1(14,10,"loading")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(18,12,"checkExposedPasswords")),c.ɵɵadvance(4),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.ExposedPasswordsReportComponent=A},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1||!this.allowPersonal)&&(null!=this.organization?this.cloneMode&&this.organization.canManageAllCollections:!this.editMode||this.cloneMode)},t.prototype.loadCollections=function(){return this.organization.canManageAllCollections?Promise.resolve(this.collections):e.prototype.loadCollections.call(this)},t.prototype.loadCipher=function(){return a(this,void 0,void 0,function(){var t,n;return o(this,function(r){switch(r.label){case 0:return this.organization.canManageAllCollections?[3,2]:[4,e.prototype.loadCipher.call(this)];case 1:return[2,r.sent()];case 2:return[4,this.apiService.getCipherAdmin(this.cipherId)];case 3:return t=r.sent(),n=new s.CipherData(t),this.originalCipher=new l.Cipher(n),[2,new l.Cipher(n)]}})})},t.prototype.encryptCipher=function(){return this.organization.canManageAllCollections?this.cipherService.encrypt(this.cipher,null,this.originalCipher):e.prototype.encryptCipher.call(this)},t.prototype.saveCipher=function(t){return a(this,void 0,void 0,function(){var n;return o(this,function(r){return this.organization.canManageAllCollections&&null!=t.organizationId?this.editMode&&!this.cloneMode?(n=new p.CipherRequest(t),[2,this.apiService.putCipherAdmin(this.cipherId,n)]):(n=new c.CipherCreateRequest(t),[2,this.apiService.postCipherAdmin(n)]):[2,e.prototype.saveCipher.call(this,t)]})})},t.prototype.deleteCipher=function(){return a(this,void 0,void 0,function(){return o(this,function(t){return this.organization.canManageAllCollections?[2,this.cipher.isDeleted?this.apiService.deleteCipherAdmin(this.cipherId):this.apiService.putDeleteCipherAdmin(this.cipherId)]:[2,e.prototype.deleteCipher.call(this)]})})},t.ɵfac=function(e){return new(e||t)(d.ɵɵdirectiveInject(m.CipherService),d.ɵɵdirectiveInject(h.FolderService),d.ɵɵdirectiveInject(f.I18nService),d.ɵɵdirectiveInject(v.PlatformUtilsService),d.ɵɵdirectiveInject(y.AuditService),d.ɵɵdirectiveInject(g.StateService),d.ɵɵdirectiveInject(x.UserService),d.ɵɵdirectiveInject(b.CollectionService),d.ɵɵdirectiveInject(S.TotpService),d.ɵɵdirectiveInject(w.PasswordGenerationService),d.ɵɵdirectiveInject(C.ApiService),d.ɵɵdirectiveInject(I.MessagingService),d.ɵɵdirectiveInject(E.EventService),d.ɵɵdirectiveInject(P.PolicyService))},t.ɵcmp=d.ɵɵdefineComponent({type:t,selectors:[["app-org-vault-add-edit"]],features:[d.ɵɵInheritDefinitionFeature],decls:36,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","cipherAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","cipherAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit","class","btn btn-primary btn-submit",3,"disabled",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["type","info",4,"ngIf"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","col-6 form-group",4,"ngIf"],[4,"ngIf"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"mt-4"],["cdkDropList","",3,"cdkDropListDropped",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-2",3,"click",4,"ngIf"],["type","info"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","folder"],["id","folder","name","FolderId",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","loginUsername"],[1,"input-group"],["id","loginUsername","type","text","name","Login.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","input-group-append",4,"ngIf"],[1,"d-flex"],["for","loginPassword"],["class","ml-auto d-flex",4,"ngIf"],["id","loginPassword","name","Login.Password","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"input-group-append"],["type","button",1,"btn","btn-outline-secondary",3,"appA11yTitle","disabled","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],["aria-hidden","true",1,"fa","fa-lg","fa-clone"],["for","loginTotp"],["id","loginTotp","name","Login.Totp","appInputVerbatim","",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-6","form-group","totp","d-flex","align-items-end",3,"ngClass"],["class","d-flex align-items-center",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-3",3,"click",4,"ngIf"],["type","button",1,"btn","btn-outline-secondary",3,"appA11yTitle","click"],[1,"ml-auto","d-flex"],["href","#","class","d-block mr-2 fa-icon-above-input","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["href","#","appStopClick","",1,"d-block","fa-icon-above-input",3,"appA11yTitle","appApiAction","click"],["checkPasswordBtn",""],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-check-circle",3,"hidden"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-spinner","fa-spin",3,"hidden","title"],["href","#","appStopClick","",1,"d-block","mr-2","fa-icon-above-input",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-refresh"],["src","images/totp-countdown.png",1,"ml-2",3,"title"],["href","#","appStopClick","","class","badge badge-primary ml-3",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"badge","badge-primary","ml-3",3,"click"],[1,"d-flex","align-items-center"],[1,"totp-countdown","mr-3","ml-2"],[1,"totp-sec"],["r","12.6","cy","16","cx","16",1,"totp-circle","inner",3,"ngStyle"],["r","14","cy","16","cx","16",1,"totp-circle","outer"],[1,"totp-code","mr-2",3,"title"],["type","button",1,"btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-clone"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-7","form-group"],[3,"for"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","placeholder","ngModelChange"],["aria-hidden","true",1,"fa","fa-lg","fa-share"],[1,"col-5","form-group"],["href","https://help.bitwarden.com/article/uri-match-detection/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-control","overflow-hidden",3,"id","name","ngModel","disabled","ngModelChange","change"],["type","button","class","btn btn-link text-danger ml-2",3,"appA11yTitle","click",4,"ngIf"],["type","button",1,"btn","btn-link","text-danger","ml-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-minus-circle","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-fw"],["for","cardCardholderName"],["id","cardCardholderName","type","text","name","Card.CardCardholderName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardBrand"],["id","cardBrand","name","Card.Brand",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardNumber"],["id","cardNumber","type","text","name","Card.Number","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"col","form-group"],["for","cardExpMonth"],["id","cardExpMonth","name","Card.ExpMonth",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardExpYear"],["id","cardExpYear","type","text","name","Card.ExpYear",1,"form-control",3,"ngModel","placeholder","disabled","ngModelChange"],["for","cardCode"],["id","cardCode","name","Card.Code","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-4","form-group"],["for","idTitle"],["id","idTitle","name","Identity.Title",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idFirstName"],["id","idFirstName","type","text","name","Identity.FirstName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idMiddleName"],["id","idMiddleName","type","text","name","Identity.MiddleName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLastName"],["id","idLastName","type","text","name","Identity.LastName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idUsername"],["id","idUsername","type","text","name","Identity.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCompany"],["id","idCompany","type","text","name","Identity.Company",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idSsn"],["id","idSsn","type","text","name","Identity.SSN","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPassportNumber"],["id","idPassportNumber","type","text","name","Identity.PassportNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLicenseNumber"],["id","idLicenseNumber","type","text","name","Identity.LicenseNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idEmail"],["id","idEmail","type","text","name","Identity.Email","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPhone"],["id","idPhone","type","text","name","Identity.Phone",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress1"],["id","idAddress1","type","text","name","Identity.Address1",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress2"],["id","idAddress2","type","text","name","Identity.Address2",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress3"],["id","idAddress3","type","text","name","Identity.Address3",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCity"],["id","idCity","type","text","name","Identity.City",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idState"],["id","idState","type","text","name","Identity.State",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPostalCode"],["id","idPostalCode","type","text","name","Identity.PostalCode",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCountry"],["id","idCountry","type","text","name","Identity.Country",1,"form-control",3,"ngModel","disabled","ngModelChange"],["cdkDropList","",3,"cdkDropListDropped"],["class","row","cdkDrag","",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"row"],["href","https://help.bitwarden.com/article/custom-fields/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","ngModelChange"],["class","input-group",4,"ngIf"],[1,"flex-fill"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange",4,"ngIf"],["type","button","class","btn btn-link text-muted cursor-move",3,"appA11yTitle",4,"ngIf"],["appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"id","type","name","ngModel","disabled","ngModelChange"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-link","text-muted","cursor-move",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-bars","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-2",3,"click"],[1,"col-5"],["for","addFieldType",1,"sr-only"],["id","addFieldType","name","AddFieldType",1,"form-control",3,"ngModel","ngModelChange"],["for","organizationId"],["id","organizationId","name","OrganizationId",1,"form-control",3,"ngModel","disabled","ngModelChange","change"],["class","form-check",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"ngModel","id","name","disabled","ngModelChange"],[1,"form-check-label",3,"for"],[1,"small","text-muted","mt-4"],[1,"font-weight-semibold"],["class","ml-3",4,"ngIf"],["href","#","appStopClick","",3,"title","click"],[1,"ml-3"],[4,"ngFor","ngForOf"],[1,"password-wrapper","text-monospace","ml-2"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"ml-auto"],["type","button","class","btn btn-link",3,"appA11yTitle","click",4,"ngIf"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"form",2,3),d.ɵɵlistener("ngSubmit",function(){return t.submit()}),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"div",4),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"h2",5),d.ɵɵtext(10),d.ɵɵelementEnd(),d.ɵɵtext(11,"\n "),d.ɵɵelementStart(12,"button",6),d.ɵɵpipe(13,"i18n"),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"span",7),d.ɵɵtext(16,"×"),d.ɵɵelementEnd(),d.ɵɵtext(17,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵtemplate(20,Te,54,25,"div",8),d.ɵɵtext(21,"\n "),d.ɵɵelementStart(22,"div",9),d.ɵɵtext(23,"\n "),d.ɵɵtemplate(24,Me,9,7,"button",10),d.ɵɵtext(25,"\n "),d.ɵɵelementStart(26,"button",11),d.ɵɵtext(27),d.ɵɵpipe(28,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(29,"\n "),d.ɵɵtemplate(30,je,6,2,"div",12),d.ɵɵtext(31,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(32,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(34,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(35,"\n")),2&e&&(d.ɵɵadvance(4),d.ɵɵproperty("appApiAction",t.formPromise),d.ɵɵadvance(6),d.ɵɵtextInterpolate(t.title),d.ɵɵadvance(2),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(13,7,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",t.cipher),d.ɵɵadvance(4),d.ɵɵproperty("ngIf",!t.viewOnly),d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(28,9,t.viewOnly?"close":"cancel"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",t.cipher&&!t.viewOnly))},directives:[k.NgControlStatusGroup,k.NgForm,_.ApiActionDirective,A.A11yTitleDirective,O.NgIf,k.DefaultValueAccessor,k.RequiredValidator,k.NgControlStatus,k.NgModel,T.CalloutComponent,k.SelectControlValueAccessor,M.AutofocusDirective,O.NgForOf,k.NgSelectOption,k.ɵangular_packages_forms_forms_x,B.InputVerbatimDirective,O.NgClass,D.StopClickDirective,O.NgStyle,V.CdkDropList,V.CdkDrag,j.TrueFalseValueDirective,k.CheckboxControlValueAccessor],pipes:[R.I18nPipe,O.DatePipe],encapsulation:2}),t}(u.AddEditComponent);t.AddEditComponent=Re},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.id=e.id,this.url=e.url,this.fileName=e.fileName,this.key=e.key,this.size=e.size,this.sizeName=e.sizeName)}}();t.AttachmentData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.cardholderName=e.cardholderName,this.brand=e.brand,this.number=e.number,this.expMonth=e.expMonth,this.expYear=e.expYear,this.code=e.code)}}();t.CardData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.type=e.type,this.name=e.name,this.value=e.value)}}();t.FieldData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.title=e.title,this.firstName=e.firstName,this.middleName=e.middleName,this.lastName=e.lastName,this.address1=e.address1,this.address2=e.address2,this.address3=e.address3,this.city=e.city,this.state=e.state,this.postalCode=e.postalCode,this.country=e.country,this.company=e.company,this.email=e.email,this.phone=e.phone,this.ssn=e.ssn,this.username=e.username,this.passportNumber=e.passportNumber,this.licenseNumber=e.licenseNumber)}}();t.IdentityData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(486),i=function(){return function(e){null!=e&&(this.username=e.username,this.password=e.password,this.passwordRevisionDate=e.passwordRevisionDate,this.totp=e.totp,e.uris&&(this.uris=e.uris.map(function(e){return new r.LoginUriData(e)})))}}();t.LoginData=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.match=null,null!=e&&(this.uri=e.uri,this.match=e.match)}}();t.LoginUriData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.type=e.type)}}();t.SecureNoteData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0))return[3,4];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,this.getFileContents(n[0])];case 2:return null!=(a=i.sent())&&(r=a),[3,4];case 3:return i.sent(),[3,4];case 4:if(null==r||""===r)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),this.loading=!1,[2];i.label=5;case 5:return i.trys.push([5,7,,8]),this.formPromise=this.importService.import(e,r,this.organizationId),[4,this.formPromise];case 6:return null!=(o=i.sent())?(this.error(o),this.loading=!1,[2]):(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,8]);case 7:return i.sent(),[3,8];case 8:return this.loading=!1,[2]}})})},e.prototype.getFormatInstructionTitle=function(){var e=this;if(null==this.format)return null;var t=this.featuredImportOptions.concat(this.importOptions).filter(function(t){return t.id===e.format});return t.length>0?this.i18nService.t("instructionsFor",t[0].name):null},e.prototype.setImportOptions=function(){this.featuredImportOptions=a([{id:null,name:"-- "+this.i18nService.t("select")+" --"}],this.importService.featuredImportOptions),this.importOptions=this.importService.regularImportOptions},e.prototype.error=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.analytics.eventTrack.next({action:"Import Data Failed",properties:{label:this.format}}),[4,o.default.fire({heightAuto:!1,buttonsStyling:!1,icon:"error",iconHtml:'',input:"textarea",inputValue:e.message,inputAttributes:{readonly:"true"},title:this.i18nService.t("importError"),text:this.i18nService.t("importErrorDesc"),showConfirmButton:!0,confirmButtonText:this.i18nService.t("ok"),onOpen:function(e){e.querySelector(".swal2-textarea").scrollTo(0,0)}})];case 1:return t.sent(),[2]}})})},e.prototype.getFileContents=function(e){var t=this;return new Promise(function(n,r){var i=new FileReader;i.readAsText(e,"utf-8"),i.onload=function(i){if("lastpasscsv"===t.format&&"text/html"===e.type){var a=(new DOMParser).parseFromString(i.target.result,"text/html").querySelector("pre");return null!=a?void n(a.textContent):void r()}n(i.target.result)},i.onerror=function(){r()}})},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.I18nService),s.ɵɵdirectiveInject(c.Angulartics2),s.ɵɵdirectiveInject(p.ToasterService),s.ɵɵdirectiveInject(u.ImportService),s.ɵɵdirectiveInject(d.Router),s.ɵɵdirectiveInject(m.PlatformUtilsService))},e.ɵcmp=s.ɵɵdefineComponent({type:e,selectors:[["app-import"]],decls:67,vars:24,consts:[[1,"page-header"],["ngNativeValidate","",3,"ngSubmit"],["form",""],[1,"row"],[1,"col-6"],[1,"form-group"],["for","type"],["id","type","name","Format","required","",1,"form-control",3,"ngModel","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[4,"ngIf"],["type","info",3,"title",4,"ngIf"],["for","file"],["type","file","id","file","name","file",1,"form-control-file"],["for","fileContents"],["id","fileContents","name","FileContents",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[3,"ngValue"],["value","-","disabled",""],["type","info",3,"title"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/export-your-data/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-lastpass/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-chrome/"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/import-from-firefox/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-1password/"],["target","_blank","rel","noopener","href","https://bit.ly/2GpOMTg"]],template:function(e,t){1&e&&(s.ɵɵelementStart(0,"div",0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h1"),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(5,"\n"),s.ɵɵelementEnd(),s.ɵɵtext(6,"\n"),s.ɵɵelementStart(7,"form",1,2),s.ɵɵlistener("ngSubmit",function(){return t.submit()}),s.ɵɵtext(9,"\n "),s.ɵɵelementStart(10,"div",3),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"div",4),s.ɵɵtext(13,"\n "),s.ɵɵelementStart(14,"div",5),s.ɵɵtext(15,"\n "),s.ɵɵelementStart(16,"label",6),s.ɵɵtext(17),s.ɵɵpipe(18,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(19,"\n "),s.ɵɵelementStart(20,"select",7),s.ɵɵlistener("ngModelChange",function(e){return t.format=e}),s.ɵɵtext(21,"\n "),s.ɵɵtemplate(22,g,2,2,"option",8),s.ɵɵtext(23,"\n "),s.ɵɵtemplate(24,b,6,1,"ng-container",9),s.ɵɵtext(25,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(26,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(27,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(28,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(29,"\n "),s.ɵɵtemplate(30,ye,100,50,"app-callout",10),s.ɵɵtext(31,"\n "),s.ɵɵelementStart(32,"div",3),s.ɵɵtext(33,"\n "),s.ɵɵelementStart(34,"div",4),s.ɵɵtext(35,"\n "),s.ɵɵelementStart(36,"div",5),s.ɵɵtext(37,"\n "),s.ɵɵelementStart(38,"label",11),s.ɵɵtext(39),s.ɵɵpipe(40,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(41,"\n "),s.ɵɵelement(42,"input",12),s.ɵɵtext(43,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(44,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(45,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(46,"\n "),s.ɵɵelementStart(47,"div",5),s.ɵɵtext(48,"\n "),s.ɵɵelementStart(49,"label",13),s.ɵɵtext(50),s.ɵɵpipe(51,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(52,"\n "),s.ɵɵelementStart(53,"textarea",14),s.ɵɵlistener("ngModelChange",function(e){return t.fileContents=e}),s.ɵɵelementEnd(),s.ɵɵtext(54,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(55,"\n "),s.ɵɵelementStart(56,"button",15),s.ɵɵtext(57,"\n "),s.ɵɵelement(58,"i",16),s.ɵɵpipe(59,"i18n"),s.ɵɵtext(60,"\n "),s.ɵɵelementStart(61,"span"),s.ɵɵtext(62),s.ɵɵpipe(63,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(64,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(65,"\n"),s.ɵɵelementEnd(),s.ɵɵtext(66,"\n")),2&e&&(s.ɵɵadvance(3),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(4,12,"importData")),s.ɵɵadvance(14),s.ɵɵtextInterpolate1("1. ",s.ɵɵpipeBind1(18,14,"selectFormat"),""),s.ɵɵadvance(3),s.ɵɵproperty("ngModel",t.format),s.ɵɵadvance(2),s.ɵɵproperty("ngForOf",t.featuredImportOptions),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.importOptions&&t.importOptions.length),s.ɵɵadvance(6),s.ɵɵproperty("ngIf",t.format),s.ɵɵadvance(9),s.ɵɵtextInterpolate1("2. ",s.ɵɵpipeBind1(40,16,"selectImportFile"),""),s.ɵɵadvance(11),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(51,18,"orCopyPasteFileContents")),s.ɵɵadvance(3),s.ɵɵproperty("ngModel",t.fileContents),s.ɵɵadvance(3),s.ɵɵproperty("disabled",t.loading),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(59,20,"loading")),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(63,22,"importData")))},directives:[h.NgControlStatusGroup,h.NgForm,h.SelectControlValueAccessor,h.RequiredValidator,h.NgControlStatus,h.NgModel,f.NgForOf,f.NgIf,h.DefaultValueAccessor,h.NgSelectOption,h.ɵangular_packages_forms_forms_x,v.CalloutComponent],pipes:[y.I18nPipe],encapsulation:2}),e}();t.ImportComponent=ge},,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?[4,this.getAllCiphers()]:[3,6];case 4:return e=a.sent(),t=[],n=[],r=new Map,e.forEach(function(e){if(e.type===s.CipherType.Login&&(null==e.login.totp||""===e.login.totp)&&e.login.hasUris&&!e.isDeleted)for(var n=0;n0?[2]:[4,fetch(new Request("https://2fa.directory/api/v2/totp.json"))];case 1:if(200!==(e=o.sent()).status)throw new Error;return[4,e.json()];case 2:for(n in t=o.sent())if(t.hasOwnProperty(n))for(i in r=t[n])r.hasOwnProperty(i)&&null!=(a=r[i]).url&&null!=(s=l.Utils.getHostname(a.url))&&this.services.set(s,a.doc);return[2]}})})},t.ɵfac=function(e){return new(e||t)(p.ɵɵdirectiveInject(u.CipherService),p.ɵɵdirectiveInject(p.ComponentFactoryResolver),p.ɵɵdirectiveInject(d.MessagingService),p.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=p.ɵɵdefineComponent({type:t,selectors:[["app-inactive-two-factor-report"]],features:[p.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],["href","#","appStopClick","",3,"title","click"],[1,"text-right"],["class","badge badge-primary","target","_blank","rel","noopener",3,"href",4,"ngIf"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"],["target","_blank","rel","noopener",1,"badge","badge-primary",3,"href"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"h1"),p.ɵɵtext(3),p.ɵɵpipe(4,"i18n"),p.ɵɵtemplate(5,b,9,6,"small",1),p.ɵɵtext(6,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(7,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(8,"\n"),p.ɵɵelementStart(9,"p"),p.ɵɵtext(10),p.ɵɵpipe(11,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(12,"\n"),p.ɵɵtemplate(13,S,9,6,"div",1),p.ɵɵtext(14,"\n"),p.ɵɵtemplate(15,_,6,2,"div",2),p.ɵɵtext(16,"\n"),p.ɵɵtemplate(17,A,0,0,"ng-template",null,3,p.ɵɵtemplateRefExtractor),p.ɵɵtext(19,"\n")),2&e&&(p.ɵɵadvance(3),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(4,5,"inactive2faReport"),"\n "),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(11,7,"inactive2faReportDesc")),p.ɵɵadvance(3),p.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(c.CipherReportComponent);t.InactiveTwoFactorReportComponent=O},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1}),this.ciphers=n,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(u.MessagingService),c.ɵɵdirectiveInject(d.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-reused-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],[1,"badge","badge-warning"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵtemplate(5,x,9,6,"small",1),c.ɵɵtext(6,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵelementStart(9,"p"),c.ɵɵtext(10),c.ɵɵpipe(11,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,b,9,6,"div",1),c.ɵɵtext(14,"\n"),c.ɵɵtemplate(15,_,6,2,"div",2),c.ɵɵtext(16,"\n"),c.ɵɵtemplate(17,A,0,0,"ng-template",null,3,c.ɵɵtemplateRefExtractor),c.ɵɵtext(19,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(4,5,"reusedPasswordsReport"),"\n "),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(11,7,"reusedPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[m.NgIf,h.CalloutComponent,m.NgForOf,f.IconComponent,v.StopClickDirective,y.StopPropDirective],pipes:[g.I18nPipe,m.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.ReusedPasswordsReportComponent=O},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1?a.concat(e.login.username.substr(0,o).trim().toLowerCase().split(/[^A-Za-z0-9]/)).filter(function(e){return e.length>=3}):e.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/).filter(function(e){return e.length>=3})}var l=n.passwordGenerationService.passwordStrength(e.login.password,a.length>0?a:null);n.passwordStrengthCache.set(i,l.score)}var c=n.passwordStrengthCache.get(i);null!=c&&c<=2&&(n.passwordStrengthMap.set(e.id,n.scoreKey(c)),t.push(e))}}),this.ciphers=t,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.prototype.scoreKey=function(e){switch(e){case 4:return["strong","success"];case 3:return["good","primary"];case 2:return["weak","warning"];default:return["veryWeak","danger"]}},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(u.PasswordGenerationService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(d.MessagingService),c.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-weak-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵtemplate(5,b,9,6,"small",1),c.ɵɵtext(6,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵelementStart(9,"p"),c.ɵɵtext(10),c.ɵɵpipe(11,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,S,9,6,"div",1),c.ɵɵtext(14,"\n"),c.ɵɵtemplate(15,A,6,2,"div",2),c.ɵɵtext(16,"\n"),c.ɵɵtemplate(17,O,0,0,"ng-template",null,3,c.ɵɵtemplateRefExtractor),c.ɵɵtext(19,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(4,5,"weakPasswordsReport"),"\n "),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(11,7,"weakPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.WeakPasswordsReportComponent=T},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&t.indexOf("]")>-1){var i=t.lastIndexOf(".");r=t.substr(0,i>-1?i:t.length)+": "}e.push(r+n)})},n=this;for(var r in this.validationErrors)t(r);return e},t}(n(24).BaseResponse);t.ErrorResponse=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var n=e.call(this,t)||this;return n.id=t.id,n}return i(t,e),t}(n(212).CipherRequest);t.CipherWithIdRequest=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.name=e.name?e.name.encryptedString:null}}();t.FolderRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(5);var r=n(0),i=n(5),a=function(){function e(e,t){this.el=e,this.platformUtilsService=t}return e.prototype.onCopy=function(){if(null!=window){for(var e="",t=window.getSelection(),n=0;n-1)""===r.substr(a).trim()&&(i=a);e+=r.substring(0,i)}this.platformUtilsService.copyToClipboard(e,{window:window})}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef),r.ɵɵdirectiveInject(i.PlatformUtilsService))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appSelectCopy",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("copy",function(){return t.onCopy()})}}),e}();t.SelectCopyDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e){for(var t="",n=0;n":r=">",i=!0;break;case" ":r=" ",i=!0}var a="letter";i||r.match(/[^\w ]/)?a="special":r.match(/\d/)&&(a="number"),t+=''+r+""}return t},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"colorPassword",type:e,pure:!0}),e}();t.ColorPasswordPipe=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=t,this.name=e.name,this.id=e.id,this.revisionDate=e.revisionDate}}();t.FolderData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(129),o=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.buildDomainModel(r,t,{id:null,name:null},n,["id"]),r.revisionDate=null!=t.revisionDate?new Date(t.revisionDate):null,r)}return i(t,e),t.prototype.decrypt=function(){return this.decryptObj(new a.FolderView(this),{name:null},null)},t}(n(82).default);t.Folder=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(891),o=n(24),s=n(892),l=n(596),c=n(597),p=n(598),u=n(599),d=n(601),m=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.folderId=n.getResponseProperty("FolderId")||null,n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.notes=n.getResponseProperty("Notes"),n.favorite=n.getResponseProperty("Favorite")||!1,n.edit=!!n.getResponseProperty("Edit"),null==n.getResponseProperty("ViewPassword")?n.viewPassword=!0:n.viewPassword=n.getResponseProperty("ViewPassword"),n.organizationUseTotp=n.getResponseProperty("OrganizationUseTotp"),n.revisionDate=n.getResponseProperty("RevisionDate"),n.collectionIds=n.getResponseProperty("CollectionIds"),n.deletedDate=n.getResponseProperty("DeletedDate");var r=n.getResponseProperty("Login");null!=r&&(n.login=new u.LoginApi(r));var i=n.getResponseProperty("Card");null!=i&&(n.card=new l.CardApi(i));var o=n.getResponseProperty("Identity");null!=o&&(n.identity=new p.IdentityApi(o));var m=n.getResponseProperty("SecureNote");null!=m&&(n.secureNote=new d.SecureNoteApi(m));var h=n.getResponseProperty("Fields");null!=h&&(n.fields=h.map(function(e){return new c.FieldApi(e)}));var f=n.getResponseProperty("Attachments");null!=f&&(n.attachments=f.map(function(e){return new a.AttachmentResponse(e)}));var v=n.getResponseProperty("PasswordHistory");return null!=v&&(n.passwordHistory=v.map(function(e){return new s.PasswordHistoryResponse(e)})),n}return i(t,e),t}(o.BaseResponse);t.CipherResponse=m},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(24),o=n(912),s=function(e){function t(t){var n=e.call(this,t)||this;n.organizations=[],n.id=n.getResponseProperty("Id"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.emailVerified=n.getResponseProperty("EmailVerified"),n.masterPasswordHint=n.getResponseProperty("MasterPasswordHint"),n.premium=n.getResponseProperty("Premium"),n.culture=n.getResponseProperty("Culture"),n.twoFactorEnabled=n.getResponseProperty("TwoFactorEnabled"),n.key=n.getResponseProperty("Key"),n.privateKey=n.getResponseProperty("PrivateKey"),n.securityStamp=n.getResponseProperty("SecurityStamp");var r=n.getResponseProperty("Organizations");return null!=r&&(n.organizations=r.map(function(e){return new o.ProfileOrganizationResponse(e)})),n}return i(t,e),t}(a.BaseResponse);t.ProfileResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.id=n.getResponseProperty("Id"),n.fileName=n.getResponseProperty("FileName"),n.key=n.getResponseProperty("Key"),n.size=n.getResponseProperty("Size"),n.sizeName=n.getResponseProperty("SizeName"),n)}return i(t,e),t}(n(24).BaseResponse);t.SendFileApi=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.text=n.getResponseProperty("Text"),n.hidden=n.getResponseProperty("Hidden")||!1,n)}return i(t,e),t}(n(24).BaseResponse);t.SendTextApi=a},,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.NotificationsService=r},,function(e,t){function n(e){return Promise.resolve().then(function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=525},,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(5);var r=n(0),i=n(5),a=n(8),o=n(10),s=function(){function e(e){this.platformUtilsService=e,this.year="2015"}return e.prototype.ngOnInit=function(){this.year=(new Date).getFullYear().toString(),this.version=this.platformUtilsService.getApplicationVersion(),document.body.classList.add("layout_frontend")},e.prototype.ngOnDestroy=function(){document.body.classList.remove("layout_frontend")},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(i.PlatformUtilsService))},e.ɵcmp=r.ɵɵdefineComponent({type:e,selectors:[["app-frontend-layout"]],decls:8,vars:5,consts:[[1,"container","my-5","text-muted","text-center"]],template:function(e,t){1&e&&(r.ɵɵelement(0,"router-outlet"),r.ɵɵtext(1,"\n"),r.ɵɵelementStart(2,"div",0),r.ɵɵtext(3),r.ɵɵelement(4,"br"),r.ɵɵtext(5),r.ɵɵpipe(6,"i18n"),r.ɵɵelementEnd(),r.ɵɵtext(7,"\n")),2&e&&(r.ɵɵadvance(3),r.ɵɵtextInterpolate1("\n © ",t.year,", Bitwarden Inc.\n "),r.ɵɵadvance(2),r.ɵɵtextInterpolate1(" ",r.ɵɵpipeBind2(6,2,"versionNumber",t.version),"\n"))},directives:[a.RouterOutlet],pipes:[o.I18nPipe],encapsulation:2}),e}();t.FrontendLayoutComponent=s},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&(this.email=r.email),null!=r.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=r.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:r.org}}),[4,e.prototype.ngOnInit.call(this)];case 1:return n.sent(),null!=t&&t.unsubscribe(),[2]}})})}),[2]})})},t.prototype.goAfterLogIn=function(){return a(this,void 0,void 0,function(){var e,t,n;return o(this,function(r){switch(r.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return e=r.sent(),[4,this.stateService.get("emergencyInvitation")];case 2:return t=r.sent(),null==e?[3,3]:(this.router.navigate(["accept-organization"],{queryParams:e}),[3,8]);case 3:return null==t?[3,4]:(this.router.navigate(["accept-emergency"],{queryParams:t}),[3,8]);case 4:return[4,this.stateService.get("loginRedirect")];case 5:return null==(n=r.sent())?[3,7]:(this.router.navigate([n.route],{queryParams:n.qParams}),[4,this.stateService.remove("loginRedirect")]);case 6:return r.sent(),[3,8];case 7:this.router.navigate([this.successRoute]),r.label=8;case 8:return[2]}})})},t.ɵfac=function(e){return new(e||t)(l.ɵɵdirectiveInject(c.AuthService),l.ɵɵdirectiveInject(p.Router),l.ɵɵdirectiveInject(u.I18nService),l.ɵɵdirectiveInject(p.ActivatedRoute),l.ɵɵdirectiveInject(d.StorageService),l.ɵɵdirectiveInject(m.StateService),l.ɵɵdirectiveInject(h.PlatformUtilsService),l.ɵɵdirectiveInject(f.EnvironmentService),l.ɵɵdirectiveInject(v.PasswordGenerationService),l.ɵɵdirectiveInject(y.CryptoFunctionService))},t.ɵcmp=l.ɵɵdefineComponent({type:t,selectors:[["app-login"]],features:[l.ɵɵInheritDefinitionFeature],decls:97,vars:43,consts:[["ngNativeValidate","",1,"container",3,"appApiAction","ngSubmit"],["form",""],[1,"row","justify-content-md-center","mt-5"],[1,"col-5"],["src","images/logo-dark@2x.png","alt","Bitwarden",1,"logo","mb-2"],[1,"lead","text-center","mx-4","mb-4"],[1,"card","d-block"],[1,"card-body"],[1,"form-group"],["for","email"],["id","email","type","text","name","Email","required","","inputmode","email","appInputVerbatim","false",1,"form-control",3,"ngModel","ngModelChange"],["for","masterPassword"],[1,"d-flex"],["id","masterPassword","name","MasterPassword","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"form-text"],["routerLink","/hint"],[1,"form-check"],["type","checkbox","id","rememberEmail","name","RememberEmail",1,"form-check-input",3,"ngModel","ngModelChange"],["for","rememberEmail",1,"form-check-label"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-sign-in"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["routerLink","/register",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0",3,"queryParams"],["aria-hidden","true",1,"fa","fa-pencil-square-o"],["routerLink","/sso",1,"btn","btn-outline-secondary","btn-block","mt-2"],["aria-hidden","true",1,"fa","fa-bank"]],template:function(e,t){if(1&e&&(l.ɵɵelementStart(0,"form",0,1),l.ɵɵlistener("ngSubmit",function(){return t.submit()}),l.ɵɵtext(2,"\n "),l.ɵɵelementStart(3,"div",2),l.ɵɵtext(4,"\n "),l.ɵɵelementStart(5,"div",3),l.ɵɵtext(6,"\n "),l.ɵɵelement(7,"img",4),l.ɵɵtext(8,"\n "),l.ɵɵelementStart(9,"p",5),l.ɵɵtext(10),l.ɵɵpipe(11,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(12,"\n "),l.ɵɵelementStart(13,"div",6),l.ɵɵtext(14,"\n "),l.ɵɵelementStart(15,"div",7),l.ɵɵtext(16,"\n "),l.ɵɵelementStart(17,"div",8),l.ɵɵtext(18,"\n "),l.ɵɵelementStart(19,"label",9),l.ɵɵtext(20),l.ɵɵpipe(21,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(22,"\n "),l.ɵɵelementStart(23,"input",10),l.ɵɵlistener("ngModelChange",function(e){return t.email=e}),l.ɵɵelementEnd(),l.ɵɵtext(24,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(25,"\n "),l.ɵɵelementStart(26,"div",8),l.ɵɵtext(27,"\n "),l.ɵɵelementStart(28,"label",11),l.ɵɵtext(29),l.ɵɵpipe(30,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(31,"\n "),l.ɵɵelementStart(32,"div",12),l.ɵɵtext(33,"\n "),l.ɵɵelementStart(34,"input",13),l.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e}),l.ɵɵelementEnd(),l.ɵɵtext(35,"\n "),l.ɵɵelementStart(36,"button",14),l.ɵɵlistener("click",function(){return t.togglePassword()}),l.ɵɵpipe(37,"i18n"),l.ɵɵtext(38,"\n "),l.ɵɵelement(39,"i",15),l.ɵɵtext(40,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(41,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(42,"\n "),l.ɵɵelementStart(43,"small",16),l.ɵɵtext(44,"\n "),l.ɵɵelementStart(45,"a",17),l.ɵɵtext(46),l.ɵɵpipe(47,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(48,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(49,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(50,"\n "),l.ɵɵelementStart(51,"div",18),l.ɵɵtext(52,"\n "),l.ɵɵelementStart(53,"input",19),l.ɵɵlistener("ngModelChange",function(e){return t.rememberEmail=e}),l.ɵɵelementEnd(),l.ɵɵtext(54,"\n "),l.ɵɵelementStart(55,"label",20),l.ɵɵtext(56),l.ɵɵpipe(57,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(58,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(59,"\n "),l.ɵɵelement(60,"hr"),l.ɵɵtext(61,"\n "),l.ɵɵelementStart(62,"div",12),l.ɵɵtext(63,"\n "),l.ɵɵelementStart(64,"button",21),l.ɵɵtext(65,"\n "),l.ɵɵelementStart(66,"span"),l.ɵɵtext(67,"\n "),l.ɵɵelement(68,"i",22),l.ɵɵtext(69),l.ɵɵpipe(70,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(71,"\n "),l.ɵɵelement(72,"i",23),l.ɵɵpipe(73,"i18n"),l.ɵɵtext(74,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(75,"\n "),l.ɵɵelementStart(76,"a",24),l.ɵɵtext(77,"\n "),l.ɵɵelement(78,"i",25),l.ɵɵtext(79),l.ɵɵpipe(80,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(81,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(82,"\n "),l.ɵɵelementStart(83,"div",12),l.ɵɵtext(84,"\n "),l.ɵɵelementStart(85,"a",26),l.ɵɵtext(86,"\n "),l.ɵɵelement(87,"i",27),l.ɵɵtext(88),l.ɵɵpipe(89,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(90,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(91,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(92,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(93,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(94,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(95,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(96,"\n")),2&e){var n=l.ɵɵreference(1);l.ɵɵproperty("appApiAction",t.formPromise),l.ɵɵadvance(10),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(11,18,"loginOrCreateNewAccount")),l.ɵɵadvance(10),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(21,20,"emailAddress")),l.ɵɵadvance(3),l.ɵɵproperty("ngModel",t.email),l.ɵɵadvance(6),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(30,22,"masterPass")),l.ɵɵadvance(5),l.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),l.ɵɵproperty("ngModel",t.masterPassword),l.ɵɵadvance(2),l.ɵɵpropertyInterpolate("appA11yTitle",l.ɵɵpipeBind1(37,24,"toggleVisibility")),l.ɵɵadvance(3),l.ɵɵproperty("ngClass",l.ɵɵpureFunction2(38,I,!t.showPassword,t.showPassword)),l.ɵɵadvance(7),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(47,26,"getMasterPasswordHint")),l.ɵɵadvance(7),l.ɵɵproperty("ngModel",t.rememberEmail),l.ɵɵadvance(3),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(57,28,"rememberEmail")),l.ɵɵadvance(8),l.ɵɵproperty("disabled",n.loading),l.ɵɵadvance(5),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(70,30,"logIn"),"\n "),l.ɵɵadvance(3),l.ɵɵpropertyInterpolate("title",l.ɵɵpipeBind1(73,32,"loading")),l.ɵɵadvance(4),l.ɵɵproperty("queryParams",l.ɵɵpureFunction1(41,E,t.email)),l.ɵɵadvance(3),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(80,34,"createAccount"),"\n "),l.ɵɵadvance(9),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(89,36,"enterpriseSingleSignOn"),"\n ")}},directives:[g.NgControlStatusGroup,g.NgForm,x.ApiActionDirective,g.DefaultValueAccessor,g.RequiredValidator,b.InputVerbatimDirective,g.NgControlStatus,g.NgModel,S.A11yTitleDirective,w.NgClass,p.RouterLinkWithHref,g.CheckboxControlValueAccessor],pipes:[C.I18nPipe],encapsulation:2}),t}(s.LoginComponent);t.LoginComponent=P},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}function K(e,t){if(1&e){var n=u.ɵɵgetCurrentView();u.ɵɵelementStart(0,"div",12),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"div",48),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"input",49),u.ɵɵlistener("ngModelChange",function(e){return u.ɵɵrestoreView(n),u.ɵɵnextContext().acceptPolicies=e}),u.ɵɵelementEnd(),u.ɵɵtext(5,"\n "),u.ɵɵelementStart(6,"label",50),u.ɵɵtext(7),u.ɵɵpipe(8,"i18n"),u.ɵɵelement(9,"br"),u.ɵɵtext(10,"\n "),u.ɵɵelementStart(11,"a",51),u.ɵɵtext(12),u.ɵɵpipe(13,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(14,",\n "),u.ɵɵelementStart(15,"a",52),u.ɵɵtext(16),u.ɵɵpipe(17,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(18,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(19,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(20,"\n "),u.ɵɵelementEnd()}if(2&e){var r=u.ɵɵnextContext();u.ɵɵadvance(4),u.ɵɵproperty("ngModel",r.acceptPolicies),u.ɵɵadvance(3),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(8,4,"acceptPolicies"),""),u.ɵɵadvance(5),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(13,6,"termsOfService")),u.ɵɵadvance(4),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(17,8,"privacyPolicy"))}}var q=function(e){return["layout",e]},W=function(e,t){return{"col-5":e,"col-12":t}},H=function(e,t){return{"fa-eye":e,"fa-eye-slash":t}},$=function(e){function t(t,n,r,i,a,o,s,l,c,p){var u=e.call(this,t,n,r,i,a,s,l,c)||this;return u.route=o,u.policyService=p,u.showCreateOrgMessage=!1,u.layout="",u}return i(t,e),t.prototype.getPasswordScoreAlertDisplay=function(){if(null==this.enforcedPolicyOptions)return"";var e;switch(this.enforcedPolicyOptions.minComplexity){case 4:e=this.i18nService.t("strong");break;case 3:e=this.i18nService.t("good");break;default:e=this.i18nService.t("weak")}return e+" ("+this.enforcedPolicyOptions.minComplexity+")"},t.prototype.ngOnInit=function(){return a(this,void 0,void 0,function(){var e,t,n,r,i,a=this;return o(this,function(o){switch(o.label){case 0:return e=this.route.queryParams.subscribe(function(t){a.referenceData=new p.ReferenceEventRequest,null!=t.email&&t.email.indexOf("@")>-1&&(a.email=t.email),null!=t.premium?a.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=t.org&&(a.showCreateOrgMessage=!0,a.referenceData.flow=t.org,a.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:t.org}})),null!=t.layout&&(a.layout=a.referenceData.layout=t.layout),null!=t.reference?a.referenceData.id=t.reference:a.referenceData.id=("; "+document.cookie).split("; reference=").pop().split(";").shift(),""===a.referenceData.id&&(a.referenceData.id=null),null!=e&&e.unsubscribe()}),[4,this.stateService.get("orgInvitation")];case 1:if(null==(t=o.sent()))return[3,5];o.label=2;case 2:return o.trys.push([2,4,,5]),[4,this.apiService.getPoliciesByToken(t.organizationId,t.token,t.email,t.organizationUserId)];case 3:return null!=(n=o.sent()).data&&(r=n.data.map(function(e){return new c.PolicyData(e)}),this.policies=r.map(function(e){return new l.Policy(e)})),[3,5];case 4:return o.sent(),[3,5];case 5:return null==this.policies?[3,7]:(i=this,[4,this.policyService.getMasterPasswordPolicyOptions(this.policies)]);case 6:i.enforcedPolicyOptions=o.sent(),o.label=7;case 7:return[2]}})})},t.prototype.submit=function(){return a(this,void 0,void 0,function(){return o(this,function(t){switch(t.label){case 0:return null==this.enforcedPolicyOptions||this.policyService.evaluateMasterPassword(this.masterPasswordScore,this.masterPassword,this.enforcedPolicyOptions)?[4,e.prototype.submit.call(this)]:(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("masterPasswordPolicyRequirementsNotMet")),[2]);case 1:return t.sent(),[2]}})})},t.ɵfac=function(e){return new(e||t)(u.ɵɵdirectiveInject(d.AuthService),u.ɵɵdirectiveInject(m.Router),u.ɵɵdirectiveInject(h.I18nService),u.ɵɵdirectiveInject(f.CryptoService),u.ɵɵdirectiveInject(v.ApiService),u.ɵɵdirectiveInject(m.ActivatedRoute),u.ɵɵdirectiveInject(y.StateService),u.ɵɵdirectiveInject(g.PlatformUtilsService),u.ɵɵdirectiveInject(x.PasswordGenerationService),u.ɵɵdirectiveInject(b.PolicyService))},t.ɵcmp=u.ɵɵdefineComponent({type:t,selectors:[["app-register"]],features:[u.ɵɵInheritDefinitionFeature],decls:146,vars:80,consts:[[1,"layout",3,"ngClass"],["class","header",4,"ngIf"],["ngNativeValidate","",1,"container",3,"appApiAction","ngSubmit"],["form",""],[1,"row"],["class","col-7",4,"ngIf"],[3,"ngClass"],[1,"row","justify-content-md-center","mt-5"],["class","lead text-center mb-4",4,"ngIf"],[1,"card","d-block"],[1,"card-body"],["type","info","icon","fa-thumb-tack",3,"title",4,"ngIf"],[1,"form-group"],["for","email"],["id","email","type","text","name","Email","required","","inputmode","email","appInputVerbatim","false",1,"form-control",3,"ngModel","appAutofocus","ngModelChange"],[1,"form-text","text-muted"],["for","name"],["id","name","type","text","name","Name",1,"form-control",3,"ngModel","appAutofocus","ngModelChange"],["type","info",4,"ngIf"],["for","masterPassword"],[1,"d-flex"],[1,"w-100"],["id","masterPassword","name","MasterPassword","required","","appInputVerbatim","",1,"text-monospace","form-control","mb-1",3,"type","ngModel","ngModelChange","input"],[3,"score","showText"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"progress-bar","invisible"],["for","masterPasswordRetype"],["id","masterPasswordRetype","name","MasterPasswordRetype","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["for","hint"],["id","hint","type","text","name","Hint",1,"form-control",3,"ngModel","ngModelChange"],["class","form-group",4,"ngIf"],[1,"d-flex","mb-2"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["routerLink","/",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0"],[1,"header"],[1,"container"],[1,"col-7"],["alt","Bitwarden","src","images/logo-horizontal-white.png",1,"logo","mb-2"],[1,"mt-5"],[4,"ngIf"],[1,"highlight"],["src","images/wired-logo.png","alt","Wired"],[1,"lead","text-center","mb-4"],["type","info","icon","fa-thumb-tack",3,"title"],["type","info"],[1,"mb-0"],[1,"form-check"],["type","checkbox","id","acceptPolicies","name","AcceptPolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","acceptPolicies",1,"form-check-label","small","text-muted"],["href","https://bitwarden.com/terms/","target","_blank","rel","noopener"],["href","https://bitwarden.com/privacy/","target","_blank","rel","noopener"]],template:function(e,t){if(1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵtemplate(2,O,13,0,"header",1),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"form",2,3),u.ɵɵlistener("ngSubmit",function(){return t.submit()}),u.ɵɵtext(6,"\n "),u.ɵɵelementStart(7,"div",4),u.ɵɵtext(8,"\n "),u.ɵɵtemplate(9,D,11,3,"div",5),u.ɵɵtext(10,"\n "),u.ɵɵelementStart(11,"div",6),u.ɵɵtext(12,"\n "),u.ɵɵelementStart(13,"div",7),u.ɵɵtext(14,"\n "),u.ɵɵelementStart(15,"div",6),u.ɵɵtext(16,"\n "),u.ɵɵtemplate(17,V,3,3,"p",8),u.ɵɵtext(18,"\n "),u.ɵɵelementStart(19,"div",9),u.ɵɵtext(20,"\n "),u.ɵɵelementStart(21,"div",10),u.ɵɵtext(22,"\n "),u.ɵɵtemplate(23,j,4,6,"app-callout",11),u.ɵɵtext(24,"\n "),u.ɵɵelementStart(25,"div",12),u.ɵɵtext(26,"\n "),u.ɵɵelementStart(27,"label",13),u.ɵɵtext(28),u.ɵɵpipe(29,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(30,"\n "),u.ɵɵelementStart(31,"input",14),u.ɵɵlistener("ngModelChange",function(e){return t.email=e}),u.ɵɵelementEnd(),u.ɵɵtext(32,"\n "),u.ɵɵelementStart(33,"small",15),u.ɵɵtext(34),u.ɵɵpipe(35,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(36,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(37,"\n "),u.ɵɵelementStart(38,"div",12),u.ɵɵtext(39,"\n "),u.ɵɵelementStart(40,"label",16),u.ɵɵtext(41),u.ɵɵpipe(42,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(43,"\n "),u.ɵɵelementStart(44,"input",17),u.ɵɵlistener("ngModelChange",function(e){return t.name=e}),u.ɵɵelementEnd(),u.ɵɵtext(45,"\n "),u.ɵɵelementStart(46,"small",15),u.ɵɵtext(47),u.ɵɵpipe(48,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(49,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(50,"\n "),u.ɵɵelementStart(51,"div",12),u.ɵɵtext(52,"\n "),u.ɵɵtemplate(53,G,18,9,"app-callout",18),u.ɵɵtext(54,"\n "),u.ɵɵelementStart(55,"label",19),u.ɵɵtext(56),u.ɵɵpipe(57,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(58,"\n "),u.ɵɵelementStart(59,"div",20),u.ɵɵtext(60,"\n "),u.ɵɵelementStart(61,"div",21),u.ɵɵtext(62,"\n "),u.ɵɵelementStart(63,"input",22),u.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e})("input",function(){return t.updatePasswordStrength()}),u.ɵɵelementEnd(),u.ɵɵtext(64,"\n "),u.ɵɵelementStart(65,"app-password-strength",23),u.ɵɵtext(66,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(67,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(68,"\n "),u.ɵɵelementStart(69,"div"),u.ɵɵtext(70,"\n "),u.ɵɵelementStart(71,"button",24),u.ɵɵlistener("click",function(){return t.togglePassword(!1)}),u.ɵɵpipe(72,"i18n"),u.ɵɵtext(73,"\n "),u.ɵɵelement(74,"i",25),u.ɵɵtext(75,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(76,"\n "),u.ɵɵelement(77,"div",26),u.ɵɵtext(78,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(79,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(80,"\n "),u.ɵɵelementStart(81,"small",15),u.ɵɵtext(82),u.ɵɵpipe(83,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(84,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(85,"\n "),u.ɵɵelementStart(86,"div",12),u.ɵɵtext(87,"\n "),u.ɵɵelementStart(88,"label",27),u.ɵɵtext(89),u.ɵɵpipe(90,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(91,"\n "),u.ɵɵelementStart(92,"div",20),u.ɵɵtext(93,"\n "),u.ɵɵelementStart(94,"input",28),u.ɵɵlistener("ngModelChange",function(e){return t.confirmMasterPassword=e}),u.ɵɵelementEnd(),u.ɵɵtext(95,"\n "),u.ɵɵelementStart(96,"button",24),u.ɵɵlistener("click",function(){return t.togglePassword(!0)}),u.ɵɵpipe(97,"i18n"),u.ɵɵtext(98,"\n "),u.ɵɵelement(99,"i",25),u.ɵɵtext(100,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(101,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(102,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(103,"\n "),u.ɵɵelementStart(104,"div",12),u.ɵɵtext(105,"\n "),u.ɵɵelementStart(106,"label",29),u.ɵɵtext(107),u.ɵɵpipe(108,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(109,"\n "),u.ɵɵelementStart(110,"input",30),u.ɵɵlistener("ngModelChange",function(e){return t.hint=e}),u.ɵɵelementEnd(),u.ɵɵtext(111,"\n "),u.ɵɵelementStart(112,"small",15),u.ɵɵtext(113),u.ɵɵpipe(114,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(115,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(116,"\n "),u.ɵɵtemplate(117,K,21,10,"div",31),u.ɵɵtext(118,"\n "),u.ɵɵelement(119,"hr"),u.ɵɵtext(120,"\n "),u.ɵɵelementStart(121,"div",32),u.ɵɵtext(122,"\n "),u.ɵɵelementStart(123,"button",33),u.ɵɵtext(124,"\n "),u.ɵɵelementStart(125,"span"),u.ɵɵtext(126),u.ɵɵpipe(127,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(128,"\n "),u.ɵɵelement(129,"i",34),u.ɵɵpipe(130,"i18n"),u.ɵɵtext(131,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(132,"\n "),u.ɵɵelementStart(133,"a",35),u.ɵɵtext(134),u.ɵɵpipe(135,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(136,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(137,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(138,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(139,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(140,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(141,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(142,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(143,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(144,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(145,"\n")),2&e){var n=u.ɵɵreference(5);u.ɵɵproperty("ngClass",u.ɵɵpureFunction1(66,q,t.layout)),u.ɵɵadvance(2),u.ɵɵproperty("ngIf","enterprise2"===t.layout),u.ɵɵadvance(2),u.ɵɵproperty("appApiAction",t.formPromise),u.ɵɵadvance(5),u.ɵɵproperty("ngIf",t.layout),u.ɵɵadvance(2),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(68,W,t.layout,!t.layout)),u.ɵɵadvance(4),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(71,W,!t.layout,t.layout)),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",!t.layout),u.ɵɵadvance(6),u.ɵɵproperty("ngIf",t.showCreateOrgMessage),u.ɵɵadvance(5),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(29,38,"emailAddress")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.email)("appAutofocus",""===t.email),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(35,40,"emailAddressDesc")),u.ɵɵadvance(7),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(42,42,"yourName")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.name)("appAutofocus",""!==t.email),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(48,44,"yourNameDesc")),u.ɵɵadvance(6),u.ɵɵproperty("ngIf",t.enforcedPolicyOptions),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(57,46,"masterPass")),u.ɵɵadvance(7),u.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),u.ɵɵproperty("ngModel",t.masterPassword),u.ɵɵadvance(2),u.ɵɵproperty("score",t.masterPasswordScore)("showText",!0),u.ɵɵadvance(6),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(72,48,"toggleVisibility")),u.ɵɵadvance(3),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(74,H,!t.showPassword,t.showPassword)),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(83,50,"masterPassDesc")),u.ɵɵadvance(7),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(90,52,"reTypeMasterPass")),u.ɵɵadvance(5),u.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),u.ɵɵproperty("ngModel",t.confirmMasterPassword),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(97,54,"toggleVisibility")),u.ɵɵadvance(3),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(77,H,!t.showPassword,t.showPassword)),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(108,56,"masterPassHint")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.hint),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(114,58,"masterPassHintDesc")),u.ɵɵadvance(4),u.ɵɵproperty("ngIf",t.showTerms),u.ɵɵadvance(6),u.ɵɵproperty("disabled",n.loading),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(127,60,"submit")),u.ɵɵadvance(3),u.ɵɵpropertyInterpolate("title",u.ɵɵpipeBind1(130,62,"loading")),u.ɵɵadvance(5),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(135,64,"cancel"),"\n ")}},directives:[S.NgClass,S.NgIf,w.NgControlStatusGroup,w.NgForm,C.ApiActionDirective,w.DefaultValueAccessor,w.RequiredValidator,I.InputVerbatimDirective,w.NgControlStatus,w.NgModel,E.AutofocusDirective,P.PasswordStrengthComponent,k.A11yTitleDirective,m.RouterLinkWithHref,_.CalloutComponent,w.CheckboxControlValueAccessor],pipes:[A.I18nPipe],encapsulation:2}),t}(s.RegisterComponent);t.RegisterComponent=$},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});n(0),n(8),n(6),n(19),n(3),n(15),n(36),n(5),n(44),n(62),n(7);var a=n(835),o=n(0),s=n(6),l=n(3),c=n(19),p=n(15),u=n(7),d=n(36),m=n(5),h=n(44),f=n(8),v=n(62),y=n(14),g=n(17),x=n(4),b=n(26),S=n(46),w=n(249),C=n(18),I=n(10);function E(e,t){1&e&&(o.ɵɵelementStart(0,"div",8),o.ɵɵtext(1,"\n "),o.ɵɵelement(2,"i",9),o.ɵɵpipe(3,"i18n"),o.ɵɵtext(4),o.ɵɵpipe(5,"i18n"),o.ɵɵelementEnd()),2&e&&(o.ɵɵadvance(2),o.ɵɵpropertyInterpolate("title",o.ɵɵpipeBind1(3,2,"loading")),o.ɵɵadvance(2),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(5,4,"loading"),"\n "))}function P(e,t){if(1&e&&(o.ɵɵelementStart(0,"li"),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind2(2,1,"policyInEffectMinComplexity",n.getPasswordScoreAlertDisplay()),"\n ")}}function k(e,t){if(1&e&&(o.ɵɵelementStart(0,"li"),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind2(2,1,"policyInEffectMinLength",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength.toString()),"\n ")}}function _(e,t){1&e&&(o.ɵɵelementStart(0,"li"),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()),2&e&&(o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(2,1,"policyInEffectUppercase"),""))}function A(e,t){1&e&&(o.ɵɵelementStart(0,"li"),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()),2&e&&(o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(2,1,"policyInEffectLowercase"),""))}function O(e,t){1&e&&(o.ɵɵelementStart(0,"li"),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()),2&e&&(o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(2,1,"policyInEffectNumbers"),""))}function T(e,t){1&e&&(o.ɵɵelementStart(0,"li"),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()),2&e&&(o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind2(2,1,"policyInEffectSpecial","!@#$%^&*"),""))}function M(e,t){if(1&e&&(o.ɵɵelementStart(0,"app-callout",11),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementStart(3,"ul",29),o.ɵɵtext(4,"\n "),o.ɵɵtemplate(5,P,3,4,"li",30),o.ɵɵtext(6,"\n "),o.ɵɵtemplate(7,k,3,4,"li",30),o.ɵɵtext(8,"\n "),o.ɵɵtemplate(9,_,3,3,"li",30),o.ɵɵtext(10,"\n "),o.ɵɵtemplate(11,A,3,3,"li",30),o.ɵɵtext(12,"\n "),o.ɵɵtemplate(13,O,3,3,"li",30),o.ɵɵtext(14,"\n "),o.ɵɵtemplate(15,T,3,4,"li",30),o.ɵɵtext(16,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(17,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(2,7,"masterPasswordPolicyInEffect"),"\n "),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minComplexity)>0),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var B=function(e,t){return{"fa-eye":e,"fa-eye-slash":t}};function D(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",10),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"app-callout",11),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"div",12),o.ɵɵtext(7,"\n "),o.ɵɵtemplate(8,M,18,9,"app-callout",13),o.ɵɵtext(9,"\n "),o.ɵɵelementStart(10,"label",14),o.ɵɵtext(11),o.ɵɵpipe(12,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementStart(14,"div",15),o.ɵɵtext(15,"\n "),o.ɵɵelementStart(16,"div",16),o.ɵɵtext(17,"\n "),o.ɵɵelementStart(18,"input",17),o.ɵɵlistener("ngModelChange",function(e){return o.ɵɵrestoreView(n),o.ɵɵnextContext().masterPassword=e})("input",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext().updatePasswordStrength()}),o.ɵɵelementEnd(),o.ɵɵtext(19,"\n "),o.ɵɵelementStart(20,"app-password-strength",18),o.ɵɵtext(21,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(22,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(23,"\n "),o.ɵɵelementStart(24,"div"),o.ɵɵtext(25,"\n "),o.ɵɵelementStart(26,"button",19),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext().togglePassword(!1)}),o.ɵɵpipe(27,"i18n"),o.ɵɵtext(28,"\n "),o.ɵɵelement(29,"i",20),o.ɵɵtext(30,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(31,"\n "),o.ɵɵelement(32,"div",21),o.ɵɵtext(33,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(34,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(35,"\n "),o.ɵɵelementStart(36,"small",22),o.ɵɵtext(37),o.ɵɵpipe(38,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(39,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(40,"\n "),o.ɵɵelementStart(41,"div",12),o.ɵɵtext(42,"\n "),o.ɵɵelementStart(43,"label",23),o.ɵɵtext(44),o.ɵɵpipe(45,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(46,"\n "),o.ɵɵelementStart(47,"div",15),o.ɵɵtext(48,"\n "),o.ɵɵelementStart(49,"input",24),o.ɵɵlistener("ngModelChange",function(e){return o.ɵɵrestoreView(n),o.ɵɵnextContext().masterPasswordRetype=e}),o.ɵɵelementEnd(),o.ɵɵtext(50,"\n "),o.ɵɵelementStart(51,"button",19),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext().togglePassword(!0)}),o.ɵɵpipe(52,"i18n"),o.ɵɵtext(53,"\n "),o.ɵɵelement(54,"i",20),o.ɵɵtext(55,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(56,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(57,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(58,"\n "),o.ɵɵelementStart(59,"div",12),o.ɵɵtext(60,"\n "),o.ɵɵelementStart(61,"label",25),o.ɵɵtext(62),o.ɵɵpipe(63,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(64,"\n "),o.ɵɵelementStart(65,"input",26),o.ɵɵlistener("ngModelChange",function(e){return o.ɵɵrestoreView(n),o.ɵɵnextContext().hint=e}),o.ɵɵelementEnd(),o.ɵɵtext(66,"\n "),o.ɵɵelementStart(67,"small",22),o.ɵɵtext(68),o.ɵɵpipe(69,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(70,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(71,"\n "),o.ɵɵelement(72,"hr"),o.ɵɵtext(73,"\n "),o.ɵɵelementStart(74,"div",15),o.ɵɵtext(75,"\n "),o.ɵɵelementStart(76,"button",27),o.ɵɵtext(77,"\n "),o.ɵɵelement(78,"i",9),o.ɵɵpipe(79,"i18n"),o.ɵɵtext(80,"\n "),o.ɵɵelementStart(81,"span"),o.ɵɵtext(82),o.ɵɵpipe(83,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(84,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(85,"\n "),o.ɵɵelementStart(86,"button",28),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext().logOut()}),o.ɵɵtext(87),o.ɵɵpipe(88,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(89,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(90,"\n "),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(),i=o.ɵɵreference(1);o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(4,22,"ssoCompleteRegistration")),o.ɵɵadvance(5),o.ɵɵproperty("ngIf",r.enforcedPolicyOptions),o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(12,24,"masterPass")),o.ɵɵadvance(7),o.ɵɵpropertyInterpolate("type",r.showPassword?"text":"password"),o.ɵɵproperty("ngModel",r.masterPassword),o.ɵɵadvance(2),o.ɵɵproperty("score",r.masterPasswordScore)("showText",!0),o.ɵɵadvance(6),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(27,26,"toggleVisibility")),o.ɵɵadvance(3),o.ɵɵproperty("ngClass",o.ɵɵpureFunction2(44,B,!r.showPassword,r.showPassword)),o.ɵɵadvance(8),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(38,28,"masterPassDesc")),o.ɵɵadvance(7),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(45,30,"reTypeMasterPass")),o.ɵɵadvance(5),o.ɵɵpropertyInterpolate("type",r.showPassword?"text":"password"),o.ɵɵproperty("ngModel",r.masterPasswordRetype),o.ɵɵadvance(2),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(52,32,"toggleVisibility")),o.ɵɵadvance(3),o.ɵɵproperty("ngClass",o.ɵɵpureFunction2(47,B,!r.showPassword,r.showPassword)),o.ɵɵadvance(8),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(63,34,"masterPassHint")),o.ɵɵadvance(3),o.ɵɵproperty("ngModel",r.hint),o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(69,36,"masterPassHintDesc")),o.ɵɵadvance(8),o.ɵɵproperty("disabled",i.loading),o.ɵɵadvance(2),o.ɵɵpropertyInterpolate("title",o.ɵɵpipeBind1(79,38,"loading")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(83,40,"submit")),o.ɵɵadvance(5),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(88,42,"logOut"),"\n ")}}var V=function(e){function t(t,n,r,i,a,o,s,l,c,p,u){return e.call(this,n,r,i,a,o,s,l,c,t,p,u)||this}return i(t,e),t.ɵfac=function(e){return new(e||t)(o.ɵɵdirectiveInject(s.ApiService),o.ɵɵdirectiveInject(l.I18nService),o.ɵɵdirectiveInject(c.CryptoService),o.ɵɵdirectiveInject(p.MessagingService),o.ɵɵdirectiveInject(u.UserService),o.ɵɵdirectiveInject(d.PasswordGenerationService),o.ɵɵdirectiveInject(m.PlatformUtilsService),o.ɵɵdirectiveInject(h.PolicyService),o.ɵɵdirectiveInject(f.Router),o.ɵɵdirectiveInject(v.SyncService),o.ɵɵdirectiveInject(f.ActivatedRoute))},t.ɵcmp=o.ɵɵdefineComponent({type:t,selectors:[["app-set-password"]],features:[o.ɵɵInheritDefinitionFeature],decls:21,vars:6,consts:[["ngNativeValidate","","autocomplete","off",3,"appApiAction","ngSubmit"],["form",""],[1,"row","justify-content-md-center","mt-5"],[1,"col-5"],[1,"lead","text-center","mb-4"],[1,"card","d-block"],["class","card-body text-center",4,"ngIf"],["class","card-body",4,"ngIf"],[1,"card-body","text-center"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"card-body"],["type","info"],[1,"form-group"],["type","info",4,"ngIf"],["for","masterPassword"],[1,"d-flex"],[1,"w-100"],["id","masterPassword","name","MasterPasswordHash","required","","appInputVerbatim","",1,"text-monospace","form-control","mb-1",3,"type","ngModel","ngModelChange","input"],[3,"score","showText"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"progress-bar","invisible"],[1,"form-text","text-muted"],["for","masterPasswordRetype"],["id","masterPasswordRetype","name","MasterPasswordRetype","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["for","hint"],["id","hint","type","text","name","Hint",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["type","button",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0",3,"click"],[1,"mb-0"],[4,"ngIf"]],template:function(e,t){1&e&&(o.ɵɵelementStart(0,"form",0,1),o.ɵɵlistener("ngSubmit",function(){return t.submit()}),o.ɵɵtext(2,"\n "),o.ɵɵelementStart(3,"div",2),o.ɵɵtext(4,"\n "),o.ɵɵelementStart(5,"div",3),o.ɵɵtext(6,"\n "),o.ɵɵelementStart(7,"p",4),o.ɵɵtext(8),o.ɵɵpipe(9,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(10,"\n "),o.ɵɵelementStart(11,"div",5),o.ɵɵtext(12,"\n "),o.ɵɵtemplate(13,E,6,6,"div",6),o.ɵɵtext(14,"\n "),o.ɵɵtemplate(15,D,91,50,"div",7),o.ɵɵtext(16,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(17,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(18,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(19,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(20,"\n")),2&e&&(o.ɵɵproperty("appApiAction",t.formPromise),o.ɵɵadvance(8),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(9,4,"setMasterPassword")),o.ɵɵadvance(5),o.ɵɵproperty("ngIf",t.syncLoading),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!t.syncLoading))},directives:[y.NgControlStatusGroup,y.NgForm,g.ApiActionDirective,x.NgIf,b.CalloutComponent,y.DefaultValueAccessor,y.RequiredValidator,S.InputVerbatimDirective,y.NgControlStatus,y.NgModel,w.PasswordStrengthComponent,C.A11yTitleDirective,x.NgClass],pipes:[I.I18nPipe],encapsulation:2}),t}(a.SetPasswordComponent);t.SetPasswordComponent=V},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1?t[1]:null},e.prototype.checkState=function(e,t){if(null==e)return!1;if(null==t)return!1;var n=e.split("_identifier="),r=t.split("_identifier=");return n[0]===r[0]},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.AuthService),s.ɵɵdirectiveInject(c.Router),s.ɵɵdirectiveInject(p.I18nService),s.ɵɵdirectiveInject(c.ActivatedRoute),s.ɵɵdirectiveInject(u.StorageService),s.ɵɵdirectiveInject(d.StateService),s.ɵɵdirectiveInject(m.PlatformUtilsService),s.ɵɵdirectiveInject(h.ApiService),s.ɵɵdirectiveInject(f.CryptoFunctionService),s.ɵɵdirectiveInject(v.PasswordGenerationService))},e.ɵdir=s.ɵɵdefineDirective({type:e}),e}();t.SsoComponent=y},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]this.pageSize&&(t=this.pagedCollectionsCount),this.collections.length>e&&(this.pagedCollections=this.pagedCollections.concat(this.collections.slice(e,e+t))),this.pagedCollectionsCount=this.pagedCollections.length,this.didScroll=this.pagedCollections.length>this.pageSize}},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(l.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(c.CollectionAddEditComponent,this.addEditModalRef);r.organizationId=this.organizationId,r.collectionId=null!=e?e.id:null,r.onSavedCollection.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedCollection.subscribe(function(){t.modal.close(),t.removeCollection(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.add=function(){this.edit(null)},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),e.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteCollection(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",e.name)),this.removeCollection(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.users=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(l.ModalComponent);this.modal=this.usersModalRef.createComponent(n).instance;var r=this.modal.show(p.EntityUsersComponent,this.usersModalRef);r.organizationId=this.organizationId,r.entity="collection",r.entityId=e.id,r.entityName=e.name,r.onEditedUsers.subscribe(function(){t.load(),t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedCollections=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.collections&&this.collections.length>this.pageSize},e.prototype.removeCollection=function(e){var t=this.collections.indexOf(e);t>-1&&(this.collections.splice(t,1),this.resetPaging())},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.ApiService),u.ɵɵdirectiveInject(m.ActivatedRoute),u.ɵɵdirectiveInject(h.CollectionService),u.ɵɵdirectiveInject(u.ComponentFactoryResolver),u.ɵɵdirectiveInject(f.Angulartics2),u.ɵɵdirectiveInject(v.ToasterService),u.ɵɵdirectiveInject(y.I18nService),u.ɵɵdirectiveInject(g.PlatformUtilsService),u.ɵɵdirectiveInject(x.UserService),u.ɵɵdirectiveInject(b.SearchService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-org-manage-collections"]],viewQuery:function(e,t){var n;(1&e&&(u.ɵɵstaticViewQuery(_,!0,a.ViewContainerRef),u.ɵɵstaticViewQuery(A,!0,a.ViewContainerRef)),2&e)&&(u.ɵɵqueryRefresh(n=u.ɵɵloadQuery())&&(t.addEditModalRef=n.first),u.ɵɵqueryRefresh(n=u.ɵɵloadQuery())&&(t.usersModalRef=n.first))},decls:37,vars:20,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["usersTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover table-list","infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-users"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-trash-o"]],template:function(e,t){1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"h1"),u.ɵɵtext(3),u.ɵɵpipe(4,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(5,"\n "),u.ɵɵelementStart(6,"div",1),u.ɵɵtext(7,"\n "),u.ɵɵelementStart(8,"div"),u.ɵɵtext(9,"\n "),u.ɵɵelementStart(10,"label",2),u.ɵɵtext(11),u.ɵɵpipe(12,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(13,"\n "),u.ɵɵelementStart(14,"input",3),u.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),u.ɵɵpipe(15,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(16,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(17,"\n "),u.ɵɵelementStart(18,"button",4),u.ɵɵlistener("click",function(){return t.add()}),u.ɵɵtext(19,"\n "),u.ɵɵelement(20,"i",5),u.ɵɵtext(21),u.ɵɵpipe(22,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(23,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(24,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(25,"\n"),u.ɵɵtemplate(26,O,9,6,"ng-container",6),u.ɵɵtext(27,"\n"),u.ɵɵtemplate(28,D,6,2,"ng-container",6),u.ɵɵpipe(29,"search"),u.ɵɵtext(30,"\n"),u.ɵɵtemplate(31,V,0,0,"ng-template",null,7,u.ɵɵtemplateRefExtractor),u.ɵɵtext(33,"\n"),u.ɵɵtemplate(34,j,0,0,"ng-template",null,8,u.ɵɵtemplateRefExtractor),u.ɵɵtext(36,"\n")),2&e&&(u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(4,7,"collections")),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(12,9,"search")),u.ɵɵadvance(3),u.ɵɵpropertyInterpolate("placeholder",u.ɵɵpipeBind1(15,11,"search")),u.ɵɵproperty("ngModel",t.searchText),u.ɵɵadvance(7),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(22,13,"newCollection"),"\n "),u.ɵɵadvance(5),u.ɵɵproperty("ngIf",t.loading),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedCollections:u.ɵɵpipeBind4(29,15,t.collections,t.searchText,"name","id"))))},directives:[S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,w.NgIf,C.InfiniteScrollDirective,w.NgForOf,I.StopClickDirective,E.A11yTitleDirective],pipes:[P.I18nPipe,k.SearchPipe],encapsulation:2}),e}();t.CollectionsComponent=R},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&r.groups.forEach(function(e){var t=s.groups.filter(function(t){return!t.accessAll&&t.id===e.id});null!=t&&t.length>0&&(t[0].checked=!0,t[0].readOnly=e.readOnly,t[0].hidePasswords=e.hidePasswords)}),[3,9];case 8:return i.sent(),[3,9];case 9:return[3,11];case 10:this.title=this.i18nService.t("addCollection"),i.label=11;case 11:return this.groups.forEach(function(e){e.accessAll&&(e.checked=!0)}),this.loading=!1,[2]}})})},e.prototype.check=function(e,t){e.accessAll||(e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1,e.hidePasswords=!1))},e.prototype.selectAll=function(e){var t=this;this.groups.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null==this.orgKey)throw new Error("No encryption key for this organization.");return e=new s.CollectionRequest,t=e,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:t.name=n.sent().encryptedString,e.externalId=this.externalId,e.groups=this.groups.filter(function(e){return e.checked&&!e.accessAll}).map(function(e){return new l.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)}),n.label=2;case 2:return n.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,e):this.formPromise=this.apiService.postCollection(this.organizationId,e),[4,this.formPromise];case 3:return n.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 n.sent(),[3,5];case 5:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return e.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 e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService),p.ɵɵdirectiveInject(f.PlatformUtilsService),p.ɵɵdirectiveInject(v.CryptoService),p.ɵɵdirectiveInject(y.UserService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-collection-add-edit"]],inputs:{collectionId:"collectionId",organizationId:"organizationId"},outputs:{onSavedCollection:"onSavedCollection",onDeletedCollection:"onDeletedCollection"},decls:49,vars:18,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","collectionAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","collectionAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"form-group"],["for","name"],["id","name","type","text","name","Name","required","","appAutofocus","",1,"form-control",3,"ngModel","ngModelChange"],["for","externalId"],["id","externalId","type","text","name","ExternalId",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-text","text-muted"],[4,"ngIf"],[1,"mt-4","d-flex","mb-0"],["class","ml-auto",4,"ngIf"],["class","table table-hover table-list mb-0",4,"ngIf"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","disabled","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["aria-hidden","true",1,"fa","fa-th","text-muted","fa-fw",3,"title"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,E,9,6,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵtemplate(22,M,26,12,"div",8),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"div",9),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",10),p.ɵɵtext(27,"\n "),p.ɵɵelement(28,"i",11),p.ɵɵpipe(29,"i18n"),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"span"),p.ɵɵtext(32),p.ɵɵpipe(33,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"button",12),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementStart(40,"div",13),p.ɵɵtext(41,"\n "),p.ɵɵtemplate(42,B,9,10,"button",14),p.ɵɵtext(43,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,10,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(29,12,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(33,14,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,16,"cancel")),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.editMode)}},directives:[g.NgControlStatusGroup,g.NgForm,x.ApiActionDirective,b.A11yTitleDirective,S.NgIf,g.DefaultValueAccessor,g.RequiredValidator,w.AutofocusDirective,g.NgControlStatus,g.NgModel,S.NgForOf,g.CheckboxControlValueAccessor,C.StopPropDirective],pipes:[I.I18nPipe],encapsulation:2}),e}();t.CollectionAddEditComponent=D},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.groups=[],null!=e&&(this.name=e.name?e.name.encryptedString:null,this.externalId=e.externalId)}}();t.CollectionRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?this.events=this.events.concat(a):this.events=a,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(o.ApiService),a.ɵɵdirectiveInject(s.ActivatedRoute),a.ɵɵdirectiveInject(l.EventService),a.ɵɵdirectiveInject(c.I18nService),a.ɵɵdirectiveInject(p.ToasterService),a.ɵɵdirectiveInject(u.UserService),a.ɵɵdirectiveInject(s.Router))},e.ɵcmp=a.ɵɵdefineComponent({type:e,selectors:[["app-org-events"]],decls:41,vars:27,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],[1,"form-inline"],["for","start",1,"sr-only"],["type","datetime-local","id","start","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],[1,"mx-2"],["for","end",1,"sr-only"],["type","datetime-local","id","end","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"appApiAction","disabled","click"],["refreshBtn",""],["aria-hidden","true",1,"fa","fa-refresh","fa-fw",3,"ngClass"],[4,"ngIf"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover",4,"ngIf"],["type","button","class","btn btn-block btn-link btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],[1,"table","table-hover"],["width","210",1,"border-top-0"],["width","40",1,"border-top-0"],["width","150",1,"border-top-0"],[1,"border-top-0"],[4,"ngFor","ngForOf"],["aria-hidden","true",3,"title"],[3,"title"],[3,"innerHTML"],["type","button",1,"btn","btn-block","btn-link","btn-submit",3,"appApiAction","disabled","click"],["moreBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"]],template:function(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"h1"),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"div",1),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"div",2),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"label",3),a.ɵɵtext(11),a.ɵɵpipe(12,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementStart(14,"input",4),a.ɵɵlistener("ngModelChange",function(e){return t.start=e}),a.ɵɵpipe(15,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(16,"\n "),a.ɵɵelementStart(17,"span",5),a.ɵɵtext(18,"-"),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n "),a.ɵɵelementStart(20,"label",6),a.ɵɵtext(21),a.ɵɵpipe(22,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(23,"\n "),a.ɵɵelementStart(24,"input",7),a.ɵɵlistener("ngModelChange",function(e){return t.end=e}),a.ɵɵpipe(25,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(26,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(27,"\n "),a.ɵɵelementStart(28,"button",8,9),a.ɵɵlistener("click",function(){return t.loadEvents(!0)}),a.ɵɵtext(30,"\n "),a.ɵɵelement(31,"i",10),a.ɵɵtext(32),a.ɵɵpipe(33,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(34,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(35,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(36,"\n"),a.ɵɵtemplate(37,v,9,6,"ng-container",11),a.ɵɵtext(38,"\n"),a.ɵɵtemplate(39,S,8,3,"ng-container",11),a.ɵɵtext(40,"\n")),2&e){var n=a.ɵɵreference(29);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,13,"eventLogs")),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(12,15,"startDate")),a.ɵɵadvance(3),a.ɵɵpropertyInterpolate("placeholder",a.ɵɵpipeBind1(15,17,"startDate")),a.ɵɵproperty("ngModel",t.start),a.ɵɵadvance(7),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(22,19,"endDate")),a.ɵɵadvance(3),a.ɵɵpropertyInterpolate("placeholder",a.ɵɵpipeBind1(25,21,"endDate")),a.ɵɵproperty("ngModel",t.end),a.ɵɵadvance(4),a.ɵɵproperty("appApiAction",t.refreshPromise)("disabled",t.loaded&&n.loading),a.ɵɵadvance(3),a.ɵɵproperty("ngClass",a.ɵɵpureFunction1(25,w,t.loaded&&n.loading)),a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(33,23,"refresh"),"\n "),a.ɵɵadvance(5),a.ɵɵproperty("ngIf",!t.loaded),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",t.loaded)}},directives:[d.DefaultValueAccessor,d.NgControlStatus,d.NgModel,m.ApiActionDirective,h.NgClass,h.NgIf,h.NgForOf],pipes:[f.I18nPipe,h.DatePipe],encapsulation:2}),e}();t.EventsComponent=C},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?e.data:[]).sort(o.Utils.getSortFunction(this.i18nService,"name")),this.groups=t,this.resetPaging(),this.loading=!1,[2]}})})},e.prototype.loadMore=function(){if(this.groups&&!(this.groups.length<=this.pageSize)){var e=this.pagedGroups.length,t=this.pageSize;0===e&&this.pagedGroupsCount>this.pageSize&&(t=this.pagedGroupsCount),this.groups.length>e&&(this.pagedGroups=this.pagedGroups.concat(this.groups.slice(e,e+t))),this.pagedGroupsCount=this.pagedGroups.length,this.didScroll=this.pagedGroups.length>this.pageSize}},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(c.GroupAddEditComponent,this.addEditModalRef);r.organizationId=this.organizationId,r.groupId=null!=e?e.id:null,r.onSavedGroup.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedGroup.subscribe(function(){t.modal.close(),t.removeGroup(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.add=function(){this.edit(null)},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),e.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",e.name)),this.removeGroup(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.users=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.usersModalRef.createComponent(n).instance;var r=this.modal.show(l.EntityUsersComponent,this.usersModalRef);r.organizationId=this.organizationId,r.entity="group",r.entityId=e.id,r.entityName=e.name,r.onEditedUsers.subscribe(function(){t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedGroups=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.groups&&this.groups.length>this.pageSize},e.prototype.removeGroup=function(e){var t=this.groups.indexOf(e);t>-1&&(this.groups.splice(t,1),this.resetPaging())},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.ActivatedRoute),p.ɵɵdirectiveInject(m.I18nService),p.ɵɵdirectiveInject(p.ComponentFactoryResolver),p.ɵɵdirectiveInject(h.Angulartics2),p.ɵɵdirectiveInject(f.ToasterService),p.ɵɵdirectiveInject(v.PlatformUtilsService),p.ɵɵdirectiveInject(y.UserService),p.ɵɵdirectiveInject(d.Router),p.ɵɵdirectiveInject(g.SearchService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-org-groups"]],viewQuery:function(e,t){var n;(1&e&&(p.ɵɵstaticViewQuery(P,!0,a.ViewContainerRef),p.ɵɵstaticViewQuery(k,!0,a.ViewContainerRef)),2&e)&&(p.ɵɵqueryRefresh(n=p.ɵɵloadQuery())&&(t.addEditModalRef=n.first),p.ɵɵqueryRefresh(n=p.ɵɵloadQuery())&&(t.usersModalRef=n.first))},decls:37,vars:20,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["usersTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover table-list","infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-users"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-trash-o"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"h1"),p.ɵɵtext(3),p.ɵɵpipe(4,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(5,"\n "),p.ɵɵelementStart(6,"div",1),p.ɵɵtext(7,"\n "),p.ɵɵelementStart(8,"div"),p.ɵɵtext(9,"\n "),p.ɵɵelementStart(10,"label",2),p.ɵɵtext(11),p.ɵɵpipe(12,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(13,"\n "),p.ɵɵelementStart(14,"input",3),p.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),p.ɵɵpipe(15,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(16,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementStart(18,"button",4),p.ɵɵlistener("click",function(){return t.add()}),p.ɵɵtext(19,"\n "),p.ɵɵelement(20,"i",5),p.ɵɵtext(21),p.ɵɵpipe(22,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(23,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(24,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(25,"\n"),p.ɵɵtemplate(26,_,9,6,"ng-container",6),p.ɵɵtext(27,"\n"),p.ɵɵtemplate(28,M,6,2,"ng-container",6),p.ɵɵpipe(29,"search"),p.ɵɵtext(30,"\n"),p.ɵɵtemplate(31,B,0,0,"ng-template",null,7,p.ɵɵtemplateRefExtractor),p.ɵɵtext(33,"\n"),p.ɵɵtemplate(34,D,0,0,"ng-template",null,8,p.ɵɵtemplateRefExtractor),p.ɵɵtext(36,"\n")),2&e&&(p.ɵɵadvance(3),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(4,7,"groups")),p.ɵɵadvance(8),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(12,9,"search")),p.ɵɵadvance(3),p.ɵɵpropertyInterpolate("placeholder",p.ɵɵpipeBind1(15,11,"search")),p.ɵɵproperty("ngModel",t.searchText),p.ɵɵadvance(7),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(22,13,"newGroup"),"\n "),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedGroups:p.ɵɵpipeBind4(29,15,t.groups,t.searchText,"name","id"))))},directives:[x.DefaultValueAccessor,x.NgControlStatus,x.NgModel,b.NgIf,S.InfiniteScrollDirective,b.NgForOf,w.StopClickDirective,C.A11yTitleDirective],pipes:[I.I18nPipe,E.SearchPipe],encapsulation:2}),e}();t.GroupsComponent=V},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&(n[0].checked=!0,n[0].readOnly=e.readOnly,n[0].hidePasswords=e.hidePasswords)}),[3,5];case 4:return n.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),n.label=7;case 7:return this.loading=!1,[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return e=r.sent(),t=e.data.map(function(e){return new s.Collection(new o.CollectionData(e))}),n=this,[4,this.collectionService.decryptMany(t)];case 2:return n.collections=r.sent(),[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.collections.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:(e=new l.GroupRequest).name=this.name,e.externalId=this.externalId,e.accessAll="all"===this.access,e.accessAll||(e.collections=this.collections.filter(function(e){return e.checked}).map(function(e){return new c.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)})),t.label=1;case 1:return t.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,e):this.formPromise=this.apiService.postGroup(this.organizationId,e),[4,this.formPromise];case 2:return t.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 t.sent(),[3,4];case 4:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return e.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 e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService),p.ɵɵdirectiveInject(f.CollectionService),p.ɵɵdirectiveInject(v.PlatformUtilsService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-group-add-edit"]],inputs:{groupId:"groupId",organizationId:"organizationId"},outputs:{onSavedGroup:"onSavedGroup",onDeletedGroup:"onDeletedGroup"},decls:49,vars:18,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","groupAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","groupAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","externalId"],["id","externalId","type","text","name","ExternalId",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-text","text-muted"],[1,"mt-4","d-flex"],[1,"mb-2"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#access-control",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],["class","ml-auto",4,"ngIf"],[1,"form-group",3,"ngClass"],[1,"form-check"],["type","radio","name","access","id","accessAll","value","all",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessAll",1,"form-check-label"],["type","radio","name","access","id","accessSelected","value","selected",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessSelected",1,"form-check-label"],[4,"ngIf"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,C,9,6,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵtemplate(22,O,62,30,"div",8),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"div",9),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",10),p.ɵɵtext(27,"\n "),p.ɵɵelement(28,"i",11),p.ɵɵpipe(29,"i18n"),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"span"),p.ɵɵtext(32),p.ɵɵpipe(33,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"button",12),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementStart(40,"div",13),p.ɵɵtext(41,"\n "),p.ɵɵtemplate(42,T,9,10,"button",14),p.ɵɵtext(43,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,10,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(29,12,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(33,14,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,16,"cancel")),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.editMode)}},directives:[y.NgControlStatusGroup,y.NgForm,g.ApiActionDirective,x.A11yTitleDirective,b.NgIf,y.DefaultValueAccessor,y.RequiredValidator,y.NgControlStatus,y.NgModel,b.NgClass,y.RadioControlValueAccessor,b.NgForOf,y.CheckboxControlValueAccessor,S.StopPropDirective],pipes:[w.I18nPipe],encapsulation:2}),e}();t.GroupAddEditComponent=M},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&t[0].status===l.OrganizationUserStatusType.Confirmed&&this.events(t[0]),null!=n&&n.unsubscribe(),[2]})})}),[2]}})})}),[2]})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return e=n.sent(),this.statusMap.clear(),this.allUsers=null!=e.data&&e.data.length>0?e.data:[],this.allUsers.sort(p.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(e){t.statusMap.has(e.status)?t.statusMap.get(e.status).push(e):t.statusMap.set(e.status,[e])}),this.filter(this.status),this.loading=!1,[2]}})})},e.prototype.filter=function(e){this.status=e,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers,this.resetPaging()},e.prototype.loadMore=function(){if(this.users&&!(this.users.length<=this.pageSize)){var e=this.pagedUsers.length,t=this.pageSize;0===e&&this.pagedUsersCount>this.pageSize&&(t=this.pagedUsersCount),this.users.length>e&&(this.pagedUsers=this.pagedUsers.concat(this.users.slice(e,e+t))),this.pagedUsersCount=this.pagedUsers.length,this.didScroll=this.pagedUsers.length>this.pageSize}},Object.defineProperty(e.prototype,"allCount",{get:function(){return null!=this.allUsers?this.allUsers.length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"invitedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Invited)?this.statusMap.get(l.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"acceptedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Accepted)?this.statusMap.get(l.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"confirmedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Confirmed)?this.statusMap.get(l.OrganizationUserStatusType.Confirmed).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"showConfirmUsers",{get:function(){return null!=this.allUsers&&null!=this.statusMap&&this.allUsers.length>1&&this.confirmedCount>0&&this.confirmedCount<3&&this.acceptedCount>0},enumerable:!0,configurable:!0}),e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(m.UserAddEditComponent,this.addEditModalRef);r.name=null!=e?e.name||e.email:null,r.organizationId=this.organizationId,r.organizationUserId=null!=e?e.id:null,r.onSavedUser.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedUser.subscribe(function(){t.modal.close(),t.removeUser(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.invite=function(){this.edit(null)},e.prototype.groups=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent);this.modal=this.groupsModalRef.createComponent(n).instance;var r=this.modal.show(f.UserGroupsComponent,this.groupsModalRef);r.name=null!=e?e.name||e.email:null,r.organizationId=this.organizationId,r.organizationUserId=null!=e?e.id:null,r.onSavedUser.subscribe(function(){t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.remove=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),e.name||e.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",e.name||e.email)),this.removeUser(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.reinvite=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,e.id),[4,this.actionPromise]);case 1:return t.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",e.name||e.email)),this.actionPromise=null,[2]}})})},e.prototype.confirm=function(e){return r(this,void 0,void 0,function(){function t(t){e.status=l.OrganizationUserStatusType.Confirmed;var n=t.statusMap.get(l.OrganizationUserStatusType.Accepted).indexOf(e);n>-1&&(t.statusMap.get(l.OrganizationUserStatusType.Accepted).splice(n,1),t.statusMap.get(l.OrganizationUserStatusType.Confirmed).push(e))}var n,r,a,s=this;return i(this,function(i){switch(i.label){case 0:return null!=this.actionPromise?[2]:[4,this.storageService.get(o.ConstantsService.autoConfirmFingerprints)];case 1:return null!=(n=i.sent())&&n?(this.actionPromise=this.doConfirmation(e),[4,this.actionPromise]):(null!=this.modal&&this.modal.close(),r=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent),this.modal=this.confirmModalRef.createComponent(r).instance,(a=this.modal.show(h.UserConfirmComponent,this.confirmModalRef)).name=null!=e?e.name||e.email:null,a.organizationId=this.organizationId,a.organizationUserId=null!=e?e.id:null,a.userId=null!=e?e.userId:null,a.onConfirmedUser.subscribe(function(){s.modal.close(),t(s)}),this.modal.onClosed.subscribe(function(){s.modal=null}),[2]);case 2:return i.sent(),t(this),this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",e.name||e.email)),this.actionPromise=null,[2]}})})},e.prototype.events=function(e){return r(this,void 0,void 0,function(){var t,n,r=this;return i(this,function(i){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent),this.modal=this.eventsModalRef.createComponent(t).instance,(n=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=e.name||e.email,n.organizationId=this.organizationId,n.entityId=e.id,n.showUser=!1,n.entity="user",this.modal.onClosed.subscribe(function(){r.modal=null}),[2]})})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedUsers=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.users&&this.users.length>this.pageSize},e.prototype.doConfirmation=function(e){return r(this,void 0,void 0,function(){var t,n,r,a,o,l,c,u;return i(this,function(i){switch(i.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return t=i.sent(),[4,this.apiService.getUserPublicKey(e.userId)];case 2:n=i.sent(),r=p.Utils.fromB64ToArray(n.publicKey),i.label=3;case 3:return i.trys.push([3,5,,6]),o=(a=console).log,l="User's fingerprint: ",[4,this.cryptoService.getFingerprint(e.userId,r.buffer)];case 4:return o.apply(a,[l+i.sent().join("-")]),[3,6];case 5:return i.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(t.key,r.buffer)];case 7:return c=i.sent(),(u=new s.OrganizationUserConfirmRequest).key=c.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,e.id,u)];case 8:return i.sent(),[2]}})})},e.prototype.removeUser=function(e){var t=this.users.indexOf(e);t>-1&&(this.users.splice(t,1),this.resetPaging()),this.statusMap.has(l.OrganizationUserStatusType.Accepted)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Accepted).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Accepted).splice(t,1),this.statusMap.has(l.OrganizationUserStatusType.Invited)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Invited).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Invited).splice(t,1),this.statusMap.has(l.OrganizationUserStatusType.Confirmed)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Confirmed).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Confirmed).splice(t,1)},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.ApiService),v.ɵɵdirectiveInject(g.ActivatedRoute),v.ɵɵdirectiveInject(x.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(b.PlatformUtilsService),v.ɵɵdirectiveInject(S.Angulartics2),v.ɵɵdirectiveInject(w.ToasterService),v.ɵɵdirectiveInject(C.CryptoService),v.ɵɵdirectiveInject(I.UserService),v.ɵɵdirectiveInject(g.Router),v.ɵɵdirectiveInject(E.StorageService),v.ɵɵdirectiveInject(P.SearchService))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["app-org-people"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(j,!0,a.ViewContainerRef),v.ɵɵstaticViewQuery(R,!0,a.ViewContainerRef),v.ɵɵstaticViewQuery(F,!0,a.ViewContainerRef),v.ɵɵstaticViewQuery(U,!0,a.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.addEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.groupsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.eventsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.confirmModalRef=n.first))},decls:64,vars:45,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["role","group",1,"btn-group","btn-group-sm"],["type","button",1,"btn","btn-outline-secondary",3,"ngClass","click"],["class","badge badge-pill badge-info",4,"ngIf"],["class","badge badge-pill badge-warning",4,"ngIf"],[1,"ml-3"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["groupsTemplate",""],["eventsTemplate",""],["confirmTemplate",""],[1,"badge","badge-pill","badge-info"],[1,"badge","badge-pill","badge-warning"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","info","icon","fa-check-circle",3,"title",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["type","info","icon","fa-check-circle",3,"title"],["width","30"],["size","25",3,"data","email","circle","fontSize"],["href","#","appStopClick","",3,"click"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-success","href","#","appStopClick","",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-remove"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"text-muted","d-block"],["aria-hidden","true",1,"fa","fa-lock",3,"title"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-envelope-o"],["href","#","appStopClick","",1,"dropdown-item","text-success",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-check"],["aria-hidden","true",1,"fa","fa-fw","fa-sitemap"],["aria-hidden","true",1,"fa","fa-fw","fa-file-text-o"]],template:function(e,t){1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"h1"),v.ɵɵtext(3),v.ɵɵpipe(4,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(5,"\n "),v.ɵɵelementStart(6,"div",1),v.ɵɵtext(7,"\n "),v.ɵɵelementStart(8,"div",2),v.ɵɵtext(9,"\n "),v.ɵɵelementStart(10,"button",3),v.ɵɵlistener("click",function(){return t.filter(null)}),v.ɵɵtext(11),v.ɵɵpipe(12,"i18n"),v.ɵɵtemplate(13,N,2,1,"span",4),v.ɵɵtext(14,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(15,"\n "),v.ɵɵelementStart(16,"button",3),v.ɵɵlistener("click",function(){return t.filter(t.organizationUserStatusType.Invited)}),v.ɵɵtext(17),v.ɵɵpipe(18,"i18n"),v.ɵɵtemplate(19,z,2,1,"span",4),v.ɵɵtext(20,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(21,"\n "),v.ɵɵelementStart(22,"button",3),v.ɵɵlistener("click",function(){return t.filter(t.organizationUserStatusType.Accepted)}),v.ɵɵtext(23),v.ɵɵpipe(24,"i18n"),v.ɵɵtemplate(25,L,2,1,"span",5),v.ɵɵtext(26,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(27,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(28,"\n "),v.ɵɵelementStart(29,"div",6),v.ɵɵtext(30,"\n "),v.ɵɵelementStart(31,"label",7),v.ɵɵtext(32),v.ɵɵpipe(33,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(34,"\n "),v.ɵɵelementStart(35,"input",8),v.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),v.ɵɵpipe(36,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(37,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(38,"\n "),v.ɵɵelementStart(39,"button",9),v.ɵɵlistener("click",function(){return t.invite()}),v.ɵɵtext(40,"\n "),v.ɵɵelement(41,"i",10),v.ɵɵtext(42),v.ɵɵpipe(43,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(44,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(45,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(46,"\n"),v.ɵɵtemplate(47,G,9,6,"ng-container",11),v.ɵɵtext(48,"\n"),v.ɵɵtemplate(49,se,6,2,"ng-container",11),v.ɵɵpipe(50,"search"),v.ɵɵtext(51,"\n"),v.ɵɵtemplate(52,le,0,0,"ng-template",null,12,v.ɵɵtemplateRefExtractor),v.ɵɵtext(54,"\n"),v.ɵɵtemplate(55,ce,0,0,"ng-template",null,13,v.ɵɵtemplateRefExtractor),v.ɵɵtext(57,"\n"),v.ɵɵtemplate(58,pe,0,0,"ng-template",null,14,v.ɵɵtemplateRefExtractor),v.ɵɵtext(60,"\n"),v.ɵɵtemplate(61,ue,0,0,"ng-template",null,15,v.ɵɵtemplateRefExtractor),v.ɵɵtext(63,"\n")),2&e&&(v.ɵɵadvance(3),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(4,16,"people")),v.ɵɵadvance(7),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(36,de,null==t.status)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(12,18,"all"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.allCount),v.ɵɵadvance(3),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(38,de,t.status==t.organizationUserStatusType.Invited)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(18,20,"invited"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.invitedCount),v.ɵɵadvance(3),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(40,de,t.status==t.organizationUserStatusType.Accepted)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(24,22,"accepted"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.acceptedCount),v.ɵɵadvance(7),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(33,24,"search")),v.ɵɵadvance(3),v.ɵɵpropertyInterpolate("placeholder",v.ɵɵpipeBind1(36,26,"search")),v.ɵɵproperty("ngModel",t.searchText),v.ɵɵadvance(7),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(43,28,"inviteUser"),"\n "),v.ɵɵadvance(5),v.ɵɵproperty("ngIf",t.loading),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedUsers:v.ɵɵpipeBindV(50,30,v.ɵɵpureFunction2(42,me,t.users,t.searchText)))))},directives:[k.NgClass,k.NgIf,_.DefaultValueAccessor,_.NgControlStatus,_.NgModel,A.InfiniteScrollDirective,k.NgForOf,O.CalloutComponent,T.AvatarComponent,M.StopClickDirective,B.A11yTitleDirective],pipes:[D.I18nPipe,V.SearchPipe],encapsulation:2}),e}();t.PeopleComponent=he},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUserConfirmRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&(n[0].checked=!0,n[0].readOnly=e.readOnly,n[0].hidePasswords=e.hidePasswords)}),[3,5];case 4:return n.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),n.label=7;case 7:return this.loading=!1,[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return e=r.sent(),t=e.data.map(function(e){return new s.Collection(new o.CollectionData(e))}),n=this,[4,this.collectionService.decryptMany(t)];case 2:return n.collections=r.sent(),[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.collections.forEach(function(n){return t.check(n,e)})},e.prototype.setRequestPermissions=function(e,t){return e.accessBusinessPortal=!t&&this.permissions.accessBusinessPortal,e.accessEventLogs=this.permissions.accessEventLogs=!t&&this.permissions.accessEventLogs,e.accessImportExport=!t&&this.permissions.accessImportExport,e.accessReports=!t&&this.permissions.accessReports,e.manageAllCollections=!t&&this.permissions.manageAllCollections,e.manageAssignedCollections=!t&&this.permissions.manageAssignedCollections,e.manageGroups=!t&&this.permissions.manageGroups,e.manageSso=!t&&this.permissions.manageSso,e.managePolicies=!t&&this.permissions.managePolicies,e.manageUsers=!t&&this.permissions.manageUsers,e},e.prototype.submit=function(){var e,t;return r(this,void 0,void 0,function(){var n,r;return i(this,function(i){switch(i.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(e){return e.checked}).map(function(e){return new p.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)})),i.label=1;case 1:return i.trys.push([1,3,,4]),this.editMode?((r=new c.OrganizationUserUpdateRequest).accessAll="all"===this.access,r.type=this.type,r.collections=n,r.permissions=this.setRequestPermissions(null!==(e=r.permissions)&&void 0!==e?e:new d.PermissionsApi,r.type!==u.OrganizationUserType.Custom),this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,r)):((r=new l.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),r.accessAll="all"===this.access,r.type=this.type,r.permissions=this.setRequestPermissions(null!==(t=r.permissions)&&void 0!==t?t:new d.PermissionsApi,r.type!==u.OrganizationUserType.Custom),r.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,r)),[4,this.formPromise];case 2:return i.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 i.sent(),[3,4];case 4:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return e.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 e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(m.ɵɵdirectiveInject(h.ApiService),m.ɵɵdirectiveInject(f.I18nService),m.ɵɵdirectiveInject(v.Angulartics2),m.ɵɵdirectiveInject(y.ToasterService),m.ɵɵdirectiveInject(g.CollectionService),m.ɵɵdirectiveInject(x.PlatformUtilsService))},e.ɵcmp=m.ɵɵdefineComponent({type:e,selectors:[["app-user-add-edit"]],inputs:{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},outputs:{onSavedUser:"onSavedUser",onDeletedUser:"onDeletedUser"},decls:51,vars:19,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAddEditTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[4,"ngIf"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#user-types",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-check","mt-2","form-check-block"],["type","radio","name","userType","id","userTypeUser",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeUser",1,"form-check-label"],["type","radio","name","userType","id","userTypeManager",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeManager",1,"form-check-label"],["type","radio","name","userType","id","userTypeAdmin",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeAdmin",1,"form-check-label"],["type","radio","name","userType","id","userTypeOwner",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeOwner",1,"form-check-label"],["type","radio","name","userType","id","userTypeCustom",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeCustom",1,"form-check-label"],[1,"mt-4","d-flex"],[1,"mb-3"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#access-control",3,"appA11yTitle"],["class","ml-auto",4,"ngIf"],[1,"form-group",3,"ngClass"],[1,"form-check"],["type","radio","name","access","id","accessAll","value","all",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessAll",1,"form-check-label"],["type","radio","name","access","id","accessSelected","value","selected",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessSelected",1,"form-check-label"],[1,"form-group","mb-4"],["for","emails"],["id","emails","type","text","name","Emails","required","","appAutoFocus","",1,"form-control",3,"ngModel","ngModelChange"],[1,"row"],[1,"col-6"],[1,"font-weight-bold","mb-0"],[1,"my-0","mr-2"],[1,"form-group","mb-0"],[1,"form-check","mt-1","form-check-block"],["type","checkbox","name","manageAssignedCollections","id","manageAssignedCollections",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageAssignedCollections",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessBusinessPortal","id","accessBusinessPortal",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessBusinessPortal",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessEventLogs","id","accessEventLogs",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessEventLogs",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessImportExport","id","accessImportExport",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessImportExport",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessReports","id","accessReports",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessReports",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageAllCollections","id","manageAllCollections",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageAllCollections",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageGroups","id","manageGroups",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageGroups",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageSso","id","managePolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageSso",1,"form-check-label","font-weight-normal"],["type","checkbox","name","managePolicies","id","managePolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","managePolicies",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageUsers","id","manageUsers",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageUsers",1,"form-check-label","font-weight-normal"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(m.ɵɵelementStart(0,"div",0),m.ɵɵtext(1,"\n "),m.ɵɵelementStart(2,"div",1),m.ɵɵtext(3,"\n "),m.ɵɵelementStart(4,"form",2,3),m.ɵɵlistener("ngSubmit",function(){return t.submit()}),m.ɵɵtext(6,"\n "),m.ɵɵelementStart(7,"div",4),m.ɵɵtext(8,"\n "),m.ɵɵelementStart(9,"h2",5),m.ɵɵtext(10),m.ɵɵtemplate(11,P,2,1,"small",6),m.ɵɵtext(12,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(13,"\n "),m.ɵɵelementStart(14,"button",7),m.ɵɵpipe(15,"i18n"),m.ɵɵtext(16,"\n "),m.ɵɵelementStart(17,"span",8),m.ɵɵtext(18,"×"),m.ɵɵelementEnd(),m.ɵɵtext(19,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(20,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(21,"\n "),m.ɵɵtemplate(22,k,9,6,"div",9),m.ɵɵtext(23,"\n "),m.ɵɵtemplate(24,j,119,67,"div",9),m.ɵɵtext(25,"\n "),m.ɵɵelementStart(26,"div",10),m.ɵɵtext(27,"\n "),m.ɵɵelementStart(28,"button",11),m.ɵɵtext(29,"\n "),m.ɵɵelement(30,"i",12),m.ɵɵpipe(31,"i18n"),m.ɵɵtext(32,"\n "),m.ɵɵelementStart(33,"span"),m.ɵɵtext(34),m.ɵɵpipe(35,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(36,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(37,"\n "),m.ɵɵelementStart(38,"button",13),m.ɵɵtext(39),m.ɵɵpipe(40,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(41,"\n "),m.ɵɵelementStart(42,"div",14),m.ɵɵtext(43,"\n "),m.ɵɵtemplate(44,R,9,10,"button",15),m.ɵɵtext(45,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(46,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(47,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(48,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(49,"\n"),m.ɵɵelementEnd(),m.ɵɵtext(50,"\n")),2&e){var n=m.ɵɵreference(5);m.ɵɵadvance(4),m.ɵɵproperty("appApiAction",t.formPromise),m.ɵɵadvance(6),m.ɵɵtextInterpolate1("\n ",t.title,"\n "),m.ɵɵadvance(1),m.ɵɵproperty("ngIf",t.name),m.ɵɵadvance(3),m.ɵɵpropertyInterpolate("appA11yTitle",m.ɵɵpipeBind1(15,11,"close")),m.ɵɵadvance(8),m.ɵɵproperty("ngIf",t.loading),m.ɵɵadvance(2),m.ɵɵproperty("ngIf",!t.loading),m.ɵɵadvance(4),m.ɵɵproperty("disabled",n.loading),m.ɵɵadvance(2),m.ɵɵpropertyInterpolate("title",m.ɵɵpipeBind1(31,13,"loading")),m.ɵɵadvance(4),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(35,15,"save")),m.ɵɵadvance(5),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(40,17,"cancel")),m.ɵɵadvance(5),m.ɵɵproperty("ngIf",t.editMode)}},directives:[b.NgControlStatusGroup,b.NgForm,S.ApiActionDirective,w.NgIf,C.A11yTitleDirective,b.RadioControlValueAccessor,b.DefaultValueAccessor,b.NgControlStatus,b.NgModel,w.NgClass,b.RequiredValidator,b.CheckboxControlValueAccessor,w.NgForOf,I.StopPropDirective],pipes:[E.I18nPipe],encapsulation:2}),e}();t.UserAddEditComponent=F},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&(t[0].checked=!0)}),[3,5];case 4:return i.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.groups.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:(e=new o.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(e){return e.checked}).map(function(e){return e.id}),t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,e),[4,this.formPromise];case 2:return t.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 t.sent(),[3,4];case 4:return[2]}})})},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(c.ApiService),l.ɵɵdirectiveInject(p.I18nService),l.ɵɵdirectiveInject(u.Angulartics2),l.ɵɵdirectiveInject(d.ToasterService))},e.ɵcmp=l.ɵɵdefineComponent({type:e,selectors:[["app-user-groups"]],inputs:{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},outputs:{onSavedUser:"onSavedUser"},decls:47,vars:20,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","groupAccessTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],[1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","groupAccessTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[4,"ngIf"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"]],template:function(e,t){if(1&e&&(l.ɵɵelementStart(0,"div",0),l.ɵɵtext(1,"\n "),l.ɵɵelementStart(2,"div",1),l.ɵɵtext(3,"\n "),l.ɵɵelementStart(4,"form",2,3),l.ɵɵlistener("ngSubmit",function(){return t.submit()}),l.ɵɵtext(6,"\n "),l.ɵɵelementStart(7,"div",4),l.ɵɵtext(8,"\n "),l.ɵɵelementStart(9,"h2",5),l.ɵɵtext(10),l.ɵɵpipe(11,"i18n"),l.ɵɵtemplate(12,x,2,1,"small",6),l.ɵɵtext(13,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(14,"\n "),l.ɵɵelementStart(15,"button",7),l.ɵɵpipe(16,"i18n"),l.ɵɵtext(17,"\n "),l.ɵɵelementStart(18,"span",8),l.ɵɵtext(19,"×"),l.ɵɵelementEnd(),l.ɵɵtext(20,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(21,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(22,"\n "),l.ɵɵtemplate(23,b,9,6,"div",9),l.ɵɵtext(24,"\n "),l.ɵɵtemplate(25,I,10,5,"div",9),l.ɵɵtext(26,"\n "),l.ɵɵelementStart(27,"div",10),l.ɵɵtext(28,"\n "),l.ɵɵelementStart(29,"button",11),l.ɵɵtext(30,"\n "),l.ɵɵelement(31,"i",12),l.ɵɵpipe(32,"i18n"),l.ɵɵtext(33,"\n "),l.ɵɵelementStart(34,"span"),l.ɵɵtext(35),l.ɵɵpipe(36,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(37,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(38,"\n "),l.ɵɵelementStart(39,"button",13),l.ɵɵtext(40),l.ɵɵpipe(41,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(42,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(43,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(44,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(45,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(46,"\n")),2&e){var n=l.ɵɵreference(5);l.ɵɵadvance(4),l.ɵɵproperty("appApiAction",t.formPromise),l.ɵɵadvance(6),l.ɵɵtextInterpolate1("\n ",l.ɵɵpipeBind1(11,10,"groupAccess"),"\n "),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",t.name),l.ɵɵadvance(3),l.ɵɵpropertyInterpolate("appA11yTitle",l.ɵɵpipeBind1(16,12,"close")),l.ɵɵadvance(8),l.ɵɵproperty("ngIf",t.loading),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",!t.loading),l.ɵɵadvance(4),l.ɵɵproperty("disabled",n.loading),l.ɵɵadvance(2),l.ɵɵpropertyInterpolate("title",l.ɵɵpipeBind1(32,14,"loading")),l.ɵɵadvance(4),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(36,16,"save")),l.ɵɵadvance(5),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(41,18,"cancel"))}},directives:[m.ɵangular_packages_forms_forms_y,m.NgControlStatusGroup,m.NgForm,h.ApiActionDirective,f.NgIf,v.A11yTitleDirective,f.NgForOf,m.CheckboxControlValueAccessor,y.StopPropDirective,m.NgControlStatus,m.NgModel],pipes:[g.I18nPipe],encapsulation:2}),e}();t.UserGroupsComponent=E},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?e.data:[],this.orgPolicies.forEach(function(e){t.policiesEnabledMap.set(e.type,e.enabled)}),this.policies.forEach(function(e){e.enabled=t.policiesEnabledMap.has(e.type)&&t.policiesEnabledMap.get(e.type)}),this.loading=!1,[2]}})})},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.editModalRef.createComponent(n).instance;var r=this.modal.show(l.PolicyEditComponent,this.editModalRef);r.name=e.name,r.description=e.description,r.type=e.type,r.organizationId=this.organizationId,r.policiesEnabledMap=this.policiesEnabledMap,r.onSavedPolicy.subscribe(function(){t.modal.close(),t.load()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.goToEnterprisePortal=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null!=this.enterpriseTokenPromise)return[2];n.label=1;case 1:return n.trys.push([1,5,,6]),this.enterpriseTokenPromise=this.apiService.getEnterprisePortalSignInToken(),[4,this.enterpriseTokenPromise];case 2:return null==(e=n.sent())?[3,4]:[4,this.userService.getUserId()];case 3:t=n.sent(),this.platformUtilsService.launchUri(this.enterpriseUrl+"/login?userId="+t+"&token="+window.encodeURIComponent(e)+"&organizationId="+this.organizationId),n.label=4;case 4:return[3,6];case 5:return n.sent(),[3,6];case 6:return this.enterpriseTokenPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.ApiService),c.ɵɵdirectiveInject(u.ActivatedRoute),c.ɵɵdirectiveInject(d.I18nService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(m.PlatformUtilsService),c.ɵɵdirectiveInject(h.UserService),c.ɵɵdirectiveInject(u.Router),c.ɵɵdirectiveInject(f.EnvironmentService))},e.ɵcmp=c.ɵɵdefineComponent({type:e,selectors:[["app-org-policies"]],viewQuery:function(e,t){var n;(1&e&&c.ɵɵstaticViewQuery(b,!0,a.ViewContainerRef),2&e)&&(c.ɵɵqueryRefresh(n=c.ɵɵloadQuery())&&(t.editModalRef=n.first))},decls:16,vars:6,consts:[[3,"type",4,"ngIf"],[1,"page-header","d-flex"],[4,"ngIf"],["class","table table-hover table-list",4,"ngIf"],["editTemplate",""],[3,"type"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"table","table-hover","table-list"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],["class","badge badge-success",4,"ngIf"],[1,"text-muted","d-block"],[1,"badge","badge-success"]],template:function(e,t){1&e&&(c.ɵɵtemplate(0,S,10,7,"app-callout",0),c.ɵɵtext(1,"\n"),c.ɵɵelementStart(2,"div",1),c.ɵɵtext(3,"\n "),c.ɵɵelementStart(4,"h1"),c.ɵɵtext(5),c.ɵɵpipe(6,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵtemplate(9,w,9,6,"ng-container",2),c.ɵɵtext(10,"\n"),c.ɵɵtemplate(11,P,7,1,"table",3),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,k,0,0,"ng-template",null,4,c.ɵɵtemplateRefExtractor),c.ɵɵtext(15,"\n")),2&e&&(c.ɵɵproperty("ngIf",t.userCanAccessBusinessPortal),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(6,4,"policies")),c.ɵɵadvance(4),c.ɵɵproperty("ngIf",t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",!t.loading))},directives:[v.NgIf,y.CalloutComponent,v.NgForOf,g.StopClickDirective],pipes:[x.I18nPipe],encapsulation:2}),e}();t.PoliciesComponent=_},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(6);t.ApiService=r.ApiService;var i=n(850);t.AppIdService=i.AppIdService;var a=n(88);t.AuditService=a.AuditService;var o=n(59);t.AuthService=o.AuthService;var s=n(20);t.CipherService=s.CipherService;var l=n(41);t.CollectionService=l.CollectionService;var c=n(19);t.CryptoService=c.CryptoService;var p=n(65);t.EnvironmentService=p.EnvironmentService;var u=n(49);t.FolderService=u.FolderService;var d=n(3);t.I18nService=d.I18nService;var m=n(851);t.LogService=m.LogService;var h=n(15);t.MessagingService=h.MessagingService;var f=n(36);t.PasswordGenerationService=f.PasswordGenerationService;var v=n(5);t.PlatformUtilsService=v.PlatformUtilsService;var y=n(81);t.SearchService=y.SearchService;var g=n(278);t.SettingsService=g.SettingsService;var x=n(42);t.StorageService=x.StorageService;var b=n(39);t.StateService=b.StateService;var S=n(62);t.SyncService=S.SyncService;var w=n(101);t.TokenService=w.TokenService;var C=n(115);t.TotpService=C.TotpService;var I=n(7);t.UserService=I.UserService;var E=n(112);t.VaultTimeoutService=E.VaultTimeoutService},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1?"×"+n.quantity:""," @ ",o.ɵɵpipeBind2(4,5,n.amount,"$"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate2("\n ",o.ɵɵpipeBind2(8,8,n.quantity*n.amount,"$")," /",o.ɵɵpipeBind1(9,11,n.interval),"\n ")}}function V(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",20),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"strong",21),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"table",22),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"tbody"),o.ɵɵtext(9,"\n "),o.ɵɵtemplate(10,D,11,13,"tr",23),o.ɵɵtext(11,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(4,2,"details")),o.ɵɵadvance(7),o.ɵɵproperty("ngForOf",n.subscription.items)}}function j(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",14),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",15),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"dl"),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"dt"),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementStart(10,"dd"),o.ɵɵtext(11),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵtemplate(13,B,23,15,"ng-container",1),o.ɵɵtext(14,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(15,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵtemplate(17,V,14,4,"div",16),o.ɵɵtext(18,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(7),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(8,4,"billingPlan")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(n.sub.plan.name),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",n.subscription)}}function R(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",27),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",28),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"button",29),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!1)}),o.ɵɵpipe(5,"i18n"),o.ɵɵelementStart(6,"span",30),o.ɵɵtext(7,"×"),o.ɵɵelementEnd(),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementStart(9,"h3",31),o.ɵɵtext(10),o.ɵɵpipe(11,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementStart(13,"app-update-license",32),o.ɵɵlistener("onUpdated",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!1)}),o.ɵɵelementEnd(),o.ɵɵtext(14,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(15,"\n "),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(3);o.ɵɵadvance(4),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(5,3,"cancel")),o.ɵɵadvance(6),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(11,5,"updateLicense")),o.ɵɵadvance(3),o.ɵɵproperty("organizationId",r.organizationId)}}function F(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div"),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"button",24),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(2).updateLicense()}),o.ɵɵtext(5),o.ɵɵpipe(6,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"a",25),o.ɵɵtext(9),o.ɵɵpipe(10,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(11,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵtemplate(13,R,16,7,"div",26),o.ɵɵtext(14,"\n "),o.ɵɵelementContainerEnd()}if(2&e){var r=o.ɵɵnextContext(2);o.ɵɵadvance(5),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(6,3,"updateLicense"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(10,5,"manageSubscription"),"\n "),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",r.showUpdateLicense)}}function U(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",24),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).changePlan()}),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(2,1,"changeBillingPlan"),"\n "))}function N(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",42),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).downloadLicense()}),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(3);o.ɵɵproperty("disabled",r.showDownloadLicense),o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(2,2,"downloadLicense"),"\n ")}}function z(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",43,44),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).cancel()}),o.ɵɵtext(2,"\n "),o.ɵɵelement(3,"i",10),o.ɵɵpipe(4,"i18n"),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"span"),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵreference(1),i=o.ɵɵnextContext(3);o.ɵɵproperty("appApiAction",i.cancelPromise)("disabled",r.loading),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("title",o.ɵɵpipeBind1(4,4,"loading")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(8,6,"cancelSubscription"))}}function L(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"app-change-plan",45),o.ɵɵlistener("onChanged",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeChangePlan(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeChangePlan(!1)}),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(3);o.ɵɵproperty("organizationId",r.organizationId)}}function G(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",46),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"app-download-license",47),o.ɵɵlistener("onDownloaded",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeDownloadLicense()})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeDownloadLicense()}),o.ɵɵelementEnd(),o.ɵɵtext(3,"\n "),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(3);o.ɵɵadvance(2),o.ɵɵproperty("organizationId",r.organizationId)}}function K(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",33),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"button",24),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustSeats(!0)}),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"button",50),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustSeats(!1)}),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(3),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(4,2,"addSeats"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(8,4,"removeSeats"),"\n "))}function q(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"app-adjust-seats",51),o.ɵɵlistener("onAdjusted",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeSeats(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeSeats(!1)}),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(4);o.ɵɵproperty("seatPrice",r.seatPrice)("add",r.adjustSeatsAdd)("organizationId",r.organizationId)("interval",r.billingInterval)}}function W(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",46),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,K,10,6,"div",48),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,q,1,4,"app-adjust-seats",49),o.ɵɵtext(7,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.showAdjustSeats),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.showAdjustSeats)}}function H(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",33),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"button",24),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustStorage(!0)}),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"button",50),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustStorage(!1)}),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(3),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(4,2,"addStorage"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(8,4,"removeStorage"),"\n "))}function $(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"app-adjust-storage",53),o.ɵɵlistener("onAdjusted",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeStorage(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeStorage(!1)}),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(4);o.ɵɵproperty("storageGbPrice",r.storageGbPrice)("add",r.adjustStorageAdd)("organizationId",r.organizationId)("interval",r.billingInterval)}}function Y(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",46),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,H,10,6,"div",48),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,$,1,4,"app-adjust-storage",52),o.ɵɵtext(7,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.showAdjustStorage),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.showAdjustStorage)}}var Q=function(e){return{width:e}};function J(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",33),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,U,3,3,"button",34),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,N,3,4,"button",35),o.ɵɵtext(7,"\n "),o.ɵɵtemplate(8,z,10,8,"button",36),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(10,"\n "),o.ɵɵtemplate(11,L,1,1,"app-change-plan",37),o.ɵɵtext(12,"\n "),o.ɵɵtemplate(13,G,4,1,"div",38),o.ɵɵtext(14,"\n "),o.ɵɵelementStart(15,"h2",39),o.ɵɵtext(16),o.ɵɵpipe(17,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(18,"\n "),o.ɵɵelementStart(19,"p"),o.ɵɵtext(20),o.ɵɵpipe(21,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(22,"\n "),o.ɵɵtemplate(23,W,9,2,"ng-container",1),o.ɵɵtext(24,"\n "),o.ɵɵelementStart(25,"h2",39),o.ɵɵtext(26),o.ɵɵpipe(27,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(28,"\n "),o.ɵɵelementStart(29,"p"),o.ɵɵtext(30),o.ɵɵpipe(31,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(32,"\n "),o.ɵɵelementStart(33,"div",40),o.ɵɵtext(34,"\n "),o.ɵɵelementStart(35,"div",41),o.ɵɵtext(36),o.ɵɵpipe(37,"percent"),o.ɵɵelementEnd(),o.ɵɵtext(38,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(39,"\n "),o.ɵɵtemplate(40,Y,9,2,"ng-container",1),o.ɵɵtext(41,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.showChangePlan),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.canDownloadLicense),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),o.ɵɵadvance(3),o.ɵɵproperty("ngIf",n.showChangePlan),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.showDownloadLicense),o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(17,14,"userSeats")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind2(21,16,"subscriptionUserSeats",n.sub.seats)),o.ɵɵadvance(3),o.ɵɵproperty("ngIf",n.subscription&&n.canAdjustSeats&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(27,19,"storage")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind3(31,21,"subscriptionStorage",n.sub.maxStorageGb||0,n.sub.storageName||"0 MB")),o.ɵɵadvance(5),o.ɵɵproperty("ngStyle",o.ɵɵpureFunction1(27,Q,n.storageProgressWidth+"%")),o.ɵɵattribute("aria-valuenow",n.storagePercentage),o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(37,25,n.storagePercentage/100),""),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel)}}function X(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵtemplate(2,P,4,6,"app-callout",5),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,k,18,14,"app-callout",5),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,T,17,9,"dl",1),o.ɵɵtext(7,"\n "),o.ɵɵtemplate(8,j,19,6,"div",6),o.ɵɵtext(9,"\n "),o.ɵɵtemplate(10,F,15,7,"ng-container",1),o.ɵɵtext(11,"\n "),o.ɵɵtemplate(12,J,42,29,"ng-container",1),o.ɵɵtext(13,"\n"),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext();o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription&&n.subscription.cancelled),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!n.selfHosted)}}var Z=function(){function e(e,t,n,r,i,a,o){this.apiService=e,this.platformUtilsService=t,this.i18nService=n,this.analytics=r,this.toasterService=i,this.messagingService=a,this.route=o,this.loading=!1,this.firstLoaded=!1,this.adjustSeatsAdd=!0,this.showAdjustSeats=!1,this.adjustStorageAdd=!0,this.showAdjustStorage=!1,this.showUpdateLicense=!1,this.showDownloadLicense=!1,this.showChangePlan=!1,this.selfHosted=!1,this.selfHosted=t.isSelfHost()}return e.prototype.ngOnInit=function(){return r(this,void 0,void 0,function(){var e=this;return i(this,function(t){return this.route.parent.parent.params.subscribe(function(t){return r(e,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.organizationId=t.organizationId,[4,this.load()];case 1:return e.sent(),this.firstLoaded=!0,[2]}})})}),[2]})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.loading?[2]:(this.loading=!0,e=this,[4,this.apiService.getOrganizationSubscription(this.organizationId)]);case 1:return e.sub=t.sent(),this.loading=!1,[2]}})})},e.prototype.reinstate=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("reinstateConfirmation"),this.i18nService.t("reinstateSubscription"),this.i18nService.t("yes"),this.i18nService.t("cancel"))];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.reinstatePromise=this.apiService.postOrganizationReinstate(this.organizationId),[4,this.reinstatePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Reinstated Plan"}),this.toasterService.popAsync("success",null,this.i18nService.t("reinstated")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.cancel=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("cancelConfirmation"),this.i18nService.t("cancelSubscription"),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.cancelPromise=this.apiService.postOrganizationCancel(this.organizationId),[4,this.cancelPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Canceled Plan"}),this.toasterService.popAsync("success",null,this.i18nService.t("canceledSubscription")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.changePlan=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null==this.subscription&&this.sub.planType===a.PlanType.Free?(this.showChangePlan=!this.showChangePlan,[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("changeBillingPlanDesc"),this.i18nService.t("changeBillingPlan"),this.i18nService.t("contactSupport"),this.i18nService.t("close"))];case 1:return e.sent()&&this.platformUtilsService.launchUri("https://bitwarden.com/contact"),[2]}})})},e.prototype.closeChangePlan=function(e){this.showChangePlan=!1},e.prototype.downloadLicense=function(){this.showDownloadLicense=!this.showDownloadLicense},e.prototype.closeDownloadLicense=function(){this.showDownloadLicense=!1},e.prototype.updateLicense=function(){this.loading||(this.showUpdateLicense=!0)},e.prototype.closeUpdateLicense=function(e){this.showUpdateLicense=!1,e&&(this.load(),this.messagingService.send("updatedOrgLicense"))},e.prototype.adjustSeats=function(e){this.adjustSeatsAdd=e,this.showAdjustSeats=!0},e.prototype.closeSeats=function(e){this.showAdjustSeats=!1,e&&this.load()},e.prototype.adjustStorage=function(e){this.adjustStorageAdd=e,this.showAdjustStorage=!0},e.prototype.closeStorage=function(e){this.showAdjustStorage=!1,e&&this.load()},Object.defineProperty(e.prototype,"isExpired",{get:function(){return null!=this.sub&&null!=this.sub.expiration&&new Date(this.sub.expiration)0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]

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

"+this.code+'

'+new Date+"

"),e.onafterprint=function(){return e.close()},e.print()},e.prototype.formatString=function(e){return null==e?null:e.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},e.prototype.processResponse=function(e){this.code=this.formatString(e.code)},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(a.I18nService))},e.ɵcmp=i.ɵɵdefineComponent({type:e,selectors:[["app-two-factor-recovery"]],decls:31,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","2faRecoveryTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],[1,"modal-content"],[1,"modal-header"],["id","2faRecoveryTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[3,"organizationId","type","onAuthed",4,"ngIf"],[4,"ngIf"],[3,"organizationId","type","onAuthed"],[1,"modal-body","text-center"],[1,"modal-footer"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-lg"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(e,t){1&e&&(i.ɵɵelementStart(0,"div",0),i.ɵɵtext(1,"\n "),i.ɵɵelementStart(2,"div",1),i.ɵɵtext(3,"\n "),i.ɵɵelementStart(4,"div",2),i.ɵɵtext(5,"\n "),i.ɵɵelementStart(6,"div",3),i.ɵɵtext(7,"\n "),i.ɵɵelementStart(8,"h2",4),i.ɵɵtext(9),i.ɵɵpipe(10,"i18n"),i.ɵɵelementStart(11,"small"),i.ɵɵtext(12),i.ɵɵpipe(13,"i18n"),i.ɵɵelementEnd(),i.ɵɵtext(14,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(15,"\n "),i.ɵɵelementStart(16,"button",5),i.ɵɵpipe(17,"i18n"),i.ɵɵtext(18,"\n "),i.ɵɵelementStart(19,"span",6),i.ɵɵtext(20,"×"),i.ɵɵelementEnd(),i.ɵɵtext(21,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(22,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(23,"\n "),i.ɵɵtemplate(24,p,2,2,"app-two-factor-verify",7),i.ɵɵtext(25,"\n "),i.ɵɵtemplate(26,h,18,6,"ng-container",8),i.ɵɵtext(27,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(28,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(29,"\n"),i.ɵɵelementEnd(),i.ɵɵtext(30,"\n")),2&e&&(i.ɵɵadvance(9),i.ɵɵtextInterpolate1("\n ",i.ɵɵpipeBind1(10,5,"twoStepLogin"),"\n "),i.ɵɵadvance(3),i.ɵɵtextInterpolate(i.ɵɵpipeBind1(13,7,"recoveryCodeTitle")),i.ɵɵadvance(4),i.ɵɵpropertyInterpolate("appA11yTitle",i.ɵɵpipeBind1(17,9,"close")),i.ɵɵadvance(8),i.ɵɵproperty("ngIf",!t.authed),i.ɵɵadvance(2),i.ɵɵproperty("ngIf",t.authed))},directives:[o.A11yTitleDirective,s.NgIf,l.TwoFactorVerifyComponent],pipes:[c.I18nPipe],encapsulation:2}),e}();t.TwoFactorRecoveryComponent=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1&&n.configured)}}function j(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",41),d.ɵɵtext(3,"\n "),d.ɵɵelementContainerEnd())}function R(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",41),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fWaiting"),"...\n "))}function F(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",42),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fClickSave"),"\n "))}function U(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",43),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fProblemReadingTryAgain"),"\n "))}function N(e,t){if(1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵtemplate(2,R,5,3,"ng-container",25),d.ɵɵtext(3,"\n "),d.ɵɵtemplate(4,F,5,3,"ng-container",25),d.ɵɵtext(5,"\n "),d.ɵɵtemplate(6,U,5,3,"ng-container",25),d.ɵɵtext(7,"\n "),d.ɵɵelementContainerEnd()),2&e){var n=d.ɵɵnextContext(2);d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fListening),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fResponse),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fError)}}function z(e,t){1&e&&(d.ɵɵelement(0,"i",44),d.ɵɵpipe(1,"i18n")),2&e&&d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(1,1,"loading"))}function L(e,t){1&e&&(d.ɵɵelementStart(0,"span"),d.ɵɵtext(1),d.ɵɵpipe(2,"i18n"),d.ɵɵelementEnd()),2&e&&(d.ɵɵadvance(1),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(2,1,"save")))}function G(e,t){if(1&e){var n=d.ɵɵgetCurrentView();d.ɵɵelementStart(0,"button",45,46),d.ɵɵlistener("click",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext(2).disable()}),d.ɵɵtext(2,"\n "),d.ɵɵelement(3,"i",44),d.ɵɵpipe(4,"i18n"),d.ɵɵtext(5,"\n "),d.ɵɵelementStart(6,"span"),d.ɵɵtext(7),d.ɵɵpipe(8,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(9,"\n "),d.ɵɵelementEnd()}if(2&e){var r=d.ɵɵreference(1),i=d.ɵɵnextContext(2);d.ɵɵproperty("appApiAction",i.disablePromise)("disabled",r.loading),d.ɵɵadvance(3),d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(4,4,"loading")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(8,6,"disableAllKeys"))}}function K(e,t){if(1&e){var n=d.ɵɵgetCurrentView();d.ɵɵelementStart(0,"form",10,11),d.ɵɵlistener("ngSubmit",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext().submit()}),d.ɵɵtext(2,"\n "),d.ɵɵelementStart(3,"div",12),d.ɵɵtext(4,"\n "),d.ɵɵtemplate(5,k,4,6,"app-callout",13),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"app-callout",14),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"p"),d.ɵɵtext(10),d.ɵɵpipe(11,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(12,"\n "),d.ɵɵelementStart(13,"ul",15),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"li"),d.ɵɵtext(16),d.ɵɵpipe(17,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelement(21,"img",16),d.ɵɵtext(22,"\n "),d.ɵɵelementStart(23,"ul",17),d.ɵɵtext(24,"\n "),d.ɵɵtemplate(25,V,13,5,"li",18),d.ɵɵtext(26,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(27,"\n "),d.ɵɵelement(28,"hr"),d.ɵɵtext(29,"\n "),d.ɵɵelementStart(30,"p"),d.ɵɵtext(31),d.ɵɵpipe(32,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementStart(34,"ol"),d.ɵɵtext(35,"\n "),d.ɵɵelementStart(36,"li"),d.ɵɵtext(37),d.ɵɵpipe(38,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(39,"\n "),d.ɵɵelementStart(40,"li"),d.ɵɵtext(41),d.ɵɵpipe(42,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(43,"\n "),d.ɵɵelementStart(44,"li"),d.ɵɵtext(45),d.ɵɵpipe(46,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(47,"\n "),d.ɵɵelementStart(48,"li"),d.ɵɵtext(49),d.ɵɵpipe(50,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(51,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(52,"\n "),d.ɵɵelementStart(53,"div",19),d.ɵɵtext(54,"\n "),d.ɵɵelementStart(55,"div",20),d.ɵɵtext(56,"\n "),d.ɵɵelementStart(57,"label",21),d.ɵɵtext(58),d.ɵɵpipe(59,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(60,"\n "),d.ɵɵelementStart(61,"input",22),d.ɵɵlistener("ngModelChange",function(e){return d.ɵɵrestoreView(n),d.ɵɵnextContext().name=e}),d.ɵɵelementEnd(),d.ɵɵtext(62,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(63,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(64,"\n "),d.ɵɵelementStart(65,"button",23,24),d.ɵɵlistener("click",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext().readKey()}),d.ɵɵtext(67),d.ɵɵpipe(68,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(69,"\n "),d.ɵɵtemplate(70,j,4,0,"ng-container",25),d.ɵɵtext(71,"\n "),d.ɵɵtemplate(72,N,8,3,"ng-container",25),d.ɵɵtext(73,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(74,"\n "),d.ɵɵelementStart(75,"div",26),d.ɵɵtext(76,"\n "),d.ɵɵelementStart(77,"button",27),d.ɵɵtext(78,"\n "),d.ɵɵtemplate(79,z,2,3,"i",28),d.ɵɵtext(80,"\n "),d.ɵɵtemplate(81,L,3,3,"span",25),d.ɵɵtext(82,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(83,"\n "),d.ɵɵtemplate(84,G,10,8,"button",29),d.ɵɵtext(85,"\n "),d.ɵɵelementStart(86,"button",30),d.ɵɵtext(87),d.ɵɵpipe(88,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(89,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(90,"\n "),d.ɵɵelementEnd()}if(2&e){var r=d.ɵɵreference(1),i=d.ɵɵreference(66),a=d.ɵɵnextContext();d.ɵɵproperty("appApiAction",a.formPromise),d.ɵɵadvance(5),d.ɵɵproperty("ngIf",a.enabled),d.ɵɵadvance(5),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(11,23,"twoFactorU2fWarning")),d.ɵɵadvance(6),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(17,25,"twoFactorU2fSupportWeb")),d.ɵɵadvance(9),d.ɵɵproperty("ngForOf",a.keys),d.ɵɵadvance(6),d.ɵɵtextInterpolate1("",d.ɵɵpipeBind1(32,27,"twoFactorU2fAdd"),":"),d.ɵɵadvance(6),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(38,29,"twoFactorU2fGiveName")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(42,31,"twoFactorU2fPlugInReadKey")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(46,33,"twoFactorU2fTouchButton")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(50,35,"twoFactorU2fSaveForm")),d.ɵɵadvance(9),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(59,37,"name")),d.ɵɵadvance(3),d.ɵɵproperty("ngModel",a.name)("disabled",!a.keyIdAvailable),d.ɵɵadvance(4),d.ɵɵproperty("disabled",i.loading||a.u2fListening||!a.keyIdAvailable)("appApiAction",a.challengePromise),d.ɵɵadvance(2),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(68,39,"readKey"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",i.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!i.loading),d.ɵɵadvance(5),d.ɵɵproperty("disabled",r.loading||!a.u2fResponse),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",r.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!r.loading),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",a.enabled),d.ɵɵadvance(3),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(88,41,"close"))}}var q=function(e){function t(t,n,r,i,a,o){var l=e.call(this,t,n,r,i,a)||this;return l.ngZone=o,l.type=s.TwoFactorProviderType.U2f,l.keyIdAvailable=null,l.keysConfiguredCount=0,l.u2fScript=window.document.createElement("script"),l.u2fScript.src="scripts/u2f.js",l.u2fScript.async=!0,l}return i(t,e),t.prototype.ngOnInit=function(){window.document.body.appendChild(this.u2fScript)},t.prototype.ngOnDestroy=function(){window.document.body.removeChild(this.u2fScript)},t.prototype.auth=function(t){e.prototype.auth.call(this,t),this.processResponse(t.response)},t.prototype.submit=function(){var t=this;if(null==this.u2fResponse||null==this.keyIdAvailable)return Promise.reject();var n=new p.UpdateTwoFactorU2fRequest;return n.masterPasswordHash=this.masterPasswordHash,n.deviceResponse=this.u2fResponse,n.id=this.keyIdAvailable,n.name=this.name,e.prototype.enable.call(this,function(){return a(t,void 0,void 0,function(){var e;return o(this,function(t){switch(t.label){case 0:return this.formPromise=this.apiService.putTwoFactorU2f(n),[4,this.formPromise];case 1:return e=t.sent(),[4,this.processResponse(e)];case 2:return t.sent(),[2]}})})})},t.prototype.disable=function(){return e.prototype.disable.call(this,this.formPromise)},t.prototype.remove=function(e){return a(this,void 0,void 0,function(){var t,n,r;return o(this,function(i){switch(i.label){case 0:return this.keysConfiguredCount<=1||null!=e.removePromise?[2]:(t=null!=e.name?e.name:this.i18nService.t("u2fkeyX",e.id),[4,this.platformUtilsService.showDialog(this.i18nService.t("removeU2fConfirmation"),t,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]);case 1:if(!i.sent())return[2];(n=new c.UpdateTwoFactorU2fDeleteRequest).id=e.id,n.masterPasswordHash=this.masterPasswordHash,i.label=2;case 2:return i.trys.push([2,5,,6]),e.removePromise=this.apiService.deleteTwoFactorU2f(n),[4,e.removePromise];case 3:return r=i.sent(),e.removePromise=null,[4,this.processResponse(r)];case 4:return i.sent(),[3,6];case 5:return i.sent(),[3,6];case 6:return[2]}})})},t.prototype.readKey=function(){return a(this,void 0,void 0,function(){var e,t;return o(this,function(n){switch(n.label){case 0:if(null==this.keyIdAvailable)return[2];(e=new l.PasswordVerificationRequest).masterPasswordHash=this.masterPasswordHash,n.label=1;case 1:return n.trys.push([1,3,,4]),this.challengePromise=this.apiService.getTwoFactorU2fChallenge(e),[4,this.challengePromise];case 2:return t=n.sent(),this.readDevice(t),[3,4];case 3:return n.sent(),[3,4];case 4:return[2]}})})},t.prototype.readDevice=function(e){var t=this;console.log("listening for key..."),this.resetU2f(!0),window.u2f.register(e.appId,[{version:e.version,challenge:e.challenge}],[],function(e){t.ngZone.run(function(){if(t.u2fListening=!1,e.errorCode)return t.u2fError=!0,void console.log("error: "+e.errorCode);t.u2fResponse=JSON.stringify(e)})},15)},t.prototype.resetU2f=function(e){void 0===e&&(e=!1),this.u2fResponse=null,this.u2fError=!1,this.u2fListening=e},t.prototype.processResponse=function(e){this.resetU2f(),this.keys=[],this.keyIdAvailable=null,this.name=null,this.keysConfiguredCount=0;for(var t=function(t){if(null!=e.keys){var r=e.keys.filter(function(e){return e.id===t});if(r.length>0)return n.keysConfiguredCount++,n.keys.push({id:t,name:r[0].name,configured:!0,compromised:r[0].compromised,removePromise:null}),"continue"}n.keys.push({id:t,name:null,configured:!1,compromised:!1,removePromise:null}),null==n.keyIdAvailable&&(n.keyIdAvailable=t)},n=this,r=1;r<=5;r++)t(r);this.enabled=e.enabled},t.ɵfac=function(e){return new(e||t)(d.ɵɵdirectiveInject(m.ApiService),d.ɵɵdirectiveInject(h.I18nService),d.ɵɵdirectiveInject(f.Angulartics2),d.ɵɵdirectiveInject(v.ToasterService),d.ɵɵdirectiveInject(y.PlatformUtilsService),d.ɵɵdirectiveInject(d.NgZone))},t.ɵcmp=d.ɵɵdefineComponent({type:t,selectors:[["app-two-factor-u2f"]],features:[d.ɵɵInheritDefinitionFeature],decls:30,vars:8,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","2faU2fTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],["id","2faU2fTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[3,"organizationId","type","onAuthed",4,"ngIf"],["ngNativeValidate","",3,"appApiAction","ngSubmit",4,"ngIf"],[3,"organizationId","type","onAuthed"],["ngNativeValidate","",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-body"],["type","success","icon","fa-check-circle",3,"title",4,"ngIf"],["type","warning"],[1,"mb-0"],["src","images/4.png","alt","",1,"float-right","ml-5"],[1,"fa-ul"],[3,"appApiAction",4,"ngFor","ngForOf"],[1,"row"],[1,"form-group","col-6"],["for","name"],["id","name","type","text","name","Name",1,"form-control",3,"ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-secondary","mr-2",3,"disabled","appApiAction","click"],["readKeyBtn",""],[4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fa fa-spinner fa-spin","aria-hidden","true",3,"title",4,"ngIf"],["type","button","class","btn btn-outline-secondary btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["type","success","icon","fa-check-circle",3,"title"],[3,"appApiAction"],["removeKeyBtn",""],[1,"fa-li","fa","fa-key"],["aria-hidden","true",1,"fa","fa-fw","fa-exclamation-triangle","text-warning",3,"title"],[1,"sr-only"],["aria-hidden","true",1,"fa","fa-fw","fa-check","text-success",3,"title"],["class","fa fa-spin fa-spinner text-muted fa-fw","aria-hidden","true",3,"title",4,"ngIf"],["href","#","appStopClick","",3,"click"],["aria-hidden","true",1,"fa","fa-spin","fa-spinner","text-muted","fa-fw",3,"title"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted"],["aria-hidden","true",1,"fa","fa-check-circle","text-success"],["aria-hidden","true",1,"fa","fa-warning","text-danger"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button",1,"btn","btn-outline-secondary","btn-submit",3,"appApiAction","disabled","click"],["disableBtn",""]],template:function(e,t){1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"div",2),d.ɵɵtext(5,"\n "),d.ɵɵelementStart(6,"div",3),d.ɵɵtext(7,"\n "),d.ɵɵelementStart(8,"h2",4),d.ɵɵtext(9),d.ɵɵpipe(10,"i18n"),d.ɵɵelementStart(11,"small"),d.ɵɵtext(12,"FIDO U2F"),d.ɵɵelementEnd(),d.ɵɵtext(13,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"button",5),d.ɵɵpipe(16,"i18n"),d.ɵɵtext(17,"\n "),d.ɵɵelementStart(18,"span",6),d.ɵɵtext(19,"×"),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(21,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(22,"\n "),d.ɵɵtemplate(23,P,2,2,"app-two-factor-verify",7),d.ɵɵtext(24,"\n "),d.ɵɵtemplate(25,K,91,43,"form",8),d.ɵɵtext(26,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(27,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(28,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(29,"\n")),2&e&&(d.ɵɵadvance(9),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(10,4,"twoStepLogin"),"\n "),d.ɵɵadvance(6),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(16,6,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",!t.authed),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",t.authed))},directives:[g.A11yTitleDirective,x.NgIf,b.TwoFactorVerifyComponent,S.NgControlStatusGroup,S.NgForm,w.ApiActionDirective,C.CalloutComponent,x.NgForOf,S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,I.StopClickDirective],pipes:[E.I18nPipe],encapsulation:2}),t}(u.TwoFactorBaseComponent);t.TwoFactorU2fComponent=q},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?this.keys[0].key:null,n.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,n.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,n.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,n.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,n.nfc=this.nfc,e.prototype.enable.call(this,function(){return a(t,void 0,void 0,function(){var e;return o(this,function(t){switch(t.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(n),[4,this.formPromise];case 1:return e=t.sent(),[4,this.processResponse(e)];case 2:return t.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},t.prototype.disable=function(){return e.prototype.disable.call(this,this.disablePromise)},t.prototype.remove=function(e){e.existingKey=null,e.key=null},t.prototype.processResponse=function(e){this.enabled=e.enabled,this.keys=[{key:e.key1,existingKey:this.padRight(e.key1)},{key:e.key2,existingKey:this.padRight(e.key2)},{key:e.key3,existingKey:this.padRight(e.key3)},{key:e.key4,existingKey:this.padRight(e.key4)},{key:e.key5,existingKey:this.padRight(e.key5)}],this.nfc=e.nfc||!e.enabled},t.prototype.padRight=function(e,t,n){if(void 0===t&&(t="•"),void 0===n&&(n=44),null==e||null==t||e.length>=n)return e;for(var r=(n-e.length)/t.length,i=0;i0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&this.viewEvents(n[0]),null!=a&&a.unsubscribe(),[2]}})})}),null!=t&&t.unsubscribe(),[2]}})})})},e.prototype.ngOnDestroy=function(){this.broadcasterService.unsubscribe("OrgVaultComponent")},e.prototype.clearGroupingFilters=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return e.sent(),this.clearFilters(),this.go(),[2]}})})},e.prototype.filterCipherType=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),n=function(t){return t.type===e},t?[4,this.ciphersComponent.reload(n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(n)];case 3:r.sent(),r.label=4;case 4:return this.clearFilters(),this.type=e,this.go(),[2]}})})},e.prototype.filterCollection=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),n=function(t){return"unassigned"===e?null==t.collectionIds||0===t.collectionIds.length:null!=t.collectionIds&&t.collectionIds.indexOf(e)>-1},t?[4,this.ciphersComponent.reload(n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(n)];case 3:r.sent(),r.label=4;case 4:return this.clearFilters(),this.collectionId=e,this.go(),[2]}})})},e.prototype.filterDeleted=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.ciphersComponent.deleted=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchTrash"),e?[4,this.ciphersComponent.reload(null,!0)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(null)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.deleted=!0,this.go(),[2]}})})},e.prototype.filterSearchText=function(e){this.ciphersComponent.searchText=e,this.ciphersComponent.search(200)},e.prototype.editCipherAttachments=function(e){var t=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(n).instance;var a=this.modal.show(c.AttachmentsComponent,this.attachmentsModalRef);a.organization=this.organization,a.cipherId=e.id;var s=!1;a.onUploadedAttachment.subscribe(function(){return s=!0}),a.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:e.sent(),e.label=2;case 2:return s=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:e.organizationId})},e.prototype.editCipherCollections=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(n).instance;var a=this.modal.show(u.CollectionsComponent,this.collectionsModalRef);this.organization.canManageAllCollections&&(a.collectionIds=e.collectionIds,a.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),a.organization=this.organization,a.cipherId=e.id,a.onSavedCollections.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.addCipher=function(){var e=this.editCipher(null);e.organizationId=this.organization.id,e.type=this.type,this.organization.canManageAllCollections&&(e.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),null!=this.collectionId&&(e.collectionIds=[this.collectionId])},e.prototype.editCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(n).instance;var a=this.modal.show(l.AddEditComponent,this.cipherAddEditModalRef);return a.organization=this.organization,a.cipherId=null==e?null:e.id,a.onSavedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),a.onDeletedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),a.onRestoredCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){t.modal=null}),a},e.prototype.cloneCipher=function(e){var t=this.editCipher(e);t.cloneMode=!0,t.organizationId=this.organization.id,this.organization.canManageAllCollections&&(t.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),t.collectionIds=e.collectionIds},e.prototype.viewEvents=function(e){return r(this,void 0,void 0,function(){var t,n,r=this;return i(this,function(i){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.eventsModalRef.createComponent(t).instance,(n=this.modal.show(s.EntityEventsComponent,this.eventsModalRef)).name=e.name,n.organizationId=this.organization.id,n.entityId=e.id,n.showUser=!0,n.entity="cipher",this.modal.onClosed.subscribe(function(){r.modal=null}),[2]})})},e.prototype.clearFilters=function(){this.collectionId=null,this.type=null,this.deleted=!1},e.prototype.go=function(e){void 0===e&&(e=null),null==e&&(e={type:this.type,collectionId:this.collectionId,deleted:!!this.deleted||null}),this.router.navigate([],{relativeTo:this.route,queryParams:e,replaceUrl:!0})},e.ɵfac=function(t){return new(t||e)(m.ɵɵdirectiveInject(h.ActivatedRoute),m.ɵɵdirectiveInject(f.UserService),m.ɵɵdirectiveInject(h.Router),m.ɵɵdirectiveInject(m.ChangeDetectorRef),m.ɵɵdirectiveInject(v.SyncService),m.ɵɵdirectiveInject(y.I18nService),m.ɵɵdirectiveInject(m.ComponentFactoryResolver),m.ɵɵdirectiveInject(g.MessagingService),m.ɵɵdirectiveInject(x.BroadcasterService),m.ɵɵdirectiveInject(m.NgZone))},e.ɵcmp=m.ɵɵdefineComponent({type:e,selectors:[["app-org-vault"]],viewQuery:function(e,t){var n;(1&e&&(m.ɵɵstaticViewQuery(d.GroupingsComponent,!0),m.ɵɵstaticViewQuery(p.CiphersComponent,!0),m.ɵɵstaticViewQuery(P,!0,a.ViewContainerRef),m.ɵɵstaticViewQuery(k,!0,a.ViewContainerRef),m.ɵɵstaticViewQuery(_,!0,a.ViewContainerRef),m.ɵɵstaticViewQuery(A,!0,a.ViewContainerRef)),2&e)&&(m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.groupingsComponent=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.ciphersComponent=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.attachmentsModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.cipherAddEditModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.collectionsModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.eventsModalRef=n.first))},decls:51,vars:13,consts:[[1,"container","page-content"],[1,"row"],[1,"col-3"],[3,"showFolders","showFavorites","showTrash","onAllClicked","onCipherTypeClicked","onCollectionClicked","onSearchTextChanged","onTrashClicked"],[1,"col-9"],[1,"page-header","d-flex"],[3,"appApiAction"],["actionSpinner",""],[4,"ngIf"],[1,"ml-auto","d-flex"],[3,"ciphersComponent","modal","deleted","organization"],["type","button","class","btn btn-outline-primary btn-sm ml-auto",3,"click",4,"ngIf"],[3,"onCipherClicked","onAttachmentsClicked","onAddCipher","onCollectionsClicked","onEventsClicked","onCloneClicked"],["attachments",""],["cipherAddEdit",""],["collections",""],["eventsTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","button",1,"btn","btn-outline-primary","btn-sm","ml-auto",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"]],template:function(e,t){if(1&e&&(m.ɵɵelementStart(0,"div",0),m.ɵɵtext(1,"\n "),m.ɵɵelementStart(2,"div",1),m.ɵɵtext(3,"\n "),m.ɵɵelementStart(4,"div",2),m.ɵɵtext(5,"\n "),m.ɵɵelementStart(6,"app-org-vault-groupings",3),m.ɵɵlistener("onAllClicked",function(){return t.clearGroupingFilters()})("onCipherTypeClicked",function(e){return t.filterCipherType(e)})("onCollectionClicked",function(e){return t.filterCollection(e.id)})("onSearchTextChanged",function(e){return t.filterSearchText(e)})("onTrashClicked",function(){return t.filterDeleted()}),m.ɵɵtext(7,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(8,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(9,"\n "),m.ɵɵelementStart(10,"div",4),m.ɵɵtext(11,"\n "),m.ɵɵelementStart(12,"div",5),m.ɵɵtext(13,"\n "),m.ɵɵelementStart(14,"h1"),m.ɵɵtext(15),m.ɵɵpipe(16,"i18n"),m.ɵɵelementStart(17,"small",6,7),m.ɵɵtext(19,"\n "),m.ɵɵtemplate(20,O,9,6,"ng-container",8),m.ɵɵtext(21,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(22,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(23,"\n "),m.ɵɵelementStart(24,"div",9),m.ɵɵtext(25,"\n "),m.ɵɵelementStart(26,"app-vault-bulk-actions",10),m.ɵɵtext(27,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(28,"\n "),m.ɵɵtemplate(29,T,5,3,"button",11),m.ɵɵtext(30,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(31,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(32,"\n "),m.ɵɵelementStart(33,"app-org-vault-ciphers",12),m.ɵɵlistener("onCipherClicked",function(e){return t.editCipher(e)})("onAttachmentsClicked",function(e){return t.editCipherAttachments(e)})("onAddCipher",function(){return t.addCipher()})("onCollectionsClicked",function(e){return t.editCipherCollections(e)})("onEventsClicked",function(e){return t.viewEvents(e)})("onCloneClicked",function(e){return t.cloneCipher(e)}),m.ɵɵtext(34,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(35,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(36,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(37,"\n"),m.ɵɵelementEnd(),m.ɵɵtext(38,"\n"),m.ɵɵtemplate(39,M,0,0,"ng-template",null,13,m.ɵɵtemplateRefExtractor),m.ɵɵtext(41,"\n"),m.ɵɵtemplate(42,B,0,0,"ng-template",null,14,m.ɵɵtemplateRefExtractor),m.ɵɵtext(44,"\n"),m.ɵɵtemplate(45,D,0,0,"ng-template",null,15,m.ɵɵtemplateRefExtractor),m.ɵɵtext(47,"\n"),m.ɵɵtemplate(48,V,0,0,"ng-template",null,16,m.ɵɵtemplateRefExtractor),m.ɵɵtext(50,"\n")),2&e){var n=m.ɵɵreference(18);m.ɵɵadvance(6),m.ɵɵproperty("showFolders",!1)("showFavorites",!1)("showTrash",!0),m.ɵɵadvance(9),m.ɵɵtextInterpolate1("\n ",m.ɵɵpipeBind1(16,11,"vault"),"\n "),m.ɵɵadvance(2),m.ɵɵproperty("appApiAction",t.ciphersComponent.actionPromise),m.ɵɵadvance(3),m.ɵɵproperty("ngIf",n.loading),m.ɵɵadvance(6),m.ɵɵproperty("ciphersComponent",t.ciphersComponent)("modal",t.modal)("deleted",t.deleted)("organization",t.organization),m.ɵɵadvance(3),m.ɵɵproperty("ngIf",!t.deleted)}},directives:[b.GroupingsComponent,S.ApiActionDirective,w.NgIf,C.BulkActionsComponent,I.CiphersComponent],pipes:[E.I18nPipe],encapsulation:2}),e}();t.VaultComponent=j},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];i.label=1;case 1:return i.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(t[0]),n=this,[4,this.formPromise];case 2:return n.cipherDomain=i.sent(),r=this,[4,this.cipherDomain.decrypt()];case 3:return r.cipher=i.sent(),this.platformUtilsService.eventTrack("Added Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return i.sent(),[3,5];case 5:return e.type="",e.type="file",e.value="",[2]}})})},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return null!=this.deletePromises[e.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(!n.sent())return[2];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromises[e.id]=this.deleteCipherAttachment(e.id),[4,this.deletePromises[e.id]];case 3:return n.sent(),this.platformUtilsService.eventTrack("Deleted Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedAttachment")),(t=this.cipher.attachments.indexOf(e))>-1&&this.cipher.attachments.splice(t,1),[3,5];case 4:return n.sent(),[3,5];case 5:return this.deletePromises[e.id]=null,this.onDeletedAttachment.emit(),[2]}})})},e.prototype.download=function(e){return r(this,void 0,void 0,function(){var t,n,r,a,o,s;return i(this,function(i){switch(i.label){case 0:return(t=e).downloading?[2]:this.canAccessAttachments?(t.downloading=!0,[4,fetch(new Request(e.url,{cache:"no-store"}))]):(this.platformUtilsService.showToast("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(n=i.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),t.downloading=!1,[2];i.label=2;case 2:return i.trys.push([2,8,,9]),[4,n.arrayBuffer()];case 3:return r=i.sent(),null==e.key?[3,4]:(o=e.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:o=i.sent(),i.label=6;case 6:return a=o,[4,this.cryptoService.decryptFromBytes(r,a)];case 7:return s=i.sent(),this.platformUtilsService.saveFile(this.win,s,null,e.fileName),[3,9];case 8:return i.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,9];case 9:return t.downloading=!1,[2]}})})},e.prototype.init=function(){return r(this,void 0,void 0,function(){var e,t,n,r;return i(this,function(i){switch(i.label){case 0:return e=this,[4,this.loadCipher()];case 1:return e.cipherDomain=i.sent(),t=this,[4,this.cipherDomain.decrypt()];case 2:return t.cipher=i.sent(),n=this,[4,this.cryptoService.hasEncKey()];case 3:return n.hasUpdatedKey=i.sent(),[4,this.userService.canAccessPremium()];case 4:return r=i.sent(),this.canAccessAttachments=r||null!=this.cipher.organizationId,this.canAccessAttachments?[3,6]:[4,this.platformUtilsService.showDialog(this.i18nService.t("premiumRequiredDesc"),this.i18nService.t("premiumRequired"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"))];case 5:return i.sent()&&this.platformUtilsService.launchUri("https://vault.bitwarden.com/#/?premium=purchase"),[3,8];case 6:return this.hasUpdatedKey?[3,8]:[4,this.platformUtilsService.showDialog(this.i18nService.t("updateKey"),this.i18nService.t("featureUnavailable"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"),"warning")];case 7:i.sent()&&this.platformUtilsService.launchUri("https://help.bitwarden.com/article/update-encryption-key/"),i.label=8;case 8:return[2]}})})},e.prototype.reuploadCipherAttachment=function(e,t){return r(this,void 0,void 0,function(){var n,a=this;return i(this,function(o){switch(o.label){case 0:if(n=e,null!=e.key||n.downloading||null!=this.reuploadPromises[e.id])return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),this.reuploadPromises[e.id]=Promise.resolve().then(function(){return r(a,void 0,void 0,function(){var r,a,o,s,l,c,p,u,d;return i(this,function(i){switch(i.label){case 0:return n.downloading=!0,[4,fetch(new Request(e.url,{cache:"no-store"}))];case 1:if(200!==(r=i.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),n.downloading=!1,[2];i.label=2;case 2:return i.trys.push([2,11,,12]),[4,r.arrayBuffer()];case 3:return a=i.sent(),null==e.key?[3,4]:(s=e.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:s=i.sent(),i.label=6;case 6:return o=s,[4,this.cryptoService.decryptFromBytes(a,o)];case 7:return l=i.sent(),c=this,[4,this.cipherService.saveAttachmentRawWithServer(this.cipherDomain,e.fileName,l,t)];case 8:return c.cipherDomain=i.sent(),p=this,[4,this.cipherDomain.decrypt()];case 9:return p.cipher=i.sent(),this.deletePromises[e.id]=this.deleteCipherAttachment(e.id),[4,this.deletePromises[e.id]];case 10:return i.sent(),(u=this.cipher.attachments.filter(function(t){return t.id===e.id})).length>0&&(d=this.cipher.attachments.indexOf(u[0]))>-1&&this.cipher.attachments.splice(d,1),this.platformUtilsService.eventTrack("Reuploaded Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onReuploadedAttachment.emit(),[3,12];case 11:return i.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,12];case 12:return n.downloading=!1,[2]}})})}),[4,this.reuploadPromises[e.id]];case 2:return o.sent(),[3,4];case 3:return o.sent(),[3,4];case 4:return[2]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.saveCipherAttachment=function(e){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,e)},e.prototype.deleteCipherAttachment=function(e){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,e)},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(s.CipherService),o.ɵɵdirectiveInject(l.I18nService),o.ɵɵdirectiveInject(c.CryptoService),o.ɵɵdirectiveInject(p.UserService),o.ɵɵdirectiveInject(u.PlatformUtilsService),o.ɵɵdirectiveInject(Window))},e.ɵdir=o.ɵɵdefineDirective({type:e,inputs:{cipherId:"cipherId"},outputs:{onUploadedAttachment:"onUploadedAttachment",onDeletedAttachment:"onDeletedAttachment",onReuploadedAttachment:"onReuploadedAttachment"}}),e}();t.AttachmentsComponent=d},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},e.prototype.ngOnDestroy=function(){this.selectAll(!1)},e.prototype.filterCollections=function(){var e=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(t){return t.organizationId===e.organizationId})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:e=this.collections.filter(function(e){return e.checked}).map(function(e){return e.id}),t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,e),[4,this.formPromise];case 2:return t.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t},e.prototype.selectAll=function(e){var t=this;(e?this.collections:this.writeableCollections).forEach(function(n){return t.check(n,e)})},Object.defineProperty(e.prototype,"canSave",{get:function(){if(null!=this.shareableCiphers&&this.shareableCiphers.length>0&&null!=this.collections)for(var e=0;e0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=this.maxAccessCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expired",{get:function(){return null!=this.expirationDate&&this.expirationDate<=new Date},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pendingDelete",{get:function(){return this.deletionDate<=new Date},enumerable:!0,configurable:!0}),e}();t.SendView=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var L=function(e){function t(t,n,r,i,a,o,s,l,c,p,u){var d=e.call(this,t,n,r,i,a,o,s)||this;return d.folderService=l,d.cipherService=c,d.syncService=p,d.apiService=u,d.rotateEncKey=!1,d}return i(t,e),t.prototype.rotateEncKeyClicked=function(){return a(this,void 0,void 0,function(){var e,t,n;return o(this,function(r){switch(r.label){case 0:return this.rotateEncKey?[4,this.cipherService.getAllDecrypted()]:[3,5];case 1:if(e=r.sent(),t=!1,null!=e)for(n=0;n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0),o.ɵɵadvance(2),o.ɵɵproperty("disabled",n.loading),o.ɵɵadvance(2),o.ɵɵpropertyInterpolate("title",o.ɵɵpipeBind1(43,27,"loading")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(47,29,"save"))}},directives:[u.NgControlStatusGroup,u.NgForm,d.ApiActionDirective,m.NgIf,m.NgForOf,u.DefaultValueAccessor,u.RequiredValidator,u.NgControlStatus,u.NgModel,h.A11yTitleDirective,m.NgClass,f.StopClickDirective],pipes:[v.I18nPipe],encapsulation:2}),e}();t.DomainRulesComponent=P},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1?"×"+n.quantity:""," @ ",a.ɵɵpipeBind2(4,5,n.amount,"$"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate2("\n ",a.ɵɵpipeBind2(8,8,n.quantity*n.amount,"$")," /",a.ɵɵpipeBind1(9,11,n.interval),"\n ")}}function A(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",16),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"strong",17),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"table",18),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"tbody"),a.ɵɵtext(9,"\n "),a.ɵɵtemplate(10,_,11,13,"tr",19),a.ɵɵtext(11,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,2,"details")),a.ɵɵadvance(7),a.ɵɵproperty("ngForOf",n.subscription.items)}}function O(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",10),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",11),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"dl"),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"dt"),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"dd"),a.ɵɵtext(11,"\n "),a.ɵɵelementStart(12,"span",12),a.ɵɵtext(13),a.ɵɵelementEnd(),a.ɵɵtext(14,"\n "),a.ɵɵtemplate(15,k,3,3,"span",13),a.ɵɵtext(16,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(17,"\n "),a.ɵɵelementStart(18,"dt"),a.ɵɵtext(19),a.ɵɵpipe(20,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(21,"\n "),a.ɵɵelementStart(22,"dd"),a.ɵɵtext(23),a.ɵɵpipe(24,"date"),a.ɵɵpipe(25,"currency"),a.ɵɵelementEnd(),a.ɵɵtext(26,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(27,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(28,"\n "),a.ɵɵtemplate(29,A,14,4,"div",14),a.ɵɵtext(30,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(7),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(8,6,"status")),a.ɵɵadvance(6),a.ɵɵtextInterpolate(n.subscription&&n.subscription.status||"-"),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(20,8,"nextCharge")),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("",n.nextInvoice?a.ɵɵpipeBind2(24,10,n.nextInvoice.date,"mediumDate")+", "+a.ɵɵpipeBind2(25,13,n.nextInvoice.amount,"$"):"-","\n "),a.ɵɵadvance(6),a.ɵɵproperty("ngIf",n.subscription)}}function T(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",23),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",24),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"button",25),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!1)}),a.ɵɵpipe(5,"i18n"),a.ɵɵelementStart(6,"span",26),a.ɵɵtext(7,"×"),a.ɵɵelementEnd(),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementStart(9,"h3",27),a.ɵɵtext(10),a.ɵɵpipe(11,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementStart(13,"app-update-license",28),a.ɵɵlistener("onUpdated",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!1)}),a.ɵɵtext(14,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(15,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(16,"\n "),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(4),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(5,2,"cancel")),a.ɵɵadvance(6),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(11,4,"updateLicense")))}function M(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div"),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"button",20),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(2).updateLicense()}),a.ɵɵtext(5),a.ɵɵpipe(6,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"a",21),a.ɵɵtext(9),a.ɵɵpipe(10,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(11,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,T,17,6,"div",22),a.ɵɵtext(14,"\n "),a.ɵɵelementContainerEnd()}if(2&e){var r=a.ɵɵnextContext(2);a.ɵɵadvance(5),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(6,3,"updateLicense"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(10,5,"manageSubscription"),"\n "),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",r.showUpdateLicense)}}function B(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",20),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).downloadLicense()}),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"downloadLicense"),"\n "))}function D(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",35,36),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).cancel()}),a.ɵɵtext(2,"\n "),a.ɵɵelement(3,"i",9),a.ɵɵpipe(4,"i18n"),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"span"),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵreference(1),i=a.ɵɵnextContext(3);a.ɵɵproperty("appApiAction",i.cancelPromise)("disabled",r.loading),a.ɵɵadvance(3),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(4,4,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(8,6,"cancelSubscription"))}}function V(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",29),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"button",20),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustStorage(!0)}),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"button",40),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustStorage(!1)}),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(3),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(4,2,"addStorage"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(8,4,"removeStorage"),"\n "))}function j(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-adjust-storage",41),a.ɵɵlistener("onAdjusted",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeStorage(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeStorage(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(4);a.ɵɵproperty("storageGbPrice",4)("add",r.adjustStorageAdd)}}function R(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",37),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,V,10,6,"div",38),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,j,1,2,"app-adjust-storage",39),a.ɵɵtext(7,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showAdjustStorage),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showAdjustStorage)}}var F=function(e){return{width:e}};function U(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",29),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,B,3,3,"button",30),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,D,10,8,"button",31),a.ɵɵtext(7,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementStart(9,"h2",32),a.ɵɵtext(10),a.ɵɵpipe(11,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementStart(13,"p"),a.ɵɵtext(14),a.ɵɵpipe(15,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(16,"\n "),a.ɵɵelementStart(17,"div",33),a.ɵɵtext(18,"\n "),a.ɵɵelementStart(19,"div",34),a.ɵɵtext(20),a.ɵɵpipe(21,"percent"),a.ɵɵelementEnd(),a.ɵɵtext(22,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(23,"\n "),a.ɵɵtemplate(24,R,9,2,"ng-container",1),a.ɵɵtext(25,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.subscription||!n.subscription.cancelled),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(11,8,"storage")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind3(15,10,"subscriptionStorage",n.sub.maxStorageGb||0,n.sub.storageName||"0 MB")),a.ɵɵadvance(5),a.ɵɵproperty("ngStyle",a.ɵɵpureFunction1(16,F,n.storageProgressWidth+"%")),a.ɵɵattribute("aria-valuenow",n.storagePercentage),a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(21,14,n.storagePercentage/100),""),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel)}}function N(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵtemplate(2,w,4,6,"app-callout",4),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,C,18,14,"app-callout",4),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,P,10,5,"dl",1),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,O,31,16,"div",5),a.ɵɵtext(9,"\n "),a.ɵɵtemplate(10,M,15,7,"ng-container",1),a.ɵɵtext(11,"\n "),a.ɵɵtemplate(12,U,26,18,"ng-container",1),a.ɵɵtext(13,"\n"),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext();a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription&&n.subscription.cancelled),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!n.selfHosted)}}var z=function(){function e(e,t,n,r,i,a,o){this.tokenService=e,this.apiService=t,this.platformUtilsService=n,this.i18nService=r,this.analytics=i,this.toasterService=a,this.router=o,this.loading=!1,this.firstLoaded=!1,this.adjustStorageAdd=!0,this.showAdjustStorage=!1,this.showUpdateLicense=!1,this.selfHosted=!1,this.selfHosted=n.isSelfHost()}return e.prototype.ngOnInit=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.load()];case 1:return e.sent(),this.firstLoaded=!0,[2]}})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.loading?[2]:this.tokenService.getPremium()?(this.loading=!0,e=this,[4,this.apiService.getUserSubscription()]):[3,2];case 1:return e.sub=t.sent(),[3,3];case 2:return this.router.navigate(["/settings/premium"]),[2];case 3:return this.loading=!1,[2]}})})},e.prototype.reinstate=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:this.usingInAppPurchase?(this.platformUtilsService.showDialog(this.i18nService.t("manageSubscriptionFromStore"),this.i18nService.t("cancelSubscription"),null,null,"warning"),[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("reinstateConfirmation"),this.i18nService.t("reinstateSubscription"),this.i18nService.t("yes"),this.i18nService.t("cancel"))];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.reinstatePromise=this.apiService.postReinstatePremium(),[4,this.reinstatePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Reinstated Premium"}),this.toasterService.popAsync("success",null,this.i18nService.t("reinstated")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.cancel=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:this.usingInAppPurchase?(this.platformUtilsService.showDialog(this.i18nService.t("manageSubscriptionFromStore"),this.i18nService.t("cancelSubscription"),null,null,"warning"),[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("cancelConfirmation"),this.i18nService.t("cancelSubscription"),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.cancelPromise=this.apiService.postCancelPremium(),[4,this.cancelPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Canceled Premium"}),this.toasterService.popAsync("success",null,this.i18nService.t("canceledSubscription")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.downloadLicense=function(){if(!this.loading){var e=JSON.stringify(this.sub.license,null,2);this.platformUtilsService.saveFile(window,e,null,"bitwarden_premium_license.json")}},e.prototype.updateLicense=function(){this.loading||(this.showUpdateLicense=!0)},e.prototype.closeUpdateLicense=function(e){this.showUpdateLicense=!1,e&&this.load()},e.prototype.adjustStorage=function(e){this.usingInAppPurchase?this.platformUtilsService.showDialog(this.i18nService.t("cannotPerformInAppPurchase"),this.i18nService.t(e?"addStorage":"removeStorage"),null,null,"warning"):(this.adjustStorageAdd=e,this.showAdjustStorage=!0)},e.prototype.closeStorage=function(e){this.showAdjustStorage=!1,e&&this.load()},Object.defineProperty(e.prototype,"subscriptionMarkedForCancel",{get:function(){return null!=this.subscription&&!this.subscription.cancelled&&this.subscription.cancelAtEndDate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subscription",{get:function(){return null!=this.sub?this.sub.subscription:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"nextInvoice",{get:function(){return null!=this.sub?this.sub.upcomingInvoice:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storagePercentage",{get:function(){return null!=this.sub&&this.sub.maxStorageGb?+(this.sub.storageGb/this.sub.maxStorageGb*100).toFixed(2):0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storageProgressWidth",{get:function(){return this.storagePercentage<5?5:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"usingInAppPurchase",{get:function(){return null!=this.sub&&this.sub.usingInAppPurchase},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(o.TokenService),a.ɵɵdirectiveInject(s.ApiService),a.ɵɵdirectiveInject(l.PlatformUtilsService),a.ɵɵdirectiveInject(c.I18nService),a.ɵɵdirectiveInject(p.Angulartics2),a.ɵɵdirectiveInject(u.ToasterService),a.ɵɵdirectiveInject(d.Router))},e.ɵcmp=a.ɵɵdefineComponent({type:e,selectors:[["app-user-subscription"]],decls:13,vars:6,consts:[[1,"page-header"],[4,"ngIf"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","warning",3,"title",4,"ngIf"],["class","row",4,"ngIf"],["type","warning",3,"title"],["type","button",1,"btn","btn-outline-secondary","btn-submit",3,"appApiAction","disabled","click"],["reinstateBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"row"],[1,"col-4"],[1,"text-capitalize"],["class","badge badge-warning",4,"ngIf"],["class","col-8",4,"ngIf"],[1,"badge","badge-warning"],[1,"col-8"],[1,"d-block","mb-1"],[1,"table"],[4,"ngFor","ngForOf"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["href","https://vault.bitwarden.com/#/settings/subscription","target","_blank","rel","noopener",1,"btn","btn-outline-secondary"],["class","card mt-3",4,"ngIf"],[1,"card","mt-3"],[1,"card-body"],["type","button",1,"close",3,"appA11yTitle","click"],["aria-hidden","true"],[1,"card-body-header"],[3,"onUpdated","onCanceled"],[1,"d-flex"],["type","button","class","btn btn-outline-secondary",3,"click",4,"ngIf"],["type","button","class","btn btn-outline-danger btn-submit ml-auto",3,"appApiAction","disabled","click",4,"ngIf"],[1,"spaced-header"],[1,"progress"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",1,"progress-bar","bg-success",3,"ngStyle"],["type","button",1,"btn","btn-outline-danger","btn-submit","ml-auto",3,"appApiAction","disabled","click"],["cancelBtn",""],[1,"mt-3"],["class","d-flex",4,"ngIf"],[3,"storageGbPrice","add","onAdjusted","onCanceled",4,"ngIf"],["type","button",1,"ml-1","btn","btn-outline-secondary",3,"click"],[3,"storageGbPrice","add","onAdjusted","onCanceled"]],template:function(e,t){1&e&&(a.ɵɵelementStart(0,"div",0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"h1"),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵtemplate(5,b,9,6,"small",1),a.ɵɵtext(6,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(7,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n"),a.ɵɵtemplate(9,S,9,6,"ng-container",1),a.ɵɵtext(10,"\n"),a.ɵɵtemplate(11,N,14,6,"ng-container",1),a.ɵɵtext(12,"\n")),2&e&&(a.ɵɵadvance(3),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(4,4,"premiumMembership"),"\n "),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",t.firstLoaded&&t.loading),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!t.firstLoaded&&t.loading),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",t.sub))},directives:[m.NgIf,h.CalloutComponent,f.ApiActionDirective,m.NgForOf,v.A11yTitleDirective,y.UpdateLicenseComponent,m.NgStyle,g.AdjustStorageComponent],pipes:[x.I18nPipe,m.DatePipe,m.CurrencyPipe,m.PercentPipe],encapsulation:2}),e}();t.UserSubscriptionComponent=z},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1})];case 1:return t.sent(),this.clearFilters(),this.collectionId=e,this.go(),[2]}})})},e.prototype.filterSearchText=function(e){this.ciphersComponent.searchText=e,this.ciphersComponent.search(200)},e.prototype.editCipherAttachments=function(e){return r(this,void 0,void 0,function(){var t,n,a,s,l,c=this;return i(this,function(u){switch(u.label){case 0:return[4,this.userService.canAccessPremium()];case 1:return t=u.sent(),null!=e.organizationId||t?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==e.organizationId?[3,4]:[4,this.userService.getOrganization(e.organizationId)];case 3:if(null!=(n=u.sent())&&(null==n.maxStorageGb||0===n.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:e.organizationId}),[2];u.label=4;case 4:return null!=this.modal&&this.modal.close(),a=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(a).instance,(s=this.modal.show(p.AttachmentsComponent,this.attachmentsModalRef)).cipherId=e.id,l=!1,s.onUploadedAttachment.subscribe(function(){return l=!0}),s.onDeletedAttachment.subscribe(function(){return l=!0}),s.onReuploadedAttachment.subscribe(function(){return l=!0}),this.modal.onClosed.subscribe(function(){return r(c,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal=null,l?[4,this.ciphersComponent.refresh()]:[3,2];case 1:e.sent(),e.label=2;case 2:return l=!1,[2]}})})}),[2]}})})},e.prototype.shareCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.shareModalRef.createComponent(n).instance;var a=this.modal.show(f.ShareComponent,this.shareModalRef);a.cipherId=e.id,a.onSharedCipher.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.editCipherCollections=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(n).instance;var a=this.modal.show(d.CollectionsComponent,this.collectionsModalRef);a.cipherId=e.id,a.onSavedCollections.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.addFolder=function(){return r(this,void 0,void 0,function(){var e,t,n=this;return i(this,function(a){return null!=this.modal&&this.modal.close(),e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(e).instance,(t=this.modal.show(m.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,t.onSavedFolder.subscribe(function(){return r(n,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null}),[2]})})},e.prototype.editFolder=function(e){return r(this,void 0,void 0,function(){var t,n,a=this;return i(this,function(s){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(t).instance,(n=this.modal.show(m.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=e,n.onSavedFolder.subscribe(function(){return r(a,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[2]}})})}),n.onDeletedFolder.subscribe(function(){return r(a,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[4,this.filterFolder("none")];case 2:return e.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){a.modal=null}),[2]})})},e.prototype.addCipher=function(){var e=this,t=this.editCipher(null);if(t.type=this.type,t.folderId="none"===this.folderId?null:this.folderId,null!=this.collectionId){var n=this.groupingsComponent.collections.filter(function(t){return t.id===e.collectionId});n.length>0&&(t.organizationId=n[0].organizationId,t.collectionIds=[this.collectionId])}},e.prototype.editCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(n).instance;var a=this.modal.show(c.AddEditComponent,this.cipherAddEditModalRef);return a.cipherId=null==e?null:e.id,a.onSavedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),a.onDeletedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),a.onRestoredCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){t.modal=null}),a},e.prototype.cloneCipher=function(e){this.editCipher(e).cloneMode=!0},e.prototype.updateKey=function(){var e=this;null!=this.modal&&this.modal.close();var t=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(t).instance,this.modal.show(l.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){e.modal=null})},e.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null,this.deleted=!1},e.prototype.go=function(e){void 0===e&&(e=null),null==e&&(e={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId,deleted:!!this.deleted||null}),this.router.navigate([],{relativeTo:this.route,queryParams:e,replaceUrl:!0})},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.SyncService),v.ɵɵdirectiveInject(g.ActivatedRoute),v.ɵɵdirectiveInject(g.Router),v.ɵɵdirectiveInject(v.ChangeDetectorRef),v.ɵɵdirectiveInject(x.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(b.TokenService),v.ɵɵdirectiveInject(S.CryptoService),v.ɵɵdirectiveInject(w.MessagingService),v.ɵɵdirectiveInject(C.UserService),v.ɵɵdirectiveInject(I.PlatformUtilsService),v.ɵɵdirectiveInject(E.BroadcasterService),v.ɵɵdirectiveInject(v.NgZone))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["app-vault"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(h.GroupingsComponent,!0),v.ɵɵstaticViewQuery(u.CiphersComponent,!0),v.ɵɵstaticViewQuery(s.OrganizationsComponent,!0),v.ɵɵstaticViewQuery(j,!0,a.ViewContainerRef),v.ɵɵstaticViewQuery(R,!0,a.ViewContainerRef),v.ɵɵstaticViewQuery(F,!0,a.ViewContainerRef),v.ɵɵstaticViewQuery(U,!0,a.ViewContainerRef),v.ɵɵstaticViewQuery(N,!0,a.ViewContainerRef),v.ɵɵstaticViewQuery(z,!0,a.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.groupingsComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.ciphersComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.organizationsComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.attachmentsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.folderAddEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.cipherAddEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.shareModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.collectionsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.updateKeyModalRef=n.first))},decls:88,vars:20,consts:[[1,"container","page-content"],[1,"row"],[1,"col-3"],[3,"onAllClicked","onFavoritesClicked","onCipherTypeClicked","onFolderClicked","onAddFolder","onEditFolder","onCollectionClicked","onSearchTextChanged","onTrashClicked"],[1,"col-6"],[1,"page-header","d-flex"],[3,"appApiAction"],["actionSpinner",""],[4,"ngIf"],[1,"ml-auto","d-flex"],[3,"ciphersComponent","modal","deleted"],["type","button","class","btn btn-outline-primary btn-sm",3,"click",4,"ngIf"],[3,"onCipherClicked","onAttachmentsClicked","onAddCipher","onShareClicked","onCollectionsClicked","onCloneClicked"],["class","card border-warning mb-4",4,"ngIf"],["class","d-block mb-4",4,"ngIf"],[1,"d-block","mb-4"],["class","card border-success mb-4",4,"ngIf"],[1,"card"],[1,"card-header","d-flex"],["href","https://help.bitwarden.com/article/what-is-an-organization/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"card-body"],[3,"vault"],["attachments",""],["folderAddEdit",""],["cipherAddEdit",""],["share",""],["collections",""],["updateKeyTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","button",1,"btn","btn-outline-primary","btn-sm",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[1,"card","border-warning","mb-4"],[1,"card-header","bg-warning","text-white"],["aria-hidden","true",1,"fa","fa-warning","fa-fw"],["type","button",1,"btn","btn-block","btn-outline-secondary",3,"click"],["target","_blank","href","https://browser-update.org/update-browser.html","rel","noopener",1,"btn","btn-block","btn-outline-secondary"],[1,"card","border-success","mb-4"],[1,"card-header","bg-success","text-white"],["aria-hidden","true",1,"fa","fa-star","fa-fw"],["routerLink","/settings/premium",1,"btn","btn-block","btn-outline-secondary"]],template:function(e,t){if(1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"div",1),v.ɵɵtext(3,"\n "),v.ɵɵelementStart(4,"div",2),v.ɵɵtext(5,"\n "),v.ɵɵelementStart(6,"app-vault-groupings",3),v.ɵɵlistener("onAllClicked",function(){return t.clearGroupingFilters()})("onFavoritesClicked",function(){return t.filterFavorites()})("onCipherTypeClicked",function(e){return t.filterCipherType(e)})("onFolderClicked",function(e){return t.filterFolder(e.id)})("onAddFolder",function(){return t.addFolder()})("onEditFolder",function(e){return t.editFolder(e.id)})("onCollectionClicked",function(e){return t.filterCollection(e.id)})("onSearchTextChanged",function(e){return t.filterSearchText(e)})("onTrashClicked",function(){return t.filterDeleted()}),v.ɵɵtext(7,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(8,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(9,"\n "),v.ɵɵelementStart(10,"div",4),v.ɵɵtext(11,"\n "),v.ɵɵelementStart(12,"div",5),v.ɵɵtext(13,"\n "),v.ɵɵelementStart(14,"h1"),v.ɵɵtext(15),v.ɵɵpipe(16,"i18n"),v.ɵɵelementStart(17,"small",6,7),v.ɵɵtext(19,"\n "),v.ɵɵtemplate(20,L,9,6,"ng-container",8),v.ɵɵtext(21,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(22,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(23,"\n "),v.ɵɵelementStart(24,"div",9),v.ɵɵtext(25,"\n "),v.ɵɵelementStart(26,"app-vault-bulk-actions",10),v.ɵɵtext(27,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(28,"\n "),v.ɵɵtemplate(29,G,5,3,"button",11),v.ɵɵtext(30,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(31,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(32,"\n "),v.ɵɵelementStart(33,"app-vault-ciphers",12),v.ɵɵlistener("onCipherClicked",function(e){return t.editCipher(e)})("onAttachmentsClicked",function(e){return t.editCipherAttachments(e)})("onAddCipher",function(){return t.addCipher()})("onShareClicked",function(e){return t.shareCipher(e)})("onCollectionsClicked",function(e){return t.editCipherCollections(e)})("onCloneClicked",function(e){return t.cloneCipher(e)}),v.ɵɵtext(34,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(35,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(36,"\n "),v.ɵɵelementStart(37,"div",2),v.ɵɵtext(38,"\n "),v.ɵɵtemplate(39,K,19,9,"div",13),v.ɵɵtext(40,"\n "),v.ɵɵtemplate(41,q,1,0,"app-verify-email",14),v.ɵɵtext(42,"\n "),v.ɵɵelement(43,"app-send-info",15),v.ɵɵtext(44,"\n "),v.ɵɵtemplate(45,W,19,9,"div",13),v.ɵɵtext(46,"\n "),v.ɵɵtemplate(47,H,19,9,"div",16),v.ɵɵtext(48,"\n "),v.ɵɵelementStart(49,"div",17),v.ɵɵtext(50,"\n "),v.ɵɵelementStart(51,"div",18),v.ɵɵtext(52),v.ɵɵpipe(53,"i18n"),v.ɵɵelementStart(54,"a",19),v.ɵɵpipe(55,"i18n"),v.ɵɵtext(56,"\n "),v.ɵɵelement(57,"i",20),v.ɵɵtext(58,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(59,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(60,"\n "),v.ɵɵelementStart(61,"div",21),v.ɵɵtext(62,"\n "),v.ɵɵelement(63,"app-organizations",22),v.ɵɵtext(64,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(65,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(66,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(67,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(68,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(69,"\n"),v.ɵɵtemplate(70,$,0,0,"ng-template",null,23,v.ɵɵtemplateRefExtractor),v.ɵɵtext(72,"\n"),v.ɵɵtemplate(73,Y,0,0,"ng-template",null,24,v.ɵɵtemplateRefExtractor),v.ɵɵtext(75,"\n"),v.ɵɵtemplate(76,Q,0,0,"ng-template",null,25,v.ɵɵtemplateRefExtractor),v.ɵɵtext(78,"\n"),v.ɵɵtemplate(79,J,0,0,"ng-template",null,26,v.ɵɵtemplateRefExtractor),v.ɵɵtext(81,"\n"),v.ɵɵtemplate(82,X,0,0,"ng-template",null,27,v.ɵɵtemplateRefExtractor),v.ɵɵtext(84,"\n"),v.ɵɵtemplate(85,Z,0,0,"ng-template",null,28,v.ɵɵtemplateRefExtractor),v.ɵɵtext(87,"\n")),2&e){var n=v.ɵɵreference(18);v.ɵɵadvance(15),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(16,14,"myVault"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("appApiAction",t.ciphersComponent.actionPromise),v.ɵɵadvance(3),v.ɵɵproperty("ngIf",n.loading),v.ɵɵadvance(6),v.ɵɵproperty("ciphersComponent",t.ciphersComponent)("modal",t.modal)("deleted",t.deleted),v.ɵɵadvance(3),v.ɵɵproperty("ngIf",!t.deleted),v.ɵɵadvance(10),v.ɵɵproperty("ngIf",t.showUpdateKey),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showVerifyEmail),v.ɵɵadvance(4),v.ɵɵproperty("ngIf",t.showBrowserOutdated),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showPremiumCallout),v.ɵɵadvance(5),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(53,16,"organizations"),"\n "),v.ɵɵadvance(2),v.ɵɵpropertyInterpolate("appA11yTitle",v.ɵɵpipeBind1(55,18,"learnMore")),v.ɵɵadvance(9),v.ɵɵproperty("vault",!0)}},directives:[P.GroupingsComponent,k.ApiActionDirective,_.NgIf,A.BulkActionsComponent,O.CiphersComponent,T.SendInfoComponent,M.A11yTitleDirective,B.OrganizationsComponent,D.VerifyEmailComponent,g.RouterLinkWithHref],pipes:[V.I18nPipe],encapsulation:2}),e}();t.VaultComponent=ee},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&this.trustedContacts.splice(t,1)},e.prototype.removeGrantor=function(e){var t=this.grantedContacts.indexOf(e);t>-1&&this.grantedContacts.splice(t,1)},e.prototype.doConfirmation=function(e){return r(this,void 0,void 0,function(){var t,n,r,a,o,s,p,u;return i(this,function(i){switch(i.label){case 0:return[4,this.cryptoService.getEncKey()];case 1:return t=i.sent(),[4,this.apiService.getUserPublicKey(e.granteeId)];case 2:n=i.sent(),r=l.Utils.fromB64ToArray(n.publicKey),i.label=3;case 3:return i.trys.push([3,5,,6]),o=(a=console).log,s="User's fingerprint: ",[4,this.cryptoService.getFingerprint(e.granteeId,r.buffer)];case 4:return o.apply(a,[s+i.sent().join("-")]),[3,6];case 5:return i.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(t.key,r.buffer)];case 7:return p=i.sent(),(u=new c.EmergencyAccessConfirmRequest).key=p.encryptedString,[4,this.apiService.postEmergencyAccessConfirm(e.id,u)];case 8:return i.sent(),[2]}})})},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.ApiService),v.ɵɵdirectiveInject(g.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(x.PlatformUtilsService),v.ɵɵdirectiveInject(b.ToasterService),v.ɵɵdirectiveInject(S.CryptoService),v.ɵɵdirectiveInject(w.StorageService),v.ɵɵdirectiveInject(C.UserService),v.ɵɵdirectiveInject(I.MessagingService))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["emergency-access"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(T,!0,a.ViewContainerRef),v.ɵɵstaticViewQuery(M,!0,a.ViewContainerRef),v.ɵɵstaticViewQuery(B,!0,a.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.addEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.takeoverModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.confirmModalRef=n.first))},decls:59,vars:25,consts:[[1,"page-header"],["href","https://bitwarden.com/help/article/emergency-access/","target","_blank","rel","noopener"],[4,"ngIf"],[1,"page-header","d-flex"],["href","#","appStopClick","","class","badge badge-primary",3,"click",4,"ngIf"],[1,"ml-auto","d-flex"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"disabled","click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"page-header","spaced-header"],["addEdit",""],["takeoverTemplate",""],["confirmTemplate",""],["href","#","appStopClick","",1,"badge","badge-primary",3,"click"],[1,"table","table-hover","table-list","mb-0"],[4,"ngFor","ngForOf"],["width","30"],["size","25",3,"data","email","circle","fontSize"],["href","#","appStopClick","",3,"click"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","badge badge-success",4,"ngIf"],["class","badge badge-primary",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-success","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-warning","href","#","appStopClick","",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-remove"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"badge","badge-success"],[1,"badge","badge-primary"],[1,"text-muted","d-block"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-envelope-o"],["href","#","appStopClick","",1,"dropdown-item","text-success",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-check"],["href","#","appStopClick","",1,"dropdown-item","text-warning",3,"click"],["class","dropdown-item",3,"routerLink",4,"ngIf"],["aria-hidden","true",1,"fa","fa-fw","fa-key"],[1,"dropdown-item",3,"routerLink"],["aria-hidden","true",1,"fa","fa-fw","fa-eye"]],template:function(e,t){1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"h1"),v.ɵɵtext(3),v.ɵɵpipe(4,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(5,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(6,"\n"),v.ɵɵelementStart(7,"p"),v.ɵɵtext(8),v.ɵɵpipe(9,"i18n"),v.ɵɵelementStart(10,"a",1),v.ɵɵtext(11),v.ɵɵpipe(12,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(13,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(14,"\n\n"),v.ɵɵtemplate(15,D,7,6,"p",2),v.ɵɵtext(16,"\n\n"),v.ɵɵelementStart(17,"div",3),v.ɵɵtext(18,"\n "),v.ɵɵelementStart(19,"h2"),v.ɵɵtext(20),v.ɵɵpipe(21,"i18n"),v.ɵɵtemplate(22,V,3,3,"a",4),v.ɵɵtext(23,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(24,"\n "),v.ɵɵelementStart(25,"div",5),v.ɵɵtext(26,"\n "),v.ɵɵelementStart(27,"button",6),v.ɵɵlistener("click",function(){return t.invite()}),v.ɵɵtext(28,"\n "),v.ɵɵelement(29,"i",7),v.ɵɵtext(30),v.ɵɵpipe(31,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(32,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(33,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(34,"\n\n"),v.ɵɵtemplate(35,$,7,1,"table",8),v.ɵɵtext(36,"\n\n"),v.ɵɵtemplate(37,Y,3,3,"p",2),v.ɵɵtext(38,"\n\n"),v.ɵɵelementStart(39,"div",9),v.ɵɵtext(40,"\n "),v.ɵɵelementStart(41,"h2"),v.ɵɵtext(42),v.ɵɵpipe(43,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(44,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(45,"\n\n"),v.ɵɵtemplate(46,se,7,1,"table",8),v.ɵɵtext(47,"\n\n"),v.ɵɵtemplate(48,le,3,3,"p",2),v.ɵɵtext(49,"\n\n"),v.ɵɵtemplate(50,ce,0,0,"ng-template",null,10,v.ɵɵtemplateRefExtractor),v.ɵɵtext(52,"\n"),v.ɵɵtemplate(53,pe,0,0,"ng-template",null,11,v.ɵɵtemplateRefExtractor),v.ɵɵtext(55,"\n"),v.ɵɵtemplate(56,ue,0,0,"ng-template",null,12,v.ɵɵtemplateRefExtractor),v.ɵɵtext(58,"\n")),2&e&&(v.ɵɵadvance(3),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(4,13,"emergencyAccess")),v.ɵɵadvance(5),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(9,15,"emergencyAccessDesc"),"\n "),v.ɵɵadvance(3),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(12,17,"learnMore"),".\n "),v.ɵɵadvance(4),v.ɵɵproperty("ngIf",t.isOrganizationOwner),v.ɵɵadvance(5),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(21,19,"trustedEmergencyContacts"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.canAccessPremium),v.ɵɵadvance(5),v.ɵɵproperty("disabled",!t.canAccessPremium),v.ɵɵadvance(3),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(31,21,"addEmergencyContact"),"\n "),v.ɵɵadvance(5),v.ɵɵproperty("ngIf",t.trustedContacts&&t.trustedContacts.length),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.trustedContacts||!t.trustedContacts.length),v.ɵɵadvance(5),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(43,23,"designatedEmergencyContacts")),v.ɵɵadvance(4),v.ɵɵproperty("ngIf",t.grantedContacts&&t.grantedContacts.length),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.grantedContacts||!t.grantedContacts.length))},directives:[E.NgIf,P.StopClickDirective,E.NgForOf,k.AvatarComponent,_.A11yTitleDirective,A.RouterLinkWithHref],pipes:[O.I18nPipe],encapsulation:2}),e}();t.EmergencyAccessComponent=de},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.View=0]="View",e[e.Takeover=1]="Takeover"}(t.EmergencyAccessType||(t.EmergencyAccessType={}))},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(24),o=n(510),s=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.granteeId=n.getResponseProperty("GranteeId"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.type=n.getResponseProperty("Type"),n.status=n.getResponseProperty("Status"),n.waitTimeDays=n.getResponseProperty("WaitTimeDays"),n.creationDate=n.getResponseProperty("CreationDate"),n}return i(t,e),t}(a.BaseResponse);t.EmergencyAccessGranteeDetailsResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.grantorId=n.getResponseProperty("GrantorId"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.type=n.getResponseProperty("Type"),n.status=n.getResponseProperty("Status"),n.waitTimeDays=n.getResponseProperty("WaitTimeDays"),n.creationDate=n.getResponseProperty("CreationDate"),n}return i(t,e),t}(a.BaseResponse);t.EmergencyAccessGrantorDetailsResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;return n.keyEncrypted=n.getResponseProperty("KeyEncrypted"),n.kdf=n.getResponseProperty("Kdf"),n.kdfIterations=n.getResponseProperty("KdfIterations"),n}return i(t,e),t}(a.BaseResponse);t.EmergencyAccessTakeoverResponse=c;var p=function(e){function t(t){var n=e.call(this,t)||this;n.ciphers=[],n.keyEncrypted=n.getResponseProperty("KeyEncrypted");var r=n.getResponseProperty("Ciphers");return null!=r&&(n.ciphers=r.map(function(e){return new o.CipherResponse(e)})),n}return i(t,e),t}(a.BaseResponse);t.EmergencyAccessViewResponse=p},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0),m.ɵɵadvance(2),m.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),m.ɵɵadvance(2),m.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),m.ɵɵadvance(2),m.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),m.ɵɵadvance(2),m.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),m.ɵɵadvance(2),m.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var U=function(e){function t(t,n,r,i,a,o,l,c,p){var u=e.call(this,t,n,r,i,a,o,l)||this;return u.apiService=c,u.toasterService=p,u.onDone=new s.EventEmitter,u}return i(t,e),t.prototype.ngOnInit=function(){return a(this,void 0,void 0,function(){var e,t,n;return o(this,function(r){switch(r.label){case 0:return[4,this.apiService.getEmergencyGrantorPolicies(this.emergencyAccessId)];case 1:return null!=(e=r.sent()).data&&e.data.length>0?(t=e.data.map(function(e){return new p.Policy(new c.PolicyData(e))}),n=this,[4,this.policyService.getMasterPasswordPolicyOptions(t)]):[3,3];case 2:n.enforcedPolicyOptions=r.sent(),r.label=3;case 3:return[2]}})})},t.prototype.submit=function(){return a(this,void 0,void 0,function(){var e,t,n,r,i,a,s;return o(this,function(o){switch(o.label){case 0:return[4,this.strongPassword()];case 1:return o.sent()?[4,this.apiService.postEmergencyAccessTakeover(this.emergencyAccessId)]:[2];case 2:return e=o.sent(),[4,this.cryptoService.rsaDecrypt(e.keyEncrypted)];case 3:return t=o.sent(),null==(n=new u.SymmetricCryptoKey(t))?(this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("unexpectedError")),[2]):[4,this.cryptoService.makeKey(this.masterPassword,this.email,e.kdf,e.kdfIterations)];case 4:return r=o.sent(),[4,this.cryptoService.hashPassword(this.masterPassword,r)];case 5:return i=o.sent(),[4,this.cryptoService.remakeEncKey(r,n)];case 6:a=o.sent(),(s=new d.EmergencyAccessPasswordRequest).newMasterPasswordHash=i,s.key=a[1].encryptedString,this.apiService.postEmergencyAccessPassword(this.emergencyAccessId,s);try{this.onDone.emit()}catch(l){}return[2]}})})},t.ɵfac=function(e){return new(e||t)(m.ɵɵdirectiveInject(h.I18nService),m.ɵɵdirectiveInject(f.CryptoService),m.ɵɵdirectiveInject(v.MessagingService),m.ɵɵdirectiveInject(y.UserService),m.ɵɵdirectiveInject(g.PasswordGenerationService),m.ɵɵdirectiveInject(x.PlatformUtilsService),m.ɵɵdirectiveInject(b.PolicyService),m.ɵɵdirectiveInject(S.ApiService),m.ɵɵdirectiveInject(w.ToasterService))},t.ɵcmp=m.ɵɵdefineComponent({type:t,selectors:[["emergency-access-takeover"]],inputs:{emergencyAccessId:"emergencyAccessId",name:"name",email:"email",kdf:"kdf",kdfIterations:"kdfIterations"},outputs:{onDone:"onDone"},features:[m.ɵɵInheritDefinitionFeature],decls:81,vars:32,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAddEditTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[1,"modal-body"],["type","warning"],["type","info",4,"ngIf"],[1,"row"],[1,"col-6"],[1,"form-group"],["for","masterPassword"],["id","masterPassword","type","password","name","NewMasterPasswordHash","required","","appInputVerbatim","","autocomplete","new-password",1,"form-control","mb-1",3,"ngModel","ngModelChange","input"],[3,"score","showText"],["for","masterPasswordRetype"],["id","masterPasswordRetype","type","password","name","MasterPasswordRetype","required","","appInputVerbatim","","autocomplete","new-password",1,"form-control",3,"ngModel","ngModelChange"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],["type","info"],[1,"mb-0"],[4,"ngIf"]],template:function(e,t){if(1&e&&(m.ɵɵelementStart(0,"div",0),m.ɵɵtext(1,"\n "),m.ɵɵelementStart(2,"div",1),m.ɵɵtext(3,"\n "),m.ɵɵelementStart(4,"form",2,3),m.ɵɵlistener("ngSubmit",function(){return t.submit()}),m.ɵɵtext(6,"\n "),m.ɵɵelementStart(7,"div",4),m.ɵɵtext(8,"\n "),m.ɵɵelementStart(9,"h2",5),m.ɵɵtext(10),m.ɵɵpipe(11,"i18n"),m.ɵɵtemplate(12,T,2,1,"small",6),m.ɵɵtext(13,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(14,"\n "),m.ɵɵelementStart(15,"button",7),m.ɵɵpipe(16,"i18n"),m.ɵɵtext(17,"\n "),m.ɵɵelementStart(18,"span",8),m.ɵɵtext(19,"×"),m.ɵɵelementEnd(),m.ɵɵtext(20,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(21,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(22,"\n "),m.ɵɵelementStart(23,"div",9),m.ɵɵtext(24,"\n "),m.ɵɵelementStart(25,"app-callout",10),m.ɵɵtext(26),m.ɵɵpipe(27,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(28,"\n "),m.ɵɵtemplate(29,F,18,9,"app-callout",11),m.ɵɵtext(30,"\n "),m.ɵɵelementStart(31,"div",12),m.ɵɵtext(32,"\n "),m.ɵɵelementStart(33,"div",13),m.ɵɵtext(34,"\n "),m.ɵɵelementStart(35,"div",14),m.ɵɵtext(36,"\n "),m.ɵɵelementStart(37,"label",15),m.ɵɵtext(38),m.ɵɵpipe(39,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(40,"\n "),m.ɵɵelementStart(41,"input",16),m.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e})("input",function(){return t.updatePasswordStrength()}),m.ɵɵelementEnd(),m.ɵɵtext(42,"\n "),m.ɵɵelement(43,"app-password-strength",17),m.ɵɵtext(44,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(45,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(46,"\n "),m.ɵɵelementStart(47,"div",13),m.ɵɵtext(48,"\n "),m.ɵɵelementStart(49,"div",14),m.ɵɵtext(50,"\n "),m.ɵɵelementStart(51,"label",18),m.ɵɵtext(52),m.ɵɵpipe(53,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(54,"\n "),m.ɵɵelementStart(55,"input",19),m.ɵɵlistener("ngModelChange",function(e){return t.masterPasswordRetype=e}),m.ɵɵelementEnd(),m.ɵɵtext(56,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(57,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(58,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(59,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(60,"\n "),m.ɵɵelementStart(61,"div",20),m.ɵɵtext(62,"\n "),m.ɵɵelementStart(63,"button",21),m.ɵɵtext(64,"\n "),m.ɵɵelement(65,"i",22),m.ɵɵpipe(66,"i18n"),m.ɵɵtext(67,"\n "),m.ɵɵelementStart(68,"span"),m.ɵɵtext(69),m.ɵɵpipe(70,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(71,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(72,"\n "),m.ɵɵelementStart(73,"button",23),m.ɵɵtext(74),m.ɵɵpipe(75,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(76,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(77,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(78,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(79,"\n"),m.ɵɵelementEnd(),m.ɵɵtext(80,"\n")),2&e){var n=m.ɵɵreference(5);m.ɵɵadvance(4),m.ɵɵproperty("appApiAction",t.formPromise),m.ɵɵadvance(6),m.ɵɵtextInterpolate1("\n ",m.ɵɵpipeBind1(11,16,"takeover"),"\n "),m.ɵɵadvance(2),m.ɵɵproperty("ngIf",t.name),m.ɵɵadvance(3),m.ɵɵpropertyInterpolate("appA11yTitle",m.ɵɵpipeBind1(16,18,"close")),m.ɵɵadvance(11),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(27,20,"loggedOutWarning")),m.ɵɵadvance(3),m.ɵɵproperty("ngIf",t.enforcedPolicyOptions),m.ɵɵadvance(9),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(39,22,"newMasterPass")),m.ɵɵadvance(3),m.ɵɵproperty("ngModel",t.masterPassword),m.ɵɵadvance(2),m.ɵɵproperty("score",t.masterPasswordScore)("showText",!0),m.ɵɵadvance(9),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(53,24,"confirmNewMasterPass")),m.ɵɵadvance(3),m.ɵɵproperty("ngModel",t.masterPasswordRetype),m.ɵɵadvance(8),m.ɵɵproperty("disabled",n.loading),m.ɵɵadvance(2),m.ɵɵpropertyInterpolate("title",m.ɵɵpipeBind1(66,26,"loading")),m.ɵɵadvance(4),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(70,28,"save")),m.ɵɵadvance(5),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(75,30,"cancel"))}},directives:[C.NgControlStatusGroup,C.NgForm,I.ApiActionDirective,E.NgIf,P.A11yTitleDirective,k.CalloutComponent,C.DefaultValueAccessor,C.RequiredValidator,_.InputVerbatimDirective,C.NgControlStatus,C.NgModel,A.PasswordStrengthComponent],pipes:[O.I18nPipe],encapsulation:2}),t}(l.ChangePasswordComponent);t.EmergencyAccessTakeoverComponent=U},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1?"&":"?",e+="end="+n),null!=r&&(e+=e.indexOf("?")>-1?"&":"?",e+="continuationToken="+r),e},e.prototype.isJsonResponse=function(e){var t=e.headers.get("content-type");return null!=t&&t.indexOf("application/json")>-1},e.prototype.isTextResponse=function(e){var t=e.headers.get("content-type");return null!=t&&t.indexOf("text")>-1},e}();t.ApiService=q},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(24),o=n(295),s=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.name=n.getResponseProperty("Name"),n.externalId=n.getResponseProperty("ExternalId"),n}return i(t,e),t}(a.BaseResponse);t.CollectionResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.readOnly=n.getResponseProperty("ReadOnly")||!1,n}return i(t,e),t}(s);t.CollectionDetailsResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;n.groups=[];var r=n.getResponseProperty("Groups");return null!=r&&(n.groups=r.map(function(e){return new o.SelectionReadOnlyResponse(e)})),n}return i(t,e),t}(s);t.CollectionGroupDetailsResponse=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(24),o=n(903),s=function(e){function t(t){var n=e.call(this,t)||this;n.globalEquivalentDomains=[],n.equivalentDomains=n.getResponseProperty("EquivalentDomains");var r=n.getResponseProperty("GlobalEquivalentDomains");return n.globalEquivalentDomains=null!=r?r.map(function(e){return new o.GlobalDomainResponse(e)}):[],n}return i(t,e),t}(a.BaseResponse);t.DomainsResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.name=n.getResponseProperty("Name"),n.revisionDate=n.getResponseProperty("RevisionDate"),n}return i(t,e),t}(n(24).BaseResponse);t.FolderResponse=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(24),o=n(675),s=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.identifier=n.getResponseProperty("Identifier"),n.name=n.getResponseProperty("Name"),n.businessName=n.getResponseProperty("BusinessName"),n.businessAddress1=n.getResponseProperty("BusinessAddress1"),n.businessAddress2=n.getResponseProperty("BusinessAddress2"),n.businessAddress3=n.getResponseProperty("BusinessAddress3"),n.businessCountry=n.getResponseProperty("BusinessCountry"),n.businessTaxNumber=n.getResponseProperty("BusinessTaxNumber"),n.billingEmail=n.getResponseProperty("BillingEmail");var r=n.getResponseProperty("Plan");return n.plan=null==r?null:new o.PlanResponse(r),n.planType=n.getResponseProperty("PlanType"),n.seats=n.getResponseProperty("Seats"),n.maxCollections=n.getResponseProperty("MaxCollections"),n.maxStorageGb=n.getResponseProperty("MaxStorageGb"),n.useGroups=n.getResponseProperty("UseGroups"),n.useDirectory=n.getResponseProperty("UseDirectory"),n.useEvents=n.getResponseProperty("UseEvents"),n.useTotp=n.getResponseProperty("UseTotp"),n.use2fa=n.getResponseProperty("Use2fa"),n.useApi=n.getResponseProperty("UseApi"),n}return i(t,e),t}(a.BaseResponse);t.OrganizationResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var n=e.call(this,t)||this;return n.type=n.getResponseProperty("Type"),n.product=n.getResponseProperty("Product"),n.name=n.getResponseProperty("Name"),n.isAnnual=n.getResponseProperty("IsAnnual"),n.nameLocalizationKey=n.getResponseProperty("NameLocalizationKey"),n.descriptionLocalizationKey=n.getResponseProperty("DescriptionLocalizationKey"),n.canBeUsedByBusiness=n.getResponseProperty("CanBeUsedByBusiness"),n.baseSeats=n.getResponseProperty("BaseSeats"),n.baseStorageGb=n.getResponseProperty("BaseStorageGb"),n.maxCollections=n.getResponseProperty("MaxCollections"),n.maxUsers=n.getResponseProperty("MaxUsers"),n.hasAdditionalSeatsOption=n.getResponseProperty("HasAdditionalSeatsOption"),n.maxAdditionalSeats=n.getResponseProperty("MaxAdditionalSeats"),n.hasAdditionalStorageOption=n.getResponseProperty("HasAdditionalStorageOption"),n.maxAdditionalStorage=n.getResponseProperty("MaxAdditionalStorage"),n.hasPremiumAccessOption=n.getResponseProperty("HasPremiumAccessOption"),n.trialPeriodDays=n.getResponseProperty("TrialPeriodDays"),n.hasSelfHost=n.getResponseProperty("HasSelfHost"),n.hasPolicies=n.getResponseProperty("HasPolicies"),n.hasGroups=n.getResponseProperty("HasGroups"),n.hasDirectory=n.getResponseProperty("HasDirectory"),n.hasEvents=n.getResponseProperty("HasEvents"),n.hasTotp=n.getResponseProperty("HasTotp"),n.has2fa=n.getResponseProperty("Has2fa"),n.hasApi=n.getResponseProperty("HasApi"),n.hasSso=n.getResponseProperty("HasSso"),n.usersGetPremium=n.getResponseProperty("UsersGetPremium"),n.upgradeSortOrder=n.getResponseProperty("UpgradeSortOrder"),n.displaySortOrder=n.getResponseProperty("SortOrder"),n.legacyYear=n.getResponseProperty("LegacyYear"),n.disabled=n.getResponseProperty("Disabled"),n.stripePlanId=n.getResponseProperty("StripePlanId"),n.stripeSeatPlanId=n.getResponseProperty("StripeSeatPlanId"),n.stripeStoragePlanId=n.getResponseProperty("StripeStoragePlanId"),n.stripePremiumAccessPlanId=n.getResponseProperty("StripePremiumAccessPlanId"),n.basePrice=n.getResponseProperty("BasePrice"),n.seatPrice=n.getResponseProperty("SeatPrice"),n.additionalStoragePricePerGb=n.getResponseProperty("AdditionalStoragePricePerGb"),n.premiumAccessOptionPrice=n.getResponseProperty("PremiumAccessOptionPrice"),n}return i(t,e),t}(n(24).BaseResponse);t.PlanResponse=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(24),o=function(e){function t(t){var n=e.call(this,t)||this;n.storageName=n.getResponseProperty("StorageName"),n.storageGb=n.getResponseProperty("StorageGb"),n.maxStorageGb=n.getResponseProperty("MaxStorageGb"),n.license=n.getResponseProperty("License"),n.expiration=n.getResponseProperty("Expiration"),n.usingInAppPurchase=n.getResponseProperty("UsingInAppPurchase");var r=n.getResponseProperty("Subscription"),i=n.getResponseProperty("UpcomingInvoice");return n.subscription=null==r?null:new s(r),n.upcomingInvoice=null==i?null:new c(i),n}return i(t,e),t}(a.BaseResponse);t.SubscriptionResponse=o;var s=function(e){function t(t){var n=e.call(this,t)||this;n.items=[],n.trialEndDate=n.getResponseProperty("TrialStartDate"),n.trialEndDate=n.getResponseProperty("TrialEndDate"),n.periodStartDate=n.getResponseProperty("PeriodStartDate"),n.periodEndDate=n.getResponseProperty("PeriodEndDate"),n.cancelledDate=n.getResponseProperty("CancelledDate"),n.cancelAtEndDate=n.getResponseProperty("CancelAtEndDate"),n.status=n.getResponseProperty("Status"),n.cancelled=n.getResponseProperty("Cancelled");var r=n.getResponseProperty("Items");return null!=r&&(n.items=r.map(function(e){return new l(e)})),n}return i(t,e),t}(a.BaseResponse);t.BillingSubscriptionResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.name=n.getResponseProperty("Name"),n.amount=n.getResponseProperty("Amount"),n.quantity=n.getResponseProperty("Quantity"),n.interval=n.getResponseProperty("Interval"),n}return i(t,e),t}(a.BaseResponse);t.BillingSubscriptionItemResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;return n.date=n.getResponseProperty("Date"),n.amount=n.getResponseProperty("Amount"),n}return i(t,e),t}(a.BaseResponse);t.BillingSubscriptionUpcomingInvoiceResponse=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.type=n.getResponseProperty("Type"),n.data=n.getResponseProperty("Data"),n.enabled=n.getResponseProperty("Enabled"),n}return i(t,e),t}(n(24).BaseResponse);t.PolicyResponse=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(24),o=n(512),s=n(513),l=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.accessId=n.getResponseProperty("AccessId"),n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.notes=n.getResponseProperty("Notes"),n.key=n.getResponseProperty("Key"),n.maxAccessCount=n.getResponseProperty("MaxAccessCount"),n.accessCount=n.getResponseProperty("AccessCount"),n.revisionDate=n.getResponseProperty("RevisionDate"),n.expirationDate=n.getResponseProperty("ExpirationDate"),n.deletionDate=n.getResponseProperty("DeletionDate"),n.password=n.getResponseProperty("Password"),n.disable=n.getResponseProperty("Disabled")||!1;var r=n.getResponseProperty("Text");null!=r&&(n.text=new s.SendTextApi(r));var i=n.getResponseProperty("File");return null!=i&&(n.file=new o.SendFileApi(i)),n}return i(t,e),t}(a.BaseResponse);t.SendResponse=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]5&&(e.passwordHistory=e.passwordHistory.slice(0,5)),o.label=5;case 5:return(p=new m.Cipher).id=e.id,p.folderId=e.folderId,p.favorite=e.favorite,p.organizationId=e.organizationId,p.type=e.type,p.collectionIds=e.collectionIds,p.revisionDate=e.revisionDate,null!=t||null==p.organizationId?[3,7]:[4,this.cryptoService.getOrgKey(p.organizationId)];case 6:if(null==(t=o.sent()))throw new Error("Cannot encrypt cipher for organization. No key.");o.label=7;case 7:return[4,Promise.all([this.encryptObjProperty(e,p,{name:null,notes:null},t),this.encryptCipherData(p,e,t),this.encryptFields(e.fields,t).then(function(e){p.fields=e}),this.encryptPasswordHistories(e.passwordHistory,t).then(function(e){p.passwordHistory=e}),this.encryptAttachments(e.attachments,t).then(function(e){p.attachments=e})])];case 8:return o.sent(),[2,p]}})})},t.prototype.encryptAttachments=function(e,t){return a(this,void 0,void 0,function(){var n,r,i=this;return o(this,function(s){switch(s.label){case 0:return null==e||0===e.length?[2,null]:(n=[],r=[],e.forEach(function(e){return a(i,void 0,void 0,function(){var i,s,l=this;return o(this,function(c){return(i=new u.Attachment).id=e.id,i.size=e.size,i.sizeName=e.sizeName,i.url=e.url,s=this.encryptObjProperty(e,i,{fileName:null},t).then(function(){return a(l,void 0,void 0,function(){var n;return o(this,function(a){switch(a.label){case 0:return null==e.key?[3,2]:(n=i,[4,this.cryptoService.encrypt(e.key.key,t)]);case 1:n.key=a.sent(),a.label=2;case 2:return r.push(i),[2]}})})}),n.push(s),[2]})})}),[4,Promise.all(n)]);case 1:return s.sent(),[2,r]}})})},t.prototype.encryptFields=function(e,t){return a(this,void 0,void 0,function(){var n,r;return o(this,function(i){switch(i.label){case 0:return e&&e.length?(n=this,r=[],[4,e.reduce(function(e,i){return e.then(function(){return n.encryptField(i,t)}).then(function(e){r.push(e)})},Promise.resolve())]):[2,null];case 1:return i.sent(),[2,r]}})})},t.prototype.encryptField=function(e,t){return a(this,void 0,void 0,function(){var n;return o(this,function(r){switch(r.label){case 0:return(n=new h.Field).type=e.type,e.type===l.FieldType.Boolean&&"true"!==e.value&&(e.value="false"),[4,this.encryptObjProperty(e,n,{name:null,value:null},t)];case 1:return r.sent(),[2,n]}})})},t.prototype.encryptPasswordHistories=function(e,t){return a(this,void 0,void 0,function(){var n,r;return o(this,function(i){switch(i.label){case 0:return e&&e.length?(n=this,r=[],[4,e.reduce(function(e,i){return e.then(function(){return n.encryptPasswordHistory(i,t)}).then(function(e){r.push(e)})},Promise.resolve())]):[2,null];case 1:return i.sent(),[2,r]}})})},t.prototype.encryptPasswordHistory=function(e,t){return a(this,void 0,void 0,function(){var n;return o(this,function(r){switch(r.label){case 0:return(n=new g.Password).lastUsedDate=e.lastUsedDate,[4,this.encryptObjProperty(e,n,{password:null},t)];case 1:return r.sent(),[2,n]}})})},t.prototype.get=function(e){return a(this,void 0,void 0,function(){var t,n,r;return o(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(D)];case 2:return n=i.sent(),[4,this.storageService.get(B+t)];case 3:return null!=(r=i.sent())&&r.hasOwnProperty(e)?[2,new m.Cipher(r[e],!1,n?n[e]:null)]:[2,null]}})})},t.prototype.getAll=function(){return a(this,void 0,void 0,function(){var e,t,n,r,i;return o(this,function(a){switch(a.label){case 0:return[4,this.userService.getUserId()];case 1:return e=a.sent(),[4,this.storageService.get(D)];case 2:return t=a.sent(),[4,this.storageService.get(B+e)];case 3:for(i in n=a.sent(),r=[],n)n.hasOwnProperty(i)&&r.push(new m.Cipher(n[i],!1,t?t[i]:null));return[2,r]}})})},t.prototype.getAllDecrypted=function(){return a(this,void 0,void 0,function(){var e,t;return o(this,function(n){switch(n.label){case 0:return null!=this.decryptedCipherCache?[2,this.decryptedCipherCache]:(e=[],[4,this.cryptoService.hasKey()]);case 1:if(!n.sent())throw new Error("No key.");return t=[],[4,this.getAll()];case 2:return n.sent().forEach(function(n){t.push(n.decrypt().then(function(t){return e.push(t)}))}),[4,Promise.all(t)];case 3:return n.sent(),e.sort(this.getLocaleSortingFunction()),this.decryptedCipherCache=e,[2,this.decryptedCipherCache]}})})},t.prototype.getAllDecryptedForGrouping=function(e,t){return void 0===t&&(t=!0),a(this,void 0,void 0,function(){return o(this,function(n){switch(n.label){case 0:return[4,this.getAllDecrypted()];case 1:return[2,n.sent().filter(function(n){return!n.isDeleted&&(!(!t||n.folderId!==e)||!t&&null!=n.collectionIds&&n.collectionIds.indexOf(e)>-1)})]}})})},t.prototype.getAllDecryptedForUrl=function(e,t,n){return void 0===n&&(n=null),a(this,void 0,void 0,function(){var r,i,a,l,p;return o(this,function(o){switch(o.label){case 0:return null==e&&null==t?[2,Promise.resolve([])]:(r=M.Utils.getDomain(e),i=null==r?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(e){var t=[];return e.forEach(function(e){e.length&&e.indexOf(r)>=0&&(t=t.concat(e))}),t.length||t.push(r),t}),[4,Promise.all([i,this.getAllDecrypted()])]);case 1:return a=o.sent(),l=a[0],p=a[1],null!=n?[3,3]:[4,this.storageService.get(O.ConstantsService.defaultUriMatch)];case 2:null==(n=o.sent())&&(n=c.UriMatchType.Domain),o.label=3;case 3:return[2,p.filter(function(i){if(null!=i.deletedDate)return!1;if(null!=t&&t.indexOf(i.type)>-1)return!0;if(null!=e&&i.type===s.CipherType.Login&&null!=i.login.uris)for(var a=0;a-1){if(!j.has(p.domain))return!0;var u=M.Utils.getHost(e);if(!j.get(p.domain).has(u))return!0}break;case c.UriMatchType.Host:var d=M.Utils.getHost(e);if(null!=d&&d===M.Utils.getHost(p.uri))return!0;break;case c.UriMatchType.Exact:if(e===p.uri)return!0;break;case c.UriMatchType.StartsWith:if(e.startsWith(p.uri))return!0;break;case c.UriMatchType.RegularExpression:try{if(new RegExp(p.uri,"i").test(e))return!0}catch(o){}break;case c.UriMatchType.Never:}}return!1})]}})})},t.prototype.getAllFromApiForOrganization=function(e){return a(this,void 0,void 0,function(){var t,n,r;return o(this,function(i){switch(i.label){case 0:return[4,this.apiService.getCiphersOrganization(e)];case 1:return null!=(t=i.sent())&&null!=t.data&&t.data.length?(n=[],r=[],t.data.forEach(function(e){var t=new p.CipherData(e),i=new m.Cipher(t);r.push(i.decrypt().then(function(e){return n.push(e)}))}),[4,Promise.all(r)]):[3,3];case 2:return i.sent(),n.sort(this.getLocaleSortingFunction()),[2,n];case 3:return[2,[]]}})})},t.prototype.getLastUsedForUrl=function(e){return a(this,void 0,void 0,function(){return o(this,function(t){return[2,this.getCipherForUrl(e,!0,!1)]})})},t.prototype.getLastLaunchedForUrl=function(e){return a(this,void 0,void 0,function(){return o(this,function(t){return[2,this.getCipherForUrl(e,!1,!0)]})})},t.prototype.getNextCipherForUrl=function(e){return a(this,void 0,void 0,function(){return o(this,function(t){return[2,this.getCipherForUrl(e,!1,!1)]})})},t.prototype.updateLastUsedIndexForUrl=function(e){this.sortedCiphersCache.updateLastUsedIndex(e)},t.prototype.updateLastUsedDate=function(e){return a(this,void 0,void 0,function(){var t,n,r;return o(this,function(i){switch(i.label){case 0:return[4,this.storageService.get(D)];case 1:return(t=i.sent())||(t={}),t[e]?t[e].lastUsedDate=(new Date).getTime():t[e]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(D,t)];case 2:if(i.sent(),null==this.decryptedCipherCache)return[2];for(n=0;nr?-1:null!=r&&null==n?1:0},t.prototype.sortCiphersByLastUsedThenName=function(e,t){var n=this.sortCiphersByLastUsed(e,t);return 0!==n?n:this.getLocaleSortingFunction()(e,t)},t.prototype.getLocaleSortingFunction=function(){var e=this;return function(t,n){var r=t.name,i=n.name;if(null==r&&null!=i)return-1;if(null!=r&&null==i)return 1;if(null==r&&null==i)return 0;var a=e.i18nService.collator?e.i18nService.collator.compare(r,i):r.localeCompare(i);return 0!==a||t.type!==s.CipherType.Login||n.type!==s.CipherType.Login?a:(null!=t.login.username&&(r+=t.login.username),null!=n.login.username&&(i+=n.login.username),e.i18nService.collator?e.i18nService.collator.compare(r,i):r.localeCompare(i))}},t.prototype.softDelete=function(e){return a(this,void 0,void 0,function(){var t,n,r;return o(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(B+t)];case 2:return null==(n=i.sent())?[2]:(r=function(e){null!=n[e]&&(n[e].deletedDate=(new Date).toISOString())},"string"==typeof e?r(e):e.forEach(r),[4,this.storageService.save(B+t,n)]);case 3:return i.sent(),this.decryptedCipherCache=null,[2]}})})},t.prototype.softDeleteWithServer=function(e){return a(this,void 0,void 0,function(){return o(this,function(t){switch(t.label){case 0:return[4,this.apiService.putDeleteCipher(e)];case 1:return t.sent(),[4,this.softDelete(e)];case 2:return t.sent(),[2]}})})},t.prototype.softDeleteManyWithServer=function(e){return a(this,void 0,void 0,function(){return o(this,function(t){switch(t.label){case 0:return[4,this.apiService.putDeleteManyCiphers(new b.CipherBulkDeleteRequest(e))];case 1:return t.sent(),[4,this.softDelete(e)];case 2:return t.sent(),[2]}})})},t.prototype.restore=function(e){return a(this,void 0,void 0,function(){var t,n,r;return o(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(B+t)];case 2:return null==(n=i.sent())?[2]:(r=function(e){null!=n[e.id]&&(n[e.id].deletedDate=null,n[e.id].revisionDate=e.revisionDate)},"Array"===e.constructor.name?e.forEach(r):r(e),[4,this.storageService.save(B+t,n)]);case 3:return i.sent(),this.decryptedCipherCache=null,[2]}})})},t.prototype.restoreWithServer=function(e){return a(this,void 0,void 0,function(){var t;return o(this,function(n){switch(n.label){case 0:return[4,this.apiService.putRestoreCipher(e)];case 1:return t=n.sent(),[4,this.restore({id:e,revisionDate:t.revisionDate})];case 2:return n.sent(),[2]}})})},t.prototype.restoreManyWithServer=function(e){return a(this,void 0,void 0,function(){var t,n,r,i,a;return o(this,function(o){switch(o.label){case 0:return[4,this.apiService.putRestoreManyCiphers(new w.CipherBulkRestoreRequest(e))];case 1:for(t=o.sent(),n=[],r=0,i=t.data;r0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?[2,this.orgKeys]:[4,this.storageService.get(g)];case 1:if(null==(e=o.sent()))return[2,null];for(i in t=new Map,n=!1,r=[],e)r.push(i);a=0,o.label=2;case 2:return a53)throw new Error("We cannot generate numbers larger than 53 bits.");return a=Math.ceil(i/8),s=Math.pow(2,i)-1,c=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(a)];case 1:for(l=new(c.apply(Uint8Array,[void 0,o.sent()])),p=8*(a-1),u=0;u=r?[2,this.randomNumber(e,t)]:[2,e+n]}})})},e.prototype.aesEncrypt=function(e,t){return a(this,void 0,void 0,function(){var n,r,i,a,s,l;return o(this,function(o){switch(o.label){case 0:return n=new u.EncryptedObject,r=n,[4,this.getKeyForEncryption(t)];case 1:return r.key=o.sent(),i=n,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return i.iv=o.sent(),a=n,[4,this.cryptoFunctionService.aesEncrypt(e,n.iv,n.key.encKey)];case 3:return a.data=o.sent(),null==n.key.macKey?[3,5]:((s=new Uint8Array(n.iv.byteLength+n.data.byteLength)).set(new Uint8Array(n.iv),0),s.set(new Uint8Array(n.data),n.iv.byteLength),l=n,[4,this.cryptoFunctionService.hmac(s.buffer,n.key.macKey,"sha256")]);case 4:l.mac=o.sent(),o.label=5;case 5:return[2,n]}})})},e.prototype.aesDecryptToUtf8=function(e,t,n,r,i){return a(this,void 0,void 0,function(){var a,s,l,c;return o(this,function(o){switch(o.label){case 0:return[4,this.getKeyForEncryption(i)];case 1:return a=o.sent(),null!=(s=this.resolveLegacyKey(e,a)).macKey&&null==r?(this.logService.error("mac required."),[2,null]):s.encType!==e?(this.logService.error("encType unavailable."),[2,null]):null==(l=this.cryptoFunctionService.aesDecryptFastParameters(t,n,r,s)).macKey||null==l.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(l.macData,l.macKey,"sha256")];case 2:return c=o.sent(),[4,this.cryptoFunctionService.compareFast(l.mac,c)];case 3:if(!o.sent())return this.logService.error("mac failed."),[2,null];o.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(l)]}})})},e.prototype.aesDecryptToBytes=function(e,t,n,r,i){return a(this,void 0,void 0,function(){var a,s,l,c;return o(this,function(o){switch(o.label){case 0:return[4,this.getKeyForEncryption(i)];case 1:return a=o.sent(),null!=(s=this.resolveLegacyKey(e,a)).macKey&&null==r?[2,null]:s.encType!==e?[2,null]:null==s.macKey||null==r?[3,4]:((l=new Uint8Array(n.byteLength+t.byteLength)).set(new Uint8Array(n),0),l.set(new Uint8Array(t),n.byteLength),[4,this.cryptoFunctionService.hmac(l.buffer,s.macKey,"sha256")]);case 2:return null===(c=o.sent())?[2,null]:[4,this.cryptoFunctionService.compare(r,c)];case 3:if(!o.sent())return this.logService.error("mac failed."),[2,null];o.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(t,n,s.encKey)];case 5:return[2,o.sent()]}})})},e.prototype.getKeyForEncryption=function(e){return a(this,void 0,void 0,function(){var t;return o(this,function(n){switch(n.label){case 0:return null!=e?[2,e]:[4,this.getEncKey()];case 1:return null!=(t=n.sent())?[2,t]:[4,this.getKey()];case 2:return[2,n.sent()]}})})},e.prototype.resolveLegacyKey=function(e,t){return e===l.EncryptionType.AesCbc128_HmacSha256_B64&&t.encType===l.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(t.key,l.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):t},e.prototype.stretchKey=function(e){return a(this,void 0,void 0,function(){var t,n,r;return o(this,function(i){switch(i.label){case 0:return t=new Uint8Array(64),[4,this.cryptoFunctionService.hkdfExpand(e.key,"enc",32,"sha256")];case 1:return n=i.sent(),[4,this.cryptoFunctionService.hkdfExpand(e.key,"mac",32,"sha256")];case 2:return r=i.sent(),t.set(new Uint8Array(n)),t.set(new Uint8Array(r),32),[2,new d.SymmetricCryptoKey(t.buffer)]}})})},e.prototype.hashPhrase=function(e,t){return void 0===t&&(t=64),a(this,void 0,void 0,function(){var n,r,i,a,l,c,p;return o(this,function(o){if(n=Math.log(v.EEFLongWordList.length)/Math.log(2),r=Math.ceil(t/n),i=Array.from(new Uint8Array(e)),a=4*i.length,r*n>a)throw new Error("Output entropy of hash function is too small");for(l=[],c=s.fromArray(i,256);r--;)p=c.mod(v.EEFLongWordList.length),c=c.divide(v.EEFLongWordList.length),l.push(v.EEFLongWordList[p]);return[2,l]})})},e.prototype.buildEncKey=function(e,t){return a(this,void 0,void 0,function(){var n,r;return o(this,function(i){switch(i.label){case 0:return n=null,32!==e.key.byteLength?[3,3]:[4,this.stretchKey(e)];case 1:return r=i.sent(),[4,this.encrypt(t,r)];case 2:return n=i.sent(),[3,6];case 3:return 64!==e.key.byteLength?[3,5]:[4,this.encrypt(t,e)];case 4:return n=i.sent(),[3,6];case 5:throw new Error("Invalid key size.");case 6:return[2,[new d.SymmetricCryptoKey(t),n]]}})})},r([h.sequentialize(function(){return"getEncKey"}),i("design:type",Function),i("design:paramtypes",[d.SymmetricCryptoKey]),i("design:returntype",Promise)],e.prototype,"getEncKey",null),r([h.sequentialize(function(){return"getOrgKeys"}),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Promise)],e.prototype,"getOrgKeys",null),e}();t.CryptoService=w},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EEFLongWordList=["abacus","abdomen","abdominal","abide","abiding","ability","ablaze","able","abnormal","abrasion","abrasive","abreast","abridge","abroad","abruptly","absence","absentee","absently","absinthe","absolute","absolve","abstain","abstract","absurd","accent","acclaim","acclimate","accompany","account","accuracy","accurate","accustom","acetone","achiness","aching","acid","acorn","acquaint","acquire","acre","acrobat","acronym","acting","action","activate","activator","active","activism","activist","activity","actress","acts","acutely","acuteness","aeration","aerobics","aerosol","aerospace","afar","affair","affected","affecting","affection","affidavit","affiliate","affirm","affix","afflicted","affluent","afford","affront","aflame","afloat","aflutter","afoot","afraid","afterglow","afterlife","aftermath","aftermost","afternoon","aged","ageless","agency","agenda","agent","aggregate","aghast","agile","agility","aging","agnostic","agonize","agonizing","agony","agreeable","agreeably","agreed","agreeing","agreement","aground","ahead","ahoy","aide","aids","aim","ajar","alabaster","alarm","albatross","album","alfalfa","algebra","algorithm","alias","alibi","alienable","alienate","aliens","alike","alive","alkaline","alkalize","almanac","almighty","almost","aloe","aloft","aloha","alone","alongside","aloof","alphabet","alright","although","altitude","alto","aluminum","alumni","always","amaretto","amaze","amazingly","amber","ambiance","ambiguity","ambiguous","ambition","ambitious","ambulance","ambush","amendable","amendment","amends","amenity","amiable","amicably","amid","amigo","amino","amiss","ammonia","ammonium","amnesty","amniotic","among","amount","amperage","ample","amplifier","amplify","amply","amuck","amulet","amusable","amused","amusement","amuser","amusing","anaconda","anaerobic","anagram","anatomist","anatomy","anchor","anchovy","ancient","android","anemia","anemic","aneurism","anew","angelfish","angelic","anger","angled","angler","angles","angling","angrily","angriness","anguished","angular","animal","animate","animating","animation","animator","anime","animosity","ankle","annex","annotate","announcer","annoying","annually","annuity","anointer","another","answering","antacid","antarctic","anteater","antelope","antennae","anthem","anthill","anthology","antibody","antics","antidote","antihero","antiquely","antiques","antiquity","antirust","antitoxic","antitrust","antiviral","antivirus","antler","antonym","antsy","anvil","anybody","anyhow","anymore","anyone","anyplace","anything","anytime","anyway","anywhere","aorta","apache","apostle","appealing","appear","appease","appeasing","appendage","appendix","appetite","appetizer","applaud","applause","apple","appliance","applicant","applied","apply","appointee","appraisal","appraiser","apprehend","approach","approval","approve","apricot","april","apron","aptitude","aptly","aqua","aqueduct","arbitrary","arbitrate","ardently","area","arena","arguable","arguably","argue","arise","armadillo","armband","armchair","armed","armful","armhole","arming","armless","armoire","armored","armory","armrest","army","aroma","arose","around","arousal","arrange","array","arrest","arrival","arrive","arrogance","arrogant","arson","art","ascend","ascension","ascent","ascertain","ashamed","ashen","ashes","ashy","aside","askew","asleep","asparagus","aspect","aspirate","aspire","aspirin","astonish","astound","astride","astrology","astronaut","astronomy","astute","atlantic","atlas","atom","atonable","atop","atrium","atrocious","atrophy","attach","attain","attempt","attendant","attendee","attention","attentive","attest","attic","attire","attitude","attractor","attribute","atypical","auction","audacious","audacity","audible","audibly","audience","audio","audition","augmented","august","authentic","author","autism","autistic","autograph","automaker","automated","automatic","autopilot","available","avalanche","avatar","avenge","avenging","avenue","average","aversion","avert","aviation","aviator","avid","avoid","await","awaken","award","aware","awhile","awkward","awning","awoke","awry","axis","babble","babbling","babied","baboon","backache","backboard","backboned","backdrop","backed","backer","backfield","backfire","backhand","backing","backlands","backlash","backless","backlight","backlit","backlog","backpack","backpedal","backrest","backroom","backshift","backside","backslid","backspace","backspin","backstab","backstage","backtalk","backtrack","backup","backward","backwash","backwater","backyard","bacon","bacteria","bacterium","badass","badge","badland","badly","badness","baffle","baffling","bagel","bagful","baggage","bagged","baggie","bagginess","bagging","baggy","bagpipe","baguette","baked","bakery","bakeshop","baking","balance","balancing","balcony","balmy","balsamic","bamboo","banana","banish","banister","banjo","bankable","bankbook","banked","banker","banking","banknote","bankroll","banner","bannister","banshee","banter","barbecue","barbed","barbell","barber","barcode","barge","bargraph","barista","baritone","barley","barmaid","barman","barn","barometer","barrack","barracuda","barrel","barrette","barricade","barrier","barstool","bartender","barterer","bash","basically","basics","basil","basin","basis","basket","batboy","batch","bath","baton","bats","battalion","battered","battering","battery","batting","battle","bauble","bazooka","blabber","bladder","blade","blah","blame","blaming","blanching","blandness","blank","blaspheme","blasphemy","blast","blatancy","blatantly","blazer","blazing","bleach","bleak","bleep","blemish","blend","bless","blighted","blimp","bling","blinked","blinker","blinking","blinks","blip","blissful","blitz","blizzard","bloated","bloating","blob","blog","bloomers","blooming","blooper","blot","blouse","blubber","bluff","bluish","blunderer","blunt","blurb","blurred","blurry","blurt","blush","blustery","boaster","boastful","boasting","boat","bobbed","bobbing","bobble","bobcat","bobsled","bobtail","bodacious","body","bogged","boggle","bogus","boil","bok","bolster","bolt","bonanza","bonded","bonding","bondless","boned","bonehead","boneless","bonelike","boney","bonfire","bonnet","bonsai","bonus","bony","boogeyman","boogieman","book","boondocks","booted","booth","bootie","booting","bootlace","bootleg","boots","boozy","borax","boring","borough","borrower","borrowing","boss","botanical","botanist","botany","botch","both","bottle","bottling","bottom","bounce","bouncing","bouncy","bounding","boundless","bountiful","bovine","boxcar","boxer","boxing","boxlike","boxy","breach","breath","breeches","breeching","breeder","breeding","breeze","breezy","brethren","brewery","brewing","briar","bribe","brick","bride","bridged","brigade","bright","brilliant","brim","bring","brink","brisket","briskly","briskness","bristle","brittle","broadband","broadcast","broaden","broadly","broadness","broadside","broadways","broiler","broiling","broken","broker","bronchial","bronco","bronze","bronzing","brook","broom","brought","browbeat","brownnose","browse","browsing","bruising","brunch","brunette","brunt","brush","brussels","brute","brutishly","bubble","bubbling","bubbly","buccaneer","bucked","bucket","buckle","buckshot","buckskin","bucktooth","buckwheat","buddhism","buddhist","budding","buddy","budget","buffalo","buffed","buffer","buffing","buffoon","buggy","bulb","bulge","bulginess","bulgur","bulk","bulldog","bulldozer","bullfight","bullfrog","bullhorn","bullion","bullish","bullpen","bullring","bullseye","bullwhip","bully","bunch","bundle","bungee","bunion","bunkbed","bunkhouse","bunkmate","bunny","bunt","busboy","bush","busily","busload","bust","busybody","buzz","cabana","cabbage","cabbie","cabdriver","cable","caboose","cache","cackle","cacti","cactus","caddie","caddy","cadet","cadillac","cadmium","cage","cahoots","cake","calamari","calamity","calcium","calculate","calculus","caliber","calibrate","calm","caloric","calorie","calzone","camcorder","cameo","camera","camisole","camper","campfire","camping","campsite","campus","canal","canary","cancel","candied","candle","candy","cane","canine","canister","cannabis","canned","canning","cannon","cannot","canola","canon","canopener","canopy","canteen","canyon","capable","capably","capacity","cape","capillary","capital","capitol","capped","capricorn","capsize","capsule","caption","captivate","captive","captivity","capture","caramel","carat","caravan","carbon","cardboard","carded","cardiac","cardigan","cardinal","cardstock","carefully","caregiver","careless","caress","caretaker","cargo","caring","carless","carload","carmaker","carnage","carnation","carnival","carnivore","carol","carpenter","carpentry","carpool","carport","carried","carrot","carrousel","carry","cartel","cartload","carton","cartoon","cartridge","cartwheel","carve","carving","carwash","cascade","case","cash","casing","casino","casket","cassette","casually","casualty","catacomb","catalog","catalyst","catalyze","catapult","cataract","catatonic","catcall","catchable","catcher","catching","catchy","caterer","catering","catfight","catfish","cathedral","cathouse","catlike","catnap","catnip","catsup","cattail","cattishly","cattle","catty","catwalk","caucasian","caucus","causal","causation","cause","causing","cauterize","caution","cautious","cavalier","cavalry","caviar","cavity","cedar","celery","celestial","celibacy","celibate","celtic","cement","census","ceramics","ceremony","certainly","certainty","certified","certify","cesarean","cesspool","chafe","chaffing","chain","chair","chalice","challenge","chamber","chamomile","champion","chance","change","channel","chant","chaos","chaperone","chaplain","chapped","chaps","chapter","character","charbroil","charcoal","charger","charging","chariot","charity","charm","charred","charter","charting","chase","chasing","chaste","chastise","chastity","chatroom","chatter","chatting","chatty","cheating","cheddar","cheek","cheer","cheese","cheesy","chef","chemicals","chemist","chemo","cherisher","cherub","chess","chest","chevron","chevy","chewable","chewer","chewing","chewy","chief","chihuahua","childcare","childhood","childish","childless","childlike","chili","chill","chimp","chip","chirping","chirpy","chitchat","chivalry","chive","chloride","chlorine","choice","chokehold","choking","chomp","chooser","choosing","choosy","chop","chosen","chowder","chowtime","chrome","chubby","chuck","chug","chummy","chump","chunk","churn","chute","cider","cilantro","cinch","cinema","cinnamon","circle","circling","circular","circulate","circus","citable","citadel","citation","citizen","citric","citrus","city","civic","civil","clad","claim","clambake","clammy","clamor","clamp","clamshell","clang","clanking","clapped","clapper","clapping","clarify","clarinet","clarity","clash","clasp","class","clatter","clause","clavicle","claw","clay","clean","clear","cleat","cleaver","cleft","clench","clergyman","clerical","clerk","clever","clicker","client","climate","climatic","cling","clinic","clinking","clip","clique","cloak","clobber","clock","clone","cloning","closable","closure","clothes","clothing","cloud","clover","clubbed","clubbing","clubhouse","clump","clumsily","clumsy","clunky","clustered","clutch","clutter","coach","coagulant","coastal","coaster","coasting","coastland","coastline","coat","coauthor","cobalt","cobbler","cobweb","cocoa","coconut","cod","coeditor","coerce","coexist","coffee","cofounder","cognition","cognitive","cogwheel","coherence","coherent","cohesive","coil","coke","cola","cold","coleslaw","coliseum","collage","collapse","collar","collected","collector","collide","collie","collision","colonial","colonist","colonize","colony","colossal","colt","coma","come","comfort","comfy","comic","coming","comma","commence","commend","comment","commerce","commode","commodity","commodore","common","commotion","commute","commuting","compacted","compacter","compactly","compactor","companion","company","compare","compel","compile","comply","component","composed","composer","composite","compost","composure","compound","compress","comprised","computer","computing","comrade","concave","conceal","conceded","concept","concerned","concert","conch","concierge","concise","conclude","concrete","concur","condense","condiment","condition","condone","conducive","conductor","conduit","cone","confess","confetti","confidant","confident","confider","confiding","configure","confined","confining","confirm","conflict","conform","confound","confront","confused","confusing","confusion","congenial","congested","congrats","congress","conical","conjoined","conjure","conjuror","connected","connector","consensus","consent","console","consoling","consonant","constable","constant","constrain","constrict","construct","consult","consumer","consuming","contact","container","contempt","contend","contented","contently","contents","contest","context","contort","contour","contrite","control","contusion","convene","convent","copartner","cope","copied","copier","copilot","coping","copious","copper","copy","coral","cork","cornball","cornbread","corncob","cornea","corned","corner","cornfield","cornflake","cornhusk","cornmeal","cornstalk","corny","coronary","coroner","corporal","corporate","corral","correct","corridor","corrode","corroding","corrosive","corsage","corset","cortex","cosigner","cosmetics","cosmic","cosmos","cosponsor","cost","cottage","cotton","couch","cough","could","countable","countdown","counting","countless","country","county","courier","covenant","cover","coveted","coveting","coyness","cozily","coziness","cozy","crabbing","crabgrass","crablike","crabmeat","cradle","cradling","crafter","craftily","craftsman","craftwork","crafty","cramp","cranberry","crane","cranial","cranium","crank","crate","crave","craving","crawfish","crawlers","crawling","crayfish","crayon","crazed","crazily","craziness","crazy","creamed","creamer","creamlike","crease","creasing","creatable","create","creation","creative","creature","credible","credibly","credit","creed","creme","creole","crepe","crept","crescent","crested","cresting","crestless","crevice","crewless","crewman","crewmate","crib","cricket","cried","crier","crimp","crimson","cringe","cringing","crinkle","crinkly","crisped","crisping","crisply","crispness","crispy","criteria","critter","croak","crock","crook","croon","crop","cross","crouch","crouton","crowbar","crowd","crown","crucial","crudely","crudeness","cruelly","cruelness","cruelty","crumb","crummiest","crummy","crumpet","crumpled","cruncher","crunching","crunchy","crusader","crushable","crushed","crusher","crushing","crust","crux","crying","cryptic","crystal","cubbyhole","cube","cubical","cubicle","cucumber","cuddle","cuddly","cufflink","culinary","culminate","culpable","culprit","cultivate","cultural","culture","cupbearer","cupcake","cupid","cupped","cupping","curable","curator","curdle","cure","curfew","curing","curled","curler","curliness","curling","curly","curry","curse","cursive","cursor","curtain","curtly","curtsy","curvature","curve","curvy","cushy","cusp","cussed","custard","custodian","custody","customary","customer","customize","customs","cut","cycle","cyclic","cycling","cyclist","cylinder","cymbal","cytoplasm","cytoplast","dab","dad","daffodil","dagger","daily","daintily","dainty","dairy","daisy","dallying","dance","dancing","dandelion","dander","dandruff","dandy","danger","dangle","dangling","daredevil","dares","daringly","darkened","darkening","darkish","darkness","darkroom","darling","darn","dart","darwinism","dash","dastardly","data","datebook","dating","daughter","daunting","dawdler","dawn","daybed","daybreak","daycare","daydream","daylight","daylong","dayroom","daytime","dazzler","dazzling","deacon","deafening","deafness","dealer","dealing","dealmaker","dealt","dean","debatable","debate","debating","debit","debrief","debtless","debtor","debug","debunk","decade","decaf","decal","decathlon","decay","deceased","deceit","deceiver","deceiving","december","decency","decent","deception","deceptive","decibel","decidable","decimal","decimeter","decipher","deck","declared","decline","decode","decompose","decorated","decorator","decoy","decrease","decree","dedicate","dedicator","deduce","deduct","deed","deem","deepen","deeply","deepness","deface","defacing","defame","default","defeat","defection","defective","defendant","defender","defense","defensive","deferral","deferred","defiance","defiant","defile","defiling","define","definite","deflate","deflation","deflator","deflected","deflector","defog","deforest","defraud","defrost","deftly","defuse","defy","degraded","degrading","degrease","degree","dehydrate","deity","dejected","delay","delegate","delegator","delete","deletion","delicacy","delicate","delicious","delighted","delirious","delirium","deliverer","delivery","delouse","delta","deluge","delusion","deluxe","demanding","demeaning","demeanor","demise","democracy","democrat","demote","demotion","demystify","denatured","deniable","denial","denim","denote","dense","density","dental","dentist","denture","deny","deodorant","deodorize","departed","departure","depict","deplete","depletion","deplored","deploy","deport","depose","depraved","depravity","deprecate","depress","deprive","depth","deputize","deputy","derail","deranged","derby","derived","desecrate","deserve","deserving","designate","designed","designer","designing","deskbound","desktop","deskwork","desolate","despair","despise","despite","destiny","destitute","destruct","detached","detail","detection","detective","detector","detention","detergent","detest","detonate","detonator","detoxify","detract","deuce","devalue","deviancy","deviant","deviate","deviation","deviator","device","devious","devotedly","devotee","devotion","devourer","devouring","devoutly","dexterity","dexterous","diabetes","diabetic","diabolic","diagnoses","diagnosis","diagram","dial","diameter","diaper","diaphragm","diary","dice","dicing","dictate","dictation","dictator","difficult","diffused","diffuser","diffusion","diffusive","dig","dilation","diligence","diligent","dill","dilute","dime","diminish","dimly","dimmed","dimmer","dimness","dimple","diner","dingbat","dinghy","dinginess","dingo","dingy","dining","dinner","diocese","dioxide","diploma","dipped","dipper","dipping","directed","direction","directive","directly","directory","direness","dirtiness","disabled","disagree","disallow","disarm","disarray","disaster","disband","disbelief","disburse","discard","discern","discharge","disclose","discolor","discount","discourse","discover","discuss","disdain","disengage","disfigure","disgrace","dish","disinfect","disjoin","disk","dislike","disliking","dislocate","dislodge","disloyal","dismantle","dismay","dismiss","dismount","disobey","disorder","disown","disparate","disparity","dispatch","dispense","dispersal","dispersed","disperser","displace","display","displease","disposal","dispose","disprove","dispute","disregard","disrupt","dissuade","distance","distant","distaste","distill","distinct","distort","distract","distress","district","distrust","ditch","ditto","ditzy","dividable","divided","dividend","dividers","dividing","divinely","diving","divinity","divisible","divisibly","division","divisive","divorcee","dizziness","dizzy","doable","docile","dock","doctrine","document","dodge","dodgy","doily","doing","dole","dollar","dollhouse","dollop","dolly","dolphin","domain","domelike","domestic","dominion","dominoes","donated","donation","donator","donor","donut","doodle","doorbell","doorframe","doorknob","doorman","doormat","doornail","doorpost","doorstep","doorstop","doorway","doozy","dork","dormitory","dorsal","dosage","dose","dotted","doubling","douche","dove","down","dowry","doze","drab","dragging","dragonfly","dragonish","dragster","drainable","drainage","drained","drainer","drainpipe","dramatic","dramatize","drank","drapery","drastic","draw","dreaded","dreadful","dreadlock","dreamboat","dreamily","dreamland","dreamless","dreamlike","dreamt","dreamy","drearily","dreary","drench","dress","drew","dribble","dried","drier","drift","driller","drilling","drinkable","drinking","dripping","drippy","drivable","driven","driver","driveway","driving","drizzle","drizzly","drone","drool","droop","drop-down","dropbox","dropkick","droplet","dropout","dropper","drove","drown","drowsily","drudge","drum","dry","dubbed","dubiously","duchess","duckbill","ducking","duckling","ducktail","ducky","duct","dude","duffel","dugout","duh","duke","duller","dullness","duly","dumping","dumpling","dumpster","duo","dupe","duplex","duplicate","duplicity","durable","durably","duration","duress","during","dusk","dust","dutiful","duty","duvet","dwarf","dweeb","dwelled","dweller","dwelling","dwindle","dwindling","dynamic","dynamite","dynasty","dyslexia","dyslexic","each","eagle","earache","eardrum","earflap","earful","earlobe","early","earmark","earmuff","earphone","earpiece","earplugs","earring","earshot","earthen","earthlike","earthling","earthly","earthworm","earthy","earwig","easeful","easel","easiest","easily","easiness","easing","eastbound","eastcoast","easter","eastward","eatable","eaten","eatery","eating","eats","ebay","ebony","ebook","ecard","eccentric","echo","eclair","eclipse","ecologist","ecology","economic","economist","economy","ecosphere","ecosystem","edge","edginess","edging","edgy","edition","editor","educated","education","educator","eel","effective","effects","efficient","effort","eggbeater","egging","eggnog","eggplant","eggshell","egomaniac","egotism","egotistic","either","eject","elaborate","elastic","elated","elbow","eldercare","elderly","eldest","electable","election","elective","elephant","elevate","elevating","elevation","elevator","eleven","elf","eligible","eligibly","eliminate","elite","elitism","elixir","elk","ellipse","elliptic","elm","elongated","elope","eloquence","eloquent","elsewhere","elude","elusive","elves","email","embargo","embark","embassy","embattled","embellish","ember","embezzle","emblaze","emblem","embody","embolism","emboss","embroider","emcee","emerald","emergency","emission","emit","emote","emoticon","emotion","empathic","empathy","emperor","emphases","emphasis","emphasize","emphatic","empirical","employed","employee","employer","emporium","empower","emptier","emptiness","empty","emu","enable","enactment","enamel","enchanted","enchilada","encircle","enclose","enclosure","encode","encore","encounter","encourage","encroach","encrust","encrypt","endanger","endeared","endearing","ended","ending","endless","endnote","endocrine","endorphin","endorse","endowment","endpoint","endurable","endurance","enduring","energetic","energize","energy","enforced","enforcer","engaged","engaging","engine","engorge","engraved","engraver","engraving","engross","engulf","enhance","enigmatic","enjoyable","enjoyably","enjoyer","enjoying","enjoyment","enlarged","enlarging","enlighten","enlisted","enquirer","enrage","enrich","enroll","enslave","ensnare","ensure","entail","entangled","entering","entertain","enticing","entire","entitle","entity","entomb","entourage","entrap","entree","entrench","entrust","entryway","entwine","enunciate","envelope","enviable","enviably","envious","envision","envoy","envy","enzyme","epic","epidemic","epidermal","epidermis","epidural","epilepsy","epileptic","epilogue","epiphany","episode","equal","equate","equation","equator","equinox","equipment","equity","equivocal","eradicate","erasable","erased","eraser","erasure","ergonomic","errand","errant","erratic","error","erupt","escalate","escalator","escapable","escapade","escapist","escargot","eskimo","esophagus","espionage","espresso","esquire","essay","essence","essential","establish","estate","esteemed","estimate","estimator","estranged","estrogen","etching","eternal","eternity","ethanol","ether","ethically","ethics","euphemism","evacuate","evacuee","evade","evaluate","evaluator","evaporate","evasion","evasive","even","everglade","evergreen","everybody","everyday","everyone","evict","evidence","evident","evil","evoke","evolution","evolve","exact","exalted","example","excavate","excavator","exceeding","exception","excess","exchange","excitable","exciting","exclaim","exclude","excluding","exclusion","exclusive","excretion","excretory","excursion","excusable","excusably","excuse","exemplary","exemplify","exemption","exerciser","exert","exes","exfoliate","exhale","exhaust","exhume","exile","existing","exit","exodus","exonerate","exorcism","exorcist","expand","expanse","expansion","expansive","expectant","expedited","expediter","expel","expend","expenses","expensive","expert","expire","expiring","explain","expletive","explicit","explode","exploit","explore","exploring","exponent","exporter","exposable","expose","exposure","express","expulsion","exquisite","extended","extending","extent","extenuate","exterior","external","extinct","extortion","extradite","extras","extrovert","extrude","extruding","exuberant","fable","fabric","fabulous","facebook","facecloth","facedown","faceless","facelift","faceplate","faceted","facial","facility","facing","facsimile","faction","factoid","factor","factsheet","factual","faculty","fade","fading","failing","falcon","fall","false","falsify","fame","familiar","family","famine","famished","fanatic","fancied","fanciness","fancy","fanfare","fang","fanning","fantasize","fantastic","fantasy","fascism","fastball","faster","fasting","fastness","faucet","favorable","favorably","favored","favoring","favorite","fax","feast","federal","fedora","feeble","feed","feel","feisty","feline","felt-tip","feminine","feminism","feminist","feminize","femur","fence","fencing","fender","ferment","fernlike","ferocious","ferocity","ferret","ferris","ferry","fervor","fester","festival","festive","festivity","fetal","fetch","fever","fiber","fiction","fiddle","fiddling","fidelity","fidgeting","fidgety","fifteen","fifth","fiftieth","fifty","figment","figure","figurine","filing","filled","filler","filling","film","filter","filth","filtrate","finale","finalist","finalize","finally","finance","financial","finch","fineness","finer","finicky","finished","finisher","finishing","finite","finless","finlike","fiscally","fit","five","flaccid","flagman","flagpole","flagship","flagstick","flagstone","flail","flakily","flaky","flame","flammable","flanked","flanking","flannels","flap","flaring","flashback","flashbulb","flashcard","flashily","flashing","flashy","flask","flatbed","flatfoot","flatly","flatness","flatten","flattered","flatterer","flattery","flattop","flatware","flatworm","flavored","flavorful","flavoring","flaxseed","fled","fleshed","fleshy","flick","flier","flight","flinch","fling","flint","flip","flirt","float","flock","flogging","flop","floral","florist","floss","flounder","flyable","flyaway","flyer","flying","flyover","flypaper","foam","foe","fog","foil","folic","folk","follicle","follow","fondling","fondly","fondness","fondue","font","food","fool","footage","football","footbath","footboard","footer","footgear","foothill","foothold","footing","footless","footman","footnote","footpad","footpath","footprint","footrest","footsie","footsore","footwear","footwork","fossil","foster","founder","founding","fountain","fox","foyer","fraction","fracture","fragile","fragility","fragment","fragrance","fragrant","frail","frame","framing","frantic","fraternal","frayed","fraying","frays","freckled","freckles","freebase","freebee","freebie","freedom","freefall","freehand","freeing","freeload","freely","freemason","freeness","freestyle","freeware","freeway","freewill","freezable","freezing","freight","french","frenzied","frenzy","frequency","frequent","fresh","fretful","fretted","friction","friday","fridge","fried","friend","frighten","frightful","frigidity","frigidly","frill","fringe","frisbee","frisk","fritter","frivolous","frolic","from","front","frostbite","frosted","frostily","frosting","frostlike","frosty","froth","frown","frozen","fructose","frugality","frugally","fruit","frustrate","frying","gab","gaffe","gag","gainfully","gaining","gains","gala","gallantly","galleria","gallery","galley","gallon","gallows","gallstone","galore","galvanize","gambling","game","gaming","gamma","gander","gangly","gangrene","gangway","gap","garage","garbage","garden","gargle","garland","garlic","garment","garnet","garnish","garter","gas","gatherer","gathering","gating","gauging","gauntlet","gauze","gave","gawk","gazing","gear","gecko","geek","geiger","gem","gender","generic","generous","genetics","genre","gentile","gentleman","gently","gents","geography","geologic","geologist","geology","geometric","geometry","geranium","gerbil","geriatric","germicide","germinate","germless","germproof","gestate","gestation","gesture","getaway","getting","getup","giant","gibberish","giblet","giddily","giddiness","giddy","gift","gigabyte","gigahertz","gigantic","giggle","giggling","giggly","gigolo","gilled","gills","gimmick","girdle","giveaway","given","giver","giving","gizmo","gizzard","glacial","glacier","glade","gladiator","gladly","glamorous","glamour","glance","glancing","glandular","glare","glaring","glass","glaucoma","glazing","gleaming","gleeful","glider","gliding","glimmer","glimpse","glisten","glitch","glitter","glitzy","gloater","gloating","gloomily","gloomy","glorified","glorifier","glorify","glorious","glory","gloss","glove","glowing","glowworm","glucose","glue","gluten","glutinous","glutton","gnarly","gnat","goal","goatskin","goes","goggles","going","goldfish","goldmine","goldsmith","golf","goliath","gonad","gondola","gone","gong","good","gooey","goofball","goofiness","goofy","google","goon","gopher","gore","gorged","gorgeous","gory","gosling","gossip","gothic","gotten","gout","gown","grab","graceful","graceless","gracious","gradation","graded","grader","gradient","grading","gradually","graduate","graffiti","grafted","grafting","grain","granddad","grandkid","grandly","grandma","grandpa","grandson","granite","granny","granola","grant","granular","grape","graph","grapple","grappling","grasp","grass","gratified","gratify","grating","gratitude","gratuity","gravel","graveness","graves","graveyard","gravitate","gravity","gravy","gray","grazing","greasily","greedily","greedless","greedy","green","greeter","greeting","grew","greyhound","grid","grief","grievance","grieving","grievous","grill","grimace","grimacing","grime","griminess","grimy","grinch","grinning","grip","gristle","grit","groggily","groggy","groin","groom","groove","grooving","groovy","grope","ground","grouped","grout","grove","grower","growing","growl","grub","grudge","grudging","grueling","gruffly","grumble","grumbling","grumbly","grumpily","grunge","grunt","guacamole","guidable","guidance","guide","guiding","guileless","guise","gulf","gullible","gully","gulp","gumball","gumdrop","gumminess","gumming","gummy","gurgle","gurgling","guru","gush","gusto","gusty","gutless","guts","gutter","guy","guzzler","gyration","habitable","habitant","habitat","habitual","hacked","hacker","hacking","hacksaw","had","haggler","haiku","half","halogen","halt","halved","halves","hamburger","hamlet","hammock","hamper","hamster","hamstring","handbag","handball","handbook","handbrake","handcart","handclap","handclasp","handcraft","handcuff","handed","handful","handgrip","handgun","handheld","handiness","handiwork","handlebar","handled","handler","handling","handmade","handoff","handpick","handprint","handrail","handsaw","handset","handsfree","handshake","handstand","handwash","handwork","handwoven","handwrite","handyman","hangnail","hangout","hangover","hangup","hankering","hankie","hanky","haphazard","happening","happier","happiest","happily","happiness","happy","harbor","hardcopy","hardcore","hardcover","harddisk","hardened","hardener","hardening","hardhat","hardhead","hardiness","hardly","hardness","hardship","hardware","hardwired","hardwood","hardy","harmful","harmless","harmonica","harmonics","harmonize","harmony","harness","harpist","harsh","harvest","hash","hassle","haste","hastily","hastiness","hasty","hatbox","hatchback","hatchery","hatchet","hatching","hatchling","hate","hatless","hatred","haunt","haven","hazard","hazelnut","hazily","haziness","hazing","hazy","headache","headband","headboard","headcount","headdress","headed","header","headfirst","headgear","heading","headlamp","headless","headlock","headphone","headpiece","headrest","headroom","headscarf","headset","headsman","headstand","headstone","headway","headwear","heap","heat","heave","heavily","heaviness","heaving","hedge","hedging","heftiness","hefty","helium","helmet","helper","helpful","helping","helpless","helpline","hemlock","hemstitch","hence","henchman","henna","herald","herbal","herbicide","herbs","heritage","hermit","heroics","heroism","herring","herself","hertz","hesitancy","hesitant","hesitate","hexagon","hexagram","hubcap","huddle","huddling","huff","hug","hula","hulk","hull","human","humble","humbling","humbly","humid","humiliate","humility","humming","hummus","humongous","humorist","humorless","humorous","humpback","humped","humvee","hunchback","hundredth","hunger","hungrily","hungry","hunk","hunter","hunting","huntress","huntsman","hurdle","hurled","hurler","hurling","hurray","hurricane","hurried","hurry","hurt","husband","hush","husked","huskiness","hut","hybrid","hydrant","hydrated","hydration","hydrogen","hydroxide","hyperlink","hypertext","hyphen","hypnoses","hypnosis","hypnotic","hypnotism","hypnotist","hypnotize","hypocrisy","hypocrite","ibuprofen","ice","iciness","icing","icky","icon","icy","idealism","idealist","idealize","ideally","idealness","identical","identify","identity","ideology","idiocy","idiom","idly","igloo","ignition","ignore","iguana","illicitly","illusion","illusive","image","imaginary","imagines","imaging","imbecile","imitate","imitation","immature","immerse","immersion","imminent","immobile","immodest","immorally","immortal","immovable","immovably","immunity","immunize","impaired","impale","impart","impatient","impeach","impeding","impending","imperfect","imperial","impish","implant","implement","implicate","implicit","implode","implosion","implosive","imply","impolite","important","importer","impose","imposing","impotence","impotency","impotent","impound","imprecise","imprint","imprison","impromptu","improper","improve","improving","improvise","imprudent","impulse","impulsive","impure","impurity","iodine","iodize","ion","ipad","iphone","ipod","irate","irk","iron","irregular","irrigate","irritable","irritably","irritant","irritate","islamic","islamist","isolated","isolating","isolation","isotope","issue","issuing","italicize","italics","item","itinerary","itunes","ivory","ivy","jab","jackal","jacket","jackknife","jackpot","jailbird","jailbreak","jailer","jailhouse","jalapeno","jam","janitor","january","jargon","jarring","jasmine","jaundice","jaunt","java","jawed","jawless","jawline","jaws","jaybird","jaywalker","jazz","jeep","jeeringly","jellied","jelly","jersey","jester","jet","jiffy","jigsaw","jimmy","jingle","jingling","jinx","jitters","jittery","job","jockey","jockstrap","jogger","jogging","john","joining","jokester","jokingly","jolliness","jolly","jolt","jot","jovial","joyfully","joylessly","joyous","joyride","joystick","jubilance","jubilant","judge","judgingly","judicial","judiciary","judo","juggle","juggling","jugular","juice","juiciness","juicy","jujitsu","jukebox","july","jumble","jumbo","jump","junction","juncture","june","junior","juniper","junkie","junkman","junkyard","jurist","juror","jury","justice","justifier","justify","justly","justness","juvenile","kabob","kangaroo","karaoke","karate","karma","kebab","keenly","keenness","keep","keg","kelp","kennel","kept","kerchief","kerosene","kettle","kick","kiln","kilobyte","kilogram","kilometer","kilowatt","kilt","kimono","kindle","kindling","kindly","kindness","kindred","kinetic","kinfolk","king","kinship","kinsman","kinswoman","kissable","kisser","kissing","kitchen","kite","kitten","kitty","kiwi","kleenex","knapsack","knee","knelt","knickers","knoll","koala","kooky","kosher","krypton","kudos","kung","labored","laborer","laboring","laborious","labrador","ladder","ladies","ladle","ladybug","ladylike","lagged","lagging","lagoon","lair","lake","lance","landed","landfall","landfill","landing","landlady","landless","landline","landlord","landmark","landmass","landmine","landowner","landscape","landside","landslide","language","lankiness","lanky","lantern","lapdog","lapel","lapped","lapping","laptop","lard","large","lark","lash","lasso","last","latch","late","lather","latitude","latrine","latter","latticed","launch","launder","laundry","laurel","lavender","lavish","laxative","lazily","laziness","lazy","lecturer","left","legacy","legal","legend","legged","leggings","legible","legibly","legislate","lego","legroom","legume","legwarmer","legwork","lemon","lend","length","lens","lent","leotard","lesser","letdown","lethargic","lethargy","letter","lettuce","level","leverage","levers","levitate","levitator","liability","liable","liberty","librarian","library","licking","licorice","lid","life","lifter","lifting","liftoff","ligament","likely","likeness","likewise","liking","lilac","lilly","lily","limb","limeade","limelight","limes","limit","limping","limpness","line","lingo","linguini","linguist","lining","linked","linoleum","linseed","lint","lion","lip","liquefy","liqueur","liquid","lisp","list","litigate","litigator","litmus","litter","little","livable","lived","lively","liver","livestock","lividly","living","lizard","lubricant","lubricate","lucid","luckily","luckiness","luckless","lucrative","ludicrous","lugged","lukewarm","lullaby","lumber","luminance","luminous","lumpiness","lumping","lumpish","lunacy","lunar","lunchbox","luncheon","lunchroom","lunchtime","lung","lurch","lure","luridness","lurk","lushly","lushness","luster","lustfully","lustily","lustiness","lustrous","lusty","luxurious","luxury","lying","lyrically","lyricism","lyricist","lyrics","macarena","macaroni","macaw","mace","machine","machinist","magazine","magenta","maggot","magical","magician","magma","magnesium","magnetic","magnetism","magnetize","magnifier","magnify","magnitude","magnolia","mahogany","maimed","majestic","majesty","majorette","majority","makeover","maker","makeshift","making","malformed","malt","mama","mammal","mammary","mammogram","manager","managing","manatee","mandarin","mandate","mandatory","mandolin","manger","mangle","mango","mangy","manhandle","manhole","manhood","manhunt","manicotti","manicure","manifesto","manila","mankind","manlike","manliness","manly","manmade","manned","mannish","manor","manpower","mantis","mantra","manual","many","map","marathon","marauding","marbled","marbles","marbling","march","mardi","margarine","margarita","margin","marigold","marina","marine","marital","maritime","marlin","marmalade","maroon","married","marrow","marry","marshland","marshy","marsupial","marvelous","marxism","mascot","masculine","mashed","mashing","massager","masses","massive","mastiff","matador","matchbook","matchbox","matcher","matching","matchless","material","maternal","maternity","math","mating","matriarch","matrimony","matrix","matron","matted","matter","maturely","maturing","maturity","mauve","maverick","maximize","maximum","maybe","mayday","mayflower","moaner","moaning","mobile","mobility","mobilize","mobster","mocha","mocker","mockup","modified","modify","modular","modulator","module","moisten","moistness","moisture","molar","molasses","mold","molecular","molecule","molehill","mollusk","mom","monastery","monday","monetary","monetize","moneybags","moneyless","moneywise","mongoose","mongrel","monitor","monkhood","monogamy","monogram","monologue","monopoly","monorail","monotone","monotype","monoxide","monsieur","monsoon","monstrous","monthly","monument","moocher","moodiness","moody","mooing","moonbeam","mooned","moonlight","moonlike","moonlit","moonrise","moonscape","moonshine","moonstone","moonwalk","mop","morale","morality","morally","morbidity","morbidly","morphine","morphing","morse","mortality","mortally","mortician","mortified","mortify","mortuary","mosaic","mossy","most","mothball","mothproof","motion","motivate","motivator","motive","motocross","motor","motto","mountable","mountain","mounted","mounting","mourner","mournful","mouse","mousiness","moustache","mousy","mouth","movable","move","movie","moving","mower","mowing","much","muck","mud","mug","mulberry","mulch","mule","mulled","mullets","multiple","multiply","multitask","multitude","mumble","mumbling","mumbo","mummified","mummify","mummy","mumps","munchkin","mundane","municipal","muppet","mural","murkiness","murky","murmuring","muscular","museum","mushily","mushiness","mushroom","mushy","music","musket","muskiness","musky","mustang","mustard","muster","mustiness","musty","mutable","mutate","mutation","mute","mutilated","mutilator","mutiny","mutt","mutual","muzzle","myself","myspace","mystified","mystify","myth","nacho","nag","nail","name","naming","nanny","nanometer","nape","napkin","napped","napping","nappy","narrow","nastily","nastiness","national","native","nativity","natural","nature","naturist","nautical","navigate","navigator","navy","nearby","nearest","nearly","nearness","neatly","neatness","nebula","nebulizer","nectar","negate","negation","negative","neglector","negligee","negligent","negotiate","nemeses","nemesis","neon","nephew","nerd","nervous","nervy","nest","net","neurology","neuron","neurosis","neurotic","neuter","neutron","never","next","nibble","nickname","nicotine","niece","nifty","nimble","nimbly","nineteen","ninetieth","ninja","nintendo","ninth","nuclear","nuclei","nucleus","nugget","nullify","number","numbing","numbly","numbness","numeral","numerate","numerator","numeric","numerous","nuptials","nursery","nursing","nurture","nutcase","nutlike","nutmeg","nutrient","nutshell","nuttiness","nutty","nuzzle","nylon","oaf","oak","oasis","oat","obedience","obedient","obituary","object","obligate","obliged","oblivion","oblivious","oblong","obnoxious","oboe","obscure","obscurity","observant","observer","observing","obsessed","obsession","obsessive","obsolete","obstacle","obstinate","obstruct","obtain","obtrusive","obtuse","obvious","occultist","occupancy","occupant","occupier","occupy","ocean","ocelot","octagon","octane","october","octopus","ogle","oil","oink","ointment","okay","old","olive","olympics","omega","omen","ominous","omission","omit","omnivore","onboard","oncoming","ongoing","onion","online","onlooker","only","onscreen","onset","onshore","onslaught","onstage","onto","onward","onyx","oops","ooze","oozy","opacity","opal","open","operable","operate","operating","operation","operative","operator","opium","opossum","opponent","oppose","opposing","opposite","oppressed","oppressor","opt","opulently","osmosis","other","otter","ouch","ought","ounce","outage","outback","outbid","outboard","outbound","outbreak","outburst","outcast","outclass","outcome","outdated","outdoors","outer","outfield","outfit","outflank","outgoing","outgrow","outhouse","outing","outlast","outlet","outline","outlook","outlying","outmatch","outmost","outnumber","outplayed","outpost","outpour","output","outrage","outrank","outreach","outright","outscore","outsell","outshine","outshoot","outsider","outskirts","outsmart","outsource","outspoken","outtakes","outthink","outward","outweigh","outwit","oval","ovary","oven","overact","overall","overarch","overbid","overbill","overbite","overblown","overboard","overbook","overbuilt","overcast","overcoat","overcome","overcook","overcrowd","overdraft","overdrawn","overdress","overdrive","overdue","overeager","overeater","overexert","overfed","overfeed","overfill","overflow","overfull","overgrown","overhand","overhang","overhaul","overhead","overhear","overheat","overhung","overjoyed","overkill","overlabor","overlaid","overlap","overlay","overload","overlook","overlord","overlying","overnight","overpass","overpay","overplant","overplay","overpower","overprice","overrate","overreach","overreact","override","overripe","overrule","overrun","overshoot","overshot","oversight","oversized","oversleep","oversold","overspend","overstate","overstay","overstep","overstock","overstuff","oversweet","overtake","overthrow","overtime","overtly","overtone","overture","overturn","overuse","overvalue","overview","overwrite","owl","oxford","oxidant","oxidation","oxidize","oxidizing","oxygen","oxymoron","oyster","ozone","paced","pacemaker","pacific","pacifier","pacifism","pacifist","pacify","padded","padding","paddle","paddling","padlock","pagan","pager","paging","pajamas","palace","palatable","palm","palpable","palpitate","paltry","pampered","pamperer","pampers","pamphlet","panama","pancake","pancreas","panda","pandemic","pang","panhandle","panic","panning","panorama","panoramic","panther","pantomime","pantry","pants","pantyhose","paparazzi","papaya","paper","paprika","papyrus","parabola","parachute","parade","paradox","paragraph","parakeet","paralegal","paralyses","paralysis","paralyze","paramedic","parameter","paramount","parasail","parasite","parasitic","parcel","parched","parchment","pardon","parish","parka","parking","parkway","parlor","parmesan","parole","parrot","parsley","parsnip","partake","parted","parting","partition","partly","partner","partridge","party","passable","passably","passage","passcode","passenger","passerby","passing","passion","passive","passivism","passover","passport","password","pasta","pasted","pastel","pastime","pastor","pastrami","pasture","pasty","patchwork","patchy","paternal","paternity","path","patience","patient","patio","patriarch","patriot","patrol","patronage","patronize","pauper","pavement","paver","pavestone","pavilion","paving","pawing","payable","payback","paycheck","payday","payee","payer","paying","payment","payphone","payroll","pebble","pebbly","pecan","pectin","peculiar","peddling","pediatric","pedicure","pedigree","pedometer","pegboard","pelican","pellet","pelt","pelvis","penalize","penalty","pencil","pendant","pending","penholder","penknife","pennant","penniless","penny","penpal","pension","pentagon","pentagram","pep","perceive","percent","perch","percolate","perennial","perfected","perfectly","perfume","periscope","perish","perjurer","perjury","perkiness","perky","perm","peroxide","perpetual","perplexed","persecute","persevere","persuaded","persuader","pesky","peso","pessimism","pessimist","pester","pesticide","petal","petite","petition","petri","petroleum","petted","petticoat","pettiness","petty","petunia","phantom","phobia","phoenix","phonebook","phoney","phonics","phoniness","phony","phosphate","photo","phrase","phrasing","placard","placate","placidly","plank","planner","plant","plasma","plaster","plastic","plated","platform","plating","platinum","platonic","platter","platypus","plausible","plausibly","playable","playback","player","playful","playgroup","playhouse","playing","playlist","playmaker","playmate","playoff","playpen","playroom","playset","plaything","playtime","plaza","pleading","pleat","pledge","plentiful","plenty","plethora","plexiglas","pliable","plod","plop","plot","plow","ploy","pluck","plug","plunder","plunging","plural","plus","plutonium","plywood","poach","pod","poem","poet","pogo","pointed","pointer","pointing","pointless","pointy","poise","poison","poker","poking","polar","police","policy","polio","polish","politely","polka","polo","polyester","polygon","polygraph","polymer","poncho","pond","pony","popcorn","pope","poplar","popper","poppy","popsicle","populace","popular","populate","porcupine","pork","porous","porridge","portable","portal","portfolio","porthole","portion","portly","portside","poser","posh","posing","possible","possibly","possum","postage","postal","postbox","postcard","posted","poster","posting","postnasal","posture","postwar","pouch","pounce","pouncing","pound","pouring","pout","powdered","powdering","powdery","power","powwow","pox","praising","prance","prancing","pranker","prankish","prankster","prayer","praying","preacher","preaching","preachy","preamble","precinct","precise","precision","precook","precut","predator","predefine","predict","preface","prefix","preflight","preformed","pregame","pregnancy","pregnant","preheated","prelaunch","prelaw","prelude","premiere","premises","premium","prenatal","preoccupy","preorder","prepaid","prepay","preplan","preppy","preschool","prescribe","preseason","preset","preshow","president","presoak","press","presume","presuming","preteen","pretended","pretender","pretense","pretext","pretty","pretzel","prevail","prevalent","prevent","preview","previous","prewar","prewashed","prideful","pried","primal","primarily","primary","primate","primer","primp","princess","print","prior","prism","prison","prissy","pristine","privacy","private","privatize","prize","proactive","probable","probably","probation","probe","probing","probiotic","problem","procedure","process","proclaim","procreate","procurer","prodigal","prodigy","produce","product","profane","profanity","professed","professor","profile","profound","profusely","progeny","prognosis","program","progress","projector","prologue","prolonged","promenade","prominent","promoter","promotion","prompter","promptly","prone","prong","pronounce","pronto","proofing","proofread","proofs","propeller","properly","property","proponent","proposal","propose","props","prorate","protector","protegee","proton","prototype","protozoan","protract","protrude","proud","provable","proved","proven","provided","provider","providing","province","proving","provoke","provoking","provolone","prowess","prowler","prowling","proximity","proxy","prozac","prude","prudishly","prune","pruning","pry","psychic","public","publisher","pucker","pueblo","pug","pull","pulmonary","pulp","pulsate","pulse","pulverize","puma","pumice","pummel","punch","punctual","punctuate","punctured","pungent","punisher","punk","pupil","puppet","puppy","purchase","pureblood","purebred","purely","pureness","purgatory","purge","purging","purifier","purify","purist","puritan","purity","purple","purplish","purposely","purr","purse","pursuable","pursuant","pursuit","purveyor","pushcart","pushchair","pusher","pushiness","pushing","pushover","pushpin","pushup","pushy","putdown","putt","puzzle","puzzling","pyramid","pyromania","python","quack","quadrant","quail","quaintly","quake","quaking","qualified","qualifier","qualify","quality","qualm","quantum","quarrel","quarry","quartered","quarterly","quarters","quartet","quench","query","quicken","quickly","quickness","quicksand","quickstep","quiet","quill","quilt","quintet","quintuple","quirk","quit","quiver","quizzical","quotable","quotation","quote","rabid","race","racing","racism","rack","racoon","radar","radial","radiance","radiantly","radiated","radiation","radiator","radio","radish","raffle","raft","rage","ragged","raging","ragweed","raider","railcar","railing","railroad","railway","raisin","rake","raking","rally","ramble","rambling","ramp","ramrod","ranch","rancidity","random","ranged","ranger","ranging","ranked","ranking","ransack","ranting","rants","rare","rarity","rascal","rash","rasping","ravage","raven","ravine","raving","ravioli","ravishing","reabsorb","reach","reacquire","reaction","reactive","reactor","reaffirm","ream","reanalyze","reappear","reapply","reappoint","reapprove","rearrange","rearview","reason","reassign","reassure","reattach","reawake","rebalance","rebate","rebel","rebirth","reboot","reborn","rebound","rebuff","rebuild","rebuilt","reburial","rebuttal","recall","recant","recapture","recast","recede","recent","recess","recharger","recipient","recital","recite","reckless","reclaim","recliner","reclining","recluse","reclusive","recognize","recoil","recollect","recolor","reconcile","reconfirm","reconvene","recopy","record","recount","recoup","recovery","recreate","rectal","rectangle","rectified","rectify","recycled","recycler","recycling","reemerge","reenact","reenter","reentry","reexamine","referable","referee","reference","refill","refinance","refined","refinery","refining","refinish","reflected","reflector","reflex","reflux","refocus","refold","reforest","reformat","reformed","reformer","reformist","refract","refrain","refreeze","refresh","refried","refueling","refund","refurbish","refurnish","refusal","refuse","refusing","refutable","refute","regain","regalia","regally","reggae","regime","region","register","registrar","registry","regress","regretful","regroup","regular","regulate","regulator","rehab","reheat","rehire","rehydrate","reimburse","reissue","reiterate","rejoice","rejoicing","rejoin","rekindle","relapse","relapsing","relatable","related","relation","relative","relax","relay","relearn","release","relenting","reliable","reliably","reliance","reliant","relic","relieve","relieving","relight","relish","relive","reload","relocate","relock","reluctant","rely","remake","remark","remarry","rematch","remedial","remedy","remember","reminder","remindful","remission","remix","remnant","remodeler","remold","remorse","remote","removable","removal","removed","remover","removing","rename","renderer","rendering","rendition","renegade","renewable","renewably","renewal","renewed","renounce","renovate","renovator","rentable","rental","rented","renter","reoccupy","reoccur","reopen","reorder","repackage","repacking","repaint","repair","repave","repaying","repayment","repeal","repeated","repeater","repent","rephrase","replace","replay","replica","reply","reporter","repose","repossess","repost","repressed","reprimand","reprint","reprise","reproach","reprocess","reproduce","reprogram","reps","reptile","reptilian","repugnant","repulsion","repulsive","repurpose","reputable","reputably","request","require","requisite","reroute","rerun","resale","resample","rescuer","reseal","research","reselect","reseller","resemble","resend","resent","reset","reshape","reshoot","reshuffle","residence","residency","resident","residual","residue","resigned","resilient","resistant","resisting","resize","resolute","resolved","resonant","resonate","resort","resource","respect","resubmit","result","resume","resupply","resurface","resurrect","retail","retainer","retaining","retake","retaliate","retention","rethink","retinal","retired","retiree","retiring","retold","retool","retorted","retouch","retrace","retract","retrain","retread","retreat","retrial","retrieval","retriever","retry","return","retying","retype","reunion","reunite","reusable","reuse","reveal","reveler","revenge","revenue","reverb","revered","reverence","reverend","reversal","reverse","reversing","reversion","revert","revisable","revise","revision","revisit","revivable","revival","reviver","reviving","revocable","revoke","revolt","revolver","revolving","reward","rewash","rewind","rewire","reword","rework","rewrap","rewrite","rhyme","ribbon","ribcage","rice","riches","richly","richness","rickety","ricotta","riddance","ridden","ride","riding","rifling","rift","rigging","rigid","rigor","rimless","rimmed","rind","rink","rinse","rinsing","riot","ripcord","ripeness","ripening","ripping","ripple","rippling","riptide","rise","rising","risk","risotto","ritalin","ritzy","rival","riverbank","riverbed","riverboat","riverside","riveter","riveting","roamer","roaming","roast","robbing","robe","robin","robotics","robust","rockband","rocker","rocket","rockfish","rockiness","rocking","rocklike","rockslide","rockstar","rocky","rogue","roman","romp","rope","roping","roster","rosy","rotten","rotting","rotunda","roulette","rounding","roundish","roundness","roundup","roundworm","routine","routing","rover","roving","royal","rubbed","rubber","rubbing","rubble","rubdown","ruby","ruckus","rudder","rug","ruined","rule","rumble","rumbling","rummage","rumor","runaround","rundown","runner","running","runny","runt","runway","rupture","rural","ruse","rush","rust","rut","sabbath","sabotage","sacrament","sacred","sacrifice","sadden","saddlebag","saddled","saddling","sadly","sadness","safari","safeguard","safehouse","safely","safeness","saffron","saga","sage","sagging","saggy","said","saint","sake","salad","salami","salaried","salary","saline","salon","saloon","salsa","salt","salutary","salute","salvage","salvaging","salvation","same","sample","sampling","sanction","sanctity","sanctuary","sandal","sandbag","sandbank","sandbar","sandblast","sandbox","sanded","sandfish","sanding","sandlot","sandpaper","sandpit","sandstone","sandstorm","sandworm","sandy","sanitary","sanitizer","sank","santa","sapling","sappiness","sappy","sarcasm","sarcastic","sardine","sash","sasquatch","sassy","satchel","satiable","satin","satirical","satisfied","satisfy","saturate","saturday","sauciness","saucy","sauna","savage","savanna","saved","savings","savior","savor","saxophone","say","scabbed","scabby","scalded","scalding","scale","scaling","scallion","scallop","scalping","scam","scandal","scanner","scanning","scant","scapegoat","scarce","scarcity","scarecrow","scared","scarf","scarily","scariness","scarring","scary","scavenger","scenic","schedule","schematic","scheme","scheming","schilling","schnapps","scholar","science","scientist","scion","scoff","scolding","scone","scoop","scooter","scope","scorch","scorebook","scorecard","scored","scoreless","scorer","scoring","scorn","scorpion","scotch","scoundrel","scoured","scouring","scouting","scouts","scowling","scrabble","scraggly","scrambled","scrambler","scrap","scratch","scrawny","screen","scribble","scribe","scribing","scrimmage","script","scroll","scrooge","scrounger","scrubbed","scrubber","scruffy","scrunch","scrutiny","scuba","scuff","sculptor","sculpture","scurvy","scuttle","secluded","secluding","seclusion","second","secrecy","secret","sectional","sector","secular","securely","security","sedan","sedate","sedation","sedative","sediment","seduce","seducing","segment","seismic","seizing","seldom","selected","selection","selective","selector","self","seltzer","semantic","semester","semicolon","semifinal","seminar","semisoft","semisweet","senate","senator","send","senior","senorita","sensation","sensitive","sensitize","sensually","sensuous","sepia","september","septic","septum","sequel","sequence","sequester","series","sermon","serotonin","serpent","serrated","serve","service","serving","sesame","sessions","setback","setting","settle","settling","setup","sevenfold","seventeen","seventh","seventy","severity","shabby","shack","shaded","shadily","shadiness","shading","shadow","shady","shaft","shakable","shakily","shakiness","shaking","shaky","shale","shallot","shallow","shame","shampoo","shamrock","shank","shanty","shape","shaping","share","sharpener","sharper","sharpie","sharply","sharpness","shawl","sheath","shed","sheep","sheet","shelf","shell","shelter","shelve","shelving","sherry","shield","shifter","shifting","shiftless","shifty","shimmer","shimmy","shindig","shine","shingle","shininess","shining","shiny","ship","shirt","shivering","shock","shone","shoplift","shopper","shopping","shoptalk","shore","shortage","shortcake","shortcut","shorten","shorter","shorthand","shortlist","shortly","shortness","shorts","shortwave","shorty","shout","shove","showbiz","showcase","showdown","shower","showgirl","showing","showman","shown","showoff","showpiece","showplace","showroom","showy","shrank","shrapnel","shredder","shredding","shrewdly","shriek","shrill","shrimp","shrine","shrink","shrivel","shrouded","shrubbery","shrubs","shrug","shrunk","shucking","shudder","shuffle","shuffling","shun","shush","shut","shy","siamese","siberian","sibling","siding","sierra","siesta","sift","sighing","silenced","silencer","silent","silica","silicon","silk","silliness","silly","silo","silt","silver","similarly","simile","simmering","simple","simplify","simply","sincere","sincerity","singer","singing","single","singular","sinister","sinless","sinner","sinuous","sip","siren","sister","sitcom","sitter","sitting","situated","situation","sixfold","sixteen","sixth","sixties","sixtieth","sixtyfold","sizable","sizably","size","sizing","sizzle","sizzling","skater","skating","skedaddle","skeletal","skeleton","skeptic","sketch","skewed","skewer","skid","skied","skier","skies","skiing","skilled","skillet","skillful","skimmed","skimmer","skimming","skimpily","skincare","skinhead","skinless","skinning","skinny","skintight","skipper","skipping","skirmish","skirt","skittle","skydiver","skylight","skyline","skype","skyrocket","skyward","slab","slacked","slacker","slacking","slackness","slacks","slain","slam","slander","slang","slapping","slapstick","slashed","slashing","slate","slather","slaw","sled","sleek","sleep","sleet","sleeve","slept","sliceable","sliced","slicer","slicing","slick","slider","slideshow","sliding","slighted","slighting","slightly","slimness","slimy","slinging","slingshot","slinky","slip","slit","sliver","slobbery","slogan","sloped","sloping","sloppily","sloppy","slot","slouching","slouchy","sludge","slug","slum","slurp","slush","sly","small","smartly","smartness","smasher","smashing","smashup","smell","smelting","smile","smilingly","smirk","smite","smith","smitten","smock","smog","smoked","smokeless","smokiness","smoking","smoky","smolder","smooth","smother","smudge","smudgy","smuggler","smuggling","smugly","smugness","snack","snagged","snaking","snap","snare","snarl","snazzy","sneak","sneer","sneeze","sneezing","snide","sniff","snippet","snipping","snitch","snooper","snooze","snore","snoring","snorkel","snort","snout","snowbird","snowboard","snowbound","snowcap","snowdrift","snowdrop","snowfall","snowfield","snowflake","snowiness","snowless","snowman","snowplow","snowshoe","snowstorm","snowsuit","snowy","snub","snuff","snuggle","snugly","snugness","speak","spearfish","spearhead","spearman","spearmint","species","specimen","specked","speckled","specks","spectacle","spectator","spectrum","speculate","speech","speed","spellbind","speller","spelling","spendable","spender","spending","spent","spew","sphere","spherical","sphinx","spider","spied","spiffy","spill","spilt","spinach","spinal","spindle","spinner","spinning","spinout","spinster","spiny","spiral","spirited","spiritism","spirits","spiritual","splashed","splashing","splashy","splatter","spleen","splendid","splendor","splice","splicing","splinter","splotchy","splurge","spoilage","spoiled","spoiler","spoiling","spoils","spoken","spokesman","sponge","spongy","sponsor","spoof","spookily","spooky","spool","spoon","spore","sporting","sports","sporty","spotless","spotlight","spotted","spotter","spotting","spotty","spousal","spouse","spout","sprain","sprang","sprawl","spray","spree","sprig","spring","sprinkled","sprinkler","sprint","sprite","sprout","spruce","sprung","spry","spud","spur","sputter","spyglass","squabble","squad","squall","squander","squash","squatted","squatter","squatting","squeak","squealer","squealing","squeamish","squeegee","squeeze","squeezing","squid","squiggle","squiggly","squint","squire","squirt","squishier","squishy","stability","stabilize","stable","stack","stadium","staff","stage","staging","stagnant","stagnate","stainable","stained","staining","stainless","stalemate","staleness","stalling","stallion","stamina","stammer","stamp","stand","stank","staple","stapling","starboard","starch","stardom","stardust","starfish","stargazer","staring","stark","starless","starlet","starlight","starlit","starring","starry","starship","starter","starting","startle","startling","startup","starved","starving","stash","state","static","statistic","statue","stature","status","statute","statutory","staunch","stays","steadfast","steadier","steadily","steadying","steam","steed","steep","steerable","steering","steersman","stegosaur","stellar","stem","stench","stencil","step","stereo","sterile","sterility","sterilize","sterling","sternness","sternum","stew","stick","stiffen","stiffly","stiffness","stifle","stifling","stillness","stilt","stimulant","stimulate","stimuli","stimulus","stinger","stingily","stinging","stingray","stingy","stinking","stinky","stipend","stipulate","stir","stitch","stock","stoic","stoke","stole","stomp","stonewall","stoneware","stonework","stoning","stony","stood","stooge","stool","stoop","stoplight","stoppable","stoppage","stopped","stopper","stopping","stopwatch","storable","storage","storeroom","storewide","storm","stout","stove","stowaway","stowing","straddle","straggler","strained","strainer","straining","strangely","stranger","strangle","strategic","strategy","stratus","straw","stray","streak","stream","street","strength","strenuous","strep","stress","stretch","strewn","stricken","strict","stride","strife","strike","striking","strive","striving","strobe","strode","stroller","strongbox","strongly","strongman","struck","structure","strudel","struggle","strum","strung","strut","stubbed","stubble","stubbly","stubborn","stucco","stuck","student","studied","studio","study","stuffed","stuffing","stuffy","stumble","stumbling","stump","stung","stunned","stunner","stunning","stunt","stupor","sturdily","sturdy","styling","stylishly","stylist","stylized","stylus","suave","subarctic","subatomic","subdivide","subdued","subduing","subfloor","subgroup","subheader","subject","sublease","sublet","sublevel","sublime","submarine","submerge","submersed","submitter","subpanel","subpar","subplot","subprime","subscribe","subscript","subsector","subside","subsiding","subsidize","subsidy","subsoil","subsonic","substance","subsystem","subtext","subtitle","subtly","subtotal","subtract","subtype","suburb","subway","subwoofer","subzero","succulent","such","suction","sudden","sudoku","suds","sufferer","suffering","suffice","suffix","suffocate","suffrage","sugar","suggest","suing","suitable","suitably","suitcase","suitor","sulfate","sulfide","sulfite","sulfur","sulk","sullen","sulphate","sulphuric","sultry","superbowl","superglue","superhero","superior","superjet","superman","supermom","supernova","supervise","supper","supplier","supply","support","supremacy","supreme","surcharge","surely","sureness","surface","surfacing","surfboard","surfer","surgery","surgical","surging","surname","surpass","surplus","surprise","surreal","surrender","surrogate","surround","survey","survival","survive","surviving","survivor","sushi","suspect","suspend","suspense","sustained","sustainer","swab","swaddling","swagger","swampland","swan","swapping","swarm","sway","swear","sweat","sweep","swell","swept","swerve","swifter","swiftly","swiftness","swimmable","swimmer","swimming","swimsuit","swimwear","swinger","swinging","swipe","swirl","switch","swivel","swizzle","swooned","swoop","swoosh","swore","sworn","swung","sycamore","sympathy","symphonic","symphony","symptom","synapse","syndrome","synergy","synopses","synopsis","synthesis","synthetic","syrup","system","t-shirt","tabasco","tabby","tableful","tables","tablet","tableware","tabloid","tackiness","tacking","tackle","tackling","tacky","taco","tactful","tactical","tactics","tactile","tactless","tadpole","taekwondo","tag","tainted","take","taking","talcum","talisman","tall","talon","tamale","tameness","tamer","tamper","tank","tanned","tannery","tanning","tantrum","tapeless","tapered","tapering","tapestry","tapioca","tapping","taps","tarantula","target","tarmac","tarnish","tarot","tartar","tartly","tartness","task","tassel","taste","tastiness","tasting","tasty","tattered","tattle","tattling","tattoo","taunt","tavern","thank","that","thaw","theater","theatrics","thee","theft","theme","theology","theorize","thermal","thermos","thesaurus","these","thesis","thespian","thicken","thicket","thickness","thieving","thievish","thigh","thimble","thing","think","thinly","thinner","thinness","thinning","thirstily","thirsting","thirsty","thirteen","thirty","thong","thorn","those","thousand","thrash","thread","threaten","threefold","thrift","thrill","thrive","thriving","throat","throbbing","throng","throttle","throwaway","throwback","thrower","throwing","thud","thumb","thumping","thursday","thus","thwarting","thyself","tiara","tibia","tidal","tidbit","tidiness","tidings","tidy","tiger","tighten","tightly","tightness","tightrope","tightwad","tigress","tile","tiling","till","tilt","timid","timing","timothy","tinderbox","tinfoil","tingle","tingling","tingly","tinker","tinkling","tinsel","tinsmith","tint","tinwork","tiny","tipoff","tipped","tipper","tipping","tiptoeing","tiptop","tiring","tissue","trace","tracing","track","traction","tractor","trade","trading","tradition","traffic","tragedy","trailing","trailside","train","traitor","trance","tranquil","transfer","transform","translate","transpire","transport","transpose","trapdoor","trapeze","trapezoid","trapped","trapper","trapping","traps","trash","travel","traverse","travesty","tray","treachery","treading","treadmill","treason","treat","treble","tree","trekker","tremble","trembling","tremor","trench","trend","trespass","triage","trial","triangle","tribesman","tribunal","tribune","tributary","tribute","triceps","trickery","trickily","tricking","trickle","trickster","tricky","tricolor","tricycle","trident","tried","trifle","trifocals","trillion","trilogy","trimester","trimmer","trimming","trimness","trinity","trio","tripod","tripping","triumph","trivial","trodden","trolling","trombone","trophy","tropical","tropics","trouble","troubling","trough","trousers","trout","trowel","truce","truck","truffle","trump","trunks","trustable","trustee","trustful","trusting","trustless","truth","try","tubby","tubeless","tubular","tucking","tuesday","tug","tuition","tulip","tumble","tumbling","tummy","turban","turbine","turbofan","turbojet","turbulent","turf","turkey","turmoil","turret","turtle","tusk","tutor","tutu","tux","tweak","tweed","tweet","tweezers","twelve","twentieth","twenty","twerp","twice","twiddle","twiddling","twig","twilight","twine","twins","twirl","twistable","twisted","twister","twisting","twisty","twitch","twitter","tycoon","tying","tyke","udder","ultimate","ultimatum","ultra","umbilical","umbrella","umpire","unabashed","unable","unadorned","unadvised","unafraid","unaired","unaligned","unaltered","unarmored","unashamed","unaudited","unawake","unaware","unbaked","unbalance","unbeaten","unbend","unbent","unbiased","unbitten","unblended","unblessed","unblock","unbolted","unbounded","unboxed","unbraided","unbridle","unbroken","unbuckled","unbundle","unburned","unbutton","uncanny","uncapped","uncaring","uncertain","unchain","unchanged","uncharted","uncheck","uncivil","unclad","unclaimed","unclamped","unclasp","uncle","unclip","uncloak","unclog","unclothed","uncoated","uncoiled","uncolored","uncombed","uncommon","uncooked","uncork","uncorrupt","uncounted","uncouple","uncouth","uncover","uncross","uncrown","uncrushed","uncured","uncurious","uncurled","uncut","undamaged","undated","undaunted","undead","undecided","undefined","underage","underarm","undercoat","undercook","undercut","underdog","underdone","underfed","underfeed","underfoot","undergo","undergrad","underhand","underline","underling","undermine","undermost","underpaid","underpass","underpay","underrate","undertake","undertone","undertook","undertow","underuse","underwear","underwent","underwire","undesired","undiluted","undivided","undocked","undoing","undone","undrafted","undress","undrilled","undusted","undying","unearned","unearth","unease","uneasily","uneasy","uneatable","uneaten","unedited","unelected","unending","unengaged","unenvied","unequal","unethical","uneven","unexpired","unexposed","unfailing","unfair","unfasten","unfazed","unfeeling","unfiled","unfilled","unfitted","unfitting","unfixable","unfixed","unflawed","unfocused","unfold","unfounded","unframed","unfreeze","unfrosted","unfrozen","unfunded","unglazed","ungloved","unglue","ungodly","ungraded","ungreased","unguarded","unguided","unhappily","unhappy","unharmed","unhealthy","unheard","unhearing","unheated","unhelpful","unhidden","unhinge","unhitched","unholy","unhook","unicorn","unicycle","unified","unifier","uniformed","uniformly","unify","unimpeded","uninjured","uninstall","uninsured","uninvited","union","uniquely","unisexual","unison","unissued","unit","universal","universe","unjustly","unkempt","unkind","unknotted","unknowing","unknown","unlaced","unlatch","unlawful","unleaded","unlearned","unleash","unless","unleveled","unlighted","unlikable","unlimited","unlined","unlinked","unlisted","unlit","unlivable","unloaded","unloader","unlocked","unlocking","unlovable","unloved","unlovely","unloving","unluckily","unlucky","unmade","unmanaged","unmanned","unmapped","unmarked","unmasked","unmasking","unmatched","unmindful","unmixable","unmixed","unmolded","unmoral","unmovable","unmoved","unmoving","unnamable","unnamed","unnatural","unneeded","unnerve","unnerving","unnoticed","unopened","unopposed","unpack","unpadded","unpaid","unpainted","unpaired","unpaved","unpeeled","unpicked","unpiloted","unpinned","unplanned","unplanted","unpleased","unpledged","unplowed","unplug","unpopular","unproven","unquote","unranked","unrated","unraveled","unreached","unread","unreal","unreeling","unrefined","unrelated","unrented","unrest","unretired","unrevised","unrigged","unripe","unrivaled","unroasted","unrobed","unroll","unruffled","unruly","unrushed","unsaddle","unsafe","unsaid","unsalted","unsaved","unsavory","unscathed","unscented","unscrew","unsealed","unseated","unsecured","unseeing","unseemly","unseen","unselect","unselfish","unsent","unsettled","unshackle","unshaken","unshaved","unshaven","unsheathe","unshipped","unsightly","unsigned","unskilled","unsliced","unsmooth","unsnap","unsocial","unsoiled","unsold","unsolved","unsorted","unspoiled","unspoken","unstable","unstaffed","unstamped","unsteady","unsterile","unstirred","unstitch","unstopped","unstuck","unstuffed","unstylish","unsubtle","unsubtly","unsuited","unsure","unsworn","untagged","untainted","untaken","untamed","untangled","untapped","untaxed","unthawed","unthread","untidy","untie","until","untimed","untimely","untitled","untoasted","untold","untouched","untracked","untrained","untreated","untried","untrimmed","untrue","untruth","unturned","untwist","untying","unusable","unused","unusual","unvalued","unvaried","unvarying","unveiled","unveiling","unvented","unviable","unvisited","unvocal","unwanted","unwarlike","unwary","unwashed","unwatched","unweave","unwed","unwelcome","unwell","unwieldy","unwilling","unwind","unwired","unwitting","unwomanly","unworldly","unworn","unworried","unworthy","unwound","unwoven","unwrapped","unwritten","unzip","upbeat","upchuck","upcoming","upcountry","update","upfront","upgrade","upheaval","upheld","uphill","uphold","uplifted","uplifting","upload","upon","upper","upright","uprising","upriver","uproar","uproot","upscale","upside","upstage","upstairs","upstart","upstate","upstream","upstroke","upswing","uptake","uptight","uptown","upturned","upward","upwind","uranium","urban","urchin","urethane","urgency","urgent","urging","urologist","urology","usable","usage","useable","used","uselessly","user","usher","usual","utensil","utility","utilize","utmost","utopia","utter","vacancy","vacant","vacate","vacation","vagabond","vagrancy","vagrantly","vaguely","vagueness","valiant","valid","valium","valley","valuables","value","vanilla","vanish","vanity","vanquish","vantage","vaporizer","variable","variably","varied","variety","various","varmint","varnish","varsity","varying","vascular","vaseline","vastly","vastness","veal","vegan","veggie","vehicular","velcro","velocity","velvet","vendetta","vending","vendor","veneering","vengeful","venomous","ventricle","venture","venue","venus","verbalize","verbally","verbose","verdict","verify","verse","version","versus","vertebrae","vertical","vertigo","very","vessel","vest","veteran","veto","vexingly","viability","viable","vibes","vice","vicinity","victory","video","viewable","viewer","viewing","viewless","viewpoint","vigorous","village","villain","vindicate","vineyard","vintage","violate","violation","violator","violet","violin","viper","viral","virtual","virtuous","virus","visa","viscosity","viscous","viselike","visible","visibly","vision","visiting","visitor","visor","vista","vitality","vitalize","vitally","vitamins","vivacious","vividly","vividness","vixen","vocalist","vocalize","vocally","vocation","voice","voicing","void","volatile","volley","voltage","volumes","voter","voting","voucher","vowed","vowel","voyage","wackiness","wad","wafer","waffle","waged","wager","wages","waggle","wagon","wake","waking","walk","walmart","walnut","walrus","waltz","wand","wannabe","wanted","wanting","wasabi","washable","washbasin","washboard","washbowl","washcloth","washday","washed","washer","washhouse","washing","washout","washroom","washstand","washtub","wasp","wasting","watch","water","waviness","waving","wavy","whacking","whacky","wham","wharf","wheat","whenever","whiff","whimsical","whinny","whiny","whisking","whoever","whole","whomever","whoopee","whooping","whoops","why","wick","widely","widen","widget","widow","width","wieldable","wielder","wife","wifi","wikipedia","wildcard","wildcat","wilder","wildfire","wildfowl","wildland","wildlife","wildly","wildness","willed","willfully","willing","willow","willpower","wilt","wimp","wince","wincing","wind","wing","winking","winner","winnings","winter","wipe","wired","wireless","wiring","wiry","wisdom","wise","wish","wisplike","wispy","wistful","wizard","wobble","wobbling","wobbly","wok","wolf","wolverine","womanhood","womankind","womanless","womanlike","womanly","womb","woof","wooing","wool","woozy","word","work","worried","worrier","worrisome","worry","worsening","worshiper","worst","wound","woven","wow","wrangle","wrath","wreath","wreckage","wrecker","wrecking","wrench","wriggle","wriggly","wrinkle","wrinkly","wrist","writing","written","wrongdoer","wronged","wrongful","wrongly","wrongness","wrought","xbox","xerox","yahoo","yam","yanking","yapping","yard","yarn","yeah","yearbook","yearling","yearly","yearning","yeast","yelling","yelp","yen","yesterday","yiddish","yield","yin","yippee","yo-yo","yodel","yoga","yogurt","yonder","yoyo","yummy","zap","zealous","zebra","zen","zeppelin","zero","zestfully","zesty","zigzagged","zipfile","zipping","zippy","zips","zit","zodiac","zombie","zone","zoning","zookeeper","zoologist","zoology","zoom"]},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&this.cipherService.upsert(a)}return[2]}})})},e.prototype.deleteWithServer=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.apiService.deleteFolder(e)];case 1:return t.sent(),[4,this.delete(e)];case 2:return t.sent(),[2]}})})},e}();t.FolderService=m},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0)for(d=0;d0)for(d=0;d0)for(d=0;d0)for(d=0;d1)&&(t.wordSeparator=" "),null==t.capitalize&&(t.capitalize=!1),null==t.includeNumber&&(t.includeNumber=!1),n=c.EEFLongWordList.length-1,r=new Array(t.numWords),a=0,i.label=1;case 1:return ae.length&&(e.minSpecial=e.length-e.minNumber),e.numWordsn.minLength&&(n.minLength=e.data.minLength),e.data.useUpper&&(n.useUppercase=!0),e.data.useLower&&(n.useLowercase=!0),e.data.useNumbers&&(n.useNumbers=!0),null!=e.data.minNumbers&&e.data.minNumbers>n.numberCount&&(n.numberCount=e.data.minNumbers),e.data.useSpecial&&(n.useSpecial=!0),null!=e.data.minSpecial&&e.data.minSpecial>n.specialCount&&(n.specialCount=e.data.minSpecial),null!=e.data.minNumberWords&&e.data.minNumberWords>n.minNumberWords&&(n.minNumberWords=e.data.minNumberWords),e.data.capitalize&&(n.capitalize=!0),e.data.includeNumber&&(n.includeNumber=!0))}),[2,n])}})})},e.prototype.saveOptions=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.storageService.save(d,e)];case 1:return t.sent(),this.optionsCache=e,[2]}})})},e.prototype.getHistory=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.hasKey()];case 1:return n.sent()?this.history?[3,4]:[4,this.storageService.get(m)]:[2,new Array];case 2:return e=n.sent(),t=this,[4,this.decryptHistory(e)];case 3:t.history=n.sent(),n.label=4;case 4:return[2,this.history||new Array]}})})},e.prototype.addHistory=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.cryptoService.hasKey()];case 1:return r.sent()?[4,this.getHistory()]:[2];case 2:return t=r.sent(),this.matchesPrevious(e,t)?[2]:(t.unshift(new s.GeneratedPasswordHistory(e,Date.now())),t.length>100&&t.pop(),[4,this.encryptHistory(t)]);case 3:return n=r.sent(),[4,this.storageService.save(m,n)];case 4:return[2,r.sent()]}})})},e.prototype.clear=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.history=[],[4,this.storageService.remove(m)];case 1:return[2,e.sent()]}})})},e.prototype.passwordStrength=function(e,t){if(void 0===t&&(t=null),null==e||0===e.length)return null;var n=["bitwarden","bit","warden"];null!=t&&t.length>0&&(n=n.concat(t));var r=Array.from(new Set(n));return a(e,r)},e.prototype.normalizeOptions=function(e,t){e.minLowercase=0,e.minUppercase=0,!e.length||e.length<5?e.length=5:e.length>128&&(e.length=128),e.lengthe.length?e.minNumber=e.length:e.minNumber>9&&(e.minNumber=9):e.minNumber=0,e.minNumbere.length?e.minSpecial=e.length:e.minSpecial>9&&(e.minSpecial=9):e.minSpecial=0,e.minSpeciale.length&&(e.minSpecial=e.length-e.minNumber),null==e.numWords||e.length<3?e.numWords=3:e.numWords>20&&(e.numWords=20),e.numWords1&&(e.wordSeparator=e.wordSeparator[0]),this.sanitizePasswordLength(e,!1)},e.prototype.capitalize=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.prototype.appendRandomNumberToRandomWord=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return null==e||e.length<=0?[2]:[4,this.cryptoService.randomNumber(0,e.length-1)];case 1:return t=r.sent(),[4,this.cryptoService.randomNumber(0,9)];case 2:return n=r.sent(),e[t]=e[t]+n,[2]}})})},e.prototype.encryptHistory=function(e){return r(this,void 0,void 0,function(){var t,n=this;return i(this,function(a){switch(a.label){case 0:return null==e||0===e.length?[2,Promise.resolve([])]:(t=e.map(function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.encrypt(e.password)];case 1:return t=n.sent(),[2,new s.GeneratedPasswordHistory(t.encryptedString,e.date)]}})})}),[4,Promise.all(t)]);case 1:return[2,a.sent()]}})})},e.prototype.decryptHistory=function(e){return r(this,void 0,void 0,function(){var t,n=this;return i(this,function(a){switch(a.label){case 0:return null==e||0===e.length?[2,Promise.resolve([])]:(t=e.map(function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.decryptToUtf8(new o.CipherString(e.password))];case 1:return t=n.sent(),[2,new s.GeneratedPasswordHistory(t,e.date)]}})})}),[4,Promise.all(t)]);case 1:return[2,a.sent()]}})})},e.prototype.matchesPrevious=function(e,t){return null!=t&&0!==t.length&&t[t.length-1].password===e},e.prototype.shuffleArray=function(e){return r(this,void 0,void 0,function(){var t,n,r;return i(this,function(i){switch(i.label){case 0:t=e.length-1,i.label=1;case 1:return t>0?[4,this.cryptoService.randomNumber(0,t)]:[3,4];case 2:n=i.sent(),r=[e[n],e[t]],e[t]=r[0],e[n]=r[1],i.label=3;case 3:return t--,[3,1];case 4:return[2]}})})},e.prototype.sanitizePasswordLength=function(e,t){var n=0,r=0,i=e.minNumber,a=e.minSpecial;e.uppercase&&e.minUppercase<=0?n=1:e.uppercase||(n=0),e.lowercase&&e.minLowercase<=0?r=1:e.lowercase||(r=0),e.number&&e.minNumber<=0?i=1:e.number||(i=0),e.special&&e.minSpecial<=0?a=1:e.special||(a=0),(!e.length||e.length<1)&&(e.length=10);var o=n+r+i+a;e.length0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=e.revisionDate&&(n=!1),o=!1,n&&(t?(n=null!=r,o=!0):null==e.collectionIds||null==e.organizationId?n=null==r:(n=!1,o=!0)),!n&&o&&null!=e.organizationId&&null!=e.collectionIds&&e.collectionIds.length>0?[4,this.collectionService.getAll()]:[3,5];case 4:if(null!=(s=i.sent()))for(l=0;l-1){n=!0;break}i.label=5;case 5:return n?[4,this.apiService.getCipher(e.id)]:[3,9];case 6:return null==(c=i.sent())?[3,9]:[4,this.userService.getUserId()];case 7:return p=i.sent(),[4,this.cipherService.upsert(new a.CipherData(c,p))];case 8:return i.sent(),this.messagingService.send("syncedUpsertedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 9:return[3,13];case 10:return null!=(u=i.sent())&&404===u.statusCode&&t?[4,this.cipherService.delete(e.id)]:[3,12];case 11:return i.sent(),this.messagingService.send("syncedDeletedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 12:return[3,13];case 13:return[2,this.syncCompleted(!1)]}})})},e.prototype.syncDeleteCipher=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.syncStarted(),[4,this.userService.isAuthenticated()];case 1:return t.sent()?[4,this.cipherService.delete(e.id)]:[3,3];case 2:return t.sent(),this.messagingService.send("syncedDeletedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 3:return[2,this.syncCompleted(!1)]}})})},e.prototype.syncUpsertSend=function(e,t){return r(this,void 0,void 0,function(){var n,r,a;return i(this,function(i){switch(i.label){case 0:return this.syncStarted(),[4,this.userService.isAuthenticated()];case 1:if(!i.sent())return[3,9];i.label=2;case 2:return i.trys.push([2,8,,9]),[4,this.sendService.get(e.id)];case 3:return n=i.sent(),!t&&null==n||t&&null!=n&&n.revisionDate0&&e.push(t.domains)}),[2,this.settingsService.setEquivalentDomains(e)]})})},e.prototype.syncPolicies=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return t={},null!=e&&e.forEach(function(e){t[e.id]=new c.PolicyData(e)}),[4,this.policyService.replace(t)];case 1:return[2,n.sent()]}})})},e}();t.SyncService=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(162),i=n(942),a=n(943),o=function(){return function(e,t){if(null!=e)switch(this.id=e.id,this.accessId=e.accessId,this.userId=t,this.type=e.type,this.name=e.name,this.notes=e.notes,this.key=e.key,this.maxAccessCount=e.maxAccessCount,this.accessCount=e.accessCount,this.revisionDate=e.revisionDate,this.expirationDate=e.expirationDate,this.deletionDate=e.deletionDate,this.password=e.password,this.disabled=e.disable,this.type){case r.SendType.Text:this.text=new a.SendTextData(e.text);break;case r.SendType.File:this.file=new i.SendFileData(e.file)}}}();t.SendData=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]10?r=10:u>0&&(r=u)}catch(I){}if(p.has("period")&&null!=p.get("period"))try{(d=parseInt(p.get("period").trim(),null))>0&&(t=d)}catch(E){}p.has("secret")&&null!=p.get("secret")&&(a=p.get("secret")),p.has("algorithm")&&null!=p.get("algorithm")&&("sha1"!==(m=p.get("algorithm").toLowerCase())&&"sha256"!==m&&"sha512"!==m||(n=m))}else c&&(a=e.substr("steam://".length),r=5);return h=Math.round((new Date).getTime()/1e3),f=this.leftPad(this.decToHex(Math.floor(h/t)),16,"0"),v=o.Utils.fromHexToArray(f),(y=this.b32ToBytes(a)).length&&v.length?[4,this.sign(y,v,n)]:[2,null];case 1:if(0===(g=i.sent()).length)return[2,null];if(x=15&g[g.length-1],b=(127&g[x])<<24|(255&g[x+1])<<16|(255&g[x+2])<<8|255&g[x+3],S="",c)for(w=2147483647&b,C=0;C=e.length&&(e=Array(t+1-e.length).join(n)+e),e},e.prototype.decToHex=function(e){return(e<15.5?"0":"")+Math.round(e).toString(16)},e.prototype.b32ToHex=function(e){e=e.toUpperCase();for(var t="",n=0;n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=n?[4,this.storageService.get(a.ConstantsService.vaultTimeoutActionKey)]:[3,12]);case 7:return"logOut"!==r.sent()?[3,9]:[4,this.logOut()];case 8:return r.sent(),[3,11];case 9:return[4,this.lock(!0)];case 10:r.sent(),r.label=11;case 11:r.label=12;case 12:return[2]}})})},e.prototype.lock=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.userService.isAuthenticated()];case 1:return t.sent()?(this.biometricLocked=!0,e?[4,this.isBiometricLockSet()]:[3,5]):[2];case 2:return t.sent()&&this.platformUtilsService.supportsSecureStorage()?(this.messagingService.send("locked"),null==this.lockedCallback?[3,4]:[4,this.lockedCallback()]):[3,5];case 3:t.sent(),t.label=4;case 4:return[2];case 5:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 6:return t.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.searchService.clearIndex(),this.messagingService.send("locked"),null==this.lockedCallback?[3,8]:[4,this.lockedCallback()];case 7:t.sent(),t.label=8;case 8:return[2]}})})},e.prototype.logOut=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null==this.loggedOutCallback?[3,2]:[4,this.loggedOutCallback()];case 1:e.sent(),e.label=2;case 2:return[2]}})})},e.prototype.setVaultTimeoutOptions=function(e,t){return r(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return[4,this.storageService.save(a.ConstantsService.vaultTimeoutKey,e)];case 1:return n.sent(),[4,this.storageService.save(a.ConstantsService.vaultTimeoutActionKey,t)];case 2:return n.sent(),[4,this.cryptoService.toggleKey()];case 3:return n.sent(),[4,this.tokenService.toggleTokens()];case 4:return n.sent(),[2]}})})},e.prototype.isPinLockSet=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.storageService.get(a.ConstantsService.protectedPin)];case 1:return e=n.sent(),[4,this.storageService.get(a.ConstantsService.pinProtectedKey)];case 2:return t=n.sent(),[2,[null!=e,null!=t]]}})})},e.prototype.isBiometricLockSet=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.storageService.get(a.ConstantsService.biometricUnlockKey)];case 1:return[2,e.sent()]}})})},e.prototype.clear=function(){return this.pinProtectedKey=null,this.storageService.remove(a.ConstantsService.protectedPin)},e}();t.VaultTimeoutService=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(948),i=n(949),a=function(){function e(e,t){void 0===t&&(t=null),this.isDev=e,this.filter=t,this.timersMap=new Map}return e.prototype.debug=function(e){this.isDev&&this.write(r.LogLevelType.Debug,e)},e.prototype.info=function(e){this.write(r.LogLevelType.Info,e)},e.prototype.warning=function(e){this.write(r.LogLevelType.Warning,e)},e.prototype.error=function(e){this.write(r.LogLevelType.Error,e)},e.prototype.write=function(e,t){if(null==this.filter||!this.filter(e))switch(e){case r.LogLevelType.Debug:case r.LogLevelType.Info:console.log(t);break;case r.LogLevelType.Warning:console.warn(t);break;case r.LogLevelType.Error:console.error(t)}},e.prototype.time=function(e){void 0===e&&(e="default"),this.timersMap.has(e)||this.timersMap.set(e,i())},e.prototype.timeEnd=function(e){void 0===e&&(e="default");var t=i(this.timersMap.get(e));return this.timersMap.delete(e),this.write(r.LogLevelType.Info,e+": "+(1e3*t[0]+t[1]/1e7)+"ms"),t},e}();t.ConsoleLogService=a},,,,,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t),this.collectionIds=t.collectionIds},t}(n(965).Cipher);t.CipherWithIds=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t)},t}(n(972).Collection);t.CollectionWithId=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t)},t}(n(973).Folder);t.FolderWithId=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(28),o=n(27),s=n(40),l=n(128),c=n(1008);t.IgnoredProperties=["ainfo","autosubmit","notesplain","ps","scope","tags","title","uuid","notes"];var p=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.loginPropertyParsers=[t.setLoginUsername,t.setLoginPassword,t.setLoginUris],t.creditCardPropertyParsers=[t.setCreditCardNumber,t.setCreditCardVerification,t.setCreditCardCardholderName,t.setCreditCardExpiry],t.identityPropertyParsers=[t.setIdentityFirstName,t.setIdentityInitial,t.setIdentityLastName,t.setIdentityUserName,t.setIdentityEmail,t.setIdentityPhone,t.setIdentityCompany],t}return i(n,e),n.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0,{quoteChar:'"',escapeChar:"\\"});return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(t.getProp(e,"title"))){var r=t.initLoginCipher();r.name=t.getValueOrDefault(t.getProp(e,"title"),"--"),t.setNotes(e,r),t.setCipherType(e,r);var i=null;for(var a in e)if(e.hasOwnProperty(a)&&!t.isNullOrWhitespace(e[a])){var o=new c.CipherImportContext(e,a,r);r.type===s.CipherType.Login&&t.setKnownLoginValue(o)||r.type===s.CipherType.Card&&t.setKnownCreditCardValue(o)||r.type===s.CipherType.Identity&&t.setKnownIdentityValue(o)||(i=t.setUnknownValue(o,i))}r.type===s.CipherType.Login&&!t.isNullOrWhitespace(i)&&t.isNullOrWhitespace(r.login.username)&&-1===i.indexOf("://")&&(r.login.username=i),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},n.prototype.getProp=function(e,t){return Object.entries(e).reduce(function(e,t){return e[t[0].toLowerCase()]=t[1],e},{})[t.toLowerCase()]},n.prototype.getPropByRegexp=function(e,t){var n=Object.keys(e).reduce(function(e,n){return n.match(t)&&e.push(n),e},[]);return 0===n.length?null:e[n[0]]},n.prototype.getPropIncluding=function(e,t){var n=Object.keys(e).reduce(function(e,n){return n.toLowerCase().includes(t.toLowerCase())&&e.push(n),e},[]);return 0===n.length?null:e[n[0]]},n.prototype.setNotes=function(e,t){t.notes=this.getValueOrDefault(this.getProp(e,"notesPlain"),"")+"\n"+this.getValueOrDefault(this.getProp(e,"notes"),"")+"\n",t.notes.trim()},n.prototype.setKnownLoginValue=function(e){var t=this;return this.loginPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setKnownCreditCardValue=function(e){var t=this;return this.creditCardPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setKnownIdentityValue=function(e){var t=this;return this.identityPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setUnknownValue=function(e,n){if(-1===t.IgnoredProperties.indexOf(e.lowerProperty)&&!e.lowerProperty.startsWith("section:")&&!e.lowerProperty.startsWith("section ")){if(null==n&&"email"===e.lowerProperty)return e.importRecord[e.property];if("created date"===e.lowerProperty||"modified date"===e.lowerProperty){var r=new Date(1e3*parseInt(e.importRecord[e.property],10)).toUTCString();return this.processKvp(e.cipher,"1Password "+e.property,r),null}e.lowerProperty.includes("password")||e.lowerProperty.includes("key")||e.lowerProperty.includes("secret")?this.processKvp(e.cipher,e.property,e.importRecord[e.property],l.FieldType.Hidden):this.processKvp(e.cipher,e.property,e.importRecord[e.property])}return null},n.prototype.setIdentityFirstName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.firstName)||!e.lowerProperty.includes("first name"))&&(e.cipher.identity.firstName=e.importRecord[e.property],!0)},n.prototype.setIdentityInitial=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.middleName)||!e.lowerProperty.includes("initial"))&&(e.cipher.identity.middleName=e.importRecord[e.property],!0)},n.prototype.setIdentityLastName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.lastName)||!e.lowerProperty.includes("last name"))&&(e.cipher.identity.lastName=e.importRecord[e.property],!0)},n.prototype.setIdentityUserName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.username)||!e.lowerProperty.includes("username"))&&(e.cipher.identity.username=e.importRecord[e.property],!0)},n.prototype.setIdentityCompany=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.company)||!e.lowerProperty.includes("company"))&&(e.cipher.identity.company=e.importRecord[e.property],!0)},n.prototype.setIdentityPhone=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.phone)||!e.lowerProperty.includes("default phone"))&&(e.cipher.identity.phone=e.importRecord[e.property],!0)},n.prototype.setIdentityEmail=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.email)||!e.lowerProperty.includes("email"))&&(e.cipher.identity.email=e.importRecord[e.property],!0)},n.prototype.setCreditCardNumber=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.number)||!e.lowerProperty.includes("number"))&&(e.cipher.card.number=e.importRecord[e.property],e.cipher.card.brand=this.getCardBrand(e.cipher.card.number),!0)},n.prototype.setCreditCardVerification=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.code)||!e.lowerProperty.includes("verification number"))&&(e.cipher.card.code=e.importRecord[e.property],!0)},n.prototype.setCreditCardCardholderName=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.cardholderName)||!e.lowerProperty.includes("cardholder name"))&&(e.cipher.card.cardholderName=e.importRecord[e.property],!0)},n.prototype.setCreditCardExpiry=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.expiration)||!e.lowerProperty.includes("expiry date")||7!==e.importRecord[e.property].length)&&(e.cipher.card.expMonth=e.importRecord[e.property].substr(0,2),"0"===e.cipher.card.expMonth[0]&&(e.cipher.card.expMonth=e.cipher.card.expMonth.substr(1,1)),e.cipher.card.expYear=e.importRecord[e.property].substr(3,4),!0)},n.prototype.setLoginPassword=function(e){return!(!this.isNullOrWhitespace(e.cipher.login.password)||"password"!==e.lowerProperty)&&(e.cipher.login.password=e.importRecord[e.property],!0)},n.prototype.setLoginUsername=function(e){return!(!this.isNullOrWhitespace(e.cipher.login.username)||"username"!==e.lowerProperty)&&(e.cipher.login.username=e.importRecord[e.property],!0)},n.prototype.setLoginUris=function(e){if((null==e.cipher.login.uris||0===e.cipher.login.uris.length)&&"urls"===e.lowerProperty){var t=e.importRecord[e.property].split(this.newLineRegex);return e.cipher.login.uris=this.makeUriArray(t),!0}return"url"===e.lowerProperty&&(null==e.cipher.login.uris&&(e.cipher.login.uris=[]),e.cipher.login.uris.concat(this.makeUriArray(e.importRecord[e.property])),!0)},n}(o.BaseImporter);t.OnePasswordCsvImporter=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(593);t.AttachmentView=r.AttachmentView;var i=n(89);t.CardView=i.CardView;var a=n(144);t.CipherView=a.CipherView;var o=n(211);t.FieldView=o.FieldView;var s=n(145);t.IdentityView=s.IdentityView;var l=n(257);t.LoginUriView=l.LoginUriView;var c=n(161);t.LoginView=c.LoginView;var p=n(94);t.SecureNoteView=p.SecureNoteView;var u=n(1009);t.View=u.View},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.SyncCipherUpdate=0]="SyncCipherUpdate",e[e.SyncCipherCreate=1]="SyncCipherCreate",e[e.SyncLoginDelete=2]="SyncLoginDelete",e[e.SyncFolderDelete=3]="SyncFolderDelete",e[e.SyncCiphers=4]="SyncCiphers",e[e.SyncVault=5]="SyncVault",e[e.SyncOrgKeys=6]="SyncOrgKeys",e[e.SyncFolderCreate=7]="SyncFolderCreate",e[e.SyncFolderUpdate=8]="SyncFolderUpdate",e[e.SyncCipherDelete=9]="SyncCipherDelete",e[e.SyncSettings=10]="SyncSettings",e[e.LogOut=11]="LogOut",e[e.SyncSendCreate=12]="SyncSendCreate",e[e.SyncSendUpdate=13]="SyncSendUpdate",e[e.SyncSendDelete=14]="SyncSendDelete"}(t.NotificationType||(t.NotificationType={}))},,,,,function(e,t){},,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0);n(745),n(271),n(526),n(746);var i=n(747),a=n(73);r.enableProdMode(),a.platformBrowser().bootstrapModule(i.AppModule,{preserveWhitespaces:!0})},,function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(748);var r=n(9),i=n(12),a=n(214),o=n(813),s=n(265),l=(n(0),n(14)),c=n(73),p=n(895),u=n(896),d=n(1057),m=n(85),h=n(140),f=n(249),v=n(457),y=n(536),g=n(456),x=n(537),b=n(540),S=n(541),w=n(542),C=n(543),I=n(544),E=n(545),P=n(546),k=n(547),_=n(548),A=n(549),O=n(550),T=n(553),M=n(552),B=n(556),D=n(557),V=n(559),j=n(558),R=n(466),F=n(465),U=n(561),N=n(563),z=n(562),L=n(564),G=n(565),K=n(570),q=n(572),W=n(567),H=n(568),$=n(569),Y=n(573),Q=n(582),J=n(580),X=n(576),Z=n(581),ee=n(577),te=n(579),ne=n(583),re=n(584),ie=n(590),ae=n(591),oe=n(603),se=n(604),le=n(605),ce=n(606),pe=n(607),ue=n(608),de=n(480),me=n(610),he=n(497),fe=n(612),ve=n(499),ye=n(609),ge=n(619),xe=n(621),be=n(620),Se=n(623),we=n(471),Ce=n(472),Ie=n(475),Ee=n(468),Pe=n(627),ke=n(635),_e=n(629),Ae=n(636),Oe=n(624),Te=n(625),Me=n(637),Be=n(667),De=n(662),Ve=n(668),je=n(669),Re=n(658),Fe=n(664),Ue=n(663),Ne=n(639),ze=n(638),Le=n(280),Ge=n(294),Ke=n(118),qe=n(640),We=n(626),He=n(469),$e=n(641),Ye=n(143),Qe=n(585),Je=n(476),Xe=n(586),Ze=n(587),et=n(477),tt=n(588),nt=n(191),rt=n(589),it=n(648),at=n(473),ot=n(470),st=n(642),lt=n(652),ct=n(643),pt=n(478),ut=n(479),dt=n(490),mt=n(492),ht=n(645),ft=n(644),vt=n(493),yt=n(646),gt=n(494),xt=n(495),bt=n(258),St=n(496),wt=n(500),Ct=n(614),It=n(616),Et=n(617),Pt=n(618),kt=n(260),_t=n(498),At=n(649),Ot=n(290),Tt=n(651),Mt=n(650),Bt=n(647),Dt=n(26),Vt=n(104),jt=n(18),Rt=n(17),Ft=n(66),Ut=n(1058),Nt=n(1059),zt=n(602),Lt=n(46),Gt=n(506),Kt=n(37),qt=n(57),Wt=n(289),Ht=n(507),$t=n(10),Yt=n(1060),Qt=n(251),Jt=n(4),Xt=n(1061),Zt=n(1062),en=n(1063),tn=n(1064),nn=n(1065),rn=n(1066),an=n(1067),on=n(1068),sn=n(1069),ln=n(1070),cn=n(1071),pn=n(1072),un=n(1073),dn=n(1074),mn=n(1075),hn=n(1076),fn=n(1077),vn=n(1078),yn=n(1079),gn=n(1080),xn=n(1081),bn=n(1082),Sn=n(1083),wn=n(1084),Cn=n(1085),In=n(1086),En=n(0),Pn=n(12),kn=n(9);Jt.registerLocaleData(Xt.default,"ca"),Jt.registerLocaleData(Zt.default,"cs"),Jt.registerLocaleData(en.default,"da"),Jt.registerLocaleData(tn.default,"de"),Jt.registerLocaleData(nn.default,"el"),Jt.registerLocaleData(rn.default,"en-GB"),Jt.registerLocaleData(an.default,"es"),Jt.registerLocaleData(on.default,"et"),Jt.registerLocaleData(sn.default,"fr"),Jt.registerLocaleData(ln.default,"he"),Jt.registerLocaleData(cn.default,"it"),Jt.registerLocaleData(pn.default,"ja"),Jt.registerLocaleData(un.default,"ko"),Jt.registerLocaleData(dn.default,"lv"),Jt.registerLocaleData(mn.default,"ml"),Jt.registerLocaleData(hn.default,"nb"),Jt.registerLocaleData(fn.default,"nl"),Jt.registerLocaleData(vn.default,"pl"),Jt.registerLocaleData(yn.default,"pt-BR"),Jt.registerLocaleData(gn.default,"pt-PT"),Jt.registerLocaleData(xn.default,"ru"),Jt.registerLocaleData(bn.default,"sk"),Jt.registerLocaleData(Sn.default,"sv"),Jt.registerLocaleData(wn.default,"uk"),Jt.registerLocaleData(Cn.default,"zh-CN"),Jt.registerLocaleData(In.default,"zh-TW");var _n=function(){function e(){}return e.ɵmod=En.ɵɵdefineNgModule({type:e,bootstrap:[d.AppComponent]}),e.ɵinj=En.ɵɵdefineInjector({factory:function(t){return new(t||e)},providers:[Jt.DatePipe],imports:[[c.BrowserModule,p.BrowserAnimationsModule,l.FormsModule,o.AppRoutingModule,u.ServicesModule,i.Angulartics2Module.forRoot({pageTracking:{clearQueryParams:!0}}),r.ToasterModule.forRoot(),a.InfiniteScrollModule,s.DragDropModule]]}),e}();t.AppModule=_n,("undefined"==typeof ngJitMode||ngJitMode)&&En.ɵɵsetNgModuleScope(_n,{declarations:[jt.A11yTitleDirective,S.AcceptEmergencyComponent,ge.AccessComponent,w.AcceptOrganizationComponent,Se.AccountComponent,A.SetPasswordComponent,we.AddCreditComponent,bt.AddEditComponent,Ce.AdjustPaymentComponent,Q.AdjustSeatsComponent,Ie.AdjustStorageComponent,Rt.ApiActionDirective,Ee.ApiKeyComponent,d.AppComponent,St.AttachmentsComponent,Ft.AutofocusDirective,h.AvatarComponent,Ut.BlurClickDirective,Nt.BoxRowDirective,ct.BreachReportComponent,wt.BulkActionsComponent,Ct.BulkDeleteComponent,It.BulkMoveComponent,Et.BulkRestoreComponent,Pt.BulkShareComponent,Dt.CalloutComponent,Pe.ChangeEmailComponent,ke.ChangeKdfComponent,_e.ChangePasswordComponent,J.ChangePlanComponent,kt.CiphersComponent,_t.CollectionsComponent,Ht.ColorPasswordPipe,Ae.CreateOrganizationComponent,Oe.DeauthorizeSessionsComponent,Te.DeleteAccountComponent,X.DeleteOrganizationComponent,Me.DomainRulesComponent,Z.DownloadLicenseComponent,Be.EmergencyAccessAddEditComponent,De.EmergencyAccessAttachmentsComponent,Fe.EmergencyAccessComponent,Ve.EmergencyAccessConfirmComponent,je.EmergencyAccessTakeoverComponent,Re.EmergencyAccessViewComponent,Ue.EmergencyAddEditComponent,pt.ExportComponent,ut.ExposedPasswordsReportComponent,zt.FallbackSrcDirective,At.FolderAddEditComponent,v.FooterComponent,y.FrontendLayoutComponent,Ot.GroupingsComponent,C.HintComponent,$t.I18nPipe,Vt.IconComponent,dt.ImportComponent,mt.InactiveTwoFactorReportComponent,Lt.InputVerbatimDirective,Ne.LinkSsoComponent,I.LockComponent,E.LoginComponent,m.ModalComponent,g.NavbarComponent,ze.OptionsComponent,Y.AccountComponent,de.AddEditComponent,ee.OrganizationBillingComponent,Le.OrganizationPlansComponent,te.OrganizationSubscriptionComponent,me.AttachmentsComponent,he.CiphersComponent,V.CollectionAddEditComponent,fe.CollectionsComponent,R.EntityEventsComponent,F.EntityUsersComponent,U.EventsComponent,ie.ExportComponent,ae.ExposedPasswordsReportComponent,oe.ImportComponent,se.InactiveTwoFactorReportComponent,N.GroupAddEditComponent,ve.GroupingsComponent,z.GroupsComponent,j.CollectionsComponent,L.ManageComponent,G.PeopleComponent,q.PolicyEditComponent,K.PoliciesComponent,le.ReusedPasswordsReportComponent,ne.SettingsComponent,ce.ToolsComponent,re.TwoFactorSetupComponent,W.UserAddEditComponent,H.UserConfirmComponent,$.UserGroupsComponent,Ge.OrganizationsComponent,x.OrganizationLayoutComponent,pe.UnsecuredWebsitesReportComponent,ye.VaultComponent,ue.WeakPasswordsReportComponent,ft.PasswordGeneratorComponent,ht.PasswordGeneratorHistoryComponent,f.PasswordStrengthComponent,Ke.PaymentComponent,qe.PremiumComponent,We.ProfileComponent,He.PurgeVaultComponent,P.RecoverDeleteComponent,k.RecoverTwoFactorComponent,_.RegisterComponent,vt.ReusedPasswordsReportComponent,Yt.SearchCiphersPipe,Qt.SearchPipe,Gt.SelectCopyDirective,xe.AddEditComponent,be.SendComponent,Tt.SendInfoComponent,$e.SettingsComponent,Mt.ShareComponent,O.SsoComponent,Kt.StopClickDirective,qt.StopPropDirective,Ye.TaxInfoComponent,yt.ToolsComponent,Wt.TrueFalseValueDirective,Qe.TwoFactorAuthenticatorComponent,M.TwoFactorComponent,Je.TwoFactorDuoComponent,Xe.TwoFactorEmailComponent,T.TwoFactorOptionsComponent,Ze.TwoFactorRecoveryComponent,et.TwoFactorSetupComponent,tt.TwoFactorU2fComponent,nt.TwoFactorVerifyComponent,rt.TwoFactorYubiKeyComponent,gt.UnsecuredWebsitesReportComponent,it.UpdateKeyComponent,at.UpdateLicenseComponent,ot.UserBillingComponent,b.UserLayoutComponent,st.UserSubscriptionComponent,Bt.VaultComponent,lt.VerifyEmailComponent,B.VerifyEmailTokenComponent,D.VerifyRecoverDeleteComponent,xt.WeakPasswordsReportComponent],imports:[c.BrowserModule,p.BrowserAnimationsModule,l.FormsModule,o.AppRoutingModule,u.ServicesModule,Pn.Angulartics2Module,kn.ToasterModule,a.InfiniteScrollModule,s.DragDropModule]})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(8),i=n(536),a=n(537),o=n(540),s=n(541),l=n(542),c=n(543),p=n(544),u=n(545),d=n(546),m=n(547),h=n(548),f=n(549),v=n(550),y=n(552),g=n(556),x=n(557),b=n(558),S=n(561),w=n(562),C=n(564),I=n(565),E=n(570),P=n(573),k=n(577),_=n(579),A=n(583),O=n(584),T=n(590),M=n(591),B=n(603),D=n(604),V=n(605),j=n(606),R=n(607),F=n(608),U=n(609),N=n(619),z=n(620),L=n(623),G=n(636),K=n(637),q=n(638),W=n(294),H=n(640),$=n(641),Y=n(477),Q=n(470),J=n(642),X=n(643),Z=n(478),ee=n(479),te=n(490),ne=n(492),re=n(644),ie=n(493),ae=n(646),oe=n(494),se=n(495),le=n(647),ce=n(653),pe=n(654),ue=n(656),de=n(657),me=n(655),he=n(658),fe=n(664),ve=n(0),ye=n(8),ge=[{path:"",component:i.FrontendLayoutComponent,children:[{path:"",pathMatch:"full",component:u.LoginComponent,canActivate:[ue.UnauthGuardService]},{path:"2fa",component:y.TwoFactorComponent,canActivate:[ue.UnauthGuardService]},{path:"register",component:h.RegisterComponent,canActivate:[ue.UnauthGuardService],data:{titleId:"createAccount"}},{path:"sso",component:v.SsoComponent,canActivate:[ue.UnauthGuardService],data:{titleId:"enterpriseSingleSignOn"}},{path:"set-password",component:f.SetPasswordComponent,data:{titleId:"setMasterPassword"}},{path:"hint",component:c.HintComponent,canActivate:[ue.UnauthGuardService],data:{titleId:"passwordHint"}},{path:"lock",component:p.LockComponent},{path:"verify-email",component:g.VerifyEmailTokenComponent},{path:"accept-organization",component:l.AcceptOrganizationComponent,data:{titleId:"joinOrganization"}},{path:"accept-emergency",component:s.AcceptEmergencyComponent,data:{titleId:"acceptEmergency"}},{path:"recover",pathMatch:"full",redirectTo:"recover-2fa"},{path:"recover-2fa",component:m.RecoverTwoFactorComponent,canActivate:[ue.UnauthGuardService],data:{titleId:"recoverAccountTwoStep"}},{path:"recover-delete",component:d.RecoverDeleteComponent,canActivate:[ue.UnauthGuardService],data:{titleId:"deleteAccount"}},{path:"verify-recover-delete",component:x.VerifyRecoverDeleteComponent,canActivate:[ue.UnauthGuardService],data:{titleId:"deleteAccount"}},{path:"send/:sendId/:key",component:N.AccessComponent,data:{title:"Bitwarden Send"}}]},{path:"",component:o.UserLayoutComponent,canActivate:[de.AuthGuardService],children:[{path:"vault",component:le.VaultComponent,data:{titleId:"myVault"}},{path:"sends",component:z.SendComponent,data:{title:"Send"}},{path:"settings",component:$.SettingsComponent,children:[{path:"",pathMatch:"full",redirectTo:"account"},{path:"account",component:L.AccountComponent,data:{titleId:"myAccount"}},{path:"options",component:q.OptionsComponent,data:{titleId:"options"}},{path:"domain-rules",component:K.DomainRulesComponent,data:{titleId:"domainRules"}},{path:"two-factor",component:Y.TwoFactorSetupComponent,data:{titleId:"twoStepLogin"}},{path:"premium",component:H.PremiumComponent,data:{titleId:"goPremium"}},{path:"billing",component:Q.UserBillingComponent,data:{titleId:"billing"}},{path:"subscription",component:J.UserSubscriptionComponent,data:{titleId:"premiumMembership"}},{path:"organizations",component:W.OrganizationsComponent,data:{titleId:"organizations"}},{path:"create-organization",component:G.CreateOrganizationComponent,data:{titleId:"newOrganization"}},{path:"emergency-access",children:[{path:"",component:fe.EmergencyAccessComponent,data:{titleId:"emergencyAccess"}},{path:":id",component:he.EmergencyAccessViewComponent,data:{titleId:"emergencyAccess"}}]}]},{path:"tools",component:ae.ToolsComponent,canActivate:[de.AuthGuardService],children:[{path:"",pathMatch:"full",redirectTo:"generator"},{path:"import",component:te.ImportComponent,data:{titleId:"importData"}},{path:"export",component:Z.ExportComponent,data:{titleId:"exportVault"}},{path:"generator",component:re.PasswordGeneratorComponent,data:{titleId:"passwordGenerator"}},{path:"breach-report",component:X.BreachReportComponent,data:{titleId:"dataBreachReport"}},{path:"reused-passwords-report",component:ie.ReusedPasswordsReportComponent,data:{titleId:"reusedPasswordsReport"}},{path:"unsecured-websites-report",component:oe.UnsecuredWebsitesReportComponent,data:{titleId:"unsecuredWebsitesReport"}},{path:"weak-passwords-report",component:se.WeakPasswordsReportComponent,data:{titleId:"weakPasswordsReport"}},{path:"exposed-passwords-report",component:ee.ExposedPasswordsReportComponent,data:{titleId:"exposedPasswordsReport"}},{path:"inactive-two-factor-report",component:ne.InactiveTwoFactorReportComponent,data:{titleId:"inactive2faReport"}}]}]},{path:"organizations/:organizationId",component:a.OrganizationLayoutComponent,canActivate:[de.AuthGuardService,ce.OrganizationGuardService],children:[{path:"",pathMatch:"full",redirectTo:"vault"},{path:"vault",component:U.VaultComponent,data:{titleId:"vault"}},{path:"tools",component:j.ToolsComponent,canActivate:[pe.OrganizationTypeGuardService],data:{permissions:[me.Permissions.AccessImportExport,me.Permissions.AccessReports]},children:[{path:"",pathMatch:"full",redirectTo:"import"},{path:"import",component:B.ImportComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"importData",permissions:[me.Permissions.AccessImportExport]}},{path:"export",component:T.ExportComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"exportVault",permissions:[me.Permissions.AccessImportExport]}},{path:"exposed-passwords-report",component:M.ExposedPasswordsReportComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"exposedPasswordsReport",permissions:[me.Permissions.AccessReports]}},{path:"inactive-two-factor-report",component:D.InactiveTwoFactorReportComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"inactive2faReport",permissions:[me.Permissions.AccessReports]}},{path:"reused-passwords-report",component:V.ReusedPasswordsReportComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"reusedPasswordsReport",permissions:[me.Permissions.AccessReports]}},{path:"unsecured-websites-report",component:R.UnsecuredWebsitesReportComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"unsecuredWebsitesReport",permissions:[me.Permissions.AccessReports]}},{path:"weak-passwords-report",component:F.WeakPasswordsReportComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"weakPasswordsReport",permissions:[me.Permissions.AccessReports]}}]},{path:"manage",component:C.ManageComponent,canActivate:[pe.OrganizationTypeGuardService],data:{permissions:[me.Permissions.ManageAssignedCollections,me.Permissions.ManageAllCollections,me.Permissions.AccessEventLogs,me.Permissions.ManageGroups,me.Permissions.ManageUsers,me.Permissions.ManagePolicies]},children:[{path:"",pathMatch:"full",redirectTo:"people"},{path:"collections",component:b.CollectionsComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"collections",permissions:[me.Permissions.ManageAssignedCollections,me.Permissions.ManageAllCollections]}},{path:"events",component:S.EventsComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"eventLogs",permissions:[me.Permissions.AccessEventLogs]}},{path:"groups",component:w.GroupsComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"groups",permissions:[me.Permissions.ManageGroups]}},{path:"people",component:I.PeopleComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"people",permissions:[me.Permissions.ManageUsers]}},{path:"policies",component:E.PoliciesComponent,canActivate:[pe.OrganizationTypeGuardService],data:{titleId:"policies",permissions:[me.Permissions.ManagePolicies]}}]},{path:"settings",component:A.SettingsComponent,canActivate:[pe.OrganizationTypeGuardService],data:{permissions:[me.Permissions.ManageOrganization]},children:[{path:"",pathMatch:"full",redirectTo:"account"},{path:"account",component:P.AccountComponent,data:{titleId:"myOrganization"}},{path:"two-factor",component:O.TwoFactorSetupComponent,data:{titleId:"twoStepLogin"}},{path:"billing",component:k.OrganizationBillingComponent,data:{titleId:"billing"}},{path:"subscription",component:_.OrganizationSubscriptionComponent,data:{titleId:"subscription"}}]}]},{path:"**",redirectTo:""}],xe=function(){function e(){}return e.ɵmod=ve.ɵɵdefineNgModule({type:e}),e.ɵinj=ve.ɵɵdefineInjector({factory:function(t){return new(t||e)},imports:[[r.RouterModule.forRoot(ge,{useHash:!0,paramsInheritanceStrategy:"always"})],r.RouterModule]}),e}();t.AppRoutingModule=xe,("undefined"==typeof ngJitMode||ngJitMode)&&ve.ɵɵsetNgModuleScope(xe,{imports:[ye.RouterModule],exports:[r.RouterModule]})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.subscribers=new Map}return e.prototype.send=function(e,t){null==t?this.subscribers.forEach(function(t){t(e)}):this.subscribers.has(t)&&this.subscribers.get(t)(e)},e.prototype.subscribe=function(e,t){this.subscribers.set(e,t)},e.prototype.unsubscribe=function(e){this.subscribers.has(e)&&this.subscribers.delete(e)},e}();t.BroadcasterService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDomain=function(e){return null}},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EmergencyAccessAcceptRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUserAcceptRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=5)return this.messagingService.send("logout"),[2];this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidPin"))}return[3,33];case 16:return[4,this.cryptoService.makeKey(this.masterPassword,this.email,e,t)];case 17:return r=i.sent(),[4,this.cryptoService.hashPassword(this.masterPassword,r)];case 18:return l=i.sent(),c=!1,null==l?[3,25]:[4,this.cryptoService.getKeyHash()];case 19:return null==(p=i.sent())?[3,20]:(c=p===l,[3,25]);case 20:(u=new s.PasswordVerificationRequest).masterPasswordHash=l,i.label=21;case 21:return i.trys.push([21,24,,25]),this.formPromise=this.apiService.postAccountVerifyPassword(u),[4,this.formPromise];case 22:return i.sent(),c=!0,[4,this.cryptoService.setKeyHash(l)];case 23:return i.sent(),[3,25];case 24:return i.sent(),[3,25];case 25:return c?this.pinSet[0]?[4,this.storageService.get(a.ConstantsService.protectedPin)]:[3,31]:[3,32];case 26:return d=i.sent(),[4,this.cryptoService.getEncKey(r)];case 27:return m=i.sent(),[4,this.cryptoService.decryptToUtf8(new o.CipherString(d),m)];case 28:return h=i.sent(),[4,this.cryptoService.makePinKey(h,this.email,e,t)];case 29:return f=i.sent(),v=this.vaultTimeoutService,[4,this.cryptoService.encrypt(r.key,f)];case 30:v.pinProtectedKey=i.sent(),i.label=31;case 31:return this.setKeyAndContinue(r),[3,33];case 32:this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidMasterPassword")),i.label=33;case 33:return[2]}})})},e.prototype.logOut=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("logOutConfirmation"),this.i18nService.t("logOut"),this.i18nService.t("logOut"),this.i18nService.t("cancel"))];case 1:return e.sent()&&this.messagingService.send("logout"),[2]}})})},e.prototype.unlockBiometric=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.biometricLock?[4,this.platformUtilsService.authenticateBiometric()]:[2];case 1:return e.sent()?[4,this.doContinue()]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Master Password on Unlock"),this.showPassword=!this.showPassword,document.getElementById(this.pinLock?"pin":"masterPassword").focus()},e.prototype.setKeyAndContinue=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.cryptoService.setKey(e)];case 1:return t.sent(),this.doContinue(),[2]}})})},e.prototype.doContinue=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.vaultTimeoutService.biometricLocked=!1,[4,this.storageService.get(a.ConstantsService.disableFaviconKey)];case 1:return e=t.sent(),[4,this.stateService.save(a.ConstantsService.disableFaviconKey,!!e)];case 2:return t.sent(),this.messagingService.send("unlocked"),null!=this.onSuccessfulSubmit?this.onSuccessfulSubmit():null!=this.router&&this.router.navigate([this.successRoute]),[2]}})})},e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.Router),c.ɵɵdirectiveInject(u.I18nService),c.ɵɵdirectiveInject(d.PlatformUtilsService),c.ɵɵdirectiveInject(m.MessagingService),c.ɵɵdirectiveInject(h.UserService),c.ɵɵdirectiveInject(f.CryptoService),c.ɵɵdirectiveInject(v.StorageService),c.ɵɵdirectiveInject(y.VaultTimeoutService),c.ɵɵdirectiveInject(g.EnvironmentService),c.ɵɵdirectiveInject(x.StateService),c.ɵɵdirectiveInject(b.ApiService))},e.ɵdir=c.ɵɵdefineDirective({type:e}),e}();t.LockComponent=S},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&(e=e.concat(this.email.substr(0,t).trim().toLowerCase().split(/[^A-Za-z0-9]/))),null!=this.name&&""!==this.name&&(e=e.concat(this.name.trim().toLowerCase().split(" "))),e},e}();t.RegisterComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n,r,i,a,o,s){this.name=t,this.email=e,this.masterPasswordHash=n,this.masterPasswordHint=r||null,this.key=i,this.kdf=a,this.kdfIterations=o,this.referenceData=s}}();t.RegisterRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.ReferenceEventRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&this.u2f.init({appId:t[0].appId,challenge:t[0].challenge,keys:t.map(function(e){return{version:e.version,keyHandle:e.keyHandle}})}),[3,7]):[3,7];case 2:return setTimeout(function(){c.init({iframe:void 0,host:e.Host,sig_request:e.Signature,submit_callback:function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return null==(t=e.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=t.value,[4,this.submit()]);case 1:n.sent(),n.label=2;case 2:return[2]}})})}})},0),[3,7];case 3:return this.twoFactorEmail=e.Email,this.authService.twoFactorProvidersData.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:o.sent(),o.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null==this.token||""===this.token)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===a.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==a.TwoFactorProviderType.Email&&this.selectedProviderType!==a.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());n.label=1;case 1:return n.trys.push([1,5,,6]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return e=n.sent(),[4,this.storageService.get(l.ConstantsService.disableFaviconKey)];case 3:return t=n.sent(),[4,this.stateService.save(l.ConstantsService.disableFaviconKey,!!t)];case 4:return n.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.platformUtilsService.eventTrack("Logged In From Two-step"),e.resetMasterPassword&&(this.successRoute="set-password"),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute],{queryParams:{identifier:this.identifier}}),[3,6];case 5:return n.sent(),this.selectedProviderType===a.TwoFactorProviderType.U2f&&null!=this.u2f&&this.u2f.start(),[3,6];case 6:return[2]}})})},e.prototype.sendEmail=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:if(this.selectedProviderType!==a.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),t=new o.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(t),[4,this.emailPromise];case 2:return n.sent(),e&&this.platformUtilsService.showToast("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return n.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},e.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},Object.defineProperty(e.prototype,"authing",{get:function(){return this.authService.authingWithPassword()||this.authService.authingWithSso()||this.authService.authingWithApiKey()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"needsLock",{get:function(){return this.authService.authingWithSso()||this.authService.authingWithApiKey()},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.AuthService),u.ɵɵdirectiveInject(m.Router),u.ɵɵdirectiveInject(h.I18nService),u.ɵɵdirectiveInject(f.ApiService),u.ɵɵdirectiveInject(v.PlatformUtilsService),u.ɵɵdirectiveInject(Window),u.ɵɵdirectiveInject(y.EnvironmentService),u.ɵɵdirectiveInject(g.StateService),u.ɵɵdirectiveInject(x.StorageService),u.ɵɵdirectiveInject(m.ActivatedRoute))},e.ɵdir=u.ɵɵdefineDirective({type:e}),e}();t.TwoFactorComponent=b},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.type=t.getDevice(),this.name=t.getDeviceString(),this.identifier=e,this.pushToken=null}}();t.DeviceRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.email=e}}();t.PreloginRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r,i,a,o){null!=e&&e.length>1?(this.email=e[0],this.masterPasswordHash=e[1]):null!=t&&t.length>2?(this.code=t[0],this.codeVerifier=t[1],this.redirectUri=t[2]):null!=n&&n.length>1&&(this.clientId=n[0],this.clientSecret=n[1]),this.token=i,this.provider=r,this.remember=a,this.device=null!=o?o:null}return e.prototype.toIdentityToken=function(e){var t={scope:"api offline_access",client_id:e};if(null!=this.clientSecret)t.scope="api",t.grant_type="client_credentials",t.client_secret=this.clientSecret;else if(null!=this.masterPasswordHash&&null!=this.email)t.grant_type="password",t.username=this.email,t.password=this.masterPasswordHash;else{if(null==this.code||null==this.codeVerifier||null==this.redirectUri)throw new Error("must provide credentials or codes");t.grant_type="authorization_code",t.code=this.code,t.code_verifier=this.codeVerifier,t.redirect_uri=this.redirectUri}return this.device&&(t.deviceType=this.device.type,t.deviceIdentifier=this.device.identifier,t.deviceName=this.device.name),this.token&&null!=this.provider&&(t.twoFactorToken=this.token,t.twoFactorProvider=this.provider,t.twoFactorRemember=this.remember?"1":"0"),t},e}();t.TokenRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r,i){this.win=e,this.webVaultUrl=t,this.successCallback=n,this.errorCallback=r,this.infoCallback=i,this.iframe=null,this.parseFunction=this.parseMessage.bind(this),this.connectorLink=e.document.createElement("a"),this.webVaultUrl=null!=t&&""!==t?t:"https://vault.bitwarden.com"}return e.prototype.init=function(e){this.connectorLink.href=this.webVaultUrl+"/u2f-connector.html?data="+this.base64Encode(JSON.stringify(e))+"&parent="+encodeURIComponent(this.win.document.location.href)+"&v=1",this.iframe=this.win.document.getElementById("u2f_iframe"),this.iframe.src=this.connectorLink.href,this.win.addEventListener("message",this.parseFunction,!1)},e.prototype.stop=function(){this.sendMessage("stop")},e.prototype.start=function(){this.sendMessage("start")},e.prototype.sendMessage=function(e){this.iframe&&this.iframe.src&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage(e,this.iframe.src)},e.prototype.base64Encode=function(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)}))},e.prototype.cleanup=function(){this.win.removeEventListener("message",this.parseFunction,!1)},e.prototype.parseMessage=function(e){if(this.validMessage(e)){var t=e.data.split("|");"success"===t[0]&&this.successCallback?this.successCallback(t[1]):"error"===t[0]&&this.errorCallback?this.errorCallback(t[1]):"info"===t[0]&&this.infoCallback&&this.infoCallback(t[1])}},e.prototype.validMessage=function(e){return null!=e.origin&&""!==e.origin&&e.origin===this.connectorLink.origin&&null!=e.data&&"string"==typeof e.data&&(0===e.data.indexOf("success|")||0===e.data.indexOf("error|")||0===e.data.indexOf("info|"))},e}();t.U2f=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=e,this.token=t}}();t.VerifyEmailRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=e,this.token=t}}();t.VerifyDeleteRecoverRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.collections=[]}}();t.GroupRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.emails=[],this.collections=[]}}();t.OrganizationUserInviteRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.collections=[]}}();t.OrganizationUserUpdateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.groupIds=[]}}();t.OrganizationUserUpdateGroupsRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AppIdService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.LogService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PolicyRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUpdateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Charge=0]="Charge",e[e.Credit=1]="Credit",e[e.PromotionalCredit=2]="PromotionalCredit",e[e.ReferralCredit=3]="ReferralCredit",e[e.Refund=4]="Refund"}(t.TransactionType||(t.TransactionType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.VerifyBankRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.BitPayInvoiceRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(574).OrganizationTaxInfoUpdateRequest);t.PaymentRequest=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationCreateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUpgradeRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SeatRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StorageRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorDuoRequest=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.TwoFactorProviderRequest=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorAuthenticatorRequest=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorEmailRequest=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorU2fDeleteRequest=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorU2fRequest=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorYubioOtpRequest=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]"+this.i18nService.t("encExportKeyWarningDesc")+"

"+this.i18nService.t("encExportAccountWarningDesc"),this.i18nService.t("confirmVaultExport"),this.i18nService.t("exportVault"),this.i18nService.t("cancel"),"warning",!0)]:[3,2];case 1:return[2,e.sent()];case 2:return[4,this.platformUtilsService.showDialog(this.i18nService.t("exportWarningDesc"),this.i18nService.t("confirmVaultExport"),this.i18nService.t("exportVault"),this.i18nService.t("cancel"),"warning")];case 3:return[2,e.sent()]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Master Password on Export"),this.showPassword=!this.showPassword,document.getElementById("masterPassword").focus()},e.prototype.saved=function(){this.onSaved.emit()},e.prototype.getExportData=function(){return this.exportService.getExport(this.format)},e.prototype.getFileName=function(e){var t=this.format;return"encrypted_json"===this.format&&(e=null==e?"encrypted":"encrypted_"+e,t="json"),this.exportService.getFileName(e,t)},e.prototype.collectEvent=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.eventService.collect(o.EventType.User_ClientExportedVault)];case 1:return e.sent(),[2]}})})},e.prototype.downloadFile=function(e){var t=this.getFileName();this.platformUtilsService.saveFile(this.win,e,{type:"text/plain"},t)},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.CryptoService),s.ɵɵdirectiveInject(c.I18nService),s.ɵɵdirectiveInject(p.PlatformUtilsService),s.ɵɵdirectiveInject(u.ExportService),s.ɵɵdirectiveInject(d.EventService),s.ɵɵdirectiveInject(Window))},e.ɵdir=s.ɵɵdefineDirective({type:e,outputs:{onSaved:"onSaved"}}),e}();t.ExportComponent=m},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AttachmentRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&this.collections.length>0&&this.collections.forEach(function(e){a.collectionIds.indexOf(e.id)>-1&&(e.checked=!0)}),i.label=8;case 8:return r=this,[4,this.folderService.getAllDecrypted()];case 9:return r.folders=i.sent(),this.editMode&&this.previousCipherId!==this.cipherId&&this.eventService.collect(l.EventType.Cipher_ClientViewed,this.cipherId),this.previousCipherId=this.cipherId,[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.cipher.isDeleted?[2,this.restore()]:null==this.cipher.name||""===this.cipher.name?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nameRequired")),[2,!1]):this.editMode&&!this.cloneMode||this.allowPersonal||null!=this.cipher.organizationId?(this.editMode&&!this.cloneMode||this.cipher.type!==s.CipherType.Login||null==this.cipher.login.uris||1!==this.cipher.login.uris.length||null!=this.cipher.login.uris[0].uri&&""!==this.cipher.login.uris[0].uri||(this.cipher.login.uris=null),this.editMode&&!this.cloneMode||null==this.cipher.organizationId||(this.cipher.collectionIds=null==this.collections?[]:this.collections.filter(function(e){return e.checked}).map(function(e){return e.id})),this.cloneMode&&(this.cipher.id=null),[4,this.encryptCipher()]):(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("personalOwnershipSubmitError")),[2,!1]);case 1:e=t.sent(),t.label=2;case 2:return t.trys.push([2,4,,5]),this.formPromise=this.saveCipher(e),[4,this.formPromise];case 3:return t.sent(),this.cipher.id=e.id,this.platformUtilsService.eventTrack(this.editMode&&!this.cloneMode?"Edited Cipher":"Added Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode&&!this.cloneMode?"editedItem":"addedItem")),this.onSavedCipher.emit(this.cipher),this.messagingService.send(this.editMode&&!this.cloneMode?"editedCipher":"addedCipher"),[2,!0];case 4:return t.sent(),[3,5];case 5:return[2,!1]}})})},e.prototype.addUri=function(){this.cipher.type===s.CipherType.Login&&(null==this.cipher.login.uris&&(this.cipher.login.uris=[]),this.cipher.login.uris.push(new g.LoginUriView))},e.prototype.removeUri=function(e){if(this.cipher.type===s.CipherType.Login&&null!=this.cipher.login.uris){var t=this.cipher.login.uris.indexOf(e);t>-1&&this.cipher.login.uris.splice(t,1)}},e.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var e=new v.FieldView;e.type=this.addFieldType,e.newField=!0,this.cipher.fields.push(e)},e.prototype.removeField=function(e){var t=this.cipher.fields.indexOf(e);t>-1&&this.cipher.fields.splice(t,1)},e.prototype.trackByFunction=function(e,t){return e},e.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},e.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},e.prototype.share=function(){this.onShareCipher.emit(this.cipher)},e.prototype.editCollections=function(){this.onEditCollections.emit(this.cipher)},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t(this.cipher.isDeleted?"permanentlyDeleteItemConfirmation":"deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return e.sent(),this.platformUtilsService.eventTrack((this.cipher.isDeleted?"Permanently ":"")+"Deleted Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.cipher.isDeleted?"permanentlyDeletedItem":"deletedItem")),this.onDeletedCipher.emit(this.cipher),this.messagingService.send(this.cipher.isDeleted?"permanentlyDeletedCipher":"deletedCipher"),[3,5];case 4:return e.sent(),[3,5];case 5:return[2,!0]}})})},e.prototype.restore=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.cipher.isDeleted?[4,this.platformUtilsService.showDialog(this.i18nService.t("restoreItemConfirmation"),this.i18nService.t("restoreItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2,!1];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.restorePromise=this.restoreCipher(),[4,this.restorePromise];case 3:return e.sent(),this.platformUtilsService.eventTrack("Restored Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("restoredItem")),this.onRestoredCipher.emit(this.cipher),this.messagingService.send("restoredCipher"),[3,5];case 4:return e.sent(),[3,5];case 5:return[2,!0]}})})},e.prototype.generatePassword=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Password on Edit"),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus(),this.editMode&&this.showPassword&&this.eventService.collect(l.EventType.Cipher_ClientToggledPasswordVisible,this.cipherId)},e.prototype.toggleCardCode=function(){this.platformUtilsService.eventTrack("Toggled CardCode on Edit"),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus(),this.editMode&&this.showCardCode&&this.eventService.collect(l.EventType.Cipher_ClientToggledCardCodeVisible,this.cipherId)},e.prototype.toggleFieldValue=function(e){var t=e;t.showValue=!t.showValue,this.editMode&&t.showValue&&this.eventService.collect(l.EventType.Cipher_ClientToggledHiddenFieldVisible,this.cipherId)},e.prototype.toggleUriOptions=function(e){var t=e;t.showOptions=(null!=t.showOptions||null==e.match)&&!t.showOptions},e.prototype.loginUriMatchChanged=function(e){var t=e;t.showOptions=null==t.showOptions||t.showOptions},e.prototype.drop=function(e){a.moveItemInArray(this.cipher.fields,e.previousIndex,e.currentIndex)},e.prototype.organizationChanged=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return null!=this.writeableCollections&&this.writeableCollections.forEach(function(e){return e.checked=!1}),null==this.cipher.organizationId?[3,2]:(this.collections=this.writeableCollections.filter(function(e){return e.organizationId===t.cipher.organizationId}),[4,this.userService.getOrganization(this.cipher.organizationId)]);case 1:return null!=(e=n.sent())&&(this.cipher.organizationUseTotp=e.useTotp),[3,3];case 2:this.collections=[],n.label=3;case 3:return[2]}})})},e.prototype.checkPassword=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.platformUtilsService.eventTrack("Check Password"),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return e=t.sent(),this.checkPasswordPromise=null,e>0?this.platformUtilsService.showToast("warning",null,this.i18nService.t("passwordExposed",e.toString())):this.platformUtilsService.showToast("success",null,this.i18nService.t("passwordSafe")),[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,e.sent().filter(function(e){return!e.readOnly})]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},e.prototype.saveCipher=function(e){return this.cipherService.saveWithServer(e)},e.prototype.deleteCipher=function(){return this.cipher.isDeleted?this.cipherService.deleteWithServer(this.cipher.id):this.cipherService.softDeleteWithServer(this.cipher.id)},e.prototype.restoreCipher=function(){return this.cipherService.restoreWithServer(this.cipher.id)},e.ɵfac=function(t){return new(t||e)(w.ɵɵdirectiveInject(C.CipherService),w.ɵɵdirectiveInject(I.FolderService),w.ɵɵdirectiveInject(E.I18nService),w.ɵɵdirectiveInject(P.PlatformUtilsService),w.ɵɵdirectiveInject(k.AuditService),w.ɵɵdirectiveInject(_.StateService),w.ɵɵdirectiveInject(A.UserService),w.ɵɵdirectiveInject(O.CollectionService),w.ɵɵdirectiveInject(T.MessagingService),w.ɵɵdirectiveInject(M.EventService),w.ɵɵdirectiveInject(B.PolicyService))},e.ɵdir=w.ɵɵdefineDirective({type:e,inputs:{cloneMode:"cloneMode",folderId:"folderId",cipherId:"cipherId",type:"type",collectionIds:"collectionIds",organizationId:"organizationId"},outputs:{onSavedCipher:"onSavedCipher",onDeletedCipher:"onDeletedCipher",onRestoredCipher:"onRestoredCipher",onCancelled:"onCancelled",onEditAttachments:"onEditAttachments",onShareCipher:"onShareCipher",onEditCollections:"onEditCollections",onGeneratePassword:"onGeneratePassword"}}),e}();t.AddEditComponent=D},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]this.pageSize&&(t=this.pagedCiphersCount),this.ciphers.length>e&&(this.pagedCiphers=this.pagedCiphers.concat(this.ciphers.slice(e,e+t))),this.pagedCiphersCount=this.pagedCiphers.length,this.didScroll=this.pagedCiphers.length>this.pageSize}},e.prototype.reload=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),r(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return this.loaded=!1,this.ciphers=[],[4,this.load(e,t)];case 1:return n.sent(),[2]}})})},e.prototype.refresh=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return e.trys.push([0,,2,3]),this.refreshing=!0,[4,this.reload(this.filter,this.deleted)];case 1:return e.sent(),[3,3];case 2:return this.refreshing=!1,[7];case 3:return[2]}})})},e.prototype.applyFilter=function(e){return void 0===e&&(e=null),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.filter=e,[4,this.search(null)];case 1:return t.sent(),[2]}})})},e.prototype.search=function(e){return void 0===e&&(e=null),r(this,void 0,void 0,function(){var t,n,a=this;return i(this,function(o){switch(o.label){case 0:return this.searchPending=!1,null!=this.searchTimeout&&clearTimeout(this.searchTimeout),t=function(e){return e.isDeleted===a.deleted},null!=e?[3,3]:(n=this,[4,this.searchService.searchCiphers(this.searchText,[this.filter,t],null)]);case 1:return n.ciphers=o.sent(),[4,this.resetPaging()];case 2:return o.sent(),[2];case 3:return this.searchPending=!0,this.searchTimeout=setTimeout(function(){return r(a,void 0,void 0,function(){var e;return i(this,function(n){switch(n.label){case 0:return e=this,[4,this.searchService.searchCiphers(this.searchText,[this.filter,t],null)];case 1:return e.ciphers=n.sent(),[4,this.resetPaging()];case 2:return n.sent(),this.searchPending=!1,[2]}})})},e),[2]}})})},e.prototype.selectCipher=function(e){this.onCipherClicked.emit(e)},e.prototype.rightClickCipher=function(e){this.onCipherRightClicked.emit(e)},e.prototype.addCipher=function(){this.onAddCipher.emit()},e.prototype.addCipherOptions=function(){this.onAddCipherOptions.emit()},e.prototype.isSearching=function(){return!this.searchPending&&this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.ciphers.length>this.pageSize},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedCiphers=[],this.loadMore(),[2]})})},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(s.SearchService))},e.ɵdir=o.ɵɵdefineDirective({type:e,inputs:{activeCipherId:"activeCipherId"},outputs:{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions"}}),e}();t.CiphersComponent=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1}),[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:if(e=this.collections.filter(function(e){return!!e.checked}).map(function(e){return e.id}),!this.allowSelectNone&&0===e.length)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectOneCollection")),[2];this.cipherDomain.collectionIds=e,t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.saveCollections(),[4,this.formPromise];case 2:return t.sent(),this.onSavedCollections.emit(),this.platformUtilsService.eventTrack("Edited Cipher Collections"),this.platformUtilsService.showToast("success",null,this.i18nService.t("editedItem")),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e=this;return i(this,function(t){switch(t.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,t.sent().filter(function(t){return!t.readOnly&&t.organizationId===e.cipher.organizationId})]}})})},e.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(s.CollectionService),o.ɵɵdirectiveInject(l.PlatformUtilsService),o.ɵɵdirectiveInject(c.I18nService),o.ɵɵdirectiveInject(p.CipherService))},e.ɵdir=o.ɵɵdefineDirective({type:e,inputs:{cipherId:"cipherId",allowSelectNone:"allowSelectNone"},outputs:{onSavedCollections:"onSavedCollections"}}),e}();t.CollectionsComponent=u},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?null:this.formatDateFallbacks(this.expirationDateFallback)+"T"+this.expirationTimeFallback},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"deletionDateTimeFallback",{get:function(){return this.nullOrWhiteSpaceCount([this.deletionDateFallback,this.deletionTimeFallback])>0?null:this.formatDateFallbacks(this.deletionDateFallback)+"T"+this.deletionTimeFallback},enumerable:!0,configurable:!0}),e.prototype.load=function(){return r(this,void 0,void 0,function(){var e,t,n,r,a,s,h;return i(this,function(i){switch(i.label){case 0:return[4,this.policyService.getAll(c.PolicyType.DisableSend)];case 1:return e=i.sent(),[4,this.userService.getAllOrganizations()];case 2:return t=i.sent(),this.disableSend=t.some(function(t){return t.enabled&&t.status===l.OrganizationUserStatusType.Confirmed&&t.usePolicies&&!t.canManagePolicies&&e.some(function(e){return e.organizationId===t.id&&e.enabled})}),n=this,[4,this.userService.canAccessPremium()];case 3:return n.canAccessPremium=i.sent(),this.canAccessPremium||(this.type=p.SendType.Text),null!=this.send?[3,7]:this.editMode?[4,this.loadSend()]:[3,6];case 4:return r=i.sent(),a=this,[4,r.decrypt()];case 5:return a.send=i.sent(),[3,7];case 6:this.send=new m.SendView,this.send.type=null==this.type?p.SendType.File:this.type,this.send.file=new u.SendFileView,this.send.text=new d.SendTextView,this.send.deletionDate=new Date,this.send.deletionDate.setDate(this.send.deletionDate.getDate()+7),i.label=7;case 7:return this.hasPassword=null!=this.send.password&&""!==this.send.password.trim(),this.isDateTimeLocalSupported?(this.deletionDate=this.dateToString(this.send.deletionDate),this.expirationDate=this.dateToString(this.send.expirationDate)):(void 0!==(s=this.dateToSplitString(this.send.deletionDate))&&s.length>0&&(this.deletionDateFallback=s[0],this.deletionTimeFallback=s[1],this.isSafari&&(this.safariDeletionTime=this.deletionTimeFallback)),void 0!==(h=this.dateToSplitString(this.send.expirationDate))&&h.length>0&&(this.expirationDateFallback=h[0],this.expirationTimeFallback=h[1],this.isSafari&&(this.safariExpirationTime=this.expirationTimeFallback))),this.isSafari&&(this.safariDeletionTimeOptions=this.safariTimeOptions(o.DeletionDate),this.safariExpirationTimeOptions=this.safariTimeOptions(o.ExpriationDate)),[2]}})})},e.prototype.submit=function(){var e,t;return r(this,void 0,void 0,function(){var n,r,a,o,s,l;return i(this,function(i){switch(i.label){case 0:if(!this.isDateTimeLocalSupported){if(this.isSafari&&(this.expirationTimeFallback=null!==(e=this.safariExpirationTime)&&void 0!==e?e:this.expirationTimeFallback,this.deletionTimeFallback=null!==(t=this.safariDeletionTime)&&void 0!==t?t:this.deletionTimeFallback),this.deletionDate=this.deletionDateTimeFallback,null!=this.expirationDateTimeFallback&&isNaN(Date.parse(this.expirationDateTimeFallback)))return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("expirationDateIsInvalid")),[2];if(isNaN(Date.parse(this.deletionDateTimeFallback)))return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("deletionDateIsInvalid")),[2];if(1===this.nullOrWhiteSpaceCount([this.expirationDateFallback,this.expirationTimeFallback]))return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("expirationDateAndTimeRequired")),[2];(this.editMode||0===this.expirationDateSelect)&&(this.expirationDate=this.expirationDateTimeFallback)}if(this.disableSend)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("sendDisabledWarning")),[2,!1];if(null==this.send.name||""===this.send.name)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nameRequired")),[2,!1];if(n=null,this.send.type===p.SendType.File&&!this.editMode){if(r=document.getElementById("file"),null==(a=r.files)||0===a.length)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2];if((n=a[0]).size>104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2]}return this.editMode||(o=new Date,this.deletionDateSelect>0&&((s=new Date).setHours(o.getHours()+this.deletionDateSelect),this.deletionDate=this.dateToString(s)),null!=this.expirationDateSelect&&this.expirationDateSelect>0&&((s=new Date).setHours(o.getHours()+this.expirationDateSelect),this.expirationDate=this.dateToString(s))),null!=this.password&&""===this.password.trim()&&(this.password=null),[4,this.encryptSend(n)];case 1:l=i.sent(),i.label=2;case 2:return i.trys.push([2,4,,5]),this.formPromise=this.sendService.saveWithServer(l),[4,this.formPromise];case 3:return i.sent(),null==this.send.id&&(this.send.id=l[0].id),null==this.send.accessId&&(this.send.accessId=l[0].accessId),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode?"editedSend":"createdSend")),this.onSavedSend.emit(this.send),this.copyLink&&this.copyLinkToClipboard(this.link),[2,!0];case 4:return i.sent(),[3,5];case 5:return[2,!1]}})})},e.prototype.clearExpiration=function(){this.expirationDate=null,this.expirationDateFallback=null,this.expirationTimeFallback=null,this.safariExpirationTime=null},e.prototype.copyLinkToClipboard=function(e){null!=e&&this.platformUtilsService.copyToClipboard(e)},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null!=this.deletePromise?[2,!1]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteSendConfirmation"),this.i18nService.t("deleteSend"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,5,,6]),this.deletePromise=this.sendService.deleteWithServer(this.send.id),[4,this.deletePromise];case 3:return e.sent(),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedSend")),[4,this.load()];case 4:return e.sent(),this.onDeletedSend.emit(this.send),[2,!0];case 5:return e.sent(),[3,6];case 6:return[2,!1]}})})},e.prototype.typeChanged=function(){this.canAccessPremium||this.send.type!==p.SendType.File||this.premiumRequiredAlertShown||(this.premiumRequiredAlertShown=!0,this.messagingService.send("premiumRequired"))},e.prototype.toggleOptions=function(){this.showOptions=!this.showOptions},e.prototype.expirationDateFallbackChanged=function(){var e,t;this.isSafari?this.safariExpirationTime=null!==(e=this.safariExpirationTime)&&void 0!==e?e:"00:00":this.expirationTimeFallback=null!==(t=this.expirationTimeFallback)&&void 0!==t?t:this.datePipe.transform(new Date,"HH:mm")},e.prototype.loadSend=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return[2,this.sendService.get(this.sendId)]})})},e.prototype.encryptSend=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.sendService.encrypt(this.send,e,this.password,null)];case 1:t=n.sent();try{t[0].deletionDate=null==this.deletionDate?null:new Date(this.deletionDate)}catch(r){t[0].deletionDate=null}try{t[0].expirationDate=null==this.expirationDate?null:new Date(this.expirationDate)}catch(i){t[0].expirationDate=null}return[2,t]}})})},e.prototype.dateToString=function(e){return null==e?null:this.datePipe.transform(e,"yyyy-MM-ddTHH:mm")},e.prototype.formatDateFallbacks=function(e){try{return this.isSafari||(e+=" 00:00"),this.datePipe.transform(new Date(e),"yyyy-MM-dd")}catch(t){this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("dateParsingError"))}},e.prototype.dateToSplitString=function(e){if(null!=e)return[this.isSafari?this.datePipe.transform(e,"MM/dd/yyyy"):this.datePipe.transform(e,"yyyy-MM-dd"),this.datePipe.transform(e,"HH:mm")]},e.prototype.togglePasswordVisible=function(){this.showPassword=!this.showPassword,document.getElementById("password").focus()},e.prototype.nullOrWhiteSpaceCount=function(e){return e.filter(function(e){return null==e||""===e.trim()}).length},e.prototype.safariTimeOptions=function(e){for(var t=[],n=[],r=[],i=[],s=1;s<=12;s++)for(var l=0;l<60;l+=15){var c=s.toString(),p=l.toString();if(s<10&&(c="0"+c),l<10&&(p="0"+p),12===s){var u={standard:c+":"+p+" AM",military:"00:"+p};n.push(u);var d={standard:c+":"+p+" PM",military:c+":"+p};t.push(d)}else{var m={standard:c+":"+p+" AM",military:c+":"+p};r.push(m);var h={standard:c+":"+p+" PM",military:s+12+":"+p};i.push(h)}}var f=a(n,r,t,i);if(e===o.ExpriationDate&&null!=this.expirationDateTimeFallback&&this.editMode){var v={standard:this.datePipe.transform(this.expirationDateTimeFallback,"hh:mm a"),military:this.datePipe.transform(this.expirationDateTimeFallback,"HH:mm")};return a([v,{standard:null,military:null}],f)}if(e===o.DeletionDate&&null!=this.deletionDateTimeFallback&&this.editMode){v={standard:this.datePipe.transform(this.deletionDateTimeFallback,"hh:mm a"),military:this.datePipe.transform(this.deletionDateTimeFallback,"HH:mm")};return a([v],f)}return a([{standard:null,military:null}],f)},e.ɵfac=function(t){return new(t||e)(h.ɵɵdirectiveInject(f.I18nService),h.ɵɵdirectiveInject(v.PlatformUtilsService),h.ɵɵdirectiveInject(y.EnvironmentService),h.ɵɵdirectiveInject(g.DatePipe),h.ɵɵdirectiveInject(x.SendService),h.ɵɵdirectiveInject(b.UserService),h.ɵɵdirectiveInject(S.MessagingService),h.ɵɵdirectiveInject(w.PolicyService))},e.ɵdir=h.ɵɵdefineDirective({type:e,inputs:{sendId:"sendId",type:"type"},outputs:{onSavedSend:"onSavedSend",onDeletedSend:"onDeletedSend",onCancelled:"onCancelled"}}),e}();t.AddEditComponent=C},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.culture="en-US",this.name=e,this.masterPasswordHint=t||null}}();t.UpdateProfileRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(628).EmailTokenRequest);t.EmailRequest=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(633).PasswordRequest);t.KdfRequest=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.UpdateDomainsRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},e.prototype.filterCollections=function(){var e=this;this.writeableCollections.forEach(function(e){return e.checked=!1}),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(t){return t.organizationId===e.organizationId})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t,n=this;return i(this,function(a){switch(a.label){case 0:return 0===(e=this.collections.filter(function(e){return!!e.checked}).map(function(e){return e.id})).length?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectOneCollection")),[2]):[4,this.cipherService.get(this.cipherId)];case 1:return[4,a.sent().decrypt()];case 2:t=a.sent(),a.label=3;case 3:return a.trys.push([3,5,,6]),this.formPromise=this.cipherService.shareWithServer(t,this.organizationId,e).then(function(){return r(n,void 0,void 0,function(){return i(this,function(e){return this.onSharedCipher.emit(),this.platformUtilsService.eventTrack("Shared Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("sharedItem")),[2]})})}),[4,this.formPromise];case 4:return a.sent(),[2,!0];case 5:return a.sent(),[3,6];case 6:return[2,!1]}})})},Object.defineProperty(e.prototype,"canSave",{get:function(){if(null!=this.collections)for(var e=0;e0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=e?c[e-1]():0===c.length&&(s.delete(l),0===s.size&&o.delete(n))};a.apply(n,r).then(function(e){return u(),e}).catch(function(e){throw u(),e}).then(t,i)};c.push(p),c.length<=e&&p()})}}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.ids=null==e?[]:e,this.folderId=t}}();t.CipherBulkMoveRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.ids=null==e?[]:e}}();t.CipherBulkRestoreRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(504),i=function(){return function(e,t){var n=this;null!=e&&(this.ciphers=[],e.forEach(function(e){n.ciphers.push(new r.CipherWithIdRequest(e))})),this.collectionIds=t}}();t.CipherBulkShareRequest=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(212),i=function(){return function(e){this.cipher=new r.CipherRequest(e),this.collectionIds=e.collectionIds}}();t.CipherShareRequest=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.comparator=e,this.sortedCiphersByUrl=new Map,this.timeouts=new Map}return e.prototype.isCached=function(e){return this.sortedCiphersByUrl.has(e)},e.prototype.addCiphers=function(e,t){t.sort(this.comparator),this.sortedCiphersByUrl.set(e,new i(t)),this.resetTimer(e)},e.prototype.getLastUsed=function(e){return this.resetTimer(e),this.isCached(e)?this.sortedCiphersByUrl.get(e).getLastUsed():null},e.prototype.getLastLaunched=function(e){return this.isCached(e)?this.sortedCiphersByUrl.get(e).getLastLaunched():null},e.prototype.getNext=function(e){return this.resetTimer(e),this.isCached(e)?this.sortedCiphersByUrl.get(e).getNext():null},e.prototype.updateLastUsedIndex=function(e){this.isCached(e)&&this.sortedCiphersByUrl.get(e).updateLastUsedIndex()},e.prototype.clear=function(){this.sortedCiphersByUrl.clear(),this.timeouts.clear()},e.prototype.resetTimer=function(e){var t=this;clearTimeout(this.timeouts.get(e)),this.timeouts.set(e,setTimeout(function(){t.sortedCiphersByUrl.delete(e),t.timeouts.delete(e)},3e3))},e}();t.SortedCiphersCache=r;var i=function(){function e(e){this.ciphers=e,this.lastUsedIndex=-1}return e.prototype.getLastUsed=function(){return this.lastUsedIndex=Math.max(this.lastUsedIndex,0),this.ciphers[this.lastUsedIndex]},e.prototype.getLastLaunched=function(){return this.ciphers.filter(function(e){var t;return null===(t=e.localData)||void 0===t?void 0:t.lastLaunched}).sort(function(e,t){return t.localData.lastLaunched.valueOf()-e.localData.lastLaunched.valueOf()})[0]},e.prototype.getNextIndex=function(){return(this.lastUsedIndex+1)%this.ciphers.length},e.prototype.getNext=function(){return this.ciphers[this.getNextIndex()]},e.prototype.updateLastUsedIndex=function(){this.lastUsedIndex=this.getNextIndex()},e}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.children=[],this.parent=n,this.node=e,this.node.name=t}}();t.TreeNode=r},,,,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.defaultType="",t.minLength=0,t.useUppercase=!1,t.useLowercase=!1,t.useNumbers=!1,t.numberCount=0,t.useSpecial=!1,t.specialCount=0,t.minNumberWords=0,t.capitalize=!1,t.includeNumber=!1,t}return i(t,e),t.prototype.inEffect=function(){return""!==this.defaultType||this.minLength>0||this.numberCount>0||this.specialCount>0||this.useUppercase||this.useLowercase||this.useNumbers||this.useSpecial||this.minNumberWords>0||this.capitalize||this.includeNumber},t}(n(82).default);t.PasswordGeneratorPolicyOptions=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.name=e.name,this.status=e.status,this.type=e.type,this.enabled=e.enabled,this.usePolicies=e.usePolicies,this.useGroups=e.useGroups,this.useDirectory=e.useDirectory,this.useEvents=e.useEvents,this.useTotp=e.useTotp,this.use2fa=e.use2fa,this.useApi=e.useApi,this.useBusinessPortal=e.useBusinessPortal,this.useSso=e.useSso,this.selfHost=e.selfHost,this.usersGetPremium=e.usersGetPremium,this.seats=e.seats,this.maxCollections=e.maxCollections,this.maxStorageGb=e.maxStorageGb,this.ssoBound=e.ssoBound,this.identifier=e.identifier,this.permissions=e.permissions}}();t.OrganizationData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.id=e.id,this.fileName=e.fileName,this.key=e.key,this.size=e.size,this.sizeName=e.sizeName)}}();t.SendFileData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.text=e.text,this.hidden=e.hidden)}}();t.SendTextData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=0?this.browserCache=o.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edg/")?this.browserCache=o.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=o.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=o.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=o.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=o.DeviceType.IEBrowser:this.browserCache=o.DeviceType.UnknownBrowser,this.browserCache)},e.prototype.getDeviceString=function(){return o.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},e.prototype.isFirefox=function(){return this.getDevice()===o.DeviceType.FirefoxBrowser},e.prototype.isChrome=function(){return this.getDevice()===o.DeviceType.ChromeBrowser},e.prototype.isEdge=function(){return this.getDevice()===o.DeviceType.EdgeBrowser},e.prototype.isOpera=function(){return this.getDevice()===o.DeviceType.OperaBrowser},e.prototype.isVivaldi=function(){return this.getDevice()===o.DeviceType.VivaldiBrowser},e.prototype.isSafari=function(){return this.getDevice()===o.DeviceType.SafariBrowser},e.prototype.isIE=function(){return this.getDevice()===o.DeviceType.IEBrowser},e.prototype.isMacAppStore=function(){return!1},e.prototype.analyticsId=function(){return"UA-81915606-3"},e.prototype.isViewOpen=function(){return Promise.resolve(!1)},e.prototype.lockTimeout=function(){return null},e.prototype.launchUri=function(e,t){var n=document.createElement("a");n.href=e,null!=t&&t.sameWindow||(n.target="_blank",n.rel="noreferrer noopener"),n.classList.add("d-none"),document.body.appendChild(n),n.click(),document.body.removeChild(n)},e.prototype.saveFile=function(e,t,n,r){var i=null,a=null,o=r.toLowerCase(),s=!0;if(o.endsWith(".pdf")?(a="application/pdf",s=!1):o.endsWith(".xlsx")?a="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":o.endsWith(".docx")?a="application/vnd.openxmlformats-officedocument.wordprocessingml.document":o.endsWith(".pptx")?a="application/vnd.openxmlformats-officedocument.presentationml.presentation":o.endsWith(".csv")?a="text/csv":o.endsWith(".png")?a="image/png":o.endsWith(".jpg")||o.endsWith(".jpeg")?a="image/jpeg":o.endsWith(".gif")&&(a="image/gif"),null!=a&&null==(n=n||{}).type&&(n.type=a),i=null==n||this.isIE()?new Blob([t]):new Blob([t],n),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(i,r);else{var l=e.document.createElement("a");s?l.download=r:l.target="_blank",l.href=URL.createObjectURL(i),l.style.position="fixed",e.document.body.appendChild(l),l.click(),e.document.body.removeChild(l)}},e.prototype.getApplicationVersion=function(){return"2.19.0"},e.prototype.supportsU2f=function(e){return null!=e&&null!=e.u2f||(this.isChrome()||(this.isEdge()||this.isOpera()||this.isVivaldi())&&!s.Utils.isMobileBrowser)},e.prototype.supportsDuo=function(){return!0},e.prototype.showToast=function(e,t,n,r){this.messagingService.send("showToast",{text:n,title:t,type:e,options:r})},e.prototype.showDialog=function(e,t,n,o,s,l){return void 0===l&&(l=!1),r(this,void 0,void 0,function(){var r,c;return i(this,function(i){switch(i.label){case 0:if(r=null,null!=s)switch(s){case"success":r="fa-check text-success";break;case"warning":r="fa-warning text-warning";break;case"error":r="fa-bolt text-danger";break;case"info":r="fa-info-circle text-info"}return c=null!=r?'':void 0,[4,a.default.fire({heightAuto:!1,buttonsStyling:!1,icon:s,iconHtml:c,text:l?null:e,html:l?e:null,title:t,showCancelButton:null!=o,cancelButtonText:o,showConfirmButton:!0,confirmButtonText:null==n?this.i18nService.t("ok"):n})];case 1:return[2,i.sent().value]}})})},e.prototype.eventTrack=function(e,t,n){this.messagingService.send("analyticsEventTrack",{action:e,label:t,options:n})},e.prototype.isDev=function(){return!1},e.prototype.isSelfHost=function(){return"true"===(!1).toString()},e.prototype.copyToClipboard=function(e,t){var n=window,r=window.document;if(t&&(t.window||t.win)?r=(n=t.window||t.win).document:t&&t.doc&&(r=t.doc),n.clipboardData&&n.clipboardData.setData)n.clipboardData.setData("Text",e);else if(r.queryCommandSupported&&r.queryCommandSupported("copy")){var i=r.createElement("textarea");i.textContent=e,i.style.position="fixed";var a=r.body;r.body.classList.contains("modal-open")&&(a=r.body.querySelector(".modal")),a.appendChild(i),i.select();try{r.execCommand("copy")}catch(o){console.warn("Copy to clipboard failed.",o)}finally{a.removeChild(i)}}},e.prototype.readFromClipboard=function(e){throw new Error("Cannot read from clipboard on web.")},e.prototype.supportsBiometric=function(){return Promise.resolve(!1)},e.prototype.authenticateBiometric=function(){return Promise.resolve(!1)},e.prototype.supportsSecureStorage=function(){return!1},e.prototype.getDefaultSystemTheme=function(){return null},e.prototype.onDefaultSystemThemeChange=function(){},e}();t.WebPlatformUtilsService=l},function(e,t,n){"use strict";var r,i=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&(e=e.substring(0,t)),0!==e.indexOf("!/")&&0!==e.indexOf("#/")||(e=e.substring(1));var n=e.split("/"),r=[];return n.forEach(function(e){e.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)?r.push("__guid__"):r.push(e)}),encodeURIComponent(r.join("/"))},e}();t.Analytics=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Debug=0]="Debug",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(t.LogLevelType||(t.LogLevelType={}))},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&e.data.forEach(function(e){var r=new l.Collection(new p.CollectionData(e));t.push(r.decrypt().then(function(e){n.push(e)}))}),Promise.all(t)})),m.push(this.apiService.getCiphersOrganization(e).then(function(e){var t=[];return null!=e&&null!=e.data&&e.data.length>0&&e.data.filter(function(e){return null===e.deletedDate}).forEach(function(e){var n=new s.Cipher(new c.CipherData(e));t.push(n.decrypt().then(function(e){r.push(e)}))}),Promise.all(t)})),[4,Promise.all(m)];case 1:return i.sent(),"csv"===t?(h=new Map,n.forEach(function(e){h.set(e.id,e)}),f=[],r.forEach(function(e){if(e.type===o.CipherType.Login||e.type===o.CipherType.SecureNote){var t={collections:[]};null!=e.collectionIds&&(t.collections=e.collectionIds.filter(function(e){return h.has(e)}).map(function(e){return h.get(e).name})),y.buildCommonCipher(t,e),f.push(t)}}),[2,a.unparse(f)]):(v={encrypted:!1,collections:[],items:[]},n.forEach(function(e){var t=new d.CollectionWithId;t.build(e),v.collections.push(t)}),r.forEach(function(e){var t=new u.CipherWithIds;t.build(e),v.items.push(t)}),[2,JSON.stringify(v,null," ")])}})})},e.prototype.getOrganizationEncryptedExport=function(e){return r(this,void 0,void 0,function(){var t,n,r,a;return i(this,function(i){switch(i.label){case 0:return t=[],n=[],(r=[]).push(this.apiService.getCollections(e).then(function(e){return null!=e&&null!=e.data&&e.data.length>0&&e.data.forEach(function(e){var n=new l.Collection(new p.CollectionData(e));t.push(n)}),Promise.all([])})),r.push(this.apiService.getCiphersOrganization(e).then(function(e){return null!=e&&null!=e.data&&e.data.length>0&&e.data.filter(function(e){return null===e.deletedDate}).forEach(function(e){var t=new s.Cipher(new c.CipherData(e));n.push(t)}),Promise.all([])})),[4,Promise.all(r)];case 1:return i.sent(),a={encrypted:!0,collections:[],items:[]},t.forEach(function(e){var t=new d.CollectionWithId;t.build(e),a.collections.push(t)}),n.forEach(function(e){var t=new u.CipherWithIds;t.build(e),a.items.push(t)}),[2,JSON.stringify(a,null," ")]}})})},e.prototype.padNumber=function(e,t,n){void 0===n&&(n="0");var r=e.toString();return r.length>=t?r:new Array(t-r.length+1).join(n)+r},e.prototype.buildCommonCipher=function(e,t){switch(e.type=null,e.name=t.name,e.notes=t.notes,e.fields=null,e.login_uri=null,e.login_username=null,e.login_password=null,e.login_totp=null,t.fields&&t.fields.forEach(function(t){e.fields?e.fields+="\n":e.fields="",e.fields+=(t.name||"")+": "+t.value}),t.type){case o.CipherType.Login:e.type="login",e.login_username=t.login.username,e.login_password=t.login.password,e.login_totp=t.login.totp,t.login.uris&&(e.login_uri=[],t.login.uris.forEach(function(t){e.login_uri.push(t.uri)}));break;case o.CipherType.SecureNote:e.type="note";break;default:return}return e},e}();t.ExportService=h},,function(e,t){},,function(e,t){},,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(144),a=n(193),o=n(103),s=n(966),l=n(967),c=n(968),p=n(969),u=n(971),d=function(){function e(){}return e.template=function(){var t=new e;return t.organizationId=null,t.folderId=null,t.type=r.CipherType.Login,t.name="Item name",t.notes="Some notes about this item.",t.favorite=!1,t.fields=[],t.login=null,t.secureNote=null,t.card=null,t.identity=null,t},e.toView=function(e,t){switch(void 0===t&&(t=new i.CipherView),t.type=e.type,t.folderId=e.folderId,null==t.organizationId&&(t.organizationId=e.organizationId),t.name=e.name,t.notes=e.notes,t.favorite=e.favorite,null!=e.fields&&(t.fields=e.fields.map(function(e){return l.Field.toView(e)})),e.type){case r.CipherType.Login:t.login=p.Login.toView(e.login);break;case r.CipherType.SecureNote:t.secureNote=u.SecureNote.toView(e.secureNote);break;case r.CipherType.Card:t.card=s.Card.toView(e.card);break;case r.CipherType.Identity:t.identity=c.Identity.toView(e.identity)}return t},e.toDomain=function(e,t){switch(void 0===t&&(t=new a.Cipher),t.type=e.type,t.folderId=e.folderId,null==t.organizationId&&(t.organizationId=e.organizationId),t.name=null!=e.name?new o.CipherString(e.name):null,t.notes=null!=e.notes?new o.CipherString(e.notes):null,t.favorite=e.favorite,null!=e.fields&&(t.fields=e.fields.map(function(e){return l.Field.toDomain(e)})),e.type){case r.CipherType.Login:t.login=p.Login.toDomain(e.login);break;case r.CipherType.SecureNote:t.secureNote=u.SecureNote.toDomain(e.secureNote);break;case r.CipherType.Card:t.card=s.Card.toDomain(e.card);break;case r.CipherType.Identity:t.identity=c.Identity.toDomain(e.identity)}return t},e.prototype.build=function(e){var t,n;switch(this.organizationId=e.organizationId,this.folderId=e.folderId,this.type=e.type,e instanceof i.CipherView?(this.name=e.name,this.notes=e.notes):(this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.notes=null===(n=e.notes)||void 0===n?void 0:n.encryptedString),this.favorite=e.favorite,null!=e.fields&&(i.CipherView,this.fields=e.fields.map(function(e){return new l.Field(e)})),e.type){case r.CipherType.Login:this.login=new p.Login(e.login);break;case r.CipherType.SecureNote:this.secureNote=new u.SecureNote(e.secureNote);break;case r.CipherType.Card:this.card=new s.Card(e.card);break;case r.CipherType.Identity:this.identity=new c.Identity(e.identity)}},e}();t.Cipher=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(89),i=n(282),a=n(103),o=function(){function e(e){var t,n,i,a,o,s;null!=e&&(e instanceof r.CardView?(this.cardholderName=e.cardholderName,this.brand=e.brand,this.number=e.number,this.expMonth=e.expMonth,this.expYear=e.expYear,this.code=e.code):(this.cardholderName=null===(t=e.cardholderName)||void 0===t?void 0:t.encryptedString,this.brand=null===(n=e.brand)||void 0===n?void 0:n.encryptedString,this.number=null===(i=e.number)||void 0===i?void 0:i.encryptedString,this.expMonth=null===(a=e.expMonth)||void 0===a?void 0:a.encryptedString,this.expYear=null===(o=e.expYear)||void 0===o?void 0:o.encryptedString,this.code=null===(s=e.code)||void 0===s?void 0:s.encryptedString))}return e.template=function(){var t=new e;return t.cardholderName="John Doe",t.brand="visa",t.number="4242424242424242",t.expMonth="04",t.expYear="2023",t.code="123",t},e.toView=function(e,t){return void 0===t&&(t=new r.CardView),t.cardholderName=e.cardholderName,t.brand=e.brand,t.number=e.number,t.expMonth=e.expMonth,t.expYear=e.expYear,t.code=e.code,t},e.toDomain=function(e,t){return void 0===t&&(t=new i.Card),t.cardholderName=null!=e.cardholderName?new a.CipherString(e.cardholderName):null,t.brand=null!=e.brand?new a.CipherString(e.brand):null,t.number=null!=e.number?new a.CipherString(e.number):null,t.expMonth=null!=e.expMonth?new a.CipherString(e.expMonth):null,t.expYear=null!=e.expYear?new a.CipherString(e.expYear):null,t.code=null!=e.code?new a.CipherString(e.code):null,t},e}();t.Card=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(128),i=n(211),a=n(103),o=n(283),s=function(){function e(e){var t,n;null!=e&&(e instanceof i.FieldView?(this.name=e.name,this.value=e.value):(this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.value=null===(n=e.value)||void 0===n?void 0:n.encryptedString),this.type=e.type)}return e.template=function(){var t=new e;return t.name="Field name",t.value="Some value",t.type=r.FieldType.Text,t},e.toView=function(e,t){return void 0===t&&(t=new i.FieldView),t.type=e.type,t.value=e.value,t.name=e.name,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Field),t.type=e.type,t.value=null!=e.value?new a.CipherString(e.value):null,t.name=null!=e.name?new a.CipherString(e.name):null,t},e}();t.Field=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(145),i=n(103),a=n(284),o=function(){function e(e){var t,n,i,a,o,s,l,c,p,u,d,m,h,f,v,y,g,x;null!=e&&(e instanceof r.IdentityView?(this.title=e.title,this.firstName=e.firstName,this.middleName=e.middleName,this.lastName=e.lastName,this.address1=e.address1,this.address2=e.address2,this.address3=e.address3,this.city=e.city,this.state=e.state,this.postalCode=e.postalCode,this.country=e.country,this.company=e.company,this.email=e.email,this.phone=e.phone,this.ssn=e.ssn,this.username=e.username,this.passportNumber=e.passportNumber,this.licenseNumber=e.licenseNumber):(this.title=null===(t=e.title)||void 0===t?void 0:t.encryptedString,this.firstName=null===(n=e.firstName)||void 0===n?void 0:n.encryptedString,this.middleName=null===(i=e.middleName)||void 0===i?void 0:i.encryptedString,this.lastName=null===(a=e.lastName)||void 0===a?void 0:a.encryptedString,this.address1=null===(o=e.address1)||void 0===o?void 0:o.encryptedString,this.address2=null===(s=e.address2)||void 0===s?void 0:s.encryptedString,this.address3=null===(l=e.address3)||void 0===l?void 0:l.encryptedString,this.city=null===(c=e.city)||void 0===c?void 0:c.encryptedString,this.state=null===(p=e.state)||void 0===p?void 0:p.encryptedString,this.postalCode=null===(u=e.postalCode)||void 0===u?void 0:u.encryptedString,this.country=null===(d=e.country)||void 0===d?void 0:d.encryptedString,this.company=null===(m=e.company)||void 0===m?void 0:m.encryptedString,this.email=null===(h=e.email)||void 0===h?void 0:h.encryptedString,this.phone=null===(f=e.phone)||void 0===f?void 0:f.encryptedString,this.ssn=null===(v=e.ssn)||void 0===v?void 0:v.encryptedString,this.username=null===(y=e.username)||void 0===y?void 0:y.encryptedString,this.passportNumber=null===(g=e.passportNumber)||void 0===g?void 0:g.encryptedString,this.licenseNumber=null===(x=e.licenseNumber)||void 0===x?void 0:x.encryptedString))}return e.template=function(){var t=new e;return t.title="Mr",t.firstName="John",t.middleName="William",t.lastName="Doe",t.address1="123 Any St",t.address2="Apt #123",t.address3=null,t.city="New York",t.state="NY",t.postalCode="10001",t.country="US",t.company="Acme Inc.",t.email="john@company.com",t.phone="5555551234",t.ssn="000-123-4567",t.username="jdoe",t.passportNumber="US-123456789",t.licenseNumber="D123-12-123-12333",t},e.toView=function(e,t){return void 0===t&&(t=new r.IdentityView),t.title=e.title,t.firstName=e.firstName,t.middleName=e.middleName,t.lastName=e.lastName,t.address1=e.address1,t.address2=e.address2,t.address3=e.address3,t.city=e.city,t.state=e.state,t.postalCode=e.postalCode,t.country=e.country,t.company=e.company,t.email=e.email,t.phone=e.phone,t.ssn=e.ssn,t.username=e.username,t.passportNumber=e.passportNumber,t.licenseNumber=e.licenseNumber,t},e.toDomain=function(e,t){return void 0===t&&(t=new a.Identity),t.title=null!=e.title?new i.CipherString(e.title):null,t.firstName=null!=e.firstName?new i.CipherString(e.firstName):null,t.middleName=null!=e.middleName?new i.CipherString(e.middleName):null,t.lastName=null!=e.lastName?new i.CipherString(e.lastName):null,t.address1=null!=e.address1?new i.CipherString(e.address1):null,t.address2=null!=e.address2?new i.CipherString(e.address2):null,t.address3=null!=e.address3?new i.CipherString(e.address3):null,t.city=null!=e.city?new i.CipherString(e.city):null,t.state=null!=e.state?new i.CipherString(e.state):null,t.postalCode=null!=e.postalCode?new i.CipherString(e.postalCode):null,t.country=null!=e.country?new i.CipherString(e.country):null,t.company=null!=e.company?new i.CipherString(e.company):null,t.email=null!=e.email?new i.CipherString(e.email):null,t.phone=null!=e.phone?new i.CipherString(e.phone):null,t.ssn=null!=e.ssn?new i.CipherString(e.ssn):null,t.username=null!=e.username?new i.CipherString(e.username):null,t.passportNumber=null!=e.passportNumber?new i.CipherString(e.passportNumber):null,t.licenseNumber=null!=e.licenseNumber?new i.CipherString(e.licenseNumber):null,t},e}();t.Identity=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(970),i=n(161),a=n(103),o=n(285),s=function(){function e(e){var t,n,a;null!=e&&(null!=e.uris&&(i.LoginView,this.uris=e.uris.map(function(e){return new r.LoginUri(e)})),e instanceof i.LoginView?(this.username=e.username,this.password=e.password,this.totp=e.totp):(this.username=null===(t=e.username)||void 0===t?void 0:t.encryptedString,this.password=null===(n=e.password)||void 0===n?void 0:n.encryptedString,this.totp=null===(a=e.totp)||void 0===a?void 0:a.encryptedString))}return e.template=function(){var t=new e;return t.uris=[],t.username="jdoe",t.password="myp@ssword123",t.totp="JBSWY3DPEHPK3PXP",t},e.toView=function(e,t){return void 0===t&&(t=new i.LoginView),null!=e.uris&&(t.uris=e.uris.map(function(e){return r.LoginUri.toView(e)})),t.username=e.username,t.password=e.password,t.totp=e.totp,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Login),null!=e.uris&&(t.uris=e.uris.map(function(e){return r.LoginUri.toDomain(e)})),t.username=null!=e.username?new a.CipherString(e.username):null,t.password=null!=e.password?new a.CipherString(e.password):null,t.totp=null!=e.totp?new a.CipherString(e.totp):null,t},e}();t.Login=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(257),i=n(103),a=n(286),o=function(){function e(e){var t;this.match=null,null!=e&&(e instanceof r.LoginUriView?this.uri=e.uri:this.uri=null===(t=e.uri)||void 0===t?void 0:t.encryptedString,this.match=e.match)}return e.template=function(){var t=new e;return t.uri="https://google.com",t.match=null,t},e.toView=function(e,t){return void 0===t&&(t=new r.LoginUriView),t.uri=e.uri,t.match=e.match,t},e.toDomain=function(e,t){return void 0===t&&(t=new a.LoginUri),t.uri=null!=e.uri?new i.CipherString(e.uri):null,t.match=e.match,t},e}();t.LoginUri=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(113),i=n(94),a=n(288),o=function(){function e(e){null!=e&&(this.type=e.type)}return e.template=function(){var t=new e;return t.type=r.SecureNoteType.Generic,t},e.toView=function(e,t){return void 0===t&&(t=new i.SecureNoteView),t.type=e.type,t},e.toDomain=function(e,t){return void 0===t&&(t=new a.SecureNote),t.type=e.type,t},e}();t.SecureNote=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(158),i=n(103),a=n(141),o=function(){function e(){}return e.template=function(){var t=new e;return t.organizationId="00000000-0000-0000-0000-000000000000",t.name="Collection name",t.externalId=null,t},e.toView=function(e,t){return void 0===t&&(t=new r.CollectionView),t.name=e.name,t.externalId=e.externalId,null==t.organizationId&&(t.organizationId=e.organizationId),t},e.toDomain=function(e,t){return void 0===t&&(t=new a.Collection),t.name=null!=e.name?new i.CipherString(e.name):null,t.externalId=e.externalId,null==t.organizationId&&(t.organizationId=e.organizationId),t},e.prototype.build=function(e){var t;this.organizationId=e.organizationId,e instanceof r.CollectionView?this.name=e.name:this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.externalId=e.externalId},e}();t.Collection=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(129),i=n(103),a=n(509),o=function(){function e(){}return e.template=function(){var t=new e;return t.name="Folder name",t},e.toView=function(e,t){return void 0===t&&(t=new r.FolderView),t.name=e.name,t},e.toDomain=function(e,t){return void 0===t&&(t=new a.Folder),t.name=null!=e.name?new i.CipherString(e.name):null,t},e.prototype.build=function(e){var t;e instanceof r.FolderView?this.name=e.name:this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString},e}();t.Folder=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&(a=Math.floor(r.ciphers.length/2),o=r.ciphers.length-1,this.badData(r.ciphers[0])&&this.badData(r.ciphers[a])&&this.badData(r.ciphers[o])))return[2,new Error(this.i18nService.t("importFormatError"))];i.label=2;case 2:return i.trys.push([2,4,,5]),[4,this.postImport(r,n)];case 3:return i.sent(),[3,5];case 4:return s=i.sent(),l=new m.ErrorResponse(s,400),[2,this.handleServerError(l,r)];case 5:return[2,null];case 6:return[2,new Error(this.i18nService.t("importFormatError"))]}})})},e.prototype.getImporter=function(e,t){void 0===t&&(t=null);var n=this.getImporterInstance(e);return null==n?null:(n.organizationId=t,n)},e.prototype.getImporterInstance=function(e){if(null==e||""===e)return null;switch(e){case"bitwardencsv":return new g.BitwardenCsvImporter;case"bitwardenjson":return new x.BitwardenJsonImporter;case"lastpasscsv":case"passboltcsv":return new R.LastPassCsvImporter;case"keepassxcsv":return new V.KeePassXCsvImporter;case"aviracsv":return new y.AviraCsvImporter;case"blurcsv":return new S.BlurCsvImporter;case"safeincloudxml":return new ne.SafeInCloudXmlImporter;case"padlockcsv":return new q.PadlockCsvImporter;case"keepass2xml":return new D.KeePass2XmlImporter;case"chromecsv":case"operacsv":case"vivaldicsv":return new C.ChromeCsvImporter;case"firefoxcsv":return new O.FirefoxCsvImporter;case"upmcsv":return new le.UpmCsvImporter;case"saferpasscsv":return new re.SaferPassCsvImporter;case"meldiumcsv":return new U.MeldiumCsvImporter;case"1password1pif":return new L.OnePassword1PifImporter;case"1passwordwincsv":return new K.OnePasswordWinCsvImporter;case"1passwordmaccsv":return new G.OnePasswordMacCsvImporter;case"keepercsv":return new j.KeeperCsvImporter;case"passworddragonxml":return new J.PasswordDragonXmlImporter;case"enpasscsv":return new _.EnpassCsvImporter;case"enpassjson":return new A.EnpassJsonImporter;case"pwsafexml":return new X.PasswordSafeXmlImporter;case"dashlanejson":return new P.DashlaneJsonImporter;case"msecurecsv":return new N.MSecureCsvImporter;case"stickypasswordxml":return new oe.StickyPasswordXmlImporter;case"truekeycsv":return new se.TrueKeyCsvImporter;case"clipperzhtml":return new I.ClipperzHtmlImporter;case"roboformcsv":return new te.RoboFormCsvImporter;case"ascendocsv":return new h.AscendoCsvImporter;case"passwordbossjson":return new Q.PasswordBossJsonImporter;case"zohovaultcsv":return new pe.ZohoVaultCsvImporter;case"splashidcsv":return new ae.SplashIdCsvImporter;case"passkeepcsv":return new W.PassKeepCsvImporter;case"gnomejson":return new M.GnomeJsonImporter;case"passwordagentcsv":return new Y.PasswordAgentCsvImporter;case"passpackcsv":return new $.PasspackCsvImporter;case"passmanjson":return new H.PassmanJsonImporter;case"avastcsv":return new f.AvastCsvImporter;case"avastjson":return new v.AvastJsonImporter;case"fsecurefsk":return new T.FSecureFskImporter;case"kasperskytxt":return new B.KasperskyTxtImporter;case"remembearcsv":return new ee.RememBearCsvImporter;case"passwordwallettxt":return new Z.PasswordWalletTxtImporter;case"mykicsv":return new z.MykiCsvImporter;case"securesafecsv":return new ie.SecureSafeCsvImporter;case"logmeoncecsv":return new F.LogMeOnceCsvImporter;case"blackberrycsv":return new b.BlackBerryCsvImporter;case"buttercupcsv":return new w.ButtercupCsvImporter;case"codebookcsv":return new E.CodebookCsvImporter;case"encryptrcsv":return new k.EncryptrCsvImporter;case"yoticsv":return new ce.YotiCsvImporter;default:return null}},e.prototype.postImport=function(e,t){return void 0===t&&(t=null),r(this,void 0,void 0,function(){var n,r,a,o,m;return i(this,function(i){switch(i.label){case 0:if(null!=t)return[3,10];n=new p.ImportCiphersRequest,o=0,i.label=1;case 1:return o0&&(n+="\n\n"),"Folder"!==o&&"Collection"!==o&&(n+="["+(c+1)+"] "),n+="["+o+'] "'+i.name+'": '+l}),new Error(n)},e}();t.ImportService=ue},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.ciphers=[],this.folders=[],this.folderRelationships=[]}}();t.ImportCiphersRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.ciphers=[],this.collections=[],this.collectionRelationships=[]}}();t.ImportOrganizationCiphersRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.key=e,this.value=t}}();t.KvpRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<2)){var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[e.length-1]),r.name=t.getValueOrDefault(e[0],"--"),e.length>2&&e.length%2==0)for(var i=0;i-1?r.login.password=t.getValueOrDefault(a):null==r.login.username&&t.usernameFieldNames.indexOf(s)>-1?r.login.username=t.getValueOrDefault(a):(null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(s)>-1?r.login.uris=t.makeUriArray(a):t.processKvp(r,o,a)}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.AscendoCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name),r.login.uris=t.makeUriArray(e.web),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.login),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.AvastCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(40),l=n(113),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=JSON.parse(e);return null==r?(n.success=!1,Promise.resolve(n)):(null!=r.logins&&r.logins.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.custName),r.notes=t.getValueOrDefault(e.note),r.login.uris=t.makeUriArray(e.url),r.login.password=t.getValueOrDefault(e.pwd),r.login.username=t.getValueOrDefault(e.loginName),t.cleanupCipher(r),n.ciphers.push(r)}),null!=r.notes&&r.notes.forEach(function(e){var r=t.initLoginCipher();r.type=s.CipherType.SecureNote,r.secureNote.type=l.SecureNoteType.Generic,r.name=t.getValueOrDefault(e.label),r.notes=t.getValueOrDefault(e.text),t.cleanupCipher(r),n.ciphers.push(r)}),null!=r.cards&&r.cards.forEach(function(e){var r=t.initLoginCipher();r.type=s.CipherType.Card,r.name=t.getValueOrDefault(e.custName),r.notes=t.getValueOrDefault(e.note),r.card.cardholderName=t.getValueOrDefault(e.holderName),r.card.number=t.getValueOrDefault(e.cardNumber),r.card.code=t.getValueOrDefault(e.cvv),r.card.brand=t.getCardBrand(r.card.number),null!=e.expirationDate&&(null!=e.expirationDate.month&&(r.card.expMonth=e.expirationDate.month+""),null!=e.expirationDate.year&&(r.card.expYear=e.expirationDate.year+"")),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.AvastJsonImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name,t.getValueOrDefault(t.nameFromUrl(e.website),"--")),r.login.uris=t.makeUriArray(e.website),r.login.password=t.getValueOrDefault(e.password),t.isNullOrWhitespace(e.username)&&!t.isNullOrWhitespace(e.secondary_username)?r.login.username=e.secondary_username:(r.login.username=t.getValueOrDefault(e.username),r.notes=t.getValueOrDefault(e.secondary_username)),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.AviraCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(144),l=n(158),c=n(211),p=n(161),u=n(94),d=n(40),m=n(128),h=n(113),f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.organization&&!t.isNullOrWhitespace(e.collections)?e.collections.split(",").forEach(function(e){for(var t=!0,r=n.collections.length,i=0;io+2&&(f.value=i[a].substr(o+2)),r.fields.push(f)}}switch(null!=e.type?e.type.toLowerCase():null){case"note":r.type=d.CipherType.SecureNote,r.secureNote=new u.SecureNoteView,r.secureNote.type=h.SecureNoteType.Generic;break;default:r.type=d.CipherType.Login,r.login=new p.LoginView,r.login.totp=t.getValueOrDefault(e.login_totp||e.totp),r.login.username=t.getValueOrDefault(e.login_username||e.username),r.login.password=t.getValueOrDefault(e.login_password||e.password);var v=t.parseSingleRowCsv(e.login_uri||e.uri);r.login.uris=t.makeUriArray(v)}n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.BitwardenCsvImporter=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]5&&(f.passwordHistory=f.passwordHistory.slice(0,5)),!this.organization&&null!=h.folderId&&e.has(h.folderId)?this.result.folderRelationships.push([this.result.ciphers.length,e.get(h.folderId)]):this.organization&&null!=h.collectionIds&&h.collectionIds.forEach(function(t){e.has(t)&&y.result.collectionRelationships.push([y.result.ciphers.length,e.get(t)])}),[4,f.decrypt()]):[3,13];case 11:v=o.sent(),this.cleanupCipher(v),this.result.ciphers.push(v),o.label=12;case 12:return d++,[3,10];case 13:return[2]}})})},t.prototype.parseDecrypted=function(){var e=this,t=new Map;this.organization&&null!=this.results.collections?this.results.collections.forEach(function(n){var r=p.CollectionWithId.toView(n);null!=r&&(r.id=null,r.organizationId=null,t.set(n.id,e.result.collections.length),e.result.collections.push(r))}):this.organization||null==this.results.folders||this.results.folders.forEach(function(n){var r=u.FolderWithId.toView(n);null!=r&&(r.id=null,t.set(n.id,e.result.folders.length),e.result.folders.push(r))}),this.results.items.forEach(function(n){var r=c.CipherWithIds.toView(n);r.id=null,r.folderId=null,r.organizationId=null,r.collectionIds=null,null!=r.passwordHistory&&r.passwordHistory.length>5&&(r.passwordHistory=r.passwordHistory.slice(0,5)),!e.organization&&null!=n.folderId&&t.has(n.folderId)?e.result.folderRelationships.push([e.result.ciphers.length,t.get(n.folderId)]):e.organization&&null!=n.collectionIds&&n.collectionIds.forEach(function(n){t.has(n)&&e.result.collectionRelationships.push([e.result.ciphers.length,t.get(n)])}),e.cleanupCipher(r),e.result.ciphers.push(r)})},t}(s.BaseImporter);t.BitwardenJsonImporter=d},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if("list"!==e.grouping){var r=t.initLoginCipher();r.favorite="1"===e.fav,r.name=t.getValueOrDefault(e.name),r.notes=t.getValueOrDefault(e.extra),"note"!==e.grouping&&(r.login.uris=t.makeUriArray(e.url),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.username)),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.BlackBerryCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){"null"===e.label&&(e.label=null);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.label,t.getValueOrDefault(t.nameFromUrl(e.domain),"--")),r.login.uris=t.makeUriArray(e.domain),r.login.password=t.getValueOrDefault(e.password),t.isNullOrWhitespace(e.email)&&!t.isNullOrWhitespace(e.username)?r.login.username=e.username:(r.login.username=t.getValueOrDefault(e.email),r.notes=t.getValueOrDefault(e.username)),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.BlurCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=["!group_id","!group_name","title","username","password","URL","id"],l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValueOrDefault(e["!group_name"]));var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.title,"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.URL);var i=!1;for(var a in e)e.hasOwnProperty(a)&&(i||-1!==s.indexOf(a)||(i=!0),i&&t.processKvp(r,a,e[a]));t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.ButtercupCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name,"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.ChromeCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelector("textarea");return null==i||this.isNullOrWhitespace(i.textContent)?(n.errorMessage="Missing textarea.",n.success=!1,Promise.resolve(n)):(JSON.parse(i.textContent).forEach(function(e){var r=t.initLoginCipher();if(t.isNullOrWhitespace(e.label)||(r.name=e.label.split(" ")[0]),null==e.data||t.isNullOrWhitespace(e.data.notes)||(r.notes=e.data.notes.split("\\n").join("\n")),null!=e.currentVersion&&null!=e.currentVersion.fields)for(var i in e.currentVersion.fields)if(e.currentVersion.fields.hasOwnProperty(i)){var a=e.currentVersion.fields[i];switch(null!=a.actionType?a.actionType.toLowerCase():null){case"password":r.login.password=t.getValueOrDefault(a.value);break;case"email":case"username":case"user":case"name":r.login.username=t.getValueOrDefault(a.value);break;case"url":r.login.uris=t.makeUriArray(a.value);break;default:var o=null!=a.label?a.label.toLowerCase():null;null==r.login.password&&t.passwordFieldNames.indexOf(o)>-1?r.login.password=t.getValueOrDefault(a.value):null==r.login.username&&t.usernameFieldNames.indexOf(o)>-1?r.login.username=t.getValueOrDefault(a.value):(null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(o)>-1?r.login.uris=t.makeUriArray(a.value):t.processKvp(r,a.label,a.value)}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.ClipperzHtmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValueOrDefault(e.Category));var r=t.initLoginCipher();r.favorite="True"===t.getValueOrDefault(e.Favorite),r.name=t.getValueOrDefault(e.Entry,"--"),r.notes=t.getValueOrDefault(e.Note),r.login.username=t.getValueOrDefault(e.Username,e.Email),r.login.password=t.getValueOrDefault(e.Password),r.login.totp=t.getValueOrDefault(e.TOTP),r.login.uris=t.makeUriArray(e.Website),t.isNullOrWhitespace(e.Username)||t.processKvp(r,"Email",e.Email),t.processKvp(r,"Phone",e.Phone),t.processKvp(r,"PIN",e.PIN),t.processKvp(r,"Account",e.Account),t.processKvp(r,"Date",e.Date),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.CodebookCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(89),l=n(144),c=n(145),p=n(94),u=n(40),d=n(113),m=new Set(["ADDRESS","AUTHENTIFIANT","BANKSTATEMENT","IDCARD","IDENTITY","PAYMENTMEANS_CREDITCARD","PAYMENTMEAN_PAYPAL","EMAIL"]),h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){this.result=new o.ImportResult;var t=JSON.parse(e);if(null==t||0===t.length)return this.result.success=!1,Promise.resolve(this.result);for(var n in null!=t.ADDRESS&&this.processAddress(t.ADDRESS),null!=t.AUTHENTIFIANT&&this.processAuth(t.AUTHENTIFIANT),null!=t.BANKSTATEMENT&&this.processNote(t.BANKSTATEMENT,"BankAccountName"),null!=t.IDCARD&&this.processNote(t.IDCARD,"Fullname"),null!=t.PAYMENTMEANS_CREDITCARD&&this.processCard(t.PAYMENTMEANS_CREDITCARD),null!=t.IDENTITY&&this.processIdentity(t.IDENTITY),t)t.hasOwnProperty(n)&&!m.has(n)&&this.processNote(t[n],null,"Generic Note");return this.result.success=!0,Promise.resolve(this.result)},t.prototype.processAuth=function(e){var t=this;e.forEach(function(e){var n=t.initLoginCipher();n.name=t.getValueOrDefault(e.title),n.login.username=t.getValueOrDefault(e.login,t.getValueOrDefault(e.secondaryLogin)),t.isNullOrWhitespace(n.login.username)?n.login.username=t.getValueOrDefault(e.email):t.isNullOrWhitespace(e.email)||(n.notes="Email: "+e.email+"\n"),n.login.password=t.getValueOrDefault(e.password),n.login.uris=t.makeUriArray(e.domain),n.notes+=t.getValueOrDefault(e.note,""),t.convertToNoteIfNeeded(n),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processIdentity=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.identity=new c.IdentityView,n.type=u.CipherType.Identity,n.name=t.getValueOrDefault(e.fullName,"");var r=n.name.split(" ");r.length>0&&(n.identity.firstName=t.getValueOrDefault(r[0])),2===r.length?n.identity.lastName=t.getValueOrDefault(r[1]):3===r.length&&(n.identity.middleName=t.getValueOrDefault(r[1]),n.identity.lastName=t.getValueOrDefault(r[2])),n.identity.username=t.getValueOrDefault(e.pseudo),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processAddress=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.identity=new c.IdentityView,n.type=u.CipherType.Identity,n.name=t.getValueOrDefault(e.addressName),n.identity.address1=t.getValueOrDefault(e.addressFull),n.identity.city=t.getValueOrDefault(e.city),n.identity.state=t.getValueOrDefault(e.state),n.identity.postalCode=t.getValueOrDefault(e.zipcode),n.identity.country=t.getValueOrDefault(e.country),null!=n.identity.country&&(n.identity.country=n.identity.country.toUpperCase()),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processCard=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.card=new s.CardView,n.type=u.CipherType.Card,n.name=t.getValueOrDefault(e.bank),n.card.number=t.getValueOrDefault(e.cardNumber),n.card.brand=t.getCardBrand(n.card.number),n.card.cardholderName=t.getValueOrDefault(e.owner),t.isNullOrWhitespace(n.card.brand)||(t.isNullOrWhitespace(n.name)?n.name=n.card.brand:n.name+=" - "+n.card.brand),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processNote=function(e,t,n){var r=this;void 0===n&&(n=null),e.forEach(function(e){var i=new l.CipherView;for(var a in i.secureNote=new p.SecureNoteView,i.type=u.CipherType.SecureNote,i.secureNote.type=d.SecureNoteType.Generic,i.name=null!=n?n:r.getValueOrDefault(e[t]),e)e.hasOwnProperty(a)&&a!==t&&r.processKvp(i,a,e[a].toString());r.cleanupCipher(i),r.result.ciphers.push(i)})},t}(a.BaseImporter);t.DashlaneJsonImporter=h},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(89),l=n(40),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Label,"--"),r.notes=t.getValueOrDefault(e.Notes);var i=t.getValueOrDefault(e.Text);t.isNullOrWhitespace(i)||(t.isNullOrWhitespace(r.notes)?r.notes=i:r.notes+="\n\n"+i);var a=e["Entry Type"];if("Password"===a)r.login.username=t.getValueOrDefault(e.Username),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e["Site URL"]);else if("Credit Card"===a){r.type=l.CipherType.Card,r.card=new s.CardView,r.card.cardholderName=t.getValueOrDefault(e["Name on card"]),r.card.number=t.getValueOrDefault(e["Card Number"]),r.card.brand=t.getCardBrand(r.card.number),r.card.code=t.getValueOrDefault(e.CVV);var o=t.getValueOrDefault(e.Expiry);if(!t.isNullOrWhitespace(o)){var c=o.split("/");c.length>1&&(r.card.expMonth=parseInt(c[0],null).toString(),r.card.expYear=(2e3+parseInt(c[1],null)).toString())}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.EncryptrCsvImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(40),l=n(113),c=n(89),p=n(94),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=!0;return r.forEach(function(e){if(e.length<2||i&&("Title"===e[0]||"title"===e[0]))i=!1;else{var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[e.length-1]),r.name=t.getValueOrDefault(e[0],"--"),2!==e.length&&(t.containsField(e,"username")||t.containsField(e,"password")||t.containsField(e,"email")||t.containsField(e,"url"))||(r.type=s.CipherType.SecureNote,r.secureNote=new p.SecureNoteView,r.secureNote.type=l.SecureNoteType.Generic),t.containsField(e,"cardholder")&&t.containsField(e,"number")&&t.containsField(e,"expiry date")&&(r.type=s.CipherType.Card,r.card=new c.CardView),e.length>2&&e.length%2==0)for(var a=0;a0},t}(a.BaseImporter);t.EnpassCsvImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(89),l=n(129),c=n(40),p=n(128),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=JSON.parse(e);if(null==r||null==r.items||0===r.items.length)return n.success=!1,Promise.resolve(n);var i=new Map,a=new Map,s=this.buildFolderTree(r.folders);return this.flattenFolderTree(null,s,i),i.forEach(function(e,t){a.set(t,n.folders.length);var r=new l.FolderView;r.name=e,n.folders.push(r)}),r.items.forEach(function(e){null!=e.folders&&e.folders.length>0&&a.has(e.folders[0])&&n.folderRelationships.push([n.ciphers.length,a.get(e.folders[0])]);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.title),r.favorite=e.favorite>0,null!=e.template_type&&null!=e.fields&&e.fields.length>0&&(0===e.template_type.indexOf("login.")||0===e.template_type.indexOf("password.")?t.processLogin(r,e.fields):0===e.template_type.indexOf("creditcard.")?t.processCard(r,e.fields):e.template_type.indexOf("identity.")<0&&e.fields.some(function(e){return"password"===e.type&&!t.isNullOrWhitespace(e.value)})?t.processLogin(r,e.fields):t.processNote(r,e.fields)),r.notes+="\n"+t.getValueOrDefault(e.note,""),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n)},t.prototype.processLogin=function(e,t){var n=this,r=[];t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||("username"!==t.type&&"email"!==t.type||!n.isNullOrWhitespace(e.login.username)?"password"===t.type&&n.isNullOrWhitespace(e.login.password)?e.login.password=t.value:"totp"===t.type&&n.isNullOrWhitespace(e.login.totp)?e.login.totp=t.value:"url"===t.type?r.push(t.value):n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text):e.login.username=t.value)}),e.login.uris=this.makeUriArray(r)},t.prototype.processCard=function(e,t){var n=this;e.card=new s.CardView,e.type=c.CipherType.Card,t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||"ccType"===t.type||("ccName"===t.type&&n.isNullOrWhitespace(e.card.cardholderName)?e.card.cardholderName=t.value:"ccNumber"===t.type&&n.isNullOrWhitespace(e.card.number)?(e.card.number=t.value,e.card.brand=n.getCardBrand(e.card.number)):"ccCvc"===t.type&&n.isNullOrWhitespace(e.card.code)?e.card.code=t.value:"ccExpiry"===t.type&&n.isNullOrWhitespace(e.card.expYear)&&n.setCardExpiration(e,t.value)||n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text))})},t.prototype.processNote=function(e,t){var n=this;t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text)})},t.prototype.buildFolderTree=function(e){if(null==e)return[];var t=[],n=new Map([]);return e.forEach(function(e){n.set(e.uuid,e),e.children=[]}),e.forEach(function(e){null!=e.parent_uuid&&""!==e.parent_uuid&&n.has(e.parent_uuid)?n.get(e.parent_uuid).children.push(e):t.push(e)}),t},t.prototype.flattenFolderTree=function(e,t,n){var r=this;null!=t&&t.forEach(function(t){if(null!=t.title&&""!==t.title.trim()){var i=t.title.trim();null!=e&&""!==e.trim()&&(i=e+"/"+i),n.set(t.uuid,i),null!=t.children&&0!==t.children.length&&r.flattenFolderTree(i,t.children,n)}})},t}(a.BaseImporter);t.EnpassJsonImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher(),i=t.getValueOrDefault(e.url,t.getValueOrDefault(e.hostname));r.name=t.getValueOrDefault(t.nameFromUrl(i),"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(i),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.FirefoxCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(89),l=n(40),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=new o.ImportResult,n=JSON.parse(e);if(null==n||null==n.data)return t.success=!1,Promise.resolve(t);for(var r in n.data)if(n.data.hasOwnProperty(r)){var i=n.data[r],a=this.initLoginCipher();if(a.name=this.getValueOrDefault(i.service),a.notes=this.getValueOrDefault(i.notes),"website"===i.style)a.login.username=this.getValueOrDefault(i.username),a.login.password=this.getValueOrDefault(i.password),a.login.uris=this.makeUriArray(i.url);else{if("creditcard"!==i.style)continue;a.type=l.CipherType.Card,a.card=new s.CardView,a.card.cardholderName=this.getValueOrDefault(i.username),a.card.number=this.getValueOrDefault(i.creditNumber),a.card.brand=this.getCardBrand(a.card.number),a.card.code=this.getValueOrDefault(i.creditCvv),this.isNullOrWhitespace(i.creditExpiry)||this.setCardExpiration(a,i.creditExpiry)||this.processKvp(a,"Expiration",i.creditExpiry),this.isNullOrWhitespace(i.password)||this.processKvp(a,"PIN",i.password)}this.convertToNoteIfNeeded(a),this.cleanupCipher(a),t.ciphers.push(a)}return t.success=!0,Promise.resolve(t)},t}(a.BaseImporter);t.FSecureFskImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=JSON.parse(e);if(null==r||0===Object.keys(r).length)return n.success=!1,Promise.resolve(n);var i=function(e){if(!r.hasOwnProperty(e)||a.isNullOrWhitespace(e)||0===r[e].length)return"continue";r[e].forEach(function(r){if(!t.isNullOrWhitespace(r.display_name)&&0===r.display_name.indexOf("http")){t.processFolder(n,e);var i=t.initLoginCipher();if(i.name=r.display_name.replace("http://","").replace("https://",""),i.name.length>30&&(i.name=i.name.substring(0,30)),i.login.password=t.getValueOrDefault(r.secret),i.login.uris=t.makeUriArray(r.display_name),null!=r.attributes)for(var a in i.login.username=null!=r.attributes?t.getValueOrDefault(r.attributes.username_value):null,r.attributes)r.attributes.hasOwnProperty(a)&&"username_value"!==a&&"xdg:schema"!==a&&t.processKvp(i,a,r.attributes[a]);t.convertToNoteIfNeeded(i),t.cleanupCipher(i),n.ciphers.push(i)}})},a=this;for(var s in r)i(s);return this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(a.BaseImporter);t.GnomeJsonImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t,n,r,i,a=this,s=new o.ImportResult,l=this.splitNewLine(e).join("\n");-1!==l.indexOf("Notes\n\n")&&((i=l.split("Notes\n\n")).length>1&&(l=i[0],t=i[1]));-1!==l.indexOf("Applications\n\n")&&((i=l.split("Applications\n\n")).length>1&&(l=i[0],n=i[1]));0===l.indexOf("Websites\n\n")&&((i=l.split("Websites\n\n")).length>1&&(l=i[0],r=i[1]));var c=this.parseDataCategory(t),p=this.parseDataCategory(n),u=this.parseDataCategory(r);return c.forEach(function(e){var t=a.initLoginCipher();t.name=a.getValueOrDefault(e.get("Name")),t.notes=a.getValueOrDefault(e.get("Text")),a.cleanupCipher(t),s.ciphers.push(t)}),u.concat(p).forEach(function(e){var t=a.initLoginCipher(),n=e.has("Website name")?"Website name":"Application";t.name=a.getValueOrDefault(e.get(n),""),a.isNullOrWhitespace(e.get("Login name"))||(a.isNullOrWhitespace(t.name)||(t.name+=": "),t.name+=e.get("Login name")),t.notes=a.getValueOrDefault(e.get("Comment")),e.has("Website URL")&&(t.login.uris=a.makeUriArray(e.get("Website URL"))),t.login.username=a.getValueOrDefault(e.get("Login")),t.login.password=a.getValueOrDefault(e.get("Password")),a.cleanupCipher(t),s.ciphers.push(t)}),s.success=!0,Promise.resolve(s)},t.prototype.parseDataCategory=function(e){if(this.isNullOrWhitespace(e)||-1===e.indexOf("\n---\n"))return[];var t=[];return e.split("\n---\n").forEach(function(e){if(-1!==e.indexOf("\n")){var n,r,i=new Map;e.split("\n").forEach(function(e){if(null==n){var t,a,o=e.indexOf(":");-1!==o&&(t=e.substring(0,o),e.length>o+1&&(a=e.substring(o+2)),null!=t&&i.set(t,a),"Comment"!==t&&"Text"!==t||(n=a,r=t))}else n+="\n"+e}),null!=n&&null!=r&&i.set(r,n),0!==i.size&&t.push(i)}}),t},t}(a.BaseImporter);t.KasperskyTxtImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(128),s=n(28),l=n(129),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.result=new s.ImportResult,t}return i(t,e),t.prototype.parse=function(e){var t=this.parseXml(e);if(null==t)return this.result.success=!1,Promise.resolve(this.result);var n=t.querySelector("KeePassFile > Root > Group");return null==n?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,Promise.resolve(this.result)):(this.traverse(n,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,Promise.resolve(this.result))},t.prototype.traverse=function(e,t,n){var r=this,i=this.result.folders.length,a=n;if(!t){""!==a&&(a+="/");var s=this.querySelectorDirectChild(e,"Name");a+=null==s?"-":s.textContent;var c=new l.FolderView;c.name=a,this.result.folders.push(c)}this.querySelectorAllDirectChild(e,"Entry").forEach(function(e){var n=r.result.ciphers.length,a=r.initLoginCipher();r.querySelectorAllDirectChild(e,"String").forEach(function(e){var t=r.querySelectorDirectChild(e,"Value"),n=null!=t?t.textContent:null;if(!r.isNullOrWhitespace(n)){var i=r.querySelectorDirectChild(e,"Key"),s=null!=i?i.textContent:null;if("URL"===s)a.login.uris=r.makeUriArray(n);else if("UserName"===s)a.login.username=n;else if("Password"===s)a.login.password=n;else if("otp"===s)a.login.totp=n.replace("key=","");else if("Title"===s)a.name=n;else if("Notes"===s)a.notes+=n+"\n";else{var l=o.FieldType.Text,c=t.attributes;c.length>0&&null!=c.ProtectInMemory&&"True"===c.ProtectInMemory.value&&(l=o.FieldType.Hidden),r.processKvp(a,s,n,l)}}}),r.cleanupCipher(a),r.result.ciphers.push(a),t||r.result.folderRelationships.push([n,i])}),this.querySelectorAllDirectChild(e,"Group").forEach(function(e){r.traverse(e,!1,a)})},t}(a.BaseImporter);t.KeePass2XmlImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(e.Title)){e.Group=!t.isNullOrWhitespace(e.Group)&&e.Group.startsWith("Root/")?e.Group.replace("Root/",""):e.Group;var r=t.isNullOrWhitespace(e.Group)?null:e.Group;t.processFolder(n,r);var i=t.initLoginCipher();i.notes=t.getValueOrDefault(e.Notes),i.name=t.getValueOrDefault(e.Title,"--"),i.login.username=t.getValueOrDefault(e.Username),i.login.password=t.getValueOrDefault(e.Password),i.login.uris=t.makeUriArray(e.URL),t.cleanupCipher(i),n.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.KeePassXCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<6)){t.processFolder(n,e[0]);var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[5])+"\n",r.name=t.getValueOrDefault(e[1],"--"),r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[4]),e.length>7)for(var i=7;i-1){var n=e.ccexp.split("-");n.length>1&&(t.expYear=n[0],t.expMonth=n[1],2===t.expMonth.length&&"0"===t.expMonth[0]&&(t.expMonth=t.expMonth[1]))}return t},t.prototype.parseIdentity=function(e){var t=new p.IdentityView;return t.title=this.getValueOrDefault(e.title),t.firstName=this.getValueOrDefault(e.firstname),t.middleName=this.getValueOrDefault(e.middlename),t.lastName=this.getValueOrDefault(e.lastname),t.username=this.getValueOrDefault(e.username),t.company=this.getValueOrDefault(e.company),t.ssn=this.getValueOrDefault(e.ssn),t.address1=this.getValueOrDefault(e.address1),t.address2=this.getValueOrDefault(e.address2),t.address3=this.getValueOrDefault(e.address3),t.city=this.getValueOrDefault(e.city),t.state=this.getValueOrDefault(e.state),t.postalCode=this.getValueOrDefault(e.zip),t.country=this.getValueOrDefault(e.country),t.email=this.getValueOrDefault(e.email),t.phone=this.getValueOrDefault(e.phone),this.isNullOrWhitespace(t.title)||(t.title=t.title.charAt(0).toUpperCase()+t.title.slice(1)),t},t.prototype.parseSecureNote=function(e,t){var n=this.splitNewLine(e.extra),r=!1;if(n.length){var i=n[0].split(":");if(i.length>1&&"NoteType"===i[0]&&("Credit Card"===i[1]||"Address"===i[1])){if("Credit Card"===i[1]){var a=this.parseSecureNoteMapping(t,n,{Number:"number","Name on Card":"cardholderName","Security Code":"code","Expiration Date":"expMonth"});if(this.isNullOrWhitespace(a.expMonth)||","===a.expMonth)a.expMonth=void 0;else{var o=a.expMonth.split(","),s=o[0],l=o[1];if(this.isNullOrWhitespace(s))a.expMonth=void 0;else{var c=new Date(Date.parse(s.trim()+" 1, 2012")).getMonth()+1;isNaN(c)?a.expMonth=void 0:a.expMonth=c.toString()}this.isNullOrWhitespace(l)||(a.expYear=l)}t.type=m.CipherType.Card,t.card=a}else if("Address"===i[1]){a=this.parseSecureNoteMapping(t,n,{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"});t.type=m.CipherType.Identity,t.identity=a}r=!0}}r||(t.secureNote=new d.SecureNoteView,t.secureNote.type=h.SecureNoteType.Generic,t.notes=this.getValueOrDefault(e.extra))},t.prototype.parseSecureNoteMapping=function(e,t,n){var r=this,i={},a=!1;return t.forEach(function(t){var o=null,s=null;if(!a){if(r.isNullOrWhitespace(t))return;var l=t.indexOf(":");if(-1===l?o=t:(o=t.substring(0,l),t.length>l&&(s=t.substring(l+1))),r.isNullOrWhitespace(o)||r.isNullOrWhitespace(s)||"NoteType"===o)return}a?e.notes+="\n"+t:"Notes"===o?(r.isNullOrWhitespace(e.notes)?e.notes=s:e.notes+="\n"+s,a=!0):n.hasOwnProperty(o)?i[n[o]]=s:r.processKvp(e,o,s)}),i},t}(a.BaseImporter);t.LastPassCsvImporter=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<4)){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[1]),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.LogMeOnceCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.DisplayName,"--"),r.notes=t.getValueOrDefault(e.Notes),r.login.username=t.getValueOrDefault(e.UserName),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e.Url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.MeldiumCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(40),l=n(113),c=n(94),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<3)){var r="Unassigned"!==t.getValueOrDefault(e[0],"Unassigned")?e[0]:null;t.processFolder(n,r);var i=t.initLoginCipher();if(i.name=t.getValueOrDefault(e[2],"--"),"Web Logins"===e[1]||"Login"===e[1])i.login.uris=t.makeUriArray(e[4]),i.login.username=t.getValueOrDefault(e[5]),i.login.password=t.getValueOrDefault(e[6]),i.notes=t.isNullOrWhitespace(e[3])?null:e[3].split("\\n").join("\n");else if(e.length>3){i.type=s.CipherType.SecureNote,i.secureNote=new c.SecureNoteView,i.secureNote.type=l.SecureNoteType.Generic;for(var a=3;a0&&(t.login.uris=this.makeUriArray(r))}null!=e.secureContents.fields&&this.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(e){null!=e.fields&&n.parseFields(e.fields,t,"n","v","t")})}},t.prototype.parsePasswordHistory=function(e,t){var n=this,r=e.length>5?5:e.length;t.passwordHistory=e.filter(function(e){return!n.isNullOrWhitespace(e.value)&&null!=e.time}).sort(function(e,t){return t.time-e.time}).slice(0,r).map(function(e){var t=new c.PasswordHistoryView;return t.password=e.value,t.lastUsedDate=new Date((""+e.time).length>=13?e.time:1e3*e.time),t})},t.prototype.parseFields=function(e,t,n,r,i){var a=this;e.forEach(function(e){if(null!=e[r]&&""!==e[r].toString().trim()){var o=e[r].toString(),s=null!=e[n]?e[n].toString():null;if(t.type===u.CipherType.Login){if(a.isNullOrWhitespace(t.login.username)&&"username"===s)return void(t.login.username=o);if(a.isNullOrWhitespace(t.login.password)&&"password"===s)return void(t.login.password=o);if(a.isNullOrWhitespace(t.login.totp)&&null!=s&&s.startsWith("TOTP_"))return void(t.login.totp=o)}else if(t.type===u.CipherType.Card){if(a.isNullOrWhitespace(t.card.number)&&"ccnum"===s)return t.card.number=o,void(t.card.brand=a.getCardBrand(o));if(a.isNullOrWhitespace(t.card.code)&&"cvv"===s)return void(t.card.code=o);if(a.isNullOrWhitespace(t.card.cardholderName)&&"cardholder"===s)return void(t.card.cardholderName=o);if(a.isNullOrWhitespace(t.card.expiration)&&"expiry"===s&&6===o.length)return t.card.expMonth=o.substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),void(t.card.expYear=o.substr(0,4));if("type"===s)return}else if(t.type===u.CipherType.Identity){var l=t.identity;if(a.isNullOrWhitespace(l.firstName)&&"firstname"===s)return void(l.firstName=o);if(a.isNullOrWhitespace(l.lastName)&&"lastname"===s)return void(l.lastName=o);if(a.isNullOrWhitespace(l.middleName)&&"initial"===s)return void(l.middleName=o);if(a.isNullOrWhitespace(l.phone)&&"defphone"===s)return void(l.phone=o);if(a.isNullOrWhitespace(l.company)&&"company"===s)return void(l.company=o);if(a.isNullOrWhitespace(l.email)&&"email"===s)return void(l.email=o);if(a.isNullOrWhitespace(l.username)&&"username"===s)return void(l.username=o);if("address"===s){var c=e[r],p=c.street,m=c.city,h=c.country,f=c.zip;return l.address1=a.getValueOrDefault(p),l.city=a.getValueOrDefault(m),a.isNullOrWhitespace(h)||(l.country=h.toUpperCase()),void(l.postalCode=a.getValueOrDefault(f))}}var v=a.isNullOrWhitespace(e[i])?"no_name":e[i];if("password"!==v||null==t.passwordHistory||!t.passwordHistory.some(function(e){return e.password===o})){var y="concealed"===e.k?d.FieldType.Hidden:d.FieldType.Text;a.processKvp(t,v,o,y)}}})},t}(a.BaseImporter);t.OnePassword1PifImporter=h},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(712),o=n(40),s=n(713),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.setCipherType=function(e,t){switch(this.getValueOrDefault(this.getProp(e,"type"),"Login")){case"Credit Card":t.type=o.CipherType.Card,t.card=new s.CardView,a.IgnoredProperties.push("type");break;case"Identity":t.type=o.CipherType.Identity,t.identity=new s.IdentityView,a.IgnoredProperties.push("type");break;case"Login":case"Secure Note":a.IgnoredProperties.push("type")}},t}(a.OnePasswordCsvImporter);t.OnePasswordMacCsvImporter=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.importRecord=e,this.property=t,this.cipher=n,this.lowerProperty=t.toLowerCase()}}();t.CipherImportContext=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.View=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(712),o=n(40),s=n(713),l=function(e){function t(){var t=e.call(this)||this;return t.identityPropertyParsers.push(t.setIdentityAddress),t}return i(t,e),t.prototype.setCipherType=function(e,t){t.type=o.CipherType.Login,t.login=new s.LoginView,this.isNullOrWhitespace(this.getPropByRegexp(e,/\d+: number/i))||this.isNullOrWhitespace(this.getPropByRegexp(e,/\d+: expiry date/i))||(t.type=o.CipherType.Card,t.card=new s.CardView),this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: first name/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: initial/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: last name/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/internet \d+: email/i))||(t.type=o.CipherType.Identity,t.identity=new s.IdentityView)},t.prototype.setIdentityAddress=function(e){return!!e.lowerProperty.match(/address \d+: address/i)&&(this.processKvp(e.cipher,"address",e.importRecord[e.property]),!0)},t.prototype.setCreditCardExpiry=function(e){if(this.isNullOrWhitespace(e.cipher.card.expiration)&&e.lowerProperty.includes("expiry date")){var t=e.importRecord[e.property].split("/");return e.cipher.card.expMonth=t[0],"0"===e.cipher.card.expMonth[0]&&2===e.cipher.card.expMonth.length&&(e.cipher.card.expMonth=e.cipher.card.expMonth.substr(1,1)),e.cipher.card.expYear=t[2].length>4?t[2].substr(0,4):t[2],!0}return!1},t}(a.OnePasswordCsvImporter);t.OnePasswordWinCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(158),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=null;return r.forEach(function(e){if(null!=i){if(!(e.length<2||e.length!==i.length)){if(!t.isNullOrWhitespace(e[1]))if(t.organization){(r=e[1].split(",")).forEach(function(e){e=e.trim();for(var t=!0,r=n.collections.length,i=0;i0?r[0].trim():null;t.processFolder(n,a)}var o=t.initLoginCipher();o.name=t.getValueOrDefault(e[0],"--");for(var l=2;l-1?o.login.username=e[l]:t.passwordFieldNames.indexOf(c)>-1?o.login.password=e[l]:t.uriFieldNames.indexOf(c)>-1?o.login.uris=t.makeUriArray(e[l]):t.processKvp(o,i[l],e[l]))}t.cleanupCipher(o),n.ciphers.push(o)}}else i=e.map(function(e){return e})}),n.success=!0,Promise.resolve(n)},t}(a.BaseImporter);t.PadlockCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValue("category",e));var r=t.initLoginCipher();r.notes=t.getValue("description",e),r.name=t.getValueOrDefault(t.getValue("title",e),"--"),r.login.username=t.getValue("username",e),r.login.password=t.getValue("password",e),r.login.uris=t.makeUriArray(t.getValue("site",e)),t.processKvp(r,"Password 2",t.getValue("password2",e)),t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.getValue=function(e,t){return this.getValueOrDefault(t[e],this.getValueOrDefault(t[" "+e]))},t}(a.BaseImporter);t.PassKeepCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=JSON.parse(e);return null==r||0===r.length?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(null!=e.tags&&e.tags.length>0){var r=e.tags[0].text;t.processFolder(n,r)}var i=t.initLoginCipher();i.name=e.label,i.login.username=t.getValueOrDefault(e.username),t.isNullOrWhitespace(i.login.username)?i.login.username=t.getValueOrDefault(e.email):t.isNullOrWhitespace(e.email)||(i.notes="Email: "+e.email+"\n"),i.login.password=t.getValueOrDefault(e.password),i.login.uris=t.makeUriArray(e.url),i.notes+=t.getValueOrDefault(e.description,""),null!=e.otp&&(i.login.totp=t.getValueOrDefault(e.otp.secret)),null!=e.custom_fields&&e.custom_fields.forEach(function(e){switch(e.field_type){case"text":case"password":t.processKvp(i,e.label,e.value)}}),t.convertToNoteIfNeeded(i),t.cleanupCipher(i),n.ciphers.push(i)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.PassmanJsonImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(158),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.isNullOrWhitespace(e.Tags)?null:JSON.parse(e.Tags),i=null!=r&&null!=r.tags&&r.tags.length>0?r.tags.map(function(e){try{var n=JSON.parse(e);return t.getValueOrDefault(n.tag)}catch(r){}return null}).filter(function(e){return!t.isNullOrWhitespace(e)}):null;t.organization&&null!=i&&i.length>0?i.forEach(function(e){for(var t=!0,r=n.collections.length,i=0;i0&&t.processFolder(n,i[0]);var a=t.initLoginCipher();a.notes=t.getValueOrDefault(e.Notes,""),a.notes+="\n\n"+t.getValueOrDefault(e["Shared Notes"],"")+"\n",a.name=t.getValueOrDefault(e["Entry Name"],"--"),a.login.username=t.getValueOrDefault(e["User ID"]),a.login.password=t.getValueOrDefault(e.Password),a.login.uris=t.makeUriArray(e.URL),null!=e.__parsed_extra&&e.__parsed_extra.length>0&&e.__parsed_extra.forEach(function(e){t.isNullOrWhitespace(e)||(a.notes+="\n"+e)});var o=t.isNullOrWhitespace(e["Extra Fields"])?null:JSON.parse(e["Extra Fields"]),l=null!=o&&null!=o.extraFields&&o.extraFields.length>0?o.extraFields.map(function(e){try{return JSON.parse(e)}catch(t){}return null}):null;null!=l&&l.forEach(function(e){null!=e&&t.processKvp(a,e.name,e.data)}),t.cleanupCipher(a),n.ciphers.push(a)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.PasspackCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=!0;return r.forEach(function(e){if(!(5!==e.length&&e.length<9)){var r=10===e.length&&"0"===e[0],a=t.initLoginCipher();if(a.name=t.getValueOrDefault(e[r?1:0],"--"),a.login.username=t.getValueOrDefault(e[r?2:1]),a.login.password=t.getValueOrDefault(e[r?3:2]),5===e.length)i=!1,a.notes=t.getValueOrDefault(e[4]),a.login.uris=t.makeUriArray(e[3]);else{var o=t.getValueOrDefault(e[r?9:8],"(None)"),s="(None)"!==o?o.split("\\").join("/"):null;null!=s&&(s=o.split(" > ").join("/"),s=o.split(">").join("/")),t.processFolder(n,s),a.notes=t.getValueOrDefault(e[r?5:3]),a.login.uris=t.makeUriArray(e[4])}t.convertToNoteIfNeeded(a),t.cleanupCipher(a),n.ciphers.push(a)}}),i&&this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(a.BaseImporter);t.PasswordAgentCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(89),l=n(129),c=n(40),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=JSON.parse(e);if(null==r||null==r.items)return n.success=!1,Promise.resolve(n);var i=new Map;r.folders.forEach(function(e){i.set(e.id,e.name)});var a=new Map;return i.forEach(function(e,t){a.set(t,n.folders.length);var r=new l.FolderView;r.name=e,n.folders.push(r)}),r.items.forEach(function(e){var r=t.initLoginCipher();if(r.name=t.getValueOrDefault(e.name,"--"),r.login.uris=t.makeUriArray(e.login_url),null!=e.folder&&a.has(e.folder)&&n.folderRelationships.push([n.ciphers.length,a.get(e.folder)]),null!=e.identifiers){for(var i in t.isNullOrWhitespace(e.identifiers.notes)||(r.notes=e.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===e.type&&(r.card=new s.CardView,r.type=c.CipherType.Card),e.identifiers)if(e.identifiers.hasOwnProperty(i)){var o=e.identifiers[i],l=null!=o?o.toString():null;if(!t.isNullOrWhitespace(l)&&"notes"!==i&&"ignoreItemInSecurityScore"!==i)if("custom_fields"!==i){if(r.type===c.CipherType.Card){if("cardNumber"===i){r.card.number=l,r.card.brand=t.getCardBrand(l);continue}if("nameOnCard"===i){r.card.cardholderName=l;continue}if("security_code"===i){r.card.code=l;continue}if("expires"===i){try{var p=new Date(l);r.card.expYear=p.getFullYear().toString(),r.card.expMonth=(p.getMonth()+1).toString()}catch(u){}continue}if("cardType"===i)continue}else{if(("username"===i||"email"===i)&&t.isNullOrWhitespace(r.login.username)){r.login.username=l;continue}if("password"===i){r.login.password=l;continue}if("totp"===i){r.login.totp=l;continue}if((null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(i)>-1){r.login.uris=t.makeUriArray(l);continue}}t.processKvp(r,i,l)}else o.forEach(function(e){t.processKvp(r,e.name,e.value)})}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n)},t}(a.BaseImporter);t.PasswordBossJsonImporter=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelectorAll("PasswordManager > record");return Array.from(i).forEach(function(e){var r=t.querySelectorDirectChild(e,"Category"),i=null==r||t.isNullOrWhitespace(r.textContent)||"Unfiled"===r.textContent?null:r.textContent;t.processFolder(n,i);var a=t.querySelectorDirectChild(e,"Account-Name"),o=t.querySelectorDirectChild(e,"User-Id"),s=t.querySelectorDirectChild(e,"Password"),l=t.querySelectorDirectChild(e,"URL"),c=t.querySelectorDirectChild(e,"Notes"),p=t.initLoginCipher();p.name=null!=a?t.getValueOrDefault(a.textContent,"--"):"--",p.notes=null!=c?t.getValueOrDefault(c.textContent):"",p.login.username=null!=o?t.getValueOrDefault(o.textContent):null,p.login.password=null!=s?t.getValueOrDefault(s.textContent):null,p.login.uris=null!=l?t.makeUriArray(l.textContent):null;for(var u=[],d=1;d<=10;d++)u.push("Attribute-"+d);t.querySelectorAllDirectChild(e,u.join(",")).forEach(function(e){t.isNullOrWhitespace(e.textContent)||"null"===e.textContent||t.processKvp(p,e.tagName,e.textContent)}),t.cleanupCipher(p),n.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(a.BaseImporter);t.PasswordDragonXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelector("passwordsafe");if(null==i)return n.errorMessage="Missing `passwordsafe` node.",n.success=!1,Promise.resolve(n);var a=i.getAttribute("delimiter"),s=r.querySelectorAll("passwordsafe > entry");return Array.from(s).forEach(function(e){var r=t.querySelectorDirectChild(e,"group"),i=null==r||t.isNullOrWhitespace(r.textContent)?null:r.textContent.split(".").join("/");t.processFolder(n,i);var o=t.querySelectorDirectChild(e,"title"),s=t.querySelectorDirectChild(e,"username"),l=t.querySelectorDirectChild(e,"email"),c=t.querySelectorDirectChild(e,"password"),p=t.querySelectorDirectChild(e,"url"),u=t.querySelectorDirectChild(e,"notes"),d=t.initLoginCipher();d.name=null!=o?t.getValueOrDefault(o.textContent,"--"):"--",d.notes=null!=u?t.getValueOrDefault(u.textContent,"").split(a).join("\n"):null,d.login.username=null!=s?t.getValueOrDefault(s.textContent):null,d.login.password=null!=c?t.getValueOrDefault(c.textContent):null,d.login.uris=null!=p?t.makeUriArray(p.textContent):null,t.isNullOrWhitespace(d.login.username)&&null!=l?d.login.username=t.getValueOrDefault(l.textContent):null==l||t.isNullOrWhitespace(l.textContent)||(d.notes=t.isNullOrWhitespace(d.notes)?"Email: "+l.textContent:d.notes+"\nEmail: "+l.textContent),t.cleanupCipher(d),n.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(a.BaseImporter);t.PasswordSafeXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<1)){e.length>5&&t.processFolder(n,e[5]);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),e.length>4&&(r.notes=t.getValueOrDefault(e[4],"").split("¬").join("\n")),e.length>2&&(r.login.username=t.getValueOrDefault(e[2])),e.length>3&&(r.login.password=t.getValueOrDefault(e[3])),e.length>1&&(r.login.uris=t.makeUriArray(e[1])),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.PasswordWalletTxtImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(40),s=n(28),l=n(89),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new s.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if("true"!==e.trash){var r=t.initLoginCipher();if(r.name=t.getValueOrDefault(e.name),r.notes=t.getValueOrDefault(e.notes),"LoginItem"===e.type)r.login.uris=t.makeUriArray(e.website),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.username);else if("CreditCardItem"===e.type){r.type=o.CipherType.Card,r.card=new l.CardView,r.card.cardholderName=t.getValueOrDefault(e.cardholder),r.card.number=t.getValueOrDefault(e.number),r.card.brand=t.getCardBrand(r.card.number),r.card.code=t.getValueOrDefault(e.verification);try{var i=t.getValueOrDefault(e.expiryMonth);if(null!=i){var a=parseInt(i,null);null!=a&&a>=1&&a<=12&&(r.card.expMonth=a.toString())}}catch(d){}try{var s=t.getValueOrDefault(e.expiryYear);if(null!=s){var c=parseInt(s,null);null!=c&&(r.card.expYear=c.toString())}}catch(m){}var p=t.getValueOrDefault(e.pin);null!=p&&t.processKvp(r,"PIN",p);var u=t.getValueOrDefault(e.zipCode);null!=u&&t.processKvp(r,"Zip Code",u)}t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.RememBearCsvImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);if(null==r)return n.success=!1,Promise.resolve(n);var i=1;return r.forEach(function(e){var a=!t.isNullOrWhitespace(e.Folder)&&e.Folder.startsWith("/")?e.Folder.replace("/",""):e.Folder,o=t.isNullOrWhitespace(a)?null:a;t.processFolder(n,o);var s=t.initLoginCipher();if(s.notes=t.getValueOrDefault(e.Note),s.name=t.getValueOrDefault(e.Name,"--"),s.login.username=t.getValueOrDefault(e.Login),s.login.password=t.getValueOrDefault(e.Pwd),s.login.uris=t.makeUriArray(e.Url),!t.isNullOrWhitespace(e.Rf_fields)){var l=[e.Rf_fields];null!=e.__parsed_extra&&e.__parsed_extra.length>0&&(l=l.concat(e.__parsed_extra)),l.forEach(function(e){var n=e.split(":");if(!(n.length<3)){var r="-no-name-"===n[0]?null:n[0],i=4===n.length&&"rck"===n[2]?n[1]:n[2];t.processKvp(s,r,i)}})}t.convertToNoteIfNeeded(s),t.cleanupCipher(s),i===r.length&&"--"===s.name&&t.isNullOrWhitespace(s.login.password)||(n.ciphers.push(s),i++)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(a.BaseImporter);t.RoboFormCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(129),l=n(94),c=n(40),p=n(113),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);if(null==r.querySelector("database"))return n.errorMessage="Missing `database` node.",n.success=!1,Promise.resolve(n);var i=new Map;return Array.from(r.querySelectorAll("database > label")).forEach(function(e){var r=e.getAttribute("name"),a=e.getAttribute("id");if(!t.isNullOrWhitespace(r)&&!t.isNullOrWhitespace(a)){i.set(a,n.folders.length);var o=new s.FolderView;o.name=r,n.folders.push(o)}}),Array.from(r.querySelectorAll("database > card")).forEach(function(e){if("true"!==e.getAttribute("template")){var r=t.querySelectorDirectChild(e,"label_id");if(null!=r){var a=r.textContent;!t.isNullOrWhitespace(a)&&i.has(a)&&n.folderRelationships.push([n.ciphers.length,i.get(a)])}var o=t.initLoginCipher();o.name=t.getValueOrDefault(e.getAttribute("title"),"--"),"note"===e.getAttribute("type")?(o.type=c.CipherType.SecureNote,o.secureNote=new l.SecureNoteView,o.secureNote.type=p.SecureNoteType.Generic):Array.from(t.querySelectorAllDirectChild(e,"field")).forEach(function(e){var n=e.textContent;if(!t.isNullOrWhitespace(n)){var r=e.getAttribute("name"),i=t.getValueOrDefault(e.getAttribute("type"),"").toLowerCase();"login"===i?o.login.username=n:"password"===i?o.login.password=n:"one_time_password"===i?o.login.totp=n:"notes"===i?o.notes+=n+"\n":"weblogin"===i||"website"===i?o.login.uris=t.makeUriArray(n):t.processKvp(o,r,n)}}),Array.from(t.querySelectorAllDirectChild(e,"notes")).forEach(function(e){o.notes+=e.textContent+"\n"}),t.cleanupCipher(o),n.ciphers.push(o)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(a.BaseImporter);t.SafeInCloudXmlImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(t.nameFromUrl(e.url),"--"),r.notes=t.getValueOrDefault(e.notes),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.SaferPassCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Title),r.notes=t.getValueOrDefault(e.Comment),r.login.uris=t.makeUriArray(e.Url),r.login.password=t.getValueOrDefault(e.Password),r.login.username=t.getValueOrDefault(e.Username),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.SecureSafeCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<3)){t.processFolder(n,t.getValueOrDefault(e[e.length-1]));var r=t.initLoginCipher();r.notes=t.getValueOrDefault(e[e.length-2],""),r.name=t.getValueOrDefault(e[1],"--"),"Web Logins"===e[0]||"Servers"===e[0]||"Email Accounts"===e[0]?(r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[4]),t.parseFieldsToNotes(r,5,e)):t.parseFieldsToNotes(r,2,e),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.parseFieldsToNotes=function(e,t,n){for(var r=t;r Database > Logins > Login");return Array.from(i).forEach(function(e){var i=e.getAttribute("ID");if(!t.isNullOrWhitespace(i)){var a=e.getAttribute("Name"),o=e.getAttribute("Password"),s=null,l=null,c=null,p=null,u=null,d=r.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+i+'"]');if(null!=d){var m=d.parentElement.parentElement;null!=m&&(s=m.getAttribute("Name"),l=m.getAttribute("Link"),p=m.getAttribute("ParentID"),c=m.getAttribute("Comments"),t.isNullOrWhitespace(c)||(c=c.split("/n").join("\n")))}t.isNullOrWhitespace(p)||(u=t.buildGroupText(r,p,""),t.processFolder(n,u));var h=t.initLoginCipher();h.name=t.getValueOrDefault(s,"--"),h.notes=t.getValueOrDefault(c),h.login.username=t.getValueOrDefault(a),h.login.password=t.getValueOrDefault(o),h.login.uris=t.makeUriArray(l),t.cleanupCipher(h),n.ciphers.push(h)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t.prototype.buildGroupText=function(e,t,n){var r=e.querySelector('root > Database > Groups > Group[ID="'+t+'"]');return null==r?n:(this.isNullOrWhitespace(n)||(n="/"+n),n=r.getAttribute("Name")+n,this.buildGroupText(e,r.getAttribute("ParentID"),n))},t}(a.BaseImporter);t.StickyPasswordXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=n(89),l=n(94),c=n(40),p=n(113),u=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();if(r.favorite="true"===t.getValueOrDefault(e.favorite,"").toLowerCase(),r.name=t.getValueOrDefault(e.name,"--"),r.notes=t.getValueOrDefault(e.memo,""),r.login.username=t.getValueOrDefault(e.login),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),"login"!==e.kind&&(r.name=t.getValueOrDefault(e.title,"--"),r.notes=t.getValueOrDefault(e.note,"")),"cc"===e.kind){if(r.type=c.CipherType.Card,r.card=new s.CardView,r.card.cardholderName=t.getValueOrDefault(e.cardholder),r.card.number=t.getValueOrDefault(e.number),r.card.brand=t.getCardBrand(r.card.number),!t.isNullOrWhitespace(e.expiryDate))try{var i=new Date(e.expiryDate);r.card.expYear=i.getFullYear().toString(),r.card.expMonth=(i.getMonth()+1).toString()}catch(o){}}else if("login"!==e.kind)for(var a in r.type=c.CipherType.SecureNote,r.secureNote=new l.SecureNoteView,r.secureNote.type=p.SecureNoteType.Generic,t.isNullOrWhitespace(r.notes)||(r.notes=t.getValueOrDefault(e.document_content,"")),e)e.hasOwnProperty(a)&&u.indexOf(a.toLowerCase())<0&&!t.isNullOrWhitespace(e[a])&&t.processKvp(r,a,e[a]);t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.TrueKeyCsvImporter=d},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(5===e.length){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),r.notes=t.getValueOrDefault(e[4]),r.login.username=t.getValueOrDefault(e[1]),r.login.password=t.getValueOrDefault(e[2]),r.login.uris=t.makeUriArray(e[3]),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.UpmCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Name,"--"),r.login.username=t.getValueOrDefault(e["User name"]),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e.URL),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(a.BaseImporter);t.YotiCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),o=n(28),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(e["Password Name"])||!t.isNullOrWhitespace(e["Secret Name"])){t.processFolder(n,t.getValueOrDefault(e.ChamberName));var r=t.initLoginCipher();r.favorite="1"===t.getValueOrDefault(e.Favorite,"0"),r.notes=t.getValueOrDefault(e.Notes),r.name=t.getValueOrDefault(e["Password Name"],t.getValueOrDefault(e["Secret Name"],"--")),r.login.uris=t.makeUriArray(t.getValueOrDefault(e["Password URL"],t.getValueOrDefault(e["Secret URL"]))),t.parseData(r,e.SecretData),t.parseData(r,e.CustomData),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.parseData=function(e,t){var n=this;this.isNullOrWhitespace(t)||this.splitNewLine(t).forEach(function(t){var r=t.indexOf(":");if(!(r<0)){var i=t.substring(0,r),a=t.length>r?t.substring(r+1):null;if(!n.isNullOrWhitespace(i)&&!n.isNullOrWhitespace(a)&&"SecretType"!==i){var o=i.toLowerCase();null==e.login.username&&n.usernameFieldNames.indexOf(o)>-1?e.login.username=a:null==e.login.password&&n.passwordFieldNames.indexOf(o)>-1?e.login.password=a:n.processKvp(e,i,a)}}})},t}(a.BaseImporter);t.ZohoVaultCsvImporter=s},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]t.minComplexity&&(t.minComplexity=e.data.minComplexity),null!=e.data.minLength&&e.data.minLength>t.minLength&&(t.minLength=e.data.minLength),e.data.requireUpper&&(t.requireUpper=!0),e.data.requireLower&&(t.requireLower=!0),e.data.requireNumbers&&(t.requireNumbers=!0),e.data.requireSpecial&&(t.requireSpecial=!0))}),[2,t])}})})},e.prototype.evaluateMasterPassword=function(e,t,n){return null==n||!(n.minComplexity>0&&n.minComplexity>e)&&(!(n.minLength>0&&n.minLength>t.length)&&((!n.requireUpper||t.toLocaleLowerCase()!==t)&&((!n.requireLower||t.toLocaleUpperCase()!==t)&&(!(n.requireNumbers&&!/[0-9]/.test(t))&&!(n.requireSpecial&&!/[!@#$%\^&*]/g.test(t))))))},e}();t.PolicyService=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.minComplexity=0,t.minLength=0,t.requireUpper=!1,t.requireLower=!1,t.requireNumbers=!1,t.requireSpecial=!1,t}return i(t,e),t}(n(82).default);t.MasterPasswordPolicyOptions=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]"))},e.prototype.indexCiphers=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return this.indexing?[2]:(this.logService.time("search indexing"),this.indexing=!0,this.index=null,(e=new a.Builder).ref("id"),e.field("shortid",{boost:100,extractor:function(e){return e.id.substr(0,8)}}),e.field("name",{boost:10}),e.field("subtitle",{boost:5,extractor:function(e){return null!=e.subTitle&&e.type===o.CipherType.Card?e.subTitle.replace(/\*/g,""):e.subTitle}}),e.field("notes"),e.field("login.username",{extractor:function(e){return e.type===o.CipherType.Login&&null!=e.login?e.login.username:null}}),e.field("login.uris",{boost:2,extractor:function(e){return t.uriExtractor(e)}}),e.field("fields",{extractor:function(e){return t.fieldExtractor(e,!1)}}),e.field("fields_joined",{extractor:function(e){return t.fieldExtractor(e,!0)}}),e.field("attachments",{extractor:function(e){return t.attachmentExtractor(e,!1)}}),e.field("attachments_joined",{extractor:function(e){return t.attachmentExtractor(e,!0)}}),e.field("organizationid",{extractor:function(e){return e.organizationId}}),[4,this.cipherService.getAllDecrypted()]);case 1:return n.sent().forEach(function(t){return e.add(t)}),this.index=e.build(),this.indexing=!1,this.logService.timeEnd("search indexing"),[2]}})})},e.prototype.searchCiphers=function(e,t,n){return void 0===t&&(t=null),void 0===n&&(n=null),r(this,void 0,void 0,function(){var r,o,s,l,c;return i(this,function(i){switch(i.label){case 0:return r=[],null!=e&&(e=e.trim().toLowerCase()),""===e&&(e=null),null!=n?[3,2]:[4,this.cipherService.getAllDecrypted()];case 1:n=i.sent(),i.label=2;case 2:return null!=t&&Array.isArray(t)&&t.length>0?n=n.filter(function(e){return t.every(function(t){return null==t||t(e)})}):null!=t&&(n=n.filter(t)),this.isSearchable(e)?this.indexing?[4,new Promise(function(e){return setTimeout(e,250)})]:[3,5]:[2,n];case 3:return i.sent(),this.indexing?[4,new Promise(function(e){return setTimeout(e,500)})]:[3,5];case 4:i.sent(),i.label=5;case 5:if(null==(o=this.getIndexForSearch()))return[2,this.searchCiphersBasic(n,e)];if(s=new Map,n.forEach(function(e){return s.set(e.id,e)}),l=null,null!=e&&e.length>1&&0===e.indexOf(">"))try{l=o.search(e.substr(1).trim())}catch(p){}else c=a.Query.wildcard.LEADING|a.Query.wildcard.TRAILING,l=o.query(function(t){a.tokenizer(e).forEach(function(e){var n=e.toString();t.term(n,{fields:["name"],wildcard:c}),t.term(n,{fields:["subtitle"],wildcard:c}),t.term(n,{fields:["login.uris"],wildcard:c}),t.term(n,{})})});return null!=l&&l.forEach(function(e){s.has(e.ref)&&r.push(s.get(e.ref))}),[2,r]}})})},e.prototype.searchCiphersBasic=function(e,t,n){return void 0===n&&(n=!1),t=t.trim().toLowerCase(),e.filter(function(e){return n===e.isDeleted&&(null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&e.id.startsWith(t))||(null!=e.subTitle&&e.subTitle.toLowerCase().indexOf(t)>-1||!!(e.login&&null!=e.login.uri&&e.login.uri.toLowerCase().indexOf(t)>-1))))})},e.prototype.searchSends=function(e,t){return t=t.trim().toLocaleLowerCase(),e.filter(function(e){var n,r,i;return null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&(e.id.startsWith(t)||e.accessId.toLocaleLowerCase().startsWith(t)||null!=(null===(n=e.file)||void 0===n?void 0:n.id)&&e.file.id.startsWith(t)))||(null!=e.notes&&e.notes.toLowerCase().indexOf(t)>-1||(null!=(null===(r=e.text)||void 0===r?void 0:r.text)&&e.text.text.toLowerCase().indexOf(t)>-1||(null!=(null===(i=e.file)||void 0===i?void 0:i.fileName)&&e.file.fileName.toLowerCase().indexOf(t)>-1||void 0))))})},e.prototype.getIndexForSearch=function(){return this.index},e.prototype.fieldExtractor=function(e,t){if(!e.hasFields)return null;var n=[];return e.fields.forEach(function(e){null!=e.name&&n.push(e.name),e.type===s.FieldType.Text&&null!=e.value&&n.push(e.value)}),0===(n=n.filter(function(e){return""!==e.trim()})).length?null:t?n.join(" "):n},e.prototype.attachmentExtractor=function(e,t){if(!e.hasAttachments)return null;var n=[];return e.attachments.forEach(function(e){null!=e&&null!=e.fileName&&(t&&e.fileName.indexOf(".")>-1?n.push(e.fileName.substr(0,e.fileName.lastIndexOf("."))):n.push(e.fileName))}),0===(n=n.filter(function(e){return""!==e.trim()})).length?null:t?n.join(" "):n},e.prototype.uriExtractor=function(e){if(e.type!==o.CipherType.Login||null==e.login||!e.login.hasUris)return null;var t=[];return e.login.uris.forEach(function(e){if(null!=e.uri&&""!==e.uri)if(null==e.hostname){var n=e.uri;if(e.match!==l.UriMatchType.RegularExpression){var r=n.indexOf("://");r>-1&&(n=n.substr(r+3));var i=n.search(/\?|&|#/);i>-1&&(n=n.substring(0,i))}t.push(n)}else t.push(e.hostname)}),t.length>0?t:null},e}();t.SearchService=c},,function(e,t,n){"use strict";(function(e){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1||n.indexOf(" Version/9.")>-1)}return e.prototype.pbkdf2=function(e,t,n,s){return r(this,void 0,void 0,function(){var r,l,c,p,u,d,m,h,f;return i(this,function(i){switch(i.label){case 0:return this.isIE||this.isOldSafari?(r="sha256"===n?32:64,l=this.toByteString(e),c=this.toByteString(t),p=a.pbkdf2(l,c,s,r,n),[2,o.Utils.fromByteStringToArray(p).buffer]):(u="sha256"===n?256:512,d=this.toBuf(e),m=this.toBuf(t),h={name:"PBKDF2",salt:m,iterations:s,hash:{name:this.toWebCryptoAlgorithm(n)}},[4,this.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveBits"])]);case 1:return f=i.sent(),[4,this.subtle.deriveBits(h,f,u)];case 2:return[2,i.sent()]}})})},e.prototype.hkdf=function(e,t,n,a,o){return r(this,void 0,void 0,function(){var r,s,l,c;return i(this,function(i){switch(i.label){case 0:return r=this.toBuf(t),s=this.toBuf(n),l={name:"HKDF",salt:r,info:s,hash:{name:this.toWebCryptoAlgorithm(o)}},[4,this.subtle.importKey("raw",e,{name:"HKDF"},!1,["deriveBits"])];case 1:return c=i.sent(),[4,this.subtle.deriveBits(l,c,8*a)];case 2:return[2,i.sent()]}})})},e.prototype.hkdfExpand=function(e,t,n,a){return r(this,void 0,void 0,function(){var r,o,s,l,c,p,u,d,m,h;return i(this,function(i){switch(i.label){case 0:if(n>255*(r="sha256"===a?32:64))throw new Error("outputByteSize is too large.");if(new Uint8Array(e).length=n)return[3,4];i.label=3;case 3:return d++,[3,1];case 4:return[2,u.slice(0,n).buffer]}})})},e.prototype.hash=function(e,t){return r(this,void 0,void 0,function(){var n,r,s;return i(this,function(i){switch(i.label){case 0:return this.isIE&&"sha1"===t||"md5"===t?(n="md5"===t?a.md.md5.create():a.md.sha1.create(),r=this.toByteString(e),n.update(r,"raw"),[2,o.Utils.fromByteStringToArray(n.digest().data).buffer]):(s=this.toBuf(e),[4,this.subtle.digest({name:this.toWebCryptoAlgorithm(t)},s)]);case 1:return[2,i.sent()]}})})},e.prototype.hmac=function(e,t,n){return r(this,void 0,void 0,function(){var r,s,l,c,p;return i(this,function(i){switch(i.label){case 0:return this.isIE&&"sha512"===n?(r=a.hmac.create(),s=this.toByteString(t),l=this.toByteString(e),r.start(n,s),r.update(l,"raw"),[2,o.Utils.fromByteStringToArray(r.digest().data).buffer]):(c={name:"HMAC",hash:{name:this.toWebCryptoAlgorithm(n)}},[4,this.subtle.importKey("raw",t,c,!1,["sign"])]);case 1:return p=i.sent(),[4,this.subtle.sign(c,p,e)];case 2:return[2,i.sent()]}})})},e.prototype.compare=function(e,t){return r(this,void 0,void 0,function(){var n,r,a,o,s,l,c,p;return i(this,function(i){switch(i.label){case 0:return[4,this.randomBytes(32)];case 1:return n=i.sent(),r={name:"HMAC",hash:{name:"SHA-256"}},[4,this.subtle.importKey("raw",n,r,!1,["sign"])];case 2:return a=i.sent(),[4,this.subtle.sign(r,a,e)];case 3:return o=i.sent(),[4,this.subtle.sign(r,a,t)];case 4:if(s=i.sent(),o.byteLength!==s.byteLength)return[2,!1];for(l=new Uint8Array(o),c=new Uint8Array(s),p=0;p0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]"}),n.body=r,n.bodyOutputType=s.BodyOutputType.TrustedHtml}null!=e.options&&(!0===e.options.trustedHtml&&(n.bodyOutputType=s.BodyOutputType.TrustedHtml),null!=e.options.timeout&&e.options.timeout>0&&(n.timeout=e.options.timeout)),this.toasterService.popAsync(n)},e.prototype.idleStateChanged=function(){this.isIdle?this.notificationsService.disconnectFromInactivity():this.notificationsService.reconnectFromActivity()},e.prototype.setFullWidth=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.storageService.get("enableFullWidth")];case 1:return e.sent()?document.body.classList.add("full-width"):document.body.classList.remove("full-width"),[2]}})})},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.Angulartics2GoogleAnalytics),u.ɵɵdirectiveInject(m.BroadcasterService),u.ɵɵdirectiveInject(h.UserService),u.ɵɵdirectiveInject(f.TokenService),u.ɵɵdirectiveInject(v.FolderService),u.ɵɵdirectiveInject(y.SettingsService),u.ɵɵdirectiveInject(g.SyncService),u.ɵɵdirectiveInject(x.PasswordGenerationService),u.ɵɵdirectiveInject(b.CipherService),u.ɵɵdirectiveInject(S.AuthService),u.ɵɵdirectiveInject(w.Router),u.ɵɵdirectiveInject(C.Angulartics2),u.ɵɵdirectiveInject(I.ToasterService),u.ɵɵdirectiveInject(E.I18nService),u.ɵɵdirectiveInject(P.PlatformUtilsService),u.ɵɵdirectiveInject(u.NgZone),u.ɵɵdirectiveInject(k.VaultTimeoutService),u.ɵɵdirectiveInject(_.StorageService),u.ɵɵdirectiveInject(A.CryptoService),u.ɵɵdirectiveInject(O.CollectionService),u.ɵɵdirectiveInject(T.DomSanitizer),u.ɵɵdirectiveInject(M.SearchService),u.ɵɵdirectiveInject(B.NotificationsService),u.ɵɵdirectiveInject(D.RouterService),u.ɵɵdirectiveInject(V.StateService),u.ɵɵdirectiveInject(j.EventService),u.ɵɵdirectiveInject(R.PolicyService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-root"]],decls:4,vars:1,consts:[["aria-live","polite",3,"toasterconfig"]],template:function(e,t){1&e&&(u.ɵɵelement(0,"toaster-container",0),u.ɵɵtext(1,"\n"),u.ɵɵelement(2,"router-outlet"),u.ɵɵtext(3,"\n")),2&e&&u.ɵɵproperty("toasterconfig",t.toasterConfig)},directives:[I.ToasterContainerComponent,w.RouterOutlet],encapsulation:2}),e}();t.AppComponent=F},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(e){this.el=e}return e.prototype.onClick=function(){this.el.nativeElement.blur()},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appBlurClick",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(){return t.onClick()})}}),e}();t.BlurClickDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(e){this.elRef=e,this.el=null,this.el=e.nativeElement}return e.prototype.ngOnInit=function(){var e=this;this.formEls=Array.from(this.el.querySelectorAll('input:not([type="hidden"]), select, textarea')),this.formEls.forEach(function(t){t.addEventListener("focus",function(t){e.el.classList.add("active")},!1),t.addEventListener("blur",function(t){e.el.classList.remove("active")},!1)})},e.prototype.onClick=function(e){var t=e.target;if((t===this.el||t.classList.contains("progress")||t.classList.contains("progress-bar"))&&this.formEls.length>0){var n=this.formEls[0];if("input"===n.tagName.toLowerCase()){var r=n;if(null!=r.type&&"checkbox"===r.type.toLowerCase())return void r.click()}n.focus()}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appBoxRow",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.BoxRowDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e,t,n){return void 0===n&&(n=!1),null==e||0===e.length?[]:null==t||t.length<2?e.filter(function(e){return n!==e.isDeleted}):(t=t.trim().toLowerCase(),e.filter(function(e){return n===e.isDeleted&&(null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&e.id.startsWith(t))||(null!=e.subTitle&&e.subTitle.toLowerCase().indexOf(t)>-1||!!(e.login&&null!=e.login.uri&&e.login.uri.toLowerCase().indexOf(t)>-1))))}))},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"searchCiphers",type:e,pure:!0}),e}();t.SearchCiphersPipe=i}]); +//# sourceMappingURL=main.d8139e017ad9a069b29d.js.map \ No newline at end of file diff --git a/app/main.d8139e017ad9a069b29d.js.map b/app/main.d8139e017ad9a069b29d.js.map new file mode 100644 index 00000000..2adcc2b6 --- /dev/null +++ b/app/main.d8139e017ad9a069b29d.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./jslib/src/abstractions/i18n.service.ts","webpack:///./jslib/src/abstractions/platformUtils.service.ts","webpack:///./jslib/src/abstractions/api.service.ts","webpack:///./jslib/src/abstractions/user.service.ts","webpack:///./jslib/src/angular/pipes/i18n.pipe.ts","webpack:///./jslib/src/abstractions/messaging.service.ts","webpack:///./jslib/src/angular/directives/api-action.directive.ts","webpack:///./jslib/src/angular/directives/a11y-title.directive.ts","webpack:///./jslib/src/abstractions/crypto.service.ts","webpack:///./jslib/src/abstractions/cipher.service.ts","webpack:///./jslib/src/models/response/baseResponse.ts","webpack:///./jslib/src/angular/components/callout.component.ts","webpack:///./jslib/src/angular/components/callout.component.html","webpack:///./jslib/src/importers/baseImporter.ts","webpack:///./jslib/src/models/domain/importResult.ts","webpack:///./jslib/src/misc/utils.ts","webpack:///./jslib/src/abstractions/passwordGeneration.service.ts","webpack:///./jslib/src/angular/directives/stop-click.directive.ts","webpack:///./jslib/src/abstractions/state.service.ts","webpack:///./jslib/src/enums/cipherType.ts","webpack:///./jslib/src/abstractions/collection.service.ts","webpack:///./jslib/src/abstractions/storage.service.ts","webpack:///./jslib/src/abstractions/policy.service.ts","webpack:///./jslib/src/angular/directives/input-verbatim.directive.ts","webpack:///./jslib/src/abstractions/folder.service.ts","webpack:///./jslib/src/angular/directives/stop-prop.directive.ts","webpack:///./jslib/src/abstractions/auth.service.ts","webpack:///./jslib/src/abstractions/sync.service.ts","webpack:///./jslib/src/abstractions/environment.service.ts","webpack:///./jslib/src/angular/directives/autofocus.directive.ts","webpack:///./jslib/src/services/constants.service.ts","webpack:///./jslib/src/abstractions/event.service.ts","webpack:///./jslib/src/models/request/passwordVerificationRequest.ts","webpack:///./jslib/src/abstractions/search.service.ts","webpack:///./jslib/src/models/domain/domainBase.ts","webpack:///./src/app/modal.component.ts","webpack:///./jslib/src/abstractions/audit.service.ts","webpack:///./jslib/src/models/view/cardView.ts","webpack:///./jslib/src/models/view/secureNoteView.ts","webpack:///./jslib/src/abstractions/token.service.ts","webpack:///./jslib/src/abstractions/cryptoFunction.service.ts","webpack:///./jslib/src/models/domain/cipherString.ts","webpack:///./jslib/src/angular/components/icon.component.ts","webpack:///./jslib/src/angular/components/icon.component.html","webpack:///./jslib/src/angular/services/broadcaster.service.ts","webpack:///./jslib/src/abstractions/vaultTimeout.service.ts","webpack:///./jslib/src/enums/secureNoteType.ts","webpack:///./jslib/src/enums/twoFactorProviderType.ts","webpack:///./jslib/src/abstractions/totp.service.ts","webpack:///./src/app/settings/payment.component.ts","webpack:///./src/app/settings/payment.component.html","webpack:///./jslib/src/enums/fieldType.ts","webpack:///./jslib/src/models/view/folderView.ts","webpack:///./src/app/components/avatar.component.ts","webpack:///./jslib/src/models/domain/collection.ts","webpack:///./jslib/src/enums/policyType.ts","webpack:///./src/app/settings/tax-info.component.ts","webpack:///./src/app/settings/tax-info.component.html","webpack:///./jslib/src/models/view/cipherView.ts","webpack:///./jslib/src/models/view/identityView.ts","webpack:///./jslib/src/models/data/collectionData.ts","webpack:///./jslib/src/models/view/collectionView.ts","webpack:///./jslib/src/enums/organizationUserStatusType.ts","webpack:///./jslib/src/models/data/cipherData.ts","webpack:///./jslib/src/models/view/loginView.ts","webpack:///./jslib/src/enums/sendType.ts","webpack:///./src/app/settings/two-factor-verify.component.ts","webpack:///./src/app/settings/two-factor-verify.component.html","webpack:///./jslib/src/abstractions/export.service.ts","webpack:///./jslib/src/models/domain/cipher.ts","webpack:///./jslib/src/abstractions/send.service.ts","webpack:///./jslib/src/models/view/fieldView.ts","webpack:///./jslib/src/models/request/cipherRequest.ts","webpack:///./src/app/services/router.service.ts","webpack:///./jslib/src/enums/kdfType.ts","webpack:///./src/app/components/password-strength.component.ts","webpack:///./src/app/components/password-strength.component.html","webpack:///./jslib/src/enums/organizationUserType.ts","webpack:///./jslib/src/angular/pipes/search.pipe.ts","webpack:///./src/app/services/event.service.ts","webpack:///./jslib/src/enums/eventType.ts","webpack:///./jslib/src/enums/paymentMethodType.ts","webpack:///./src/app/settings/two-factor-base.component.ts","webpack:///./src/app/tools/cipher-report.component.ts","webpack:///./jslib/src/models/view/loginUriView.ts","webpack:///./src/app/vault/add-edit.component.ts","webpack:///./src/app/vault/add-edit.component.html","webpack:///./jslib/src/abstractions/import.service.ts","webpack:///./src/app/vault/ciphers.component.ts","webpack:///./src/app/vault/ciphers.component.html","webpack:///./jslib/src/services/auth.service.ts","webpack:///./jslib/src/models/request/selectionReadOnlyRequest.ts","webpack:///./jslib/src/enums/deviceType.ts","webpack:///./jslib/src/abstractions/settings.service.ts","webpack:///./jslib/src/enums/planType.ts","webpack:///./src/app/settings/organization-plans.component.ts","webpack:///./src/app/settings/organization-plans.component.html","webpack:///./jslib/src/models/domain/symmetricCryptoKey.ts","webpack:///./jslib/src/models/domain/card.ts","webpack:///./jslib/src/models/domain/field.ts","webpack:///./jslib/src/models/domain/identity.ts","webpack:///./jslib/src/models/domain/login.ts","webpack:///./jslib/src/models/domain/loginUri.ts","webpack:///./jslib/src/enums/uriMatchType.ts","webpack:///./jslib/src/models/domain/secureNote.ts","webpack:///./jslib/src/angular/directives/true-false-value.directive.ts","webpack:///./src/app/vault/groupings.component.ts","webpack:///./src/app/vault/groupings.component.html","webpack:///./jslib/src/models/domain/organization.ts","webpack:///./jslib/src/models/view/sendFileView.ts","webpack:///./jslib/src/models/view/sendTextView.ts","webpack:///./src/app/settings/organizations.component.ts","webpack:///./src/app/settings/organizations.component.html","webpack:///./jslib/src/models/response/selectionReadOnlyResponse.ts","webpack:///./src/app/layouts/navbar.component.ts","webpack:///./src/app/layouts/navbar.component.html","webpack:///./src/app/layouts/footer.component.ts","webpack:///./src/app/layouts/footer.component.html","webpack:///./jslib/src/angular/services/validation.service.ts","webpack:///./jslib/src/enums/encryptionType.ts","webpack:///./jslib/src/models/request/keysRequest.ts","webpack:///./jslib/src/models/domain/policy.ts","webpack:///./jslib/src/models/data/policyData.ts","webpack:///./jslib/src/angular/components/change-password.component.ts","webpack:///./src/app/organizations/manage/entity-users.component.ts","webpack:///./src/app/organizations/manage/entity-users.component.html","webpack:///./src/app/organizations/manage/entity-events.component.ts","webpack:///./src/app/organizations/manage/entity-events.component.html","webpack:///./jslib/src/models/api/permissionsApi.ts","webpack:///./src/app/settings/api-key.component.ts","webpack:///./src/app/settings/api-key.component.html","webpack:///./src/app/settings/purge-vault.component.ts","webpack:///./src/app/settings/purge-vault.component.html","webpack:///./src/app/settings/user-billing.component.ts","webpack:///./src/app/settings/user-billing.component.html","webpack:///./src/app/settings/add-credit.component.ts","webpack:///./src/app/settings/add-credit.component.html","webpack:///./src/app/settings/adjust-payment.component.ts","webpack:///./src/app/settings/adjust-payment.component.html","webpack:///./src/app/settings/update-license.component.ts","webpack:///./src/app/settings/update-license.component.html","webpack:///./jslib/src/enums/productType.ts","webpack:///./src/app/settings/adjust-storage.component.ts","webpack:///./src/app/settings/adjust-storage.component.html","webpack:///./src/app/settings/two-factor-duo.component.ts","webpack:///./src/app/settings/two-factor-duo.component.html","webpack:///./src/app/settings/two-factor-setup.component.ts","webpack:///./src/app/settings/two-factor-setup.component.html","webpack:///./src/app/tools/export.component.ts","webpack:///./src/app/tools/export.component.html","webpack:///./src/app/tools/exposed-passwords-report.component.ts","webpack:///./src/app/tools/exposed-passwords-report.component.html","webpack:///./src/app/organizations/vault/add-edit.component.ts","webpack:///./jslib/src/models/data/attachmentData.ts","webpack:///./jslib/src/models/data/cardData.ts","webpack:///./jslib/src/models/data/fieldData.ts","webpack:///./jslib/src/models/data/identityData.ts","webpack:///./jslib/src/models/data/loginData.ts","webpack:///./jslib/src/models/data/loginUriData.ts","webpack:///./jslib/src/models/data/secureNoteData.ts","webpack:///./jslib/src/models/domain/attachment.ts","webpack:///./jslib/src/models/view/passwordHistoryView.ts","webpack:///./src/app/tools/import.component.ts","webpack:///./src/app/tools/import.component.html","webpack:///./src/app/tools/inactive-two-factor-report.component.ts","webpack:///./src/app/tools/inactive-two-factor-report.component.html","webpack:///./src/app/tools/reused-passwords-report.component.ts","webpack:///./src/app/tools/reused-passwords-report.component.html","webpack:///./src/app/tools/unsecured-websites-report.component.ts","webpack:///./src/app/tools/unsecured-websites-report.component.html","webpack:///./src/app/tools/weak-passwords-report.component.ts","webpack:///./src/app/tools/weak-passwords-report.component.html","webpack:///./src/app/vault/attachments.component.ts","webpack:///./src/app/vault/attachments.component.html","webpack:///./src/app/organizations/vault/ciphers.component.ts","webpack:///./src/app/vault/collections.component.ts","webpack:///./src/app/vault/collections.component.html","webpack:///./src/app/organizations/vault/groupings.component.ts","webpack:///./src/app/vault/bulk-actions.component.ts","webpack:///./src/app/vault/bulk-actions.component.html","webpack:///./jslib/src/models/domain/sendFile.ts","webpack:///./jslib/src/models/domain/sendText.ts","webpack:///./jslib/src/models/response/errorResponse.ts","webpack:///./jslib/src/models/request/cipherWithIdRequest.ts","webpack:///./jslib/src/models/request/folderRequest.ts","webpack:///./jslib/src/angular/directives/select-copy.directive.ts","webpack:///./jslib/src/angular/pipes/color-password.pipe.ts","webpack:///./jslib/src/models/data/folderData.ts","webpack:///./jslib/src/models/domain/folder.ts","webpack:///./jslib/src/models/response/cipherResponse.ts","webpack:///./jslib/src/models/response/profileResponse.ts","webpack:///./jslib/src/models/api/sendFileApi.ts","webpack:///./jslib/src/models/api/sendTextApi.ts","webpack:///./jslib/src/abstractions/notifications.service.ts","webpack:///./$_lazy_route_resource lazy namespace object","webpack:///./src/app/layouts/frontend-layout.component.ts","webpack:///./src/app/layouts/frontend-layout.component.html","webpack:///./src/app/layouts/organization-layout.component.ts","webpack:///./src/app/layouts/organization-layout.component.html","webpack:///./src/app/layouts/user-layout.component.ts","webpack:///./src/app/layouts/user-layout.component.html","webpack:///./src/app/accounts/accept-emergency.component.ts","webpack:///./src/app/accounts/accept-emergency.component.html","webpack:///./src/app/accounts/accept-organization.component.ts","webpack:///./src/app/accounts/accept-organization.component.html","webpack:///./src/app/accounts/hint.component.ts","webpack:///./src/app/accounts/hint.component.html","webpack:///./src/app/accounts/lock.component.ts","webpack:///./src/app/accounts/lock.component.html","webpack:///./src/app/accounts/login.component.ts","webpack:///./src/app/accounts/login.component.html","webpack:///./src/app/accounts/recover-delete.component.ts","webpack:///./src/app/accounts/recover-delete.component.html","webpack:///./src/app/accounts/recover-two-factor.component.ts","webpack:///./src/app/accounts/recover-two-factor.component.html","webpack:///./src/app/accounts/register.component.ts","webpack:///./src/app/accounts/register.component.html","webpack:///./src/app/accounts/set-password.component.ts","webpack:///./src/app/accounts/set-password.component.html","webpack:///./src/app/accounts/sso.component.ts","webpack:///./src/app/accounts/sso.component.html","webpack:///./jslib/src/angular/components/sso.component.ts","webpack:///./src/app/accounts/two-factor.component.ts","webpack:///./src/app/accounts/two-factor.component.html","webpack:///./src/app/accounts/two-factor-options.component.ts","webpack:///./src/app/accounts/two-factor-options.component.html","webpack:///./jslib/src/models/request/twoFactorEmailRequest.ts","webpack:///./jslib/src/models/domain/authResult.ts","webpack:///./src/app/accounts/verify-email-token.component.ts","webpack:///./src/app/accounts/verify-email-token.component.html","webpack:///./src/app/accounts/verify-recover-delete.component.ts","webpack:///./src/app/accounts/verify-recover-delete.component.html","webpack:///./src/app/organizations/manage/collections.component.ts","webpack:///./src/app/organizations/manage/collections.component.html","webpack:///./src/app/organizations/manage/collection-add-edit.component.ts","webpack:///./src/app/organizations/manage/collection-add-edit.component.html","webpack:///./jslib/src/models/request/collectionRequest.ts","webpack:///./src/app/organizations/manage/events.component.ts","webpack:///./src/app/organizations/manage/events.component.html","webpack:///./src/app/organizations/manage/groups.component.ts","webpack:///./src/app/organizations/manage/groups.component.html","webpack:///./src/app/organizations/manage/group-add-edit.component.ts","webpack:///./src/app/organizations/manage/group-add-edit.component.html","webpack:///./src/app/organizations/manage/manage.component.ts","webpack:///./src/app/organizations/manage/manage.component.html","webpack:///./src/app/organizations/manage/people.component.ts","webpack:///./src/app/organizations/manage/people.component.html","webpack:///./jslib/src/models/request/organizationUserConfirmRequest.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.html","webpack:///./src/app/organizations/manage/user-confirm.component.ts","webpack:///./src/app/organizations/manage/user-confirm.component.html","webpack:///./src/app/organizations/manage/user-groups.component.ts","webpack:///./src/app/organizations/manage/user-groups.component.html","webpack:///./src/app/organizations/manage/policies.component.ts","webpack:///./src/app/organizations/manage/policies.component.html","webpack:///./jslib/src/abstractions/index.ts","webpack:///./src/app/organizations/manage/policy-edit.component.ts","webpack:///./src/app/organizations/manage/policy-edit.component.html","webpack:///./src/app/organizations/settings/account.component.ts","webpack:///./src/app/organizations/settings/account.component.html","webpack:///./jslib/src/models/request/organizationTaxInfoUpdateRequest.ts","webpack:///./jslib/src/models/request/taxInfoUpdateRequest.ts","webpack:///./src/app/organizations/settings/delete-organization.component.ts","webpack:///./src/app/organizations/settings/delete-organization.component.html","webpack:///./src/app/organizations/settings/organization-billing.component.ts","webpack:///./src/services/webConstants.ts","webpack:///./src/app/organizations/settings/organization-subscription.component.ts","webpack:///./src/app/organizations/settings/organization-subscription.component.html","webpack:///./src/app/organizations/settings/change-plan.component.ts","webpack:///./src/app/organizations/settings/change-plan.component.html","webpack:///./src/app/organizations/settings/download-license.component.ts","webpack:///./src/app/organizations/settings/download-license.component.html","webpack:///./src/app/organizations/settings/adjust-seats.component.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.html","webpack:///./src/app/organizations/settings/settings.component.ts","webpack:///./src/app/organizations/settings/settings.component.html","webpack:///./src/app/organizations/settings/two-factor-setup.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.html","webpack:///./src/app/settings/two-factor-email.component.ts","webpack:///./src/app/settings/two-factor-email.component.html","webpack:///./src/app/settings/two-factor-recovery.component.ts","webpack:///./src/app/settings/two-factor-recovery.component.html","webpack:///./src/app/settings/two-factor-u2f.component.ts","webpack:///./src/app/settings/two-factor-u2f.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.ts","webpack:///./src/app/settings/two-factor-yubikey.component.html","webpack:///./src/app/organizations/tools/export.component.ts","webpack:///./src/app/organizations/tools/exposed-passwords-report.component.ts","webpack:///./jslib/src/models/data/passwordHistoryData.ts","webpack:///./jslib/src/models/view/attachmentView.ts","webpack:///./jslib/src/models/domain/password.ts","webpack:///./jslib/src/models/request/cipherCreateRequest.ts","webpack:///./jslib/src/models/api/cardApi.ts","webpack:///./jslib/src/models/api/fieldApi.ts","webpack:///./jslib/src/models/api/identityApi.ts","webpack:///./jslib/src/models/api/loginApi.ts","webpack:///./jslib/src/models/api/loginUriApi.ts","webpack:///./jslib/src/models/api/secureNoteApi.ts","webpack:///./jslib/src/angular/directives/fallback-src.directive.ts","webpack:///./src/app/organizations/tools/import.component.ts","webpack:///./src/app/organizations/tools/inactive-two-factor-report.component.ts","webpack:///./src/app/organizations/tools/reused-passwords-report.component.ts","webpack:///./src/app/organizations/tools/tools.component.ts","webpack:///./src/app/organizations/tools/tools.component.html","webpack:///./src/app/organizations/tools/unsecured-websites-report.component.ts","webpack:///./src/app/organizations/tools/weak-passwords-report.component.ts","webpack:///./src/app/organizations/vault/vault.component.ts","webpack:///./src/app/organizations/vault/vault.component.html","webpack:///./src/app/organizations/vault/attachments.component.ts","webpack:///./jslib/src/angular/components/attachments.component.ts","webpack:///./src/app/organizations/vault/collections.component.ts","webpack:///./jslib/src/models/request/cipherCollectionsRequest.ts","webpack:///./src/app/vault/bulk-delete.component.ts","webpack:///./src/app/vault/bulk-delete.component.html","webpack:///./jslib/src/models/request/cipherBulkDeleteRequest.ts","webpack:///./src/app/vault/bulk-move.component.ts","webpack:///./src/app/vault/bulk-move.component.html","webpack:///./src/app/vault/bulk-restore.component.ts","webpack:///./src/app/vault/bulk-restore.component.html","webpack:///./src/app/vault/bulk-share.component.ts","webpack:///./src/app/vault/bulk-share.component.html","webpack:///./src/app/send/access.component.ts","webpack:///./src/app/send/access.component.html","webpack:///./src/app/send/send.component.ts","webpack:///./src/app/send/send.component.html","webpack:///./src/app/send/add-edit.component.ts","webpack:///./src/app/send/add-edit.component.html","webpack:///./jslib/src/models/view/sendView.ts","webpack:///./src/app/settings/account.component.ts","webpack:///./src/app/settings/account.component.html","webpack:///./src/app/settings/deauthorize-sessions.component.ts","webpack:///./src/app/settings/deauthorize-sessions.component.html","webpack:///./src/app/settings/delete-account.component.ts","webpack:///./src/app/settings/delete-account.component.html","webpack:///./src/app/settings/profile.component.ts","webpack:///./src/app/settings/profile.component.html","webpack:///./src/app/settings/change-email.component.ts","webpack:///./src/app/settings/change-email.component.html","webpack:///./jslib/src/models/request/emailTokenRequest.ts","webpack:///./src/app/settings/change-password.component.ts","webpack:///./src/app/settings/change-password.component.html","webpack:///./jslib/src/enums/emergencyAccessStatusType.ts","webpack:///./jslib/src/models/request/emergencyAccessUpdateRequest.ts","webpack:///./jslib/src/models/request/folderWithIdRequest.ts","webpack:///./jslib/src/models/request/passwordRequest.ts","webpack:///./jslib/src/models/request/updateKeyRequest.ts","webpack:///./src/app/settings/change-kdf.component.ts","webpack:///./src/app/settings/change-kdf.component.html","webpack:///./src/app/settings/create-organization.component.ts","webpack:///./src/app/settings/create-organization.component.html","webpack:///./src/app/settings/domain-rules.component.ts","webpack:///./src/app/settings/domain-rules.component.html","webpack:///./src/app/settings/options.component.ts","webpack:///./src/app/settings/options.component.html","webpack:///./src/app/settings/link-sso.component.ts","webpack:///./src/app/settings/link-sso.component.html","webpack:///./src/app/settings/premium.component.ts","webpack:///./src/app/settings/premium.component.html","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/settings/settings.component.html","webpack:///./src/app/settings/user-subscription.component.ts","webpack:///./src/app/settings/user-subscription.component.html","webpack:///./src/app/tools/breach-report.component.ts","webpack:///./src/app/tools/breach-report.component.html","webpack:///./src/app/tools/password-generator.component.ts","webpack:///./src/app/tools/password-generator.component.html","webpack:///./src/app/tools/password-generator-history.component.ts","webpack:///./src/app/tools/password-generator-history.component.html","webpack:///./src/app/tools/tools.component.ts","webpack:///./src/app/tools/tools.component.html","webpack:///./src/app/vault/vault.component.ts","webpack:///./src/app/vault/vault.component.html","webpack:///./src/app/settings/update-key.component.ts","webpack:///./src/app/settings/update-key.component.html","webpack:///./src/app/vault/folder-add-edit.component.ts","webpack:///./src/app/vault/folder-add-edit.component.html","webpack:///./src/app/vault/share.component.ts","webpack:///./src/app/vault/share.component.html","webpack:///./src/app/vault/send-info.component.ts","webpack:///./src/app/vault/send-info.component.html","webpack:///./src/app/settings/verify-email.component.ts","webpack:///./src/app/settings/verify-email.component.html","webpack:///./src/app/services/organization-guard.service.ts","webpack:///./src/app/services/organization-type-guard.service.ts","webpack:///./jslib/src/enums/permissions.ts","webpack:///./src/app/services/unauth-guard.service.ts","webpack:///./jslib/src/angular/services/auth-guard.service.ts","webpack:///./src/app/settings/emergency-access-view.component.ts","webpack:///./src/app/settings/emergency-access-view.component.html","webpack:///./jslib/src/models/domain/encryptedObject.ts","webpack:///./jslib/src/models/domain/environmentUrls.ts","webpack:///./jslib/src/models/domain/generatedPasswordHistory.ts","webpack:///./src/app/settings/emergency-access-attachments.component.ts","webpack:///./src/app/settings/emergency-add-edit.component.ts","webpack:///./src/app/settings/emergency-access.component.ts","webpack:///./src/app/settings/emergency-access.component.html","webpack:///./jslib/src/enums/emergencyAccessType.ts","webpack:///./jslib/src/models/response/emergencyAccessResponse.ts","webpack:///./src/app/settings/emergency-access-add-edit.component.ts","webpack:///./src/app/settings/emergency-access-add-edit.component.html","webpack:///./src/app/settings/emergency-access-confirm.component.ts","webpack:///./src/app/settings/emergency-access-confirm.component.html","webpack:///./src/app/settings/emergency-access-takeover.component.ts","webpack:///./src/app/settings/emergency-access-takeover.component.html","webpack:///./jslib/src/services/api.service.ts","webpack:///./jslib/src/models/response/collectionResponse.ts","webpack:///./jslib/src/models/response/domainsResponse.ts","webpack:///./jslib/src/models/response/folderResponse.ts","webpack:///./jslib/src/models/response/organizationResponse.ts","webpack:///./jslib/src/models/response/planResponse.ts","webpack:///./jslib/src/models/response/subscriptionResponse.ts","webpack:///./jslib/src/models/response/policyResponse.ts","webpack:///./jslib/src/models/response/sendResponse.ts","webpack:///./jslib/src/services/appId.service.ts","webpack:///./jslib/src/services/audit.service.ts","webpack:///./jslib/src/services/cipher.service.ts","webpack:///./jslib/src/misc/sequentialize.ts","webpack:///./jslib/src/services/collection.service.ts","webpack:///./jslib/src/misc/serviceUtils.ts","webpack:///./jslib/src/services/container.service.ts","webpack:///./jslib/src/services/crypto.service.ts","webpack:///./jslib/src/misc/wordlist.ts","webpack:///./jslib/src/services/environment.service.ts","webpack:///./jslib/src/services/folder.service.ts","webpack:///./jslib/src/services/i18n.service.ts","webpack:///./jslib/src/services/passwordGeneration.service.ts","webpack:///./jslib/src/services/settings.service.ts","webpack:///./jslib/src/services/state.service.ts","webpack:///./jslib/src/services/sync.service.ts","webpack:///./jslib/src/models/data/sendData.ts","webpack:///./jslib/src/services/token.service.ts","webpack:///./jslib/src/services/totp.service.ts","webpack:///./jslib/src/services/user.service.ts","webpack:///./jslib/src/services/vaultTimeout.service.ts","webpack:///./jslib/src/services/consoleLog.service.ts","webpack:///./jslib/src/models/export/cipherWithIds.ts","webpack:///./jslib/src/models/export/collectionWithId.ts","webpack:///./jslib/src/models/export/folderWithId.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordCsvImporter.ts","webpack:///./jslib/src/models/view/index.ts","webpack:///./jslib/src/enums/notificationType.ts","webpack:///./src/app/main.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./jslib/src/services/broadcaster.service.ts","webpack:///./jslib/src/misc/tldjs.noop.ts","webpack:///./jslib/src/models/request/emergencyAccessAcceptRequest.ts","webpack:///./jslib/src/models/request/organizationUserAcceptRequest.ts","webpack:///./jslib/src/angular/components/hint.component.ts","webpack:///./jslib/src/models/request/passwordHintRequest.ts","webpack:///./jslib/src/angular/components/lock.component.ts","webpack:///./jslib/src/angular/components/login.component.ts","webpack:///./jslib/src/models/request/deleteRecoverRequest.ts","webpack:///./jslib/src/models/request/twoFactorRecoveryRequest.ts","webpack:///./jslib/src/angular/components/register.component.ts","webpack:///./jslib/src/models/request/registerRequest.ts","webpack:///./jslib/src/models/request/referenceEventRequest.ts","webpack:///./jslib/src/angular/components/set-password.component.ts","webpack:///./jslib/src/models/request/setPasswordRequest.ts","webpack:///./jslib/src/angular/components/two-factor-options.component.ts","webpack:///./jslib/src/angular/components/modal.component.ts","webpack:///./jslib/src/angular/components/two-factor.component.ts","webpack:///./jslib/src/models/request/deviceRequest.ts","webpack:///./jslib/src/models/request/preloginRequest.ts","webpack:///./jslib/src/models/request/tokenRequest.ts","webpack:///./jslib/src/misc/u2f.ts","webpack:///./jslib/src/models/request/verifyEmailRequest.ts","webpack:///./jslib/src/models/request/verifyDeleteRecoverRequest.ts","webpack:///./jslib/src/models/request/groupRequest.ts","webpack:///./jslib/src/models/request/organizationUserInviteRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateGroupsRequest.ts","webpack:///./jslib/src/abstractions/appId.service.ts","webpack:///./jslib/src/abstractions/log.service.ts","webpack:///./jslib/src/models/request/policyRequest.ts","webpack:///./jslib/src/models/request/organizationUpdateRequest.ts","webpack:///./jslib/src/enums/transactionType.ts","webpack:///./jslib/src/models/request/verifyBankRequest.ts","webpack:///./jslib/src/models/request/bitPayInvoiceRequest.ts","webpack:///./jslib/src/models/request/paymentRequest.ts","webpack:///./jslib/src/models/request/organizationCreateRequest.ts","webpack:///./jslib/src/models/request/organizationUpgradeRequest.ts","webpack:///./jslib/src/models/request/seatRequest.ts","webpack:///./jslib/src/models/request/storageRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorDuoRequest.ts","webpack:///./jslib/src/models/request/twoFactorProviderRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorAuthenticatorRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorEmailRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fDeleteRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorYubioOtpRequest.ts","webpack:///./jslib/src/angular/components/export.component.ts","webpack:///./jslib/src/models/request/attachmentRequest.ts","webpack:///./jslib/src/angular/components/add-edit.component.ts","webpack:///./jslib/src/angular/components/ciphers.component.ts","webpack:///./jslib/src/angular/components/collections.component.ts","webpack:///./jslib/src/angular/components/groupings.component.ts","webpack:///./jslib/src/models/domain/sendAccess.ts","webpack:///./jslib/src/models/view/sendAccessView.ts","webpack:///./jslib/src/models/request/sendAccessRequest.ts","webpack:///./jslib/src/angular/components/send/send.component.ts","webpack:///./jslib/src/angular/components/send/add-edit.component.ts","webpack:///./jslib/src/models/request/updateProfileRequest.ts","webpack:///./jslib/src/models/request/emailRequest.ts","webpack:///./jslib/src/models/request/kdfRequest.ts","webpack:///./jslib/src/models/request/updateDomainsRequest.ts","webpack:///./jslib/src/angular/components/password-generator.component.ts","webpack:///./jslib/src/angular/components/password-generator-history.component.ts","webpack:///./jslib/src/angular/components/folder-add-edit.component.ts","webpack:///./jslib/src/angular/components/share.component.ts","webpack:///./jslib/src/models/data/index.ts","webpack:///./jslib/src/models/domain/index.ts","webpack:///./jslib/src/models/request/emergencyAccessConfirmRequest.ts","webpack:///./jslib/src/models/response/attachmentResponse.ts","webpack:///./jslib/src/models/response/passwordHistoryResponse.ts","webpack:///./jslib/src/models/request/emergencyAccessInviteRequest.ts","webpack:///./jslib/src/models/request/emergencyAccessPasswordRequest.ts","webpack:///./src/app/services/services.module.ts","webpack:///./src/services/broadcasterMessaging.service.ts","webpack:///./src/services/htmlStorage.service.ts","webpack:///./jslib/src/services/index.ts","webpack:///./jslib/src/models/response/apiKeyResponse.ts","webpack:///./jslib/src/models/response/billingResponse.ts","webpack:///./jslib/src/models/response/breachAccountResponse.ts","webpack:///./jslib/src/models/response/globalDomainResponse.ts","webpack:///./jslib/src/models/response/eventResponse.ts","webpack:///./jslib/src/models/response/groupResponse.ts","webpack:///./jslib/src/models/response/identityTokenResponse.ts","webpack:///./jslib/src/models/response/identityTwoFactorResponse.ts","webpack:///./jslib/src/models/response/listResponse.ts","webpack:///./jslib/src/models/response/organizationSubscriptionResponse.ts","webpack:///./jslib/src/models/response/organizationUserResponse.ts","webpack:///./jslib/src/models/response/paymentResponse.ts","webpack:///./jslib/src/models/response/profileOrganizationResponse.ts","webpack:///./jslib/src/models/response/preloginResponse.ts","webpack:///./jslib/src/models/response/sendAccessResponse.ts","webpack:///./jslib/src/models/response/sendFileDownloadDataResponse.ts","webpack:///./jslib/src/models/response/syncResponse.ts","webpack:///./jslib/src/models/response/taxInfoResponse.ts","webpack:///./jslib/src/models/response/taxRateResponse.ts","webpack:///./jslib/src/models/response/twoFactorAuthenticatorResponse.ts","webpack:///./jslib/src/models/response/twoFactorDuoResponse.ts","webpack:///./jslib/src/models/response/twoFactorEmailResponse.ts","webpack:///./jslib/src/models/response/twoFactorProviderResponse.ts","webpack:///./jslib/src/models/response/twoFactorRescoverResponse.ts","webpack:///./jslib/src/models/response/twoFactorU2fResponse.ts","webpack:///./jslib/src/models/response/twoFactorYubiKeyResponse.ts","webpack:///./jslib/src/models/response/userKeyResponse.ts","webpack:///./jslib/src/misc/throttle.ts","webpack:///./jslib/src/models/request/cipherBulkMoveRequest.ts","webpack:///./jslib/src/models/request/cipherBulkRestoreRequest.ts","webpack:///./jslib/src/models/request/cipherBulkShareRequest.ts","webpack:///./jslib/src/models/request/cipherShareRequest.ts","webpack:///./jslib/src/models/domain/sortedCiphersCache.ts","webpack:///./jslib/src/models/domain/treeNode.ts","webpack:///./jslib/src/models/domain/passwordGeneratorPolicyOptions.ts","webpack:///./jslib/src/models/data/organizationData.ts","webpack:///./jslib/src/models/data/sendFileData.ts","webpack:///./jslib/src/models/data/sendTextData.ts","webpack:///./src/services/i18n.service.ts","webpack:///./src/services/memoryStorage.service.ts","webpack:///./src/services/webPlatformUtils.service.ts","webpack:///./jslib/src/misc/analytics.ts","webpack:///./jslib/src/enums/logLevelType.ts","webpack:///./jslib/src/services/event.service.ts","webpack:///./jslib/src/models/data/eventData.ts","webpack:///./jslib/src/models/request/eventRequest.ts","webpack:///./jslib/src/services/export.service.ts","webpack:///./jslib/src/models/export/cipher.ts","webpack:///./jslib/src/models/export/card.ts","webpack:///./jslib/src/models/export/field.ts","webpack:///./jslib/src/models/export/identity.ts","webpack:///./jslib/src/models/export/login.ts","webpack:///./jslib/src/models/export/loginUri.ts","webpack:///./jslib/src/models/export/secureNote.ts","webpack:///./jslib/src/models/export/collection.ts","webpack:///./jslib/src/models/export/folder.ts","webpack:///./jslib/src/services/import.service.ts","webpack:///./jslib/src/models/request/importCiphersRequest.ts","webpack:///./jslib/src/models/request/importOrganizationCiphersRequest.ts","webpack:///./jslib/src/models/request/kvpRequest.ts","webpack:///./jslib/src/importers/ascendoCsvImporter.ts","webpack:///./jslib/src/importers/avastCsvImporter.ts","webpack:///./jslib/src/importers/avastJsonImporter.ts","webpack:///./jslib/src/importers/aviraCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenJsonImporter.ts","webpack:///./jslib/src/importers/blackBerryCsvImporter.ts","webpack:///./jslib/src/importers/blurCsvImporter.ts","webpack:///./jslib/src/importers/buttercupCsvImporter.ts","webpack:///./jslib/src/importers/chromeCsvImporter.ts","webpack:///./jslib/src/importers/clipperzHtmlImporter.ts","webpack:///./jslib/src/importers/codebookCsvImporter.ts","webpack:///./jslib/src/importers/dashlaneJsonImporter.ts","webpack:///./jslib/src/importers/encryptrCsvImporter.ts","webpack:///./jslib/src/importers/enpassCsvImporter.ts","webpack:///./jslib/src/importers/enpassJsonImporter.ts","webpack:///./jslib/src/importers/firefoxCsvImporter.ts","webpack:///./jslib/src/importers/fsecureFskImporter.ts","webpack:///./jslib/src/importers/gnomeJsonImporter.ts","webpack:///./jslib/src/importers/kasperskyTxtImporter.ts","webpack:///./jslib/src/importers/keepass2XmlImporter.ts","webpack:///./jslib/src/importers/keepassxCsvImporter.ts","webpack:///./jslib/src/importers/keeperCsvImporter.ts","webpack:///./jslib/src/importers/lastpassCsvImporter.ts","webpack:///./jslib/src/importers/logMeOnceCsvImporter.ts","webpack:///./jslib/src/importers/meldiumCsvImporter.ts","webpack:///./jslib/src/importers/msecureCsvImporter.ts","webpack:///./jslib/src/importers/mykiCsvImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepassword1PifImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordMacCsvImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/cipherImportContext.ts","webpack:///./jslib/src/models/view/view.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordWinCsvImporter.ts","webpack:///./jslib/src/importers/padlockCsvImporter.ts","webpack:///./jslib/src/importers/passkeepCsvImporter.ts","webpack:///./jslib/src/importers/passmanJsonImporter.ts","webpack:///./jslib/src/importers/passpackCsvImporter.ts","webpack:///./jslib/src/importers/passwordAgentCsvImporter.ts","webpack:///./jslib/src/importers/passwordBossJsonImporter.ts","webpack:///./jslib/src/importers/passwordDragonXmlImporter.ts","webpack:///./jslib/src/importers/passwordSafeXmlImporter.ts","webpack:///./jslib/src/importers/passwordWalletTxtImporter.ts","webpack:///./jslib/src/importers/rememBearCsvImporter.ts","webpack:///./jslib/src/importers/roboformCsvImporter.ts","webpack:///./jslib/src/importers/safeInCloudXmlImporter.ts","webpack:///./jslib/src/importers/saferpassCsvImport.ts","webpack:///./jslib/src/importers/secureSafeCsvImporter.ts","webpack:///./jslib/src/importers/splashIdCsvImporter.ts","webpack:///./jslib/src/importers/stickyPasswordXmlImporter.ts","webpack:///./jslib/src/importers/truekeyCsvImporter.ts","webpack:///./jslib/src/importers/upmCsvImporter.ts","webpack:///./jslib/src/importers/yotiCsvImporter.ts","webpack:///./jslib/src/importers/zohoVaultCsvImporter.ts","webpack:///./jslib/src/services/notifications.service.ts","webpack:///./jslib/src/models/response/notificationResponse.ts","webpack:///./jslib/src/services/policy.service.ts","webpack:///./jslib/src/models/domain/masterPasswordPolicyOptions.ts","webpack:///./jslib/src/services/search.service.ts","webpack:///./jslib/src/services/send.service.ts","webpack:///./jslib/src/models/request/sendRequest.ts","webpack:///./jslib/src/models/domain/send.ts","webpack:///./jslib/src/services/webCryptoFunction.service.ts","webpack:///./jslib/src/models/domain/decryptParameters.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.component.html","webpack:///./jslib/src/angular/directives/blur-click.directive.ts","webpack:///./jslib/src/angular/directives/box-row.directive.ts","webpack:///./jslib/src/angular/pipes/search-ciphers.pipe.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","I18nService","PlatformUtilsService","ApiService","UserService","I18nPipe","i18nService","this","transform","id","p1","p2","p3","i0","ɵɵdirectiveInject","i1","pure","MessagingService","ApiActionDirective","el","validationService","ngOnChanges","changes","_this","appApiAction","then","nativeElement","loading","response","e","showError","ElementRef","ValidationService","selectors","inputs","features","ɵɵNgOnChangesFeature","A11yTitleDirective","renderer","title","ngOnInit","hasAttribute","setAttribute","Renderer2","appA11yTitle","CryptoService","CipherService","BaseResponse","getResponseProperty","propertyName","exactName","Error","undefined","otherCasePropertyName","charAt","toUpperCase","toLowerCase","ɵɵelement","ɵɵclassMapInterpolate1","ctx_r1","icon","ɵɵelementStart","ɵɵtext","ɵɵtemplate","CalloutComponent_h3_2_i_2_Template","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","ɵɵtextInterpolate1","CalloutComponent","type","calloutStyle","clickable","ngContentSelectors","_c1","decls","vars","consts","template","rf","ctx","CalloutComponent_h3_2_Template","ɵɵprojection","ɵɵpureFunction1","_c0","papa","cipherView_1","collectionView_1","loginUriView_1","utils_1","fieldView_1","folderView_1","loginView_1","secureNoteView_1","cipherType_1","fieldType_1","secureNoteType_1","consoleLog_service_1","BaseImporter","organizationId","logService","ConsoleLogService","newLineRegex","passwordFieldNames","usernameFieldNames","notesFieldNames","uriFieldNames","parseCsvOptions","encoding","skipEmptyLines","parseXml","doc","DOMParser","parseFromString","querySelector","parseCsv","header","options","parseOptions","assign","splitNewLine","join","trim","parse","errors","forEach","row","warning","message","parseSingleRowCsv","rowData","isNullOrWhitespace","parsedRow","makeUriArray","uri","loginUri","LoginUriView","fixUri","match","returnArr_1","u","indexOf","substring","nameFromUrl","url","hostname","Utils","getHostname","startsWith","replace","str","getValueOrDefault","defaultValue","split","getCardBrand","cardNum","re","RegExp","test","setCardExpiration","cipher","expiration","parts","month","year","substr","card","expMonth","expYear","moveFoldersToCollections","folderRelationships","collectionRelationships","collections","folders","map","f","collection","CollectionView","querySelectorDirectChild","parentEl","query","els","querySelectorAllDirectChild","Array","from","querySelectorAll","filter","parentNode","initLoginCipher","CipherView","favorite","notes","fields","login","LoginView","CipherType","Login","cleanupCipher","processKvp","FieldType","Text","search","field","FieldView","processFolder","folderName","folderIndex","hasFolder","addFolder","FolderView","ciphers","convertToNoteIfNeeded","username","password","uris","SecureNote","secureNote","SecureNoteView","SecureNoteType","Generic","ImportResult","success","tldjs","nodeURL","init","inited","isNode","process","release","isBrowser","isNativeScript","isMobileBrowser","isMobile","isAppleMobileBrowser","isAppleMobile","global","fromB64ToArray","Uint8Array","Buffer","binaryString","atob","bytes","charCodeAt","fromUrlB64ToArray","fromUrlB64ToB64","fromHexToArray","parseInt","fromUtf8ToArray","strUtf8","unescape","encodeURIComponent","arr","fromByteStringToArray","fromBufferToB64","buffer","toString","binary","byteLength","String","fromCharCode","btoa","fromBufferToUrlB64","fromB64toUrlB64","b64Str","fromBufferToUtf8","encodedString","decodeURIComponent","escape","fromBufferToByteString","fromBufferToHex","x","urlB64Str","output","fromUrlB64ToUtf8","fromB64ToUtf8","newGuid","Math","random","isGuid","uriString","getUrl","_a","getHost","host","getDomain","httpUrl","tldEndingRegex","getUrlObject","validIpAddress","urlDomain","domain","getQueryParams","Map","pair","set","getSortFunction","prop","a","b","collator","compare","localeCompare","nameOf","target","source","ipString","win","mobile","navigator","userAgent","vendor","opera","URL","hasProtocol","anchor","document","createElement","href","PasswordGenerationService","StopClickDirective","onClick","$event","preventDefault","hostBindings","StateService","CollectionService","StorageService","PolicyService","InputVerbatimDirective","condition","disableComplete","appInputVerbatim","FolderService","StopPropDirective","stopPropagation","AuthService","SyncService","EnvironmentService","AutofocusDirective","autofocus","focus","appAutofocus","ConstantsService","environmentUrlsKey","disableGaKey","disableAddLoginNotificationKey","disableContextMenuItemKey","disableFaviconKey","disableBadgeCounterKey","disableAutoTotpCopyKey","enableAutoFillOnPageLoadKey","vaultTimeoutKey","vaultTimeoutActionKey","lastActiveKey","neverDomainsKey","installedVersionKey","localeKey","themeKey","collapsedGroupingsKey","autoConfirmFingerprints","dontShowCardsCurrentTab","dontShowIdentitiesCurrentTab","defaultUriMatch","pinProtectedKey","protectedPin","clearClipboardKey","eventCollectionKey","ssoCodeVerifierKey","ssoStateKey","biometricUnlockKey","biometricText","biometricAwaitingAcceptance","biometricFingerprintValidated","disableChangedPasswordNotificationKey","EventService","PasswordVerificationRequest","SearchService","cipherString_1","Domain","buildDomainModel","dataObj","alreadyEncrypted","notEncList","objProp","CipherString","buildDataModel","notCipherStringList","encryptedString","decryptObj","viewModel","orgId","promises","self","theProp","Promise","resolve","mapProp","decrypt","val","all","sent","jq","modal_component_1","ModalComponent","_super","componentFactoryResolver","messagingService","__extends","ngOnDestroy","show","parentContainer","fade","setComponentParameters","factory","resolveComponentFactory","componentRef","container","createComponent","instance","modals","modal","on","onShow","emit","send","onShown","find","onClose","onClosed","clear","close","ComponentFactoryResolver","ɵɵInheritDefinitionFeature","ModalComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","AuditService","CardView","cardholderName","code","_brand","_number","_subTitle","repeat","brand","number","count","exp","formatYear","TokenService","CryptoFunctionService","encryptionType_1","encryptedStringOrType","iv","mac","encType","encryptionType","headerPieces","encPieces","EncryptionType","AesCbc128_HmacSha256_B64","AesCbc256_B64","AesCbc256_HmacSha256_B64","Rsa2048_OaepSha256_B64","Rsa2048_OaepSha1_B64","decryptedValue","containerService","bitwardenContainerService","cryptoService","getCryptoService","getOrgKey","_b","decryptToUtf8","constants_service_1","ɵɵpropertyInterpolate","fallbackImage","image","ɵɵsanitizeUrl","IconMap","fa-globe","fa-sticky-note-o","fa-id-card-o","fa-credit-card","fa-android","fa-apple","IconComponent","environmentService","stateService","iconsUrl","baseUrl","imageEnabled","load","setLoginIcon","Card","Identity","hostnameUri","isWebsite","i2","IconComponent_img_2_Template","IconComponent_i_4_Template","broadcaster_service_1","BroadcasterService","ɵfac","VaultTimeoutService","TwoFactorProviderType","TotpService","paymentMethodType_1","webConstants_1","ɵɵlistener","ɵɵrestoreView","_r9","ɵɵnextContext","method","changeMethod","ctx_r5","paymentMethodType","BankAccount","ɵɵpipeBind1","_r12","ctx_r6","PayPal","_r15","ctx_r7","Credit","_r18","PaymentComponent_div_0_div_13_Template","PaymentComponent_div_0_div_15_Template","PaymentComponent_div_0_div_17_Template","hideBank","hidePaypal","hideCredit","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵtextInterpolate","_r21","bank","routing_number","account_number","account_holder_name","account_holder_type","ɵɵtextInterpolate2","ctx_r2","StripeElementStyle","base","color","fontFamily","fontSize","fontSmoothing","invalid","StripeElementClasses","empty","PaymentComponent","platformUtilsService","apiService","showMethods","showOptions","PaymentMethodType","currency","country","btInstance","stripe","stripeElements","stripeCardNumberElement","stripeCardExpiryElement","stripeCardCvcElement","stripeScript","src","async","onload","Stripe","isDev","WebConstants","stripeTestKey","stripeLiveKey","elements","setStripeElement","btScript","head","appendChild","removeChild","setTimeout","body","btStylesheet","braintree","dropin","authorization","btSandboxKey","btProductionKey","paymentOptionPriority","paypal","flow","buttonStyle","label","size","shape","createErr","console","error","createPaymentToken","reject","requestPaymentMethod","payload","nonce","catch","err","postSetupPayment","clientSecret","handleCardSetup","setupIntent","status","payment_method","createToken","token","handleStripeCardPayment","successCallback","__awaiter","paymentIntent","style","classes","placeholder","mount","PaymentComponent_div_0_Template","PaymentComponent_ng_container_2_Template","PaymentComponent_ng_container_4_Template","PaymentComponent_ng_container_6_Template","PaymentComponent_ng_container_8_Template","revisionDate","AvatarComponent","sanitizer","cryptoFunctionService","charCount","textColor","fontWeight","dynamic","circle","generate","email","hash","hashBytes","chars","upperData","getFirstLetters","charObj","getCharText","stringToColor","svg","getSvg","html","outerHTML","svgHtml","text","svgTag","backgroundColor","width","height","character","textTag","textContent","DomSanitizer","i3","Collection","obj","externalId","readOnly","hidePasswords","default","PolicyType","core_1","organizationTaxInfoUpdateRequest_1","taxInfoUpdateRequest_1","_r4","taxInfo","includeTaxId","_r6","taxId","_r8","line1","line2","city","state","TaxInfoComponent","route","onCountryChanged","EventEmitter","postalCode","pristine","parent","params","subscribe","getOrganizationTaxInfo","getTaxInfo","getTaxRates","taxRates","localTaxRate","rate","getTaxInfoRequest","request","OrganizationTaxInfoUpdateRequest","TaxInfoUpdateRequest","submitTaxInfo","hasChanged","putOrganizationTaxInfo","putTaxInfo","changeCountry","ActivatedRoute","outputs","TaxInfoComponent_div_779_Template","TaxInfoComponent_div_782_Template","TaxInfoComponent_div_784_Template","cardView_1","identityView_1","folderId","organizationUseTotp","edit","viewPassword","identity","IdentityView","attachments","passwordHistory","collectionIds","deletedDate","localData","subTitle","hasAttachments","passwordRevisionDate","middleName","address1","address2","address3","company","phone","ssn","passportNumber","licenseNumber","_firstName","_lastName","firstName","lastName","name_1","address","addressPart2","CollectionData","collection_1","OrganizationUserStatusType","attachmentData_1","cardData_1","fieldData_1","identityData_1","loginData_1","passwordHistoryData_1","secureNoteData_1","CipherData","userId","LoginData","SecureNoteData","CardData","IdentityData","FieldData","AttachmentData","ph","PasswordHistoryData","totp","hasUris","some","canLaunch","launchUri","SendType","twoFactorProviderType_1","passwordVerificationRequest_1","TwoFactorVerifyComponent","toasterService","onAuthed","submit","masterPassword","popAsync","hashPassword","masterPasswordHash","_d","formPromise","getTwoFactorRecover","Duo","OrganizationDuo","getTwoFactorOrganizationDuo","getTwoFactorDuo","Email","getTwoFactorEmail","U2f","getTwoFactorU2f","Authenticator","getTwoFactorAuthenticator","Yubikey","getTwoFactorYubiKey","ToasterService","i4","_r0","ExportService","cipherData_1","attachment_1","card_1","domainBase_1","field_1","identity_1","login_1","password_1","secureNote_1","Cipher","Date","Attachment","Field","Password","encKey","model","_f","_c","_e","attachments_1","reduce","promise","attachment","decAttachment","fields_1","decField","passwordHistory_1","decPh","toCipherData","toISOString","toLoginData","toSecureNoteData","toCardData","toIdentityData","toFieldData","toAttachmentData","toPasswordHistoryData","SendService","newField","showValue","cardApi_1","fieldApi_1","identityApi_1","loginApi_1","loginUriApi_1","secureNoteApi_1","attachmentRequest_1","CipherRequest","lastKnownRevisionDate","LoginApi","LoginUriApi","SecureNoteApi","CardApi","IdentityApi","FieldApi","lastUsedDate","attachments2","fileName","attachmentRequest","AttachmentRequest","router_1","RouterService","router","activatedRoute","titleService","previousUrl","currentUrl","events","event","NavigationEnd","titleId","rawTitle","child","firstChild","snapshot","newTitle","setTitle","getPreviousUrl","setPreviousUrl","ɵɵinject","Router","Title","KdfType","PasswordStrengthComponent","showText","scoreWidth","score","PasswordStrengthComponent_ng_container_4_Template","ɵɵattribute","OrganizationUserType","SearchPipe","items","searchText","prop1","prop2","prop3","deviceType_1","eventType_1","getDefaultDateFilters","end","getFullYear","getMonth","getDate","setDate","start","toDateTimeLocalString","formatDateFilters","filterStart","filterEnd","isNaN","getTime","getEventInfo","ev","EventOptions","appInfo","getAppInfo","deviceType","getEventMessage","appIcon","appName","msg","EventType","User_LoggedIn","User_ChangedPassword","User_Updated2fa","User_Disabled2fa","User_Recovered2fa","User_FailedLogIn","User_FailedLogIn2fa","User_ClientExportedVault","Cipher_Created","formatCipherId","Cipher_Updated","Cipher_Deleted","Cipher_SoftDeleted","Cipher_Restored","Cipher_AttachmentCreated","Cipher_AttachmentDeleted","Cipher_Shared","Cipher_ClientViewed","Cipher_ClientToggledPasswordVisible","Cipher_ClientToggledHiddenFieldVisible","Cipher_ClientToggledCardCodeVisible","Cipher_ClientCopiedHiddenField","Cipher_ClientCopiedPassword","Cipher_ClientCopiedCardCode","Cipher_ClientAutofilled","Cipher_UpdatedCollections","Collection_Created","formatCollectionId","Collection_Updated","Collection_Deleted","Group_Created","formatGroupId","Group_Updated","Group_Deleted","OrganizationUser_Invited","formatOrgUserId","OrganizationUser_Confirmed","OrganizationUser_Updated","OrganizationUser_Removed","OrganizationUser_UpdatedGroups","OrganizationUser_UnlinkedSso","Organization_Updated","Organization_PurgedVault","Policy_Updated","formatPolicyId","DeviceType","Android","iOS","UWP","ChromeExtension","FirefoxExtension","OperaExtension","EdgeExtension","VivaldiExtension","SafariExtension","WindowsDesktop","MacOsDesktop","LinuxDesktop","ChromeBrowser","FirefoxBrowser","OperaBrowser","SafariBrowser","VivaldiBrowser","EdgeBrowser","IEBrowser","UnknownBrowser","shortId","getShortId","cipherId","cipherInfo","makeAnchor","groupId","collectionId","organizationUserId","policyId","innerHTML","date","pad","getHours","getMinutes","num","norm","floor","abs","EventInfo","twoFactorProviderRequest_1","TwoFactorBaseComponent","analytics","onUpdated","twoFactorProviderType","enabled","authed","auth","authResponse","enable","enableFunction","eventTrack","next","action","disable","showDialog","TwoFactorProviderRequest","putTwoFactorOrganizationDisable","putTwoFactorDisable","Angulartics2","i5","add_edit_component_1","add_edit_component_2","CipherReportComponent","userService","requiresPaid","hasLoaded","setCiphers","selectCipher","childComponent","cipherAddEditModalRef","organization","AddEditComponent","onSavedCipher","onDeletedCipher","onRestoredCipher","checkAccess","useTotp","canAccessPremium","accessPremium","viewQuery","ViewContainerRef","uriMatchType_1","CanLaunchWhitelist","_uri","_domain","_hostname","_host","_canLaunch","UriMatchType","RegularExpression","o_r17","_r19","AddEditComponent_div_20_div_4_option_10_Template","isDeleted","typeOptions","f_r21","_r23","AddEditComponent_div_20_div_17_option_8_Template","viewOnly","_r31","ctx_r30","copy","_r35","generatePassword","AddEditComponent_div_20_ng_container_21_div_26_a_2_Template","_r37","checkPassword","ctx_r25","checkPasswordPromise","_r33","_r41","premiumRequired","_r43","upgradeOrganization","AddEditComponent_div_20_ng_container_21_div_64_a_5_Template","AddEditComponent_div_20_ng_container_21_div_64_a_7_Template","ctx_r26","ɵɵnamespaceSVG","ɵɵnamespaceHTML","_r45","ctx_r44","totpCode","ctx_r27","totpSec","totpDash","totpCodeFormatted","o_r51","_r54","u_r47","$implicit","removeUri","_r56","launch","loginUriMatchChanged","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_option_49_Template","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_button_52_Template","ɵɵpropertyInterpolate1","i_r48","ɵɵpipeBind2","ctx_r46","uriMatchOptions","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_Template","ctx_r28","trackByFunction","_r62","addUri","_r64","AddEditComponent_div_20_ng_container_21_div_14_Template","AddEditComponent_div_20_ng_container_21_div_26_Template","togglePassword","ctx_r67","AddEditComponent_div_20_ng_container_21_div_64_Template","AddEditComponent_div_20_ng_container_21_div_66_Template","AddEditComponent_div_20_ng_container_21_ng_container_70_Template","AddEditComponent_div_20_ng_container_21_a_72_Template","showPassword","ɵɵpureFunction2","_c2","totpLow","o_r71","o_r72","_r74","AddEditComponent_div_20_ng_container_24_option_21_Template","ctx_r77","AddEditComponent_div_20_ng_container_24_option_57_Template","toggleCardCode","ctx_r82","ctx_r8","cardBrandOptions","cardExpMonthOptions","showCardCode","o_r84","_r86","AddEditComponent_div_20_ng_container_27_option_12_Template","ctx_r9","identityTitleOptions","_r114","f_r105","i_r106","ctx_r107","_r120","toggleFieldValue","ctx_r123","fieldType","Hidden","ctx_r108","_r128","ctx_r109","_r132","removeField","_r134","AddEditComponent_div_20_div_42_div_2_div_28_Template","AddEditComponent_div_20_div_42_div_2_div_30_Template","AddEditComponent_div_20_div_42_div_2_input_34_Template","AddEditComponent_div_20_div_42_div_2_button_37_Template","AddEditComponent_div_20_div_42_div_2_button_39_Template","ctx_r104","Boolean","_r136","drop","AddEditComponent_div_20_div_42_div_2_Template","ctx_r10","_r138","addField","o_r140","_r142","addFieldType","AddEditComponent_div_20_div_46_option_10_Template","ctx_r12","addFieldTypeOptions","o_r144","_r146","organizationChanged","AddEditComponent_div_20_ng_container_48_option_16_Template","ctx_r13","ownershipOptions","_r154","checked","i_r152","c_r151","ctx_r150","AddEditComponent_div_20_ng_container_50_ng_container_8_div_2_Template","ctx_r149","AddEditComponent_div_20_ng_container_50_div_6_Template","AddEditComponent_div_20_ng_container_50_ng_container_8_Template","ctx_r14","ctx_r155","passwordRevisionDisplayDate","_r159","viewHistory","ctx_r156","ph_r161","AddEditComponent_div_20_ng_container_52_div_16_div_2_Template","ctx_r157","AddEditComponent_div_20_ng_container_52_div_12_Template","AddEditComponent_div_20_ng_container_52_div_14_Template","AddEditComponent_div_20_ng_container_52_div_16_Template","ctx_r15","showRevisionDate","hasPasswordHistory","viewingPasswordHistory","AddEditComponent_div_20_app_callout_2_Template","AddEditComponent_div_20_div_4_Template","_r163","AddEditComponent_div_20_div_17_Template","AddEditComponent_div_20_ng_container_21_Template","AddEditComponent_div_20_ng_container_24_Template","AddEditComponent_div_20_ng_container_27_Template","AddEditComponent_div_20_div_42_Template","AddEditComponent_div_20_a_44_Template","AddEditComponent_div_20_div_46_Template","AddEditComponent_div_20_ng_container_48_Template","AddEditComponent_div_20_ng_container_50_Template","AddEditComponent_div_20_ng_container_52_Template","allowOwnershipAssignment","allowPersonal","editMode","cipherType","hasFields","cloneMode","_r168","toggleFavorite","ctx_r165","_c3","_r171","delete","ctx_r166","_r169","deletePromise","AddEditComponent_div_30_button_2_Template","AddEditComponent_div_30_button_4_Template","ctx_r3","cipherService","folderService","auditService","collectionService","totpService","passwordGenerationService","eventService","policyService","cleanUp","totpUpdateCode","interval_1","getTimeInterval","totpTick","totpInterval","setInterval","typeI18nKey","aType","copyToClipboard","showToast","collect","confirmed","getOptions","clearInterval","getCode","half","intervalSeconds","epoch","round","mod","i6","i7","i8","i9","i10","i11","i12","i13","AddEditComponent_div_20_Template","AddEditComponent_button_24_Template","AddEditComponent_div_30_Template","ImportService","ciphers_component_1","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_20_ng_container_9_Template","showFixOldAttachments","c_r5","_r24","_r27","_r30","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_8_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_10_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_12_Template","displayTotpCopyButton","_r34","clone","share","_r40","_r46","restore","_r48","checkCipher","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_18_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_20_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_48_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_50_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_52_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_54_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_56_Template","ctx_r4","accessEvents","loadMore","CiphersComponent_ng_container_0_table_2_tr_4_Template","isPaging","filteredCiphers_r1","addCipher","CiphersComponent_ng_container_0_div_4_ng_container_4_button_6_Template","ctx_r59","showAddNew","CiphersComponent_ng_container_0_div_4_ng_container_2_Template","CiphersComponent_ng_container_0_div_4_ng_container_4_Template","loaded","CiphersComponent_ng_container_0_table_2_Template","CiphersComponent_ng_container_0_div_4_Template","CiphersComponent","searchService","onAttachmentsClicked","onShareClicked","onCollectionsClicked","onCloneClicked","userHasPremiumAccess","pageSize","selectAll","actionPromise","permanent","deleteCipher","refresh","restoreWithServer","select","selectCount","getSelected","getSelectedIds","hasTotp","deleteWithServer","softDeleteWithServer","hasOldAttachments","CiphersComponent_ng_container_0_Template","pagedCiphers","authResult_1","deviceRequest_1","keysRequest_1","preloginRequest_1","tokenRequest_1","TwoFactorProviders","description","priority","sort","premium","tokenService","appIdService","vaultTimeoutService","setCryptoKeys","selectedTwoFactorProviderType","logIn","makePreloginKey","hashedPassword","logInHelper","logInSso","codeVerifier","redirectUrl","logInApiKey","clientId","logInTwoFactor","twoFactorProvider","twoFactorToken","remember","ssoRedirectUrl","logInComplete","logInSsoComplete","logInApiKeyComplete","logOut","callback","getSupportedTwoFactorProviders","providers","twoFactorProvidersData","has","supportsDuo","supportsU2f","getDefaultTwoFactorProvider","u2fSupported","providerType","providerPriority","provider","kdf","kdfIterations","postPrelogin","PreloginRequest","preloginResponse","e_1","statusCode","makeKey","authingWithApiKey","authingWithSso","authingWithPassword","getTwoFactorToken","storedTwoFactorToken","getAppId","appId","deviceRequest","DeviceRequest","emailPassword","codeCodeVerifier","clientIdClientSecret","TokenRequest","Remember","postIdentityToken","clearState","AuthResult","twoFactor","accessToken","twoFactorResponse","twoFactorProviders2","twoFactorProviders","tokenResponse","resetMasterPassword","setTwoFactorToken","setTokens","refreshToken","setInformation","getUserId","getEmail","setKey","setKeyHash","setEncKey","privateKey","makeKeyPair","keyPair","postAccountKeys","KeysRequest","e_2","setEncPrivateKey","biometricLocked","SelectionReadOnlyRequest","SettingsService","PlanType","payment_component_1","tax_info_component_1","organizationUserStatusType_1","organizationUserType_1","planType_1","policyType_1","productType_1","organizationCreateRequest_1","organizationUpgradeRequest_1","_r5","_r3","_r14","billingEmail","_r17","businessName","selectableProduct_r18","trialPeriodDays","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_6_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_8_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_10_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_12_Template","hasSelfHost","hasSso","hasPolicies","maxUsers","maxCollections","maxAdditionalSeats","baseStorageGb","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_1_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_3_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_5_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_7_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_9_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_11_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_13_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_15_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_17_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_19_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_21_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_23_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_25_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_27_Template","product","ctx_r21","productTypes","Free","hasGroups","hasApi","hasDirectory","usersGetPremium","ɵɵtextInterpolate3","seatPrice","OrganizationPlansComponent_form_4_div_24_span_16_ng_container_2_ng_container_5_Template","basePrice","baseSeats","hasAdditionalSeatsOption","OrganizationPlansComponent_form_4_div_24_span_16_ng_container_2_Template","_r59","changedProduct","OrganizationPlansComponent_form_4_div_24_ng_container_11_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_Template","OrganizationPlansComponent_form_4_div_24_span_16_Template","OrganizationPlansComponent_form_4_div_24_span_18_Template","OrganizationPlansComponent_form_4_div_24_span_20_Template","nameLocalizationKey","descriptionLocalizationKey","Enterprise","_r20","_r69","additionalSeats","ctx_r61","_r71","ctx_r62","ɵɵpipeBind3","selectedPlan","seatPriceMonthly","_r73","premiumAccessAddon","ctx_r63","ɵɵtextInterpolate5","selectablePlan_r74","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_span_2_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_span_4_Template","ctx_r78","seatTotal","ɵɵtextInterpolate6","ctx_r79","additionalStorage","additionalStoragePricePerGb","additionalStorageTotal","premiumAccessOptionCost","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_3_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_7_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_9_Template","hasAdditionalStorageOption","hasPremiumAccessOption","ctx_r75","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_span_2_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_span_4_Template","ctx_r89","ctx_r90","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_3_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_7_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_9_Template","ctx_r76","_r100","plan","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_Template","ctx_r64","isAnnual","selectedPlanInterval","OrganizationPlansComponent_form_4_div_26_ng_container_2_Template","OrganizationPlansComponent_form_4_div_26_div_8_Template","_r102","OrganizationPlansComponent_form_4_div_26_div_31_Template","OrganizationPlansComponent_form_4_div_26_div_38_Template","OrganizationPlansComponent_form_4_div_26_app_payment_46_Template","changedCountry","OrganizationPlansComponent_form_4_div_26_ng_container_80_Template","OrganizationPlansComponent_form_4_div_26_small_82_Template","ɵɵpipeBind4","additionalStoragePriceMonthly","selectablePlans","createOrganization","subtotal","taxCharges","total","_r105","cancel","_r107","OrganizationPlansComponent_form_4_div_7_Template","ownedBusiness","changedOwnedBusiness","OrganizationPlansComponent_form_4_div_18_Template","OrganizationPlansComponent_form_4_div_24_Template","OrganizationPlansComponent_form_4_div_26_Template","OrganizationPlansComponent_form_4_div_28_Template","OrganizationPlansComponent_form_4_button_42_Template","selectableProducts","singleOrgPolicyBlock","showCancel","OrganizationPlansComponent","syncService","showFree","ProductType","onSuccess","onCanceled","selfHosted","isSelfHost","getPlans","plans","Teams","validPlans","Custom","canBeUsedByBusiness","legacyYear","disabled","subTotal","premiumAccessOptionPrice","taxComponent","taxRate","TeamsAnnually","paymentComponent","getAll","SingleOrg","policies","getAllOrganizations","orgs","orgsWithSingleOrgPolicy_1","org","Owner","Admin","Invited","includes","files","fileEl","getElementById","doSubmit","tokenResult","makeShareKey","shareKey","encrypt","collectionCt","fd","FormData","append","postOrganizationLicense","OrganizationCreateRequest","collectionName","planType","paymentToken","additionalStorageGb","billingAddressPostalCode","billingAddressCountry","taxIdNumber","billingAddressLine1","billingAddressLine2","billingAddressCity","billingAddressState","postOrganization","OrganizationUpgradeRequest","postOrganizationUpgrade","paymentIntentClientSecret","refreshIdentityToken","fullSync","navigate","OrganizationPlansComponent_ng_container_0_Template","OrganizationPlansComponent_ng_container_2_Template","OrganizationPlansComponent_form_4_Template","SymmetricCryptoKey","macKey","keyB64","encKeyB64","macKeyB64","loginUri_1","LoginUri","view","toLoginUriData","loginUriData_1","LoginUriData","forms_1","TrueFalseValueDirective","elementRef","trueValue","falseValue","propagateChange","_","onHostChange","writeValue","setProperty","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","groupings_component_1","selectFavorites","selectedFavorites","_r7","selectTrash","selectedTrash","_r22","f_r15","collapse","node","ctx_r16","isCollapsed","_r26","editFolder","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_ul_14_ng_container_2_Template","_r10","children","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_i_4_Template","selectFolder","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_i_8_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_a_11_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_ul_14_Template","selectedFolder","selectedFolderId","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_Template","folders_r13","_r32","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_container_17_Template","nestedFolders","_r44","c_r38","ctx_r39","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_ul_9_ng_container_2_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_i_2_Template","_r49","selectCollection","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_i_6_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_ul_9_Template","ctx_r37","selectedCollectionId","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_Template","collections_r36","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_container_11_Template","nestedCollections","GroupingsComponent_ng_container_78_ng_container_2_Template","GroupingsComponent_ng_container_78_ng_container_4_Template","showFolders","showCollections","GroupingsComponent","storageService","onSearchTextChanged","searchPlaceholder","searchTextChanged","GroupingsComponent_li_28_Template","GroupingsComponent_li_30_Template","selectType","GroupingsComponent_p_76_Template","GroupingsComponent_ng_container_78_Template","selectedAll","showFavorites","showTrash","selectedType","Organization","usePolicies","useGroups","useDirectory","useEvents","use2fa","useApi","useBusinessPortal","useSso","selfHost","seats","maxStorageGb","ssoBound","identifier","permissions","Confirmed","Manager","isAdmin","accessBusinessPortal","accessEventLogs","accessImportExport","accessReports","manageAllCollections","isManager","manageAssignedCollections","manageGroups","manageSso","managePolicies","manageUsers","SendFileView","sizeName","SendTextView","hidden","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_li_2_ng_container_6_Template","o_r7","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_li_2_Template","organizations","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_Template","OrganizationsComponent_ng_container_0_ng_container_4_p_4_Template","OrganizationsComponent_ng_container_0_p_2_Template","OrganizationsComponent_ng_container_0_ng_container_4_Template","_r25","unlinkSso","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_a_2_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_ng_template_4_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_12_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_Template","_r29","leave","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_Template","OrganizationsComponent_ng_container_2_ng_container_19_ng_container_2_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_Template","OrganizationsComponent_ng_container_2_ng_container_10_Template","OrganizationsComponent_ng_container_2_a_14_Template","OrganizationsComponent_ng_container_2_ng_container_17_Template","OrganizationsComponent_ng_container_2_ng_container_19_Template","OrganizationsComponent","vault","deleteSsoUser","postLeaveOrganization","OrganizationsComponent_ng_container_0_Template","OrganizationsComponent_ng_container_2_Template","SelectionReadOnlyResponse","NavbarComponent","getName","lock","NavbarComponent_div_55_Template","FooterComponent","version","getApplicationVersion","defaultErrorMessage","validationErrors","concat","getAllMessages","timeout","publicKey","encryptedPrivateKey","Policy","PolicyData","ChangePasswordComponent","getMasterPasswordPolicyOptions","enforcedPolicyOptions","getPasswordScoreAlertDisplay","minComplexity","strongPassword","setupSubmitActions","getKdf","getKdfIterations","getEncKey","makeEncKey","remakeEncKey","performSubmitActions","masterPasswordRetype","strengthResult","passwordStrength","getPasswordStrengthUserInput","evaluateMasterPassword","updatePasswordStrength","masterPasswordStrengthTimeout","clearTimeout","masterPasswordScore","userInput","atPosition","selectionReadOnlyRequest_1","selectedCount","u_r11","EntityUsersComponent_div_26_ng_container_30_tr_32_td_21_ng_container_2_Template","accessAll","_r28","check","selectedChanged","EntityUsersComponent_div_26_ng_container_30_tr_32_span_14_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_16_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_small_18_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_21_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_25_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_27_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_29_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_31_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_33_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_36_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_38_Template","entity","organizationUserStatusType","Accepted","organizationUserType","User","EntityUsersComponent_div_26_ng_container_30_th_18_Template","EntityUsersComponent_div_26_ng_container_30_th_24_Template","EntityUsersComponent_div_26_ng_container_30_th_26_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_Template","searchedUsers_r3","filterSelected","EntityUsersComponent_div_26_span_23_Template","EntityUsersComponent_div_26_ng_container_28_Template","EntityUsersComponent_div_26_ng_container_30_Template","showSelected","EntityUsersComponent","onEditedUsers","allUsers","loadUsers","getOrganizationUsers","users","getGroupUsers","entityId","user","getCollectionUsers","selections","putGroupUsers","putCollectionUsers","entityName","EntityUsersComponent_div_24_Template","EntityUsersComponent_div_26_Template","ɵɵpipeBindV","e_r9","userEmail","userName","EntityEventsComponent_div_24_table_36_tr_27_td_14_Template","ɵɵpropertyInterpolate2","ip","showUser","ɵɵsanitizeHtml","EntityEventsComponent_div_24_table_36_th_17_Template","EntityEventsComponent_div_24_table_36_tr_27_Template","loadEvents","morePromise","_r16","EntityEventsComponent_div_24_div_34_Template","EntityEventsComponent_div_24_table_36_Template","EntityEventsComponent_div_24_button_38_Template","refreshPromise","continuationToken","EntityEventsComponent","orgUsersUserIdMap","orgUsersIdMap","defaultDates","clearExisting","dates","getEventsOrganizationUser","getEventsCipher","actingUserId","eventInfo","ipAddress","EntityEventsComponent_small_11_Template","EntityEventsComponent_div_22_Template","EntityEventsComponent_div_24_Template","PermissionsApi","manageCiphers","apiKeyWarning","scope","grantType","isRotation","ApiKeyComponent","postKey","apiKey","keyType","ApiKeyComponent_ng_container_27_Template","ApiKeyComponent_app_callout_29_Template","ApiKeyComponent_app_callout_31_Template","ApiKeyComponent_button_36_Template","apiKeyTitle","apiKeyDescription","PurgeVaultComponent","postPurgeCiphers","transactionType_1","verifyBankRequest_1","addCredit","closeAddCredit","verifyBank","verifyAmount1","verifyAmount2","ctx_r20","verifyBankPromise","UserBillingComponent_ng_container_11_ng_container_25_app_callout_2_Template","UserBillingComponent_ng_container_11_ng_container_25_span_8_Template","paymentSource","needsVerification","ɵɵpureFunction6","Check","AppleInApp","GoogleInApp","paymentSourceInApp","changePayment","closePayment","UserBillingComponent_ng_container_11_table_37_tr_4_span_25_Template","UserBillingComponent_ng_container_11_table_37_tr_4_span_27_Template","i_r33","pdfUrl","amount","paid","UserBillingComponent_ng_container_11_table_37_tr_4_Template","invoices","ɵɵpureFunction4","t_r37","ctx_r40","WireTransfer","BitPay","UserBillingComponent_ng_container_11_table_45_tr_4_span_8_Template","UserBillingComponent_ng_container_11_table_45_tr_4_span_10_Template","UserBillingComponent_ng_container_11_table_45_tr_4_i_15_Template","createdDate","ctx_r36","transactionType","Charge","Refund","details","refunded","UserBillingComponent_ng_container_11_table_45_tr_4_Template","transactions","UserBillingComponent_ng_container_11_button_15_Template","UserBillingComponent_ng_container_11_app_add_credit_17_Template","UserBillingComponent_ng_container_11_p_23_Template","UserBillingComponent_ng_container_11_ng_container_25_Template","UserBillingComponent_ng_container_11_button_27_Template","UserBillingComponent_ng_container_11_app_adjust_payment_29_Template","UserBillingComponent_ng_container_11_p_35_Template","UserBillingComponent_ng_container_11_table_37_Template","UserBillingComponent_ng_container_11_p_43_Template","UserBillingComponent_ng_container_11_table_45_Template","isCreditBalance","creditOrBalance","showAddCredit","showAdjustPayment","UserBillingComponent","firstLoaded","TransactionType","getOrganizationBilling","billing","getUserBilling","VerifyBankRequest","amount1","amount2","postOrganizationVerifyBank","balance","UserBillingComponent_button_6_Template","UserBillingComponent_ng_container_9_Template","UserBillingComponent_ng_container_11_Template","bitPayInvoiceRequest_1","AddCreditComponent","onAdded","ppButtonFormAction","buttonActionProduction","ppButtonBusinessId","businessIdProduction","ppLoading","buttonActionSandbox","businessIdSandbox","creditAmount","ppButtonCustomField","getOrganization","subject","returnUrl","location","ppButtonFormRef","req","BitPayInvoiceRequest","credit","creditAmountNumber","postBitPayInvoice","bitPayUrl","formatAmount","floatAmount","parseFloat","toFixed","AddCreditComponent_div_14_Template","paymentRequest_1","AdjustPaymentComponent","onAdjusted","request_1","PaymentRequest","taxInfoComponent","postAccountPayment","postOrganizationPayment","currentType","UpdateLicenseComponent","updatePromise","postAccountLicense","postOrganizationLicenseUpdate","storageRequest_1","ɵɵtextInterpolate4","storageAdjustment","storageGbPrice","adjustedStorageTotal","interval","AdjustStorageComponent","add","StorageRequest","storageGbAdjustment","paymentFailed_1","postAccountStorage","postOrganizationStorage","relativeTo","AdjustStorageComponent_div_26_Template","updateTwoFactorDuoRequest_1","two_factor_base_component_1","ikey","skey","TwoFactorDuoComponent_form_25_ng_container_5_Template","TwoFactorDuoComponent_form_25_ng_container_7_Template","TwoFactorDuoComponent_form_25_span_17_Template","TwoFactorDuoComponent_form_25_span_19_Template","TwoFactorDuoComponent","processResponse","UpdateTwoFactorDuoRequest","integrationKey","secretKey","putTwoFactorOrganizationDuo","putTwoFactorDuo","TwoFactorDuoComponent_app_two_factor_verify_23_Template","TwoFactorDuoComponent_form_25_Template","auth_service_1","two_factor_authenticator_component_1","two_factor_duo_component_1","two_factor_email_component_1","two_factor_recovery_component_1","two_factor_u2f_component_1","two_factor_yubikey_component_1","recoveryCode","TwoFactorSetupComponent_li_23_ng_container_11_Template","TwoFactorSetupComponent_li_23_a_13_Template","p_r20","manage","TwoFactorSetupComponent","showPolicyWarning","filterProvider","getTwoFactorProviders","evaluatePolicies","openModal","authenticatorModalRef","TwoFactorAuthenticatorComponent","updateStatus","yubikeyModalRef","TwoFactorYubiKeyComponent","duoModalRef","emailModalRef","TwoFactorEmailComponent","u2fModalRef","TwoFactorU2fComponent","recoveryModalRef","TwoFactorRecoveryComponent","ref","TwoFactorAuthentication","TwoFactorSetupComponent_p_7_Template","TwoFactorSetupComponent_p_9_Template","TwoFactorSetupComponent_app_callout_11_Template","TwoFactorSetupComponent_small_16_Template","TwoFactorSetupComponent_app_callout_19_Template","TwoFactorSetupComponent_li_23_Template","TwoFactorSetupComponent_ng_template_26_Template","TwoFactorSetupComponent_ng_template_29_Template","TwoFactorSetupComponent_ng_template_32_Template","TwoFactorSetupComponent_ng_template_35_Template","TwoFactorSetupComponent_ng_template_38_Template","TwoFactorSetupComponent_ng_template_41_Template","_c6","export_component_1","ExportComponent","exportService","saved","format","cipher_report_component_1","c_r6","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_9_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_template_11_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_14_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_16_Template","canManageCipher","exposedPasswordMap","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_Template","ExposedPasswordsReportComponent_div_21_app_callout_2_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_Template","ExposedPasswordsReportComponent","getAllCiphers","allCiphers","exposedPasswordCiphers","passwordLeaked","exposedCount","getAllDecrypted","ExposedPasswordsReportComponent_div_21_Template","ExposedPasswordsReportComponent_ng_template_23_Template","cipher_1","cipherCreateRequest_1","cipherRequest_1","originalCipher","canManageAllCollections","loadCollections","loadCipher","getCipherAdmin","encryptCipher","saveCipher","putCipherAdmin","CipherCreateRequest","postCipherAdmin","deleteCipherAdmin","putDeleteCipherAdmin","i14","attachmentView_1","symmetricCryptoKey_1","AttachmentView","orgKey","decryptToBytes","decValue","PasswordHistoryView","sweetalert2_js_1","o_r4","o_r6","ImportComponent_ng_container_24_option_4_Template","importOptions","ImportComponent_app_callout_30_ng_container_26_span_2_Template","ctx_r19","ImportComponent_app_callout_30_ng_container_2_Template","ImportComponent_app_callout_30_ng_container_4_Template","ImportComponent_app_callout_30_ng_container_6_Template","ImportComponent_app_callout_30_ng_container_8_Template","ImportComponent_app_callout_30_ng_container_10_Template","ImportComponent_app_callout_30_ng_container_12_Template","ImportComponent_app_callout_30_ng_container_14_Template","ImportComponent_app_callout_30_ng_container_16_Template","ImportComponent_app_callout_30_ng_container_18_Template","ImportComponent_app_callout_30_ng_container_20_Template","ImportComponent_app_callout_30_ng_container_22_Template","ImportComponent_app_callout_30_ng_container_24_Template","ImportComponent_app_callout_30_ng_container_26_Template","ImportComponent_app_callout_30_ng_container_28_Template","ImportComponent_app_callout_30_ng_container_30_Template","ImportComponent_app_callout_30_ng_container_32_Template","ImportComponent_app_callout_30_ng_container_34_Template","ImportComponent_app_callout_30_ng_container_36_Template","ImportComponent_app_callout_30_ng_container_38_Template","ImportComponent_app_callout_30_ng_container_40_Template","ImportComponent_app_callout_30_ng_container_42_Template","ImportComponent_app_callout_30_ng_container_44_Template","ImportComponent_app_callout_30_ng_container_46_Template","ImportComponent_app_callout_30_ng_container_48_Template","ImportComponent_app_callout_30_ng_container_50_Template","ImportComponent_app_callout_30_ng_container_52_Template","ImportComponent_app_callout_30_ng_container_54_Template","ImportComponent_app_callout_30_ng_container_56_Template","ImportComponent_app_callout_30_ng_container_58_Template","ImportComponent_app_callout_30_ng_container_60_Template","ImportComponent_app_callout_30_ng_container_62_Template","ImportComponent_app_callout_30_ng_container_64_Template","ImportComponent_app_callout_30_ng_container_66_Template","ImportComponent_app_callout_30_ng_container_68_Template","ImportComponent_app_callout_30_ng_container_70_Template","ImportComponent_app_callout_30_ng_container_72_Template","ImportComponent_app_callout_30_ng_container_74_Template","ImportComponent_app_callout_30_ng_container_76_Template","ImportComponent_app_callout_30_ng_container_78_Template","ImportComponent_app_callout_30_ng_container_80_Template","ImportComponent_app_callout_30_ng_container_82_Template","ImportComponent_app_callout_30_ng_container_84_Template","ImportComponent_app_callout_30_ng_container_86_Template","ImportComponent_app_callout_30_ng_container_88_Template","ImportComponent_app_callout_30_ng_container_90_Template","ImportComponent_app_callout_30_ng_container_92_Template","ImportComponent_app_callout_30_ng_container_94_Template","ImportComponent_app_callout_30_ng_container_96_Template","ImportComponent_app_callout_30_ng_container_98_Template","getFormatInstructionTitle","ImportComponent","importService","successNavigate","setImportOptions","importer","getImporter","fileContents","getFileContents","content","import","properties","results","featuredImportOptions","__spreadArrays","regularImportOptions","fire","heightAuto","buttonsStyling","iconHtml","input","inputValue","inputAttributes","readonly","showConfirmButton","confirmButtonText","onOpen","popupEl","scrollTo","file","reader","FileReader","readAsText","evt","pre","onerror","ImportComponent_option_22_Template","ImportComponent_ng_container_24_Template","ImportComponent_app_callout_30_Template","ctx_r11","cipherDocs","c_r8","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_a_25_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_Template","InactiveTwoFactorReportComponent_div_15_app_callout_2_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_Template","InactiveTwoFactorReportComponent","services","load2fa","inactive2faCiphers_1","docs_1","fetch","Request","json","categoryName","responseJson","serviceName","category","service","InactiveTwoFactorReportComponent_small_5_Template","InactiveTwoFactorReportComponent_div_13_Template","InactiveTwoFactorReportComponent_div_15_Template","InactiveTwoFactorReportComponent_ng_template_17_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_9_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_template_11_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_14_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_16_Template","passwordUseMap","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_Template","ReusedPasswordsReportComponent_div_15_app_callout_2_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_Template","ReusedPasswordsReportComponent","ciphersWithPasswords","reusedPasswordCiphers","ReusedPasswordsReportComponent_small_5_Template","ReusedPasswordsReportComponent_div_13_Template","ReusedPasswordsReportComponent_div_15_Template","ReusedPasswordsReportComponent_ng_template_17_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_Template","UnsecuredWebsitesReportComponent_div_15_app_callout_2_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_Template","UnsecuredWebsitesReportComponent","unsecuredCiphers","UnsecuredWebsitesReportComponent_small_5_Template","UnsecuredWebsitesReportComponent_div_13_Template","UnsecuredWebsitesReportComponent_div_15_Template","UnsecuredWebsitesReportComponent_ng_template_17_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_9_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_template_11_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_14_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_16_Template","passwordStrengthMap","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_Template","WeakPasswordsReportComponent_div_15_app_callout_2_Template","WeakPasswordsReportComponent_div_15_ng_container_4_Template","WeakPasswordsReportComponent","passwordStrengthCache","weakPasswordCiphers","hasUsername","cacheKey","scoreKey","WeakPasswordsReportComponent_small_5_Template","WeakPasswordsReportComponent_div_13_Template","WeakPasswordsReportComponent_div_15_Template","WeakPasswordsReportComponent_ng_template_17_Template","attachments_component_1","a_r6","reupload","reuploadPromises","_r11","deletePromises","AttachmentsComponent_table_25_tr_4_i_4_Template","AttachmentsComponent_table_25_tr_4_i_6_Template","download","AttachmentsComponent_table_25_tr_4_div_16_Template","AttachmentsComponent_table_25_tr_4_td_23_Template","downloading","AttachmentsComponent_table_25_tr_4_Template","AttachmentsComponent","reuploadCipherAttachment","AttachmentsComponent_small_12_Template","AttachmentsComponent_table_25_Template","AttachmentsComponent_div_27_Template","AttachmentsComponent_button_32_Template","onEventsClicked","deleted","getAllFromApiForOrganization","applyFilter","searchPending","filteredCiphers","searchCiphersBasic","resetPaging","collections_component_1","c_r9","i_r10","CollectionsComponent_table_40_tr_4_Template","CollectionsComponent","CollectionsComponent_small_12_Template","CollectionsComponent_div_35_Template","CollectionsComponent_div_38_Template","CollectionsComponent_table_40_Template","collectionData_1","getCollections","collectionDomains","decryptMany","unassignedCollection","getAllNested","grouping","bulk_delete_component_1","bulk_move_component_1","bulk_restore_component_1","bulk_share_component_1","bulkMove","bulkShare","bulkRestore","BulkActionsComponent","bulkDelete","selectedIds","ciphersComponent","bulkDeleteModalRef","BulkDeleteComponent","cipherIds","onDeleted","bulkRestoreModalRef","BulkRestoreComponent","onRestored","selectedCiphers","bulkShareModalRef","BulkShareComponent","onShared","bulkMoveModalRef","BulkMoveComponent","onMoved","BulkActionsComponent_button_10_Template","BulkActionsComponent_button_12_Template","BulkActionsComponent_button_14_Template","BulkActionsComponent_ng_template_38_Template","BulkActionsComponent_ng_template_41_Template","BulkActionsComponent_ng_template_44_Template","BulkActionsComponent_ng_template_47_Template","sendFileView_1","SendFile","sendTextView_1","SendText","ErrorResponse","identityResponse","errorModel","responseErrorModel","getSingleMessage","messages","this_1","item","prefix","lastSep","lastIndexOf","CipherWithIdRequest","FolderRequest","folder","SelectCopyDirective","onCopy","copyText","selection","getSelection","rangeCount","getRangeAt","stringEndPos","newLinePos","ColorPasswordPipe","colorizedPassword","isSpecial","FolderData","Folder","attachmentResponse_1","baseResponse_1","passwordHistoryResponse_1","CipherResponse","AttachmentResponse","h","PasswordHistoryResponse","profileOrganizationResponse_1","ProfileResponse","emailVerified","masterPasswordHint","culture","twoFactorEnabled","securityStamp","ProfileOrganizationResponse","SendFileApi","SendTextApi","NotificationsService","webpackEmptyAsyncContext","keys","FrontendLayoutComponent","classList","remove","manageRoute","toolsRoute","OrganizationLayoutComponent_div_2_ul_23_li_11_Template","OrganizationLayoutComponent_div_2_ul_23_li_13_Template","OrganizationLayoutComponent_div_2_ul_23_li_15_Template","showManageTab","showToolsTab","isOwner","goToBusinessPortal","businessTokenPromise","OrganizationLayoutComponent_div_2_div_20_Template","OrganizationLayoutComponent_div_2_ul_23_Template","OrganizationLayoutComponent_div_2_button_28_Template","showMenuBar","showBusinessPortalButton","OrganizationLayoutComponent","broadcasterService","ngZone","businessUrl","enterpriseUrl","run","command","unsubscribe","getEnterprisePortalSignInToken","canManageUsers","canManageAssignedCollections","canManageGroups","canManagePolicies","canAccessEventLogs","canAccessImportExport","canAccessReports","canAccessBusinessPortal","NgZone","OrganizationLayoutComponent_div_2_Template","UserLayoutComponent","emergencyAccessAcceptRequest_1","AcceptEmergencyComponent","fired","queryParams","qParams","errorMessage","isAuthenticated","EmergencyAccessAcceptRequest","postEmergencyAccessAccept","toast","save","AcceptEmergencyComponent_div_0_Template","AcceptEmergencyComponent_div_2_Template","organizationUserAcceptRequest_1","orgName","AcceptOrganizationComponent","OrganizationUserAcceptRequest","postOrganizationUserAccept","organizationName","AcceptOrganizationComponent_div_0_Template","AcceptOrganizationComponent_div_2_Template","hint_component_1","HintComponent","lock_component_1","LockComponent","routerService","hasKey","onSuccessfulSubmit","successRoute","webVaultHostname","login_component_1","LoginComponent","authService","onSuccessfulLoginNavigate","goAfterLogIn","queryParamsSub","orgInvite","emergencyInvite","loginRedirect","rememberEmail","deleteRecoverRequest_1","RecoverDeleteComponent","DeleteRecoverRequest","postAccountRecoverDelete","twoFactorRecoveryRequest_1","RecoverTwoFactorComponent","TwoFactorRecoveryRequest","postTwoFactorRecover","register_component_1","policy_1","policyData_1","referenceEventRequest_1","RegisterComponent_div_9_div_4_Template","RegisterComponent_div_9_div_6_Template","RegisterComponent_div_9_div_8_Template","layout","minLength","RegisterComponent_app_callout_53_li_5_Template","RegisterComponent_app_callout_53_li_7_Template","RegisterComponent_app_callout_53_li_9_Template","RegisterComponent_app_callout_53_li_11_Template","RegisterComponent_app_callout_53_li_13_Template","RegisterComponent_app_callout_53_li_15_Template","requireUpper","requireLower","requireNumbers","requireSpecial","acceptPolicies","RegisterComponent","showCreateOrgMessage","referenceData","ReferenceEventRequest","reference","cookie","pop","invite","getPoliciesByToken","policiesData","RegisterComponent_header_2_Template","RegisterComponent_div_9_Template","RegisterComponent_p_17_Template","RegisterComponent_app_callout_23_Template","RegisterComponent_app_callout_53_Template","confirmMasterPassword","hint","RegisterComponent_div_117_Template","showTerms","_r1","set_password_component_1","SetPasswordComponent_div_15_app_callout_8_li_5_Template","SetPasswordComponent_div_15_app_callout_8_li_7_Template","SetPasswordComponent_div_15_app_callout_8_li_9_Template","SetPasswordComponent_div_15_app_callout_8_li_11_Template","SetPasswordComponent_div_15_app_callout_8_li_13_Template","SetPasswordComponent_div_15_app_callout_8_li_15_Template","SetPasswordComponent_div_15_app_callout_8_Template","SetPasswordComponent","SetPasswordComponent_div_13_Template","SetPasswordComponent_div_15_Template","syncLoading","sso_component_1","SsoComponent","redirectUri","origin","storedIdentifier","SsoComponent_div_11_Template","SsoComponent_div_13_Template","initiateSsoFormPromise","loggingIn","twoFactorRoute","changePasswordRoute","checkState","getOrgIdentiferFromState","codeChallenge","returnUri","includeUserIdentifier","preValidate","buildAuthorizeUrl","authorizeUrl","sameWindow","preValidateSso","passwordOptions","uppercase","lowercase","numbers","special","codeVerifierHash","identityBaseUrl","getSsoUserIdentifier","userIdentifier","orgIdFromState","onSuccessfulLoginTwoFactorNavigate","sso","onSuccessfulLoginChangePasswordNavigate","disableFavicon","onSuccessfulLogin","stateSplit","checkStateSplit","two_factor_options_component_1","two_factor_component_1","twoFactorEmail","sendEmail","emailPromise","TwoFactorComponent_ng_container_14_small_14_a_2_Template","selectedProviderType","TwoFactorComponent_ng_container_14_p_2_Template","TwoFactorComponent_ng_container_14_p_4_Template","TwoFactorComponent_ng_container_14_small_14_Template","TwoFactorComponent_ng_container_18_p_2_Template","TwoFactorComponent_ng_container_18_ng_container_4_Template","u2fReady","TwoFactorComponent","anotherMethod","twoFactorOptionsModal","TwoFactorOptionsComponent","onProviderSelected","onRecoverSelected","TwoFactorComponent_ng_container_14_Template","TwoFactorComponent_ng_container_16_Template","TwoFactorComponent_ng_container_18_Template","TwoFactorComponent_ng_container_20_Template","TwoFactorComponent_i_22_Template","TwoFactorComponent_div_24_Template","TwoFactorComponent_ng_container_26_Template","TwoFactorComponent_button_32_Template","TwoFactorComponent_ng_template_51_Template","p_r1","choose","TwoFactorOptionsComponent_a_22_Template","recover","TwoFactorEmailRequest","verifyEmailRequest_1","VerifyEmailTokenComponent","postAccountVerifyEmailToken","VerifyEmailRequest","verifyDeleteRecoverRequest_1","VerifyRecoverDeleteComponent","VerifyDeleteRecoverRequest","postAccountRecoverDeleteToken","collection_add_edit_component_1","entity_users_component_1","c_r10","CollectionsComponent_ng_container_28_table_4_tr_4_Template","searchedCollections_r6","CollectionsComponent_ng_container_28_p_2_Template","CollectionsComponent_ng_container_28_table_4_Template","didScroll","pagedCollectionsCount","getUserCollections","pagedLength","pagedCollections","pagedSize","addEditModalRef","CollectionAddEditComponent","onSavedCollection","onDeletedCollection","removeCollection","deleteCollection","usersModalRef","isSearching","isSearchable","searching","index","CollectionsComponent_ng_container_26_Template","CollectionsComponent_ng_container_28_Template","CollectionsComponent_ng_template_31_Template","CollectionsComponent_ng_template_34_Template","collectionRequest_1","g_r12","CollectionAddEditComponent_div_22_ng_container_24_table_10_tr_25_ng_container_9_Template","i_r13","CollectionAddEditComponent_div_22_ng_container_24_table_10_tr_25_Template","groups","CollectionAddEditComponent_div_22_ng_container_24_div_5_Template","CollectionAddEditComponent_div_22_ng_container_24_div_8_Template","CollectionAddEditComponent_div_22_ng_container_24_table_10_Template","CollectionAddEditComponent_div_22_ng_container_24_Template","accessGroups","getGroups","groupsResponse","getCollectionDetails","group","g","CollectionRequest","putCollection","postCollection","CollectionAddEditComponent_div_20_Template","CollectionAddEditComponent_div_22_Template","CollectionAddEditComponent_button_42_Template","e_r7","EventsComponent_ng_container_39_table_4_tr_29_Template","EventsComponent_ng_container_39_p_2_Template","EventsComponent_ng_container_39_table_4_Template","EventsComponent_ng_container_39_button_6_Template","EventsComponent","getEventsOrganization","EventsComponent_ng_container_37_Template","EventsComponent_ng_container_39_Template","group_add_edit_component_1","g_r10","GroupsComponent_ng_container_28_table_4_tr_4_Template","searchedGroups_r6","GroupsComponent_ng_container_28_p_2_Template","GroupsComponent_ng_container_28_table_4_Template","GroupsComponent","pagedGroupsCount","pagedGroups","GroupAddEditComponent","onSavedGroup","onDeletedGroup","removeGroup","deleteGroup","GroupsComponent_ng_container_26_Template","GroupsComponent_ng_container_28_Template","GroupsComponent_ng_template_31_Template","GroupsComponent_ng_template_34_Template","groupRequest_1","c_r12","GroupAddEditComponent_div_22_ng_container_60_table_4_tr_25_Template","GroupAddEditComponent_div_22_ng_container_60_div_2_Template","GroupAddEditComponent_div_22_ng_container_60_table_4_Template","GroupAddEditComponent_div_22_div_36_Template","access","GroupAddEditComponent_div_22_ng_container_60_Template","getGroupDetails","GroupRequest","putGroup","postGroup","GroupAddEditComponent_div_20_Template","GroupAddEditComponent_div_22_Template","GroupAddEditComponent_button_42_Template","ManageComponent_div_6_a_8_Template","ManageComponent_div_6_a_10_Template","ManageComponent_div_6_a_12_Template","ManageComponent_div_6_a_14_Template","ManageComponent_div_6_a_16_Template","accessPolicies","ManageComponent","ManageComponent_div_6_Template","organizationUserConfirmRequest_1","entity_events_component_1","user_add_edit_component_1","user_confirm_component_1","user_groups_component_1","allCount","invitedCount","acceptedCount","u_r18","reinvite","_r38","confirm","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_12_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_14_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_small_16_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_ng_container_21_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_26_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_28_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_30_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_32_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_34_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_49_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_51_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_53_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_55_Template","ctx_r17","PeopleComponent_ng_container_49_ng_container_4_app_callout_2_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_Template","showConfirmUsers","searchedUsers_r13","PeopleComponent_ng_container_49_p_2_Template","PeopleComponent_ng_container_49_ng_container_4_Template","PeopleComponent","statusMap","pagedUsersCount","viewEvents","pagedUsers","confirmedCount","UserAddEditComponent","onSavedUser","onDeletedUser","removeUser","groupsModalRef","UserGroupsComponent","deleteOrganizationUser","postOrganizationUserReinvite","updateUser","mapIndex","autoConfirm","doConfirmation","confirmModalRef","UserConfirmComponent","onConfirmedUser","eventsModalRef","getUserPublicKey","publicKeyResponse","log","getFingerprint","rsaEncrypt","OrganizationUserConfirmRequest","postOrganizationUserConfirm","PeopleComponent_span_13_Template","PeopleComponent_span_19_Template","PeopleComponent_span_25_Template","PeopleComponent_ng_container_47_Template","PeopleComponent_ng_container_49_Template","PeopleComponent_ng_template_52_Template","PeopleComponent_ng_template_55_Template","PeopleComponent_ng_template_58_Template","PeopleComponent_ng_template_61_Template","_c4","_c5","organizationUserInviteRequest_1","organizationUserUpdateRequest_1","permissionsApi_1","emails","c_r28","i_r29","UserAddEditComponent_div_24_ng_container_117_table_4_tr_25_Template","UserAddEditComponent_div_24_ng_container_117_div_2_Template","UserAddEditComponent_div_24_ng_container_117_table_4_Template","UserAddEditComponent_div_24_ng_container_2_Template","UserAddEditComponent_div_24_ng_container_79_Template","UserAddEditComponent_div_24_div_93_Template","UserAddEditComponent_div_24_ng_container_117_Template","customUserTypeSelected","showCustom","getOrganizationUser","setRequestPermissions","clearPermissions","OrganizationUserUpdateRequest","putOrganizationUser","OrganizationUserInviteRequest","postOrganizationUserInvite","UserAddEditComponent_small_11_Template","UserAddEditComponent_div_22_Template","UserAddEditComponent_div_24_Template","UserAddEditComponent_button_44_Template","dontAskAgain","fingerprint","UserConfirmComponent_small_12_Template","organizationUserUpdateGroupsRequest_1","g_r7","i_r8","UserGroupsComponent_div_25_table_8_tr_4_Template","UserGroupsComponent_div_25_div_6_Template","UserGroupsComponent_div_25_table_8_Template","getOrganizationUserGroups","userGroups","ug","OrganizationUserUpdateGroupsRequest","groupIds","putOrganizationUserGroups","UserGroupsComponent_small_12_Template","UserGroupsComponent_div_23_Template","UserGroupsComponent_div_25_Template","policy_edit_component_1","goToEnterprisePortal","_r13","p_r8","PoliciesComponent_table_11_tr_4_td_2_span_5_Template","PoliciesComponent_table_11_tr_4_td_2_Template","display","PoliciesComponent_table_11_tr_4_Template","PoliciesComponent","userCanAccessBusinessPortal","policiesEnabledMap","MasterPassword","PasswordGenerator","RequireSso","PersonalOwnership","DisableSend","policyIdFromEvents","_i","orgPolicies","orgPolicy","getPolicies","op","editModalRef","PolicyEditComponent","onSavedPolicy","enterpriseTokenPromise","PoliciesComponent_app_callout_0_Template","PoliciesComponent_ng_container_9_Template","PoliciesComponent_table_11_Template","PoliciesComponent_ng_template_13_Template","api_service_1","appId_service_1","AppIdService","audit_service_1","cipher_service_1","collection_service_1","crypto_service_1","environment_service_1","folder_service_1","i18n_service_1","log_service_1","LogService","messaging_service_1","passwordGeneration_service_1","platformUtils_service_1","search_service_1","settings_service_1","storage_service_1","state_service_1","sync_service_1","token_service_1","totp_service_1","user_service_1","vaultTimeout_service_1","policyRequest_1","o_r11","masterPassMinComplexity","PolicyEditComponent_div_23_ng_container_26_option_12_Template","masterPassMinLength","masterPassRequireUpper","masterPassRequireLower","masterPassRequireNumbers","masterPassRequireSpecial","passwordScores","o_r20","passGenDefaultType","PolicyEditComponent_div_23_ng_container_28_option_12_Template","passGenMinLength","passGenMinNumbers","passGenMinSpecial","passGenUseUpper","passGenUseLower","passGenUseNumbers","passGenUseSpecial","passGenMinNumberWords","passGenCapitalize","passGenIncludeNumber","defaultTypes","PolicyEditComponent_div_23_app_callout_5_Template","PolicyEditComponent_div_23_app_callout_7_Template","PolicyEditComponent_div_23_ng_container_9_Template","PolicyEditComponent_div_23_app_callout_11_Template","PolicyEditComponent_div_23_app_callout_13_Template","PolicyEditComponent_div_23_ng_container_26_Template","PolicyEditComponent_div_23_ng_container_28_Template","policyType","checkboxDesc","getPolicy","policy","defaultType","useUpper","useLower","useNumbers","useSpecial","minNumbers","minSpecial","minNumberWords","capitalize","includeNumber","PolicyRequest","putPolicy","PolicyEditComponent_div_21_Template","PolicyEditComponent_div_23_Template","organizationUpdateRequest_1","api_key_component_1","purge_vault_component_1","delete_organization_component_1","viewApiKey","rotateApiKey","taxFormPromise","AccountComponent","canUseApi","OrganizationUpdateRequest","putOrganization","deleteOrganization","deleteModalRef","DeleteOrganizationComponent","purgeVault","purgeModalRef","apiKeyModalRef","postOrganizationApiKey","rotateApiKeyModalRef","postOrganizationRotateApiKey","AccountComponent_div_7_Template","AccountComponent_form_9_Template","AccountComponent_ng_container_11_Template","AccountComponent_div_24_Template","AccountComponent_form_26_Template","AccountComponent_ng_template_53_Template","AccountComponent_ng_template_56_Template","AccountComponent_ng_template_59_Template","AccountComponent_ng_template_62_Template","user_billing_component_1","OrganizationBillingComponent_ng_container_11_ng_container_25_app_callout_2_Template","OrganizationBillingComponent_ng_container_11_ng_container_25_span_8_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_span_25_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_span_27_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_span_8_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_span_10_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_i_15_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_Template","OrganizationBillingComponent_ng_container_11_button_15_Template","OrganizationBillingComponent_ng_container_11_app_add_credit_17_Template","OrganizationBillingComponent_ng_container_11_p_23_Template","OrganizationBillingComponent_ng_container_11_ng_container_25_Template","OrganizationBillingComponent_ng_container_11_button_27_Template","OrganizationBillingComponent_ng_container_11_app_adjust_payment_29_Template","OrganizationBillingComponent_ng_container_11_p_35_Template","OrganizationBillingComponent_ng_container_11_table_37_Template","OrganizationBillingComponent_ng_container_11_p_43_Template","OrganizationBillingComponent_ng_container_11_table_45_Template","OrganizationBillingComponent","OrganizationBillingComponent_button_6_Template","OrganizationBillingComponent_ng_container_9_Template","OrganizationBillingComponent_ng_container_11_Template","reinstate","reinstatePromise","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_13_span_3_Template","sub","isExpired","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_13_Template","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_15_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_ng_container_13_span_11_Template","subscription","subscriptionMarkedForCancel","nextInvoice","i_r19","quantity","OrganizationSubscriptionComponent_ng_container_11_div_8_div_17_tr_10_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_ng_container_13_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_div_17_Template","closeUpdateLicense","updateLicense","OrganizationSubscriptionComponent_ng_container_11_ng_container_10_div_13_Template","showUpdateLicense","changePlan","downloadLicense","showDownloadLicense","ctx_r29","cancelPromise","_r42","closeChangePlan","closeDownloadLicense","ctx_r31","_r50","adjustSeats","_r53","closeSeats","ctx_r48","adjustSeatsAdd","billingInterval","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_div_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_app_adjust_seats_6_Template","ctx_r32","showAdjustSeats","_r58","adjustStorage","_r61","closeStorage","ctx_r56","adjustStorageAdd","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_div_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_app_adjust_storage_6_Template","ctx_r33","showAdjustStorage","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_6_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_8_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_app_change_plan_11_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_div_13_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_Template","showChangePlan","canDownloadLicense","cancelled","canAdjustSeats","storageName","storageProgressWidth","storagePercentage","OrganizationSubscriptionComponent_ng_container_11_app_callout_2_Template","OrganizationSubscriptionComponent_ng_container_11_app_callout_4_Template","OrganizationSubscriptionComponent_ng_container_11_dl_6_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_10_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_Template","OrganizationSubscriptionComponent","getOrganizationSubscription","postOrganizationReinstate","postOrganizationCancel","changed","updated","cancelAtEndDate","upcomingInvoice","storageGb","OrganizationSubscriptionComponent_small_5_Template","OrganizationSubscriptionComponent_ng_container_9_Template","OrganizationSubscriptionComponent_ng_container_11_Template","ChangePlanComponent","onChanged","defaultUpgradePlan","FamiliesAnnually","defaultUpgradeProduct","Families","DownloadLicenseComponent","onDownloaded","installationId","getOrganizationLicense","license","licenseString","JSON","stringify","saveFile","seatRequest_1","seatAdjustment","adjustedSeatTotal","AdjustSeatsComponent","SeatRequest","postOrganizationSeat","AdjustSeatsComponent_div_26_Template","SettingsComponent","access2fa","SettingsComponent_a_22_Template","SettingsComponent_a_24_Template","two_factor_setup_component_1","duoComp","getTwoFactorOrganizationProviders","updateTwoFactorAuthenticatorRequest_1","TwoFactorAuthenticatorComponent_form_26_ng_container_5_Template","TwoFactorAuthenticatorComponent_form_26_ng_container_7_Template","TwoFactorAuthenticatorComponent_form_26_p_43_Template","TwoFactorAuthenticatorComponent_form_26_hr_45_Template","TwoFactorAuthenticatorComponent_form_26_ng_container_57_Template","TwoFactorAuthenticatorComponent_form_26_span_67_Template","TwoFactorAuthenticatorComponent_form_26_span_69_Template","qrScript","UpdateTwoFactorAuthenticatorRequest","putTwoFactorAuthenticator","QRious","element","TwoFactorAuthenticatorComponent_app_two_factor_verify_24_Template","TwoFactorAuthenticatorComponent_form_26_Template","twoFactorEmailRequest_1","updateTwoFactorEmailRequest_1","sentEmail","TwoFactorEmailComponent_form_26_ng_container_7_span_33_Template","TwoFactorEmailComponent_form_26_ng_container_5_Template","TwoFactorEmailComponent_form_26_ng_container_7_Template","TwoFactorEmailComponent_form_26_span_17_Template","TwoFactorEmailComponent_form_26_span_19_Template","postTwoFactorEmailSetup","UpdateTwoFactorEmailRequest","putTwoFactorEmail","TwoFactorEmailComponent_app_two_factor_verify_24_Template","TwoFactorEmailComponent_form_26_Template","print","TwoFactorRecoveryComponent_ng_container_26_ng_container_4_Template","TwoFactorRecoveryComponent_ng_container_26_ng_container_6_Template","TwoFactorRecoveryComponent_ng_container_26_button_11_Template","w","open","write","onafterprint","formatString","TwoFactorRecoveryComponent_app_two_factor_verify_24_Template","TwoFactorRecoveryComponent_ng_container_26_Template","updateTwoFactorU2fDeleteRequest_1","updateTwoFactorU2fRequest_1","i_r14","k_r13","TwoFactorU2fComponent_form_25_li_25_ng_container_9_ng_container_2_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_9_ng_container_4_Template","compromised","TwoFactorU2fComponent_form_25_li_25_ng_container_11_i_2_Template","TwoFactorU2fComponent_form_25_li_25_strong_5_Template","TwoFactorU2fComponent_form_25_li_25_strong_7_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_9_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_11_Template","removePromise","configured","keysConfiguredCount","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_2_Template","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_4_Template","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_6_Template","u2fListening","u2fResponse","u2fError","disablePromise","_r36","TwoFactorU2fComponent_form_25_app_callout_5_Template","TwoFactorU2fComponent_form_25_li_25_Template","readKey","TwoFactorU2fComponent_form_25_ng_container_70_Template","TwoFactorU2fComponent_form_25_ng_container_72_Template","TwoFactorU2fComponent_form_25_i_79_Template","TwoFactorU2fComponent_form_25_span_81_Template","TwoFactorU2fComponent_form_25_button_84_Template","keyIdAvailable","challengePromise","u2fScript","UpdateTwoFactorU2fRequest","deviceResponse","putTwoFactorU2f","UpdateTwoFactorU2fDeleteRequest","deleteTwoFactorU2f","getTwoFactorU2fChallenge","challenge","readDevice","u2fChallenge","resetU2f","u2f","register","errorCode","listening","k","TwoFactorU2fComponent_app_two_factor_verify_23_Template","TwoFactorU2fComponent_form_25_Template","updateTwoFactorYubioOtpRequest_1","i_r9","k_r8","existingKey","TwoFactorYubiKeyComponent_form_25_div_54_input_6_Template","TwoFactorYubiKeyComponent_form_25_div_54_div_8_Template","TwoFactorYubiKeyComponent_form_25_app_callout_5_Template","TwoFactorYubiKeyComponent_form_25_div_54_Template","nfc","TwoFactorYubiKeyComponent_form_25_button_87_Template","UpdateTwoFactorYubioOtpRequest","key1","key2","key3","key4","key5","putTwoFactorYubiKey","padRight","max","TwoFactorYubiKeyComponent_app_two_factor_verify_23_Template","TwoFactorYubiKeyComponent_form_25_Template","getExportData","getOrganizationExport","getFileName","collectEvent","exposed_passwords_report_component_1","manageableCiphers","passwordHistoryView_1","FallbackSrcDirective","onError","appFallbackSrc","import_component_1","inactive_two_factor_report_component_1","reused_passwords_report_component_1","ToolsComponent_ng_container_4_div_8_a_7_Template","ToolsComponent_ng_container_4_div_6_Template","ToolsComponent_ng_container_4_div_8_Template","ToolsComponent","ToolsComponent_ng_container_2_Template","ToolsComponent_ng_container_4_Template","unsecured_websites_report_component_1","weak_passwords_report_component_1","VaultComponent","changeDetectorRef","groupingsComponent","successfully","detectChanges","reload","filterDeleted","filterCipherType","filterCollection","clearGroupingFilters","clearFilters","go","filterSearchText","editCipherAttachments","attachmentsModalRef","madeAttachmentChanges","onUploadedAttachment","onDeletedAttachment","editCipherCollections","collectionsModalRef","onSavedCollections","component","editCipher","cloneCipher","replaceUrl","ChangeDetectorRef","VaultComponent_ng_container_20_Template","VaultComponent_button_29_Template","VaultComponent_ng_template_39_Template","VaultComponent_ng_template_42_Template","VaultComponent_ng_template_45_Template","VaultComponent_ng_template_48_Template","saveCipherAttachment","saveAttachmentWithServer","cipherDomain","deleteCipherAttachment","attachmentId","deleteCipherAttachmentAdmin","onReuploadedAttachment","hasUpdatedKey","canAccessAttachments","cache","arrayBuffer","buf","decryptFromBytes","decBuf","hasEncKey","admin","saveAttachmentRawWithServer","foundAttachment","a2","deleteAttachmentWithServer","Window","cipherCollectionsRequest_1","allowSelectNone","loadCipherCollections","saveCollections","CipherCollectionsRequest","putCipherCollectionsAdmin","cipherBulkDeleteRequest_1","deleteCiphers","deleteCiphersAdmin","deleteManyWithServer","softDeleteManyWithServer","deleteRequest","CipherBulkDeleteRequest","deleteManyCiphersAdmin","putDeleteManyCiphersAdmin","ids","f_r2","moveManyWithServer","BulkMoveComponent_option_35_Template","restoreManyWithServer","o_r5","i_r11","BulkShareComponent_table_54_tr_4_Template","nonShareableCount","shareableCiphers","writeableCollections","allCollections","filterCollections","checkedCollectionIds","shareManyWithServer","BulkShareComponent_option_39_Template","BulkShareComponent_div_49_Template","BulkShareComponent_div_52_Template","BulkShareComponent_table_54_Template","canSave","sendAccess_1","sendType_1","sendAccessRequest_1","errorResponse_1","creatorIdentifier","toggleText","AccessComponent_div_25_ng_container_9_app_callout_2_Template","sendText","AccessComponent_div_25_ng_container_9_button_9_Template","AccessComponent_div_25_ng_container_12_button_5_Template","AccessComponent_div_25_ng_container_12_button_7_Template","expirationDate","AccessComponent_div_25_ng_container_9_Template","AccessComponent_div_25_ng_container_12_Template","AccessComponent_div_25_p_14_Template","sendType","File","AccessComponent","passwordRequired","unavailable","maskedText","sendId","decKey","getSendFileDownloadData","accessRequest","downloadData","keyArray","SendAccessRequest","pbkdf2","passwordHash","sendResponse","postSendAccess","sendAccess","SendAccess","makeSendKey","AccessComponent_div_11_Template","AccessComponent_div_17_Template","AccessComponent_div_19_Template","AccessComponent_div_21_Template","AccessComponent_div_23_Template","AccessComponent_div_25_Template","send_component_1","s_r8","removePassword","SendComponent_table_84_tr_4_i_6_Template","SendComponent_table_84_tr_4_i_8_Template","editSend","SendComponent_table_84_tr_4_ng_container_17_Template","SendComponent_table_84_tr_4_ng_container_19_Template","SendComponent_table_84_tr_4_ng_container_21_Template","SendComponent_table_84_tr_4_ng_container_23_Template","SendComponent_table_84_tr_4_ng_container_25_Template","SendComponent_table_84_tr_4_a_52_Template","maxAccessCountReached","expired","pendingDelete","deletionDate","disableSend","SendComponent_table_84_tr_4_Template","filteredSends","addSend","SendComponent_div_86_ng_container_2_Template","SendComponent_div_86_ng_container_4_Template","SendComponent","sendService","sendAddEditModalRef","onSavedSend","onDeletedSend","SendComponent_div_2_Template","SendComponent_ng_container_69_Template","SendComponent_table_84_Template","SendComponent_div_86_Template","SendComponent_ng_template_91_Template","o_r23","typeChanged","ctx_r22","AddEditComponent_div_20_div_20_div_8_Template","AddEditComponent_div_20_ng_container_26_div_4_Template","AddEditComponent_div_20_ng_container_26_div_6_Template","link","ctx_r34","o_r41","military","standard","safariDeletionTime","AddEditComponent_div_20_ng_template_68_div_3_select_4_option_2_Template","ctx_r38","safariDeletionTimeOptions","deletionTimeFallback","_r47","deletionDateFallback","AddEditComponent_div_20_ng_template_68_div_3_select_4_Template","AddEditComponent_div_20_ng_template_68_div_3_input_6_Template","ctx_r35","isSafari","AddEditComponent_div_20_ng_template_68_ng_container_1_Template","AddEditComponent_div_20_ng_template_68_div_3_Template","isDateTimeLocalSupported","o_r50","AddEditComponent_div_20_div_71_ng_container_7_ng_container_2_Template","deletionDateSelect","AddEditComponent_div_20_div_71_option_4_Template","AddEditComponent_div_20_div_71_ng_container_7_Template","deletionDateOptions","AddEditComponent_div_20_div_73_ng_container_2_Template","clearExpiration","_r60","ctx_r57","o_r64","_r66","safariExpirationTime","AddEditComponent_div_20_ng_template_91_div_3_select_4_option_2_Template","safariExpirationTimeOptions","_r68","expirationTimeFallback","_r70","expirationDateFallback","expirationDateFallbackChanged","AddEditComponent_div_20_ng_template_91_div_3_select_4_Template","AddEditComponent_div_20_ng_template_91_div_3_input_6_Template","ctx_r58","AddEditComponent_div_20_ng_template_91_ng_container_1_Template","AddEditComponent_div_20_ng_template_91_div_3_Template","o_r74","AddEditComponent_div_20_div_94_ng_container_7_ng_container_2_Template","_r77","expirationDateSelect","AddEditComponent_div_20_div_94_option_4_Template","AddEditComponent_div_20_div_94_ng_container_7_Template","expirationDateOptions","AddEditComponent_div_20_div_96_ng_container_2_Template","_r80","accessCount","_r82","AddEditComponent_div_20_div_20_Template","AddEditComponent_div_20_ng_container_23_Template","AddEditComponent_div_20_ng_container_26_Template","AddEditComponent_div_20_div_32_Template","copyLink","toggleOptions","AddEditComponent_div_20_ng_template_68_Template","AddEditComponent_div_20_div_71_Template","AddEditComponent_div_20_div_73_Template","AddEditComponent_div_20_a_88_Template","AddEditComponent_div_20_ng_template_91_Template","AddEditComponent_div_20_div_94_Template","AddEditComponent_div_20_div_96_Template","maxAccessCount","AddEditComponent_div_20_div_119_Template","AddEditComponent_div_20_label_126_Template","AddEditComponent_div_20_label_128_Template","togglePasswordVisible","hasPassword","_r93","_r91","AddEditComponent_div_32_button_2_Template","datePipe","copyLinkToClipboard","DatePipe","AddEditComponent_button_26_Template","AddEditComponent_div_32_Template","SendView","accessId","deauthorize_sessions_component_1","delete_account_component_1","deauthorizeSessions","deauthModalRef","DeauthorizeSessionsComponent","deleteAccount","DeleteAccountComponent","viewUserApiKey","viewUserApiKeyModalRef","postUserApiKey","rotateUserApiKey","rotateUserApiKeyModalRef","postUserRotateApiKey","AccountComponent_ng_template_84_Template","AccountComponent_ng_template_87_Template","AccountComponent_ng_template_90_Template","AccountComponent_ng_template_93_Template","AccountComponent_ng_template_96_Template","postSecurityStamp","updateProfileRequest_1","profile","ProfileComponent_form_2_p_44_Template","_r2","ProfileComponent","getProfile","UpdateProfileRequest","putProfile","ProfileComponent_div_0_Template","ProfileComponent_form_2_Template","emailRequest_1","emailTokenRequest_1","newEmail","reset","ChangeEmailComponent","tokenSent","EmailTokenRequest","postEmailToken","EmailRequest","newKey","newMasterPasswordHash","newEncKey","postEmail","ChangeEmailComponent_ng_container_27_Template","ChangeEmailComponent_span_34_Template","ChangeEmailComponent_span_36_Template","ChangeEmailComponent_button_39_Template","change_password_component_1","emergencyAccessStatusType_1","cipherWithIdRequest_1","emergencyAccessUpdateRequest_1","folderWithIdRequest_1","passwordRequest_1","updateKeyRequest_1","ChangePasswordComponent_app_callout_4_li_5_Template","ChangePasswordComponent_app_callout_4_li_7_Template","ChangePasswordComponent_app_callout_4_li_9_Template","ChangePasswordComponent_app_callout_4_li_11_Template","ChangePasswordComponent_app_callout_4_li_13_Template","ChangePasswordComponent_app_callout_4_li_15_Template","rotateEncKey","rotateEncKeyClicked","currentMasterPassword","PasswordRequest","postPassword","updateKey","getPrivateKey","encPrivateKey","UpdateKeyRequest","FolderWithIdRequest","postAccountKey","updateEmergencyAccesses","getEmergencyAccessTrusted","emergencyAccess","allowedStatuses","EmergencyAccessStatusType","RecoveryInitiated","RecoveryApproved","filteredAccesses","filteredAccesses_1","granteeId","encryptedKey","updateRequest","EmergencyAccessUpdateRequest","waitTimeDays","keyEncrypted","putEmergencyAccess","ChangePasswordComponent_app_callout_4_Template","kdfRequest_1","kdfType_1","o_r2","ChangeKdfComponent","PBKDF2_SHA256","kdfOptions","KdfRequest","postAccountKdf","ChangeKdfComponent_option_40_Template","organization_plans_component_1","CreateOrganizationComponent","orgPlansComponent","EnterpriseAnnually","updateDomainsRequest_1","i_r7","custom","DomainRulesComponent_ng_container_20_div_2_Template","indexTrackBy","d_r14","toggleExcluded","DomainRulesComponent_table_38_tr_4_a_17_Template","DomainRulesComponent_table_38_tr_4_a_19_Template","customize","excluded","domains","DomainRulesComponent_table_38_tr_4_Template","DomainRulesComponent","getSettingsDomains","equivalentDomains","globalEquivalentDomains","globalDomain","UpdateDomainsRequest","excludedGlobalEquivalentDomains","d2","putSettingsDomains","DomainRulesComponent_p_18_Template","DomainRulesComponent_ng_container_20_Template","DomainRulesComponent_p_36_Template","DomainRulesComponent_table_38_Template","o_r3","OptionsComponent","vaultTimeout","vaultTimeoutAction","vaultTimeouts","localeOptions","supportedTranslationLocales","locale","localeNames","_h","disableIcons","enableGravatars","enableFullWidth","_g","startingLocale","setVaultTimeoutOptions","vaultTimeoutActionChanged","newValue","OptionsComponent_option_25_Template","OptionsComponent_option_89_Template","LinkSsoComponent","ngAfterContentInit","premiumPrice","PremiumComponent","getPremium","getEmailVerified","finalizePremium","postPremium","paymentResponse","PremiumComponent_app_callout_7_Template","PremiumComponent_a_65_Template","PremiumComponent_ng_container_68_Template","PremiumComponent_form_70_Template","SettingsComponent_a_26_Template","SettingsComponent_a_28_Template","SettingsComponent_a_30_Template","UserSubscriptionComponent_ng_container_11_dl_6_dd_6_Template","UserSubscriptionComponent_ng_container_11_dl_6_dd_8_Template","i_r17","UserSubscriptionComponent_ng_container_11_div_8_div_29_tr_10_Template","UserSubscriptionComponent_ng_container_11_div_8_span_15_Template","UserSubscriptionComponent_ng_container_11_div_8_div_29_Template","UserSubscriptionComponent_ng_container_11_ng_container_10_div_13_Template","_r39","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_div_4_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_app_adjust_storage_6_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_button_4_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_button_6_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_Template","UserSubscriptionComponent_ng_container_11_app_callout_2_Template","UserSubscriptionComponent_ng_container_11_app_callout_4_Template","UserSubscriptionComponent_ng_container_11_dl_6_Template","UserSubscriptionComponent_ng_container_11_div_8_Template","UserSubscriptionComponent_ng_container_11_ng_container_10_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_Template","UserSubscriptionComponent","getUserSubscription","usingInAppPurchase","postReinstatePremium","postCancelPremium","UserSubscriptionComponent_small_5_Template","UserSubscriptionComponent_ng_container_9_Template","UserSubscriptionComponent_ng_container_11_Template","checkedUsername","breachedAccounts","d_r10","BreachReportComponent_div_41_ng_container_4_ul_6_li_2_li_22_Template","a_r8","logoPath","dataClasses","pwnCount","breachDate","addedDate","BreachReportComponent_div_41_ng_container_4_ul_6_li_2_Template","BreachReportComponent_div_41_ng_container_4_app_callout_2_Template","BreachReportComponent_div_41_ng_container_4_app_callout_4_Template","BreachReportComponent_div_41_ng_container_4_ul_6_Template","BreachReportComponent_div_41_p_2_Template","BreachReportComponent_div_41_ng_container_4_Template","BreachReportComponent","BreachReportComponent_div_41_Template","password_generator_component_1","password_generator_history_component_1","numWords","saveOptions","wordSeparator","lengthChanged","minNumber","minNumberChanged","minSpecialChanged","avoidAmbiguous","useUppercase","useLowercase","PasswordGeneratorComponent","history","historyModalRef","PasswordGeneratorHistoryComponent","PasswordGeneratorComponent_app_callout_7_Template","PasswordGeneratorComponent_ng_container_39_Template","PasswordGeneratorComponent_ng_container_41_Template","regenerate","PasswordGeneratorComponent_ng_template_66_Template","inEffect","h_r3","PasswordGeneratorHistoryComponent_ul_20_li_2_Template","PasswordGeneratorHistoryComponent_ul_20_Template","PasswordGeneratorHistoryComponent_div_22_Template","ToolsComponent_a_35_Template","ToolsComponent_span_66_Template","organizations_component_1","update_key_component_1","folder_add_edit_component_1","share_component_1","favorites","showVerifyEmail","showBrowserOutdated","showUpdateKey","showPremiumCallout","organizationsComponent","filterFavorites","filterFolder","shareCipher","shareModalRef","ShareComponent","onSharedCipher","folderAddEditModalRef","FolderAddEditComponent","onSavedFolder","loadFolders","onDeletedFolder","updateKeyModalRef","UpdateKeyComponent","VaultComponent_div_39_Template","VaultComponent_app_verify_email_41_Template","VaultComponent_div_45_Template","VaultComponent_div_47_Template","VaultComponent_ng_template_70_Template","VaultComponent_ng_template_73_Template","VaultComponent_ng_template_76_Template","VaultComponent_ng_template_79_Template","VaultComponent_ng_template_82_Template","VaultComponent_ng_template_85_Template","makeRequest","getKey","FolderAddEditComponent_button_47_Template","o_r10","c_r15","i_r16","ShareComponent_div_25_table_29_tr_4_Template","ShareComponent_div_25_option_14_Template","ShareComponent_div_25_div_24_Template","ShareComponent_div_25_div_27_Template","ShareComponent_div_25_table_29_Template","ShareComponent_small_12_Template","ShareComponent_div_23_Template","ShareComponent_div_25_Template","ShareComponent_button_29_Template","ShareComponent_a_31_Template","SendInfoComponent","VerifyEmailComponent","postAccountVerifyEmail","OrganizationGuardService","canActivate","permissions_1","OrganizationTypeGuardService","Permissions","AccessBusinessPortal","AccessEventLogs","AccessImportExport","AccessReports","ManageAllCollections","ManageAssignedCollections","ManageGroups","ManageOrganization","ManagePolicies","ManageUsers","UnauthGuardService","isLocked","AuthGuardService","routerState","promptBiometric","data_1","domain_1","emergency_access_attachments_component_1","emergency_add_edit_component_1","viewAttachments","EmergencyAccessViewComponent_ng_container_9_tr_6_ng_container_13_Template","EmergencyAccessViewComponent_ng_container_9_tr_6_ng_container_15_Template","EmergencyAccessViewComponent_ng_container_9_tr_6_div_25_Template","EmergencyAccessViewComponent_ng_container_9_tr_6_Template","EmergencyAccessViewComponent","EmergencyAddEditComponent","postEmergencyAccessView","EmergencyAccessAttachmentsComponent","decCiphers","rsaDecrypt","oldKeyBuffer","oldEncKey","cipherResponse","cipherData","getLocaleSortingFunction","EmergencyAccessViewComponent_ng_container_9_Template","EmergencyAccessViewComponent_ng_template_12_Template","EmergencyAccessViewComponent_ng_template_15_Template","EncryptedObject","EnvironmentUrls","GeneratedPasswordHistory","EmergencyAccessAttachmentsComponent_table_25_tr_4_i_4_Template","EmergencyAccessAttachmentsComponent_table_25_tr_4_i_6_Template","EmergencyAccessAttachmentsComponent_table_25_tr_4_div_16_Template","EmergencyAccessAttachmentsComponent_table_25_tr_4_td_23_Template","EmergencyAccessAttachmentsComponent_table_25_tr_4_Template","EmergencyAccessAttachmentsComponent_small_12_Template","EmergencyAccessAttachmentsComponent_table_25_Template","EmergencyAccessAttachmentsComponent_div_27_Template","EmergencyAccessAttachmentsComponent_button_32_Template","EmergencyAddEditComponent_div_20_div_4_option_10_Template","EmergencyAddEditComponent_div_20_div_17_option_8_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_26_a_2_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_a_5_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_a_7_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_option_49_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_button_52_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_14_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_26_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_66_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_Template","EmergencyAddEditComponent_div_20_ng_container_21_a_72_Template","EmergencyAddEditComponent_div_20_ng_container_24_option_21_Template","EmergencyAddEditComponent_div_20_ng_container_24_option_57_Template","EmergencyAddEditComponent_div_20_ng_container_27_option_12_Template","EmergencyAddEditComponent_div_20_div_42_div_2_div_28_Template","EmergencyAddEditComponent_div_20_div_42_div_2_div_30_Template","EmergencyAddEditComponent_div_20_div_42_div_2_input_34_Template","EmergencyAddEditComponent_div_20_div_42_div_2_button_37_Template","EmergencyAddEditComponent_div_20_div_42_div_2_button_39_Template","EmergencyAddEditComponent_div_20_div_42_div_2_Template","EmergencyAddEditComponent_div_20_div_46_option_10_Template","EmergencyAddEditComponent_div_20_ng_container_48_option_16_Template","EmergencyAddEditComponent_div_20_ng_container_50_ng_container_8_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_50_div_6_Template","EmergencyAddEditComponent_div_20_ng_container_50_ng_container_8_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_16_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_12_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_14_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_16_Template","EmergencyAddEditComponent_div_20_app_callout_2_Template","EmergencyAddEditComponent_div_20_div_4_Template","EmergencyAddEditComponent_div_20_div_17_Template","EmergencyAddEditComponent_div_20_ng_container_21_Template","EmergencyAddEditComponent_div_20_ng_container_24_Template","EmergencyAddEditComponent_div_20_ng_container_27_Template","EmergencyAddEditComponent_div_20_div_42_Template","EmergencyAddEditComponent_div_20_a_44_Template","EmergencyAddEditComponent_div_20_div_46_Template","EmergencyAddEditComponent_div_20_ng_container_48_Template","EmergencyAddEditComponent_div_20_ng_container_50_Template","EmergencyAddEditComponent_div_20_ng_container_52_Template","EmergencyAddEditComponent_div_30_button_2_Template","EmergencyAddEditComponent_div_30_button_4_Template","EmergencyAddEditComponent_div_20_Template","EmergencyAddEditComponent_button_24_Template","EmergencyAddEditComponent_div_30_Template","emergencyAccessType_1","emergencyAccessConfirmRequest_1","emergencyAccessResponse_1","emergency_access_add_edit_component_1","emergency_access_confirm_component_1","emergency_access_takeover_component_1","approve","EmergencyAccessComponent_table_35_tr_4_span_12_Template","EmergencyAccessComponent_table_35_tr_4_span_14_Template","EmergencyAccessComponent_table_35_tr_4_span_16_Template","EmergencyAccessComponent_table_35_tr_4_span_18_Template","EmergencyAccessComponent_table_35_tr_4_span_20_Template","EmergencyAccessComponent_table_35_tr_4_span_22_Template","EmergencyAccessComponent_table_35_tr_4_small_24_Template","EmergencyAccessComponent_table_35_tr_4_a_39_Template","EmergencyAccessComponent_table_35_tr_4_a_41_Template","EmergencyAccessComponent_table_35_tr_4_a_43_Template","EmergencyAccessComponent_table_35_tr_4_a_45_Template","emergencyAccessStatusType","emergencyAccessType","View","Takeover","EmergencyAccessComponent_table_35_tr_4_Template","trustedContacts","c_r45","requestAccess","_r63","takeover","EmergencyAccessComponent_table_46_tr_4_span_12_Template","EmergencyAccessComponent_table_46_tr_4_span_14_Template","EmergencyAccessComponent_table_46_tr_4_span_16_Template","EmergencyAccessComponent_table_46_tr_4_span_18_Template","EmergencyAccessComponent_table_46_tr_4_span_20_Template","EmergencyAccessComponent_table_46_tr_4_span_22_Template","EmergencyAccessComponent_table_46_tr_4_small_24_Template","EmergencyAccessComponent_table_46_tr_4_a_39_Template","EmergencyAccessComponent_table_46_tr_4_a_41_Template","EmergencyAccessComponent_table_46_tr_4_a_43_Template","EmergencyAccessComponent_table_46_tr_4_Template","grantedContacts","EmergencyAccessComponent","EmergencyAccessType","isOrganizationOwner","getEmergencyAccessGranted","EmergencyAccessAddEditComponent","emergencyAccessId","onSaved","contact","postEmergencyAccessReinvite","childComponent_1","EmergencyAccessConfirmComponent","onConfirmed","deleteEmergencyAccess","EmergencyAccessGranteeDetailsResponse","removeGrantee","removeGrantor","postEmergencyAccessInitiate","postEmergencyAccessApprove","postEmergencyAccessReject","EmergencyAccessTakeoverComponent","takeoverModalRef","onDone","EmergencyAccessConfirmRequest","postEmergencyAccessConfirm","EmergencyAccessComponent_p_15_Template","EmergencyAccessComponent_a_22_Template","EmergencyAccessComponent_table_35_Template","EmergencyAccessComponent_p_37_Template","EmergencyAccessComponent_table_46_Template","EmergencyAccessComponent_p_48_Template","EmergencyAccessComponent_ng_template_50_Template","EmergencyAccessComponent_ng_template_53_Template","EmergencyAccessComponent_ng_template_56_Template","cipherResponse_1","creationDate","EmergencyAccessGrantorDetailsResponse","grantorId","EmergencyAccessTakeoverResponse","EmergencyAccessViewResponse","emergencyAccessInviteRequest_1","o_r13","EmergencyAccessAddEditComponent_div_26_ng_container_2_Template","waitTime","EmergencyAccessAddEditComponent_div_26_option_48_Template","waitTimes","getEmergencyAccess","EmergencyAccessInviteRequest","postEmergencyAccessInvite","EmergencyAccessAddEditComponent_span_11_Template","EmergencyAccessAddEditComponent_small_13_Template","EmergencyAccessAddEditComponent_div_24_Template","EmergencyAccessAddEditComponent_div_26_Template","EmergencyAccessAddEditComponent_i_33_Template","EmergencyAccessAddEditComponent_span_35_Template","EmergencyAccessAddEditComponent_button_44_Template","EmergencyAccessConfirmComponent_small_12_Template","emergencyAccessPasswordRequest_1","EmergencyAccessTakeoverComponent_app_callout_29_li_5_Template","EmergencyAccessTakeoverComponent_app_callout_29_li_7_Template","EmergencyAccessTakeoverComponent_app_callout_29_li_9_Template","EmergencyAccessTakeoverComponent_app_callout_29_li_11_Template","EmergencyAccessTakeoverComponent_app_callout_29_li_13_Template","EmergencyAccessTakeoverComponent_app_callout_29_li_15_Template","getEmergencyGrantorPolicies","policyResponse","postEmergencyAccessTakeover","takeoverResponse","EmergencyAccessPasswordRequest","postEmergencyAccessPassword","EmergencyAccessTakeoverComponent_small_12_Template","EmergencyAccessTakeoverComponent_app_callout_29_Template","apiKeyResponse_1","billingResponse_1","breachAccountResponse_1","collectionResponse_1","domainsResponse_1","eventResponse_1","folderResponse_1","groupResponse_1","identityTokenResponse_1","identityTwoFactorResponse_1","listResponse_1","organizationResponse_1","organizationSubscriptionResponse_1","organizationUserResponse_1","paymentResponse_1","planResponse_1","policyResponse_1","preloginResponse_1","profileResponse_1","selectionReadOnlyResponse_1","sendAccessResponse_1","sendFileDownloadDataResponse_1","sendResponse_1","subscriptionResponse_1","syncResponse_1","taxInfoResponse_1","taxRateResponse_1","twoFactorAuthenticatorResponse_1","twoFactorDuoResponse_1","twoFactorEmailResponse_1","twoFactorProviderResponse_1","twoFactorRescoverResponse_1","twoFactorU2fResponse_1","twoFactorYubiKeyResponse_1","userKeyResponse_1","logoutCallback","customUserAgent","urlsSet","isWebClient","isDesktopClient","usingBaseUrl","device","getDevice","setUrls","urls","apiBaseUrl","eventsBaseUrl","api","headers","Headers","Content-Type","Accept","Device-Type","qsStringify","toIdentityToken","identityClientId","credentials","getCredentials","isJsonResponse","IdentityTokenResponse","TwoFactorProviders2","clearTwoFactorToken","IdentityTwoFactorResponse","doRefreshToken","BillingResponse","SubscriptionResponse","TaxInfoResponse","PreloginResponse","setPassword","getAccountRevisionDate","postPasswordHint","postRegister","PaymentResponse","postIapCheck","postAccountVerifyPassword","ApiKeyResponse","getFolder","FolderResponse","postFolder","putFolder","deleteFolder","getSend","SendResponse","apiUrl","SendAccessResponse","SendFileDownloadDataResponse","getSends","ListResponse","postSend","postSendFile","putSend","putSendRemovePassword","deleteSend","getCipher","getCiphersOrganization","postCipher","postCipherCreate","putCipher","deleteManyCiphers","putMoveCiphers","putShareCipher","putShareCiphers","putCipherCollections","path","postImportCiphers","postImportOrganizationCiphers","putDeleteCipher","putDeleteManyCiphers","putRestoreCipher","putRestoreCipherAdmin","putRestoreManyCiphers","postCipherAttachment","postCipherAttachmentAdmin","postShareCipherAttachment","CollectionGroupDetailsResponse","CollectionResponse","dr","deleteCollectionUser","GroupDetailsResponse","GroupResponse","deleteGroupUser","PolicyResponse","OrganizationUserDetailsResponse","OrganizationUserUserDetailsResponse","PlanResponse","postImportDirectory","TaxRateResponse","DomainsResponse","getSync","SyncResponse","TwoFactorProviderResponse","TwoFactorAuthenticatorResponse","TwoFactorEmailResponse","TwoFactorDuoResponse","TwoFactorYubiKeyResponse","TwoFactorU2fResponse","ChallengeResponse","TwoFactorRecoverResponse","postTwoFactorEmail","OrganizationResponse","OrganizationSubscriptionResponse","getEvents","addEventParameters","EventResponse","postEventsCollect","getActiveBearerToken","authHeader","Authorization","UserKeyResponse","getHibpBreach","BreachAccountResponse","getToken","tokenNeedsRefresh","nativeFetch","handleError","hasResponse","requestInit","tokenError","isTextResponse","Message","getRefreshToken","decodedToken","decodeToken","grant_type","client_id","refresh_token","typeHeader","CollectionDetailsResponse","globalDomainResponse_1","GlobalDomainResponse","businessAddress1","businessAddress2","businessAddress3","businessCountry","businessTaxNumber","maxAdditionalStorage","hasEvents","has2fa","upgradeSortOrder","displaySortOrder","stripePlanId","stripeSeatPlanId","stripeStoragePlanId","stripePremiumAccessPlanId","BillingSubscriptionResponse","BillingSubscriptionUpcomingInvoiceResponse","trialEndDate","periodStartDate","periodEndDate","cancelledDate","BillingSubscriptionItemResponse","sendFileApi_1","sendTextApi_1","makeAndGetAppId","getAnonymousAppId","existingId","guid","throttle_1","hashStart","hashEnding","leakedHashes","v","__decorate","throttle","cipherBulkMoveRequest_1","cipherBulkRestoreRequest_1","cipherBulkShareRequest_1","cipherShareRequest_1","sortedCiphersCache_1","sequentialize_1","Keys","DomainMatchBlacklist","Set","settingsService","sortedCiphersCache","SortedCiphersCache","sortCiphersByLastUsed","_decryptedCipherCache","clearIndex","indexCiphers","clearCache","decryptedCipherCache","existingCipher","existingHiddenFields","hiddenFields_1","ef","matchedField","encryptObjProperty","encryptCipherData","encryptFields","encryptPasswordHistories","encryptAttachments","attachmentsModel","encAttachments","fieldsModel","encFields","encryptField","encField","fieldModel","phModels","encPhs","encryptPasswordHistory","encPh","phModel","getAllDecryptedForGrouping","groupingId","getAllDecryptedForUrl","includeOtherTypes","defaultMatch","eqDomainsPromise","getEquivalentDomains","eqDomains","matches","eqDomain","matchingDomains","domainUrlHost","Host","urlHost","Exact","StartsWith","Never","decCiphers_1","promises_1","getLastUsedForUrl","getCipherForUrl","getLastLaunchedForUrl","getNextCipherForUrl","updateLastUsedIndexForUrl","updateLastUsedIndex","updateLastUsedDate","ciphersLocalData","cached","updateLastLaunchedDate","lastLaunched","saveNeverDomain","saveWithServer","upsert","shareWithServer","attachmentPromises","shareAttachmentWithServer","encCipher","CipherShareRequest","encCiphers","ciphers_1","CipherBulkShareRequest","unencryptedFile","readAsArrayBuffer","cData","filename","encFileName","dataEncKey","encryptToBytes","encData","blob","Blob","filepath","contentType","saveCollectionsWithServer","CipherBulkMoveRequest","deleteAttachment","e_3","aLastUsed","bLastUsed","bothNotNull","sortCiphersByLastUsedThenName","aName","bName","softDelete","setDeletedDate","clearDeletedDate","constructor","CipherBulkRestoreRequest","restores","attachmentView","attachmentResponse","e_4","theObj","modelProp","lastUsed","isCached","addCiphers","getLastLaunched","getLastUsed","getNext","sequentialize","propertyKey","descriptor","originalMethod","caches","args","arguments","getCache","argsCacheKey","onFinally","serviceUtils_1","decryptedCollectionCache","decCollections","nodes","collectionCopy","ServiceUtils","nestedTraverse","getNested","getTreeNodeObject","treeNode_1","nodeTree","partIndex","delimiter","partName","TreeNode","newPartName","ContainerService","attachToWindow","attachToGlobal","bigInt","encryptedObject_1","wordlist_1","secureStorageService","platformUtilService","option","biometric","supportsSecureStorage","keyHash","setOrgKeys","orgKeys","getKeyHash","encKeyCipher","decEncKey","stretchKey","getPublicKey","rsaExtractPublicKey","keyFingerprint","hkdfExpand","userFingerprint","hashPhrase","getOrgKeys","encOrgKeys","clearKey","legacyEtmKey","clearKeyHash","clearEncKey","memoryOnly","clearKeyPair","clearOrgKeys","clearPinProtectedKey","clearKeys","toggleKey","salt","makeKeyFromPin","pin","protectedKeyCs","makePinKey","pinKey","randomBytes","rsaGenerateKeyPair","publicB64","privateEnc","keyMaterial","hkdf","sendKey","getKeyForEncryption","theKey","buildEncKey","plainValue","plainBuf","aesEncrypt","encObj","encValue","macLen","encBytes","Rsa2048_OaepSha256_HmacSha256_B64","Rsa2048_OaepSha1_HmacSha256_B64","alg","cipherString","aesDecryptToBytes","decipher","aesDecryptToUtf8","encBuf","ctBytes","ivBytes","macBytes","randomNumber","min","rval","range","bitsNeeded","ceil","log2","bytesNeeded","mask","pow","byteArray","macData","hmac","keyForEnc","resolveLegacyKey","fastParams","aesDecryptFastParameters","hmacFast","computedMac","compareFast","aesDecryptFast","aesDecrypt","minimumEntropy","entropyPerWord","EEFLongWordList","hashArr","entropyAvailable","phrase","hashNumber","fromArray","remainder","divide","encKeyEnc","environmentUrls_1","notificationsService","getWebVaultUrl","webVaultUrl","setUrlsFromStorage","urlsObj","icons","notifications","webVault","enterprise","envUrls","identityUrl","notificationsUrl","eventsUrl","formatUrl","folderData_1","folder_1","folderRequest_1","decryptedFolderCache","decFolders","noneFolder","folderCopy","cId","updates","systemLanguage","localesDirectory","getLocalesJson","defaultMessages","localeMessages","translationLocale","Intl","Collator","numeric","sensitivity","loadMessages","translate","messagesObj","formattedLocale","locales","placeholders","placeProp","replaceToken","replaceContent","zxcvbn","generatedPasswordHistory_1","passwordGeneratorPolicyOptions_1","DefaultOptions","ambiguous","minUppercase","minLowercase","generatePassphrase","sanitizePasswordLength","positions","shuffleArray","allCharSet","lowercaseCharSet","uppercaseCharSet","numberCharSet","specialCharSet","positionChars","randomCharIndex","listLength","wordList","wordIndex","appendRandomNumberToRandomWord","optionsCache","enforcePasswordGeneratorPoliciesOnOptions","enforcedOptions","getPasswordGeneratorPolicyOptions","numberCount","specialCount","PasswordGeneratorPolicyOptions","currentPolicy","getHistory","encrypted","decryptHistory","addHistory","currentHistory","matchesPrevious","unshift","now","encryptHistory","newHistory","userInputs","globalUserInputs","finalUserInputs","normalizeOptions","decrypted","array","forGeneration","minUppercaseCalc","minLowercaseCalc","minNumberCalc","minSpecialCalc","settingsCache","getSettingsKey","setEquivalentDomains","setSettingsKey","getSettings","settings","purge","organizationData_1","sendData_1","syncInProgress","getLastSync","lastSync","setLastSync","toJSON","forceSync","allowThrowOnError","syncStarted","syncCompleted","needsSync","needsSyncing","syncProfile","syncFolders","syncCollections","syncCiphers","syncSends","sends","syncSettings","syncPolicies","syncUpsertFolder","notification","isEdit","localFolder","remoteFolder","syncDeleteFolder","syncUpsertCipher","shouldUpdate","localCipher","checkCollections","remoteCipher","syncDeleteCipher","syncUpsertSend","localSend","remoteSend","SendData","syncDeleteSend","getSecurityStamp","stamp","setSecurityStamp","OrganizationData","replaceOrganizations","sendFileData_1","sendTextData_1","SendTextData","SendFileData","setToken","setRefreshToken","skipTokenStorage","toggleTokens","clearToken","decoded","getTokenExpirationDate","setUTCSeconds","tokenSecondsRemaining","offsetSeconds","msRemaining","valueOf","minutes","email_verified","getIssuer","iss","B32Chars","SteamChars","period","digits","keyB32","isOtpAuth","isSteamAuth","digitParams","periodParam","algParam","timeHex","leftPad","decToHex","timeBytes","keyBytes","b32ToBytes","sign","offset","otp","fullCode","trunc","isAutoCopyEnabled","b32ToHex","cleanedInput","bits","hex","byteIndex","chunk","signature","organization_1","clearOrganizations","lockedCallback","loggedOutCallback","checkOnInterval","startCheck","checkVaultTimeout","isBiometricLockSet","isViewOpen","lockTimeout","lastActive","vaultTimeoutSeconds","allowSoftLock","isPinLockSet","logLevelType_1","hrtime","timersMap","debug","LogLevelType","Debug","info","Info","Warning","level","warn","time","timeEnd","elapsed","CipherWithIds","build","CollectionWithId","FolderWithId","importResult_1","baseImporter_1","cipherImportContext_1","IgnoredProperties","OnePasswordCsvImporter","loginPropertyParsers","setLoginUsername","setLoginPassword","setLoginUris","creditCardPropertyParsers","setCreditCardNumber","setCreditCardVerification","setCreditCardCardholderName","setCreditCardExpiry","identityPropertyParsers","setIdentityFirstName","setIdentityInitial","setIdentityLastName","setIdentityUserName","setIdentityEmail","setIdentityPhone","setIdentityCompany","quoteChar","escapeChar","getProp","setNotes","setCipherType","altUsername","context","CipherImportContext","setKnownLoginValue","setKnownCreditCardValue","setKnownIdentityValue","setUnknownValue","entries","agg","entry","getPropByRegexp","regexp","matchingKeys","getPropIncluding","includesMap","importRecord","func","lowerProperty","readableDate","toUTCString","view_1","NotificationType","enableProdMode","__NgCli_bootstrap_2","platformBrowser","bootstrapModule","__NgCli_bootstrap_1","AppModule","preserveWhitespaces","angular2_toaster_1","angulartics2_1","ngx_infinite_scroll_1","app_routing_module_1","drag_drop_1","platform_browser_1","animations_1","services_module_1","app_component_1","avatar_component_1","password_strength_component_1","footer_component_1","frontend_layout_component_1","navbar_component_1","organization_layout_component_1","user_layout_component_1","accept_emergency_component_1","accept_organization_component_1","recover_delete_component_1","recover_two_factor_component_1","verify_email_token_component_1","verify_recover_delete_component_1","events_component_1","groups_component_1","manage_component_1","people_component_1","policies_component_1","account_component_1","adjust_seats_component_1","change_plan_component_1","download_license_component_1","organization_billing_component_1","organization_subscription_component_1","settings_component_1","tools_component_1","collections_component_2","vault_component_1","access_component_1","account_component_2","add_credit_component_1","adjust_payment_component_1","adjust_storage_component_1","change_email_component_1","change_kdf_component_1","create_organization_component_1","domain_rules_component_1","emergency_access_view_component_1","emergency_access_component_1","link_sso_component_1","options_component_1","premium_component_1","profile_component_1","settings_component_2","two_factor_setup_component_2","two_factor_verify_component_1","update_license_component_1","user_subscription_component_1","verify_email_component_1","breach_report_component_1","export_component_2","exposed_passwords_report_component_2","import_component_2","inactive_two_factor_report_component_2","reused_passwords_report_component_2","tools_component_2","unsecured_websites_report_component_2","weak_passwords_report_component_2","add_edit_component_3","attachments_component_2","bulk_actions_component_1","ciphers_component_2","collections_component_3","groupings_component_2","send_info_component_1","vault_component_2","callout_component_1","icon_component_1","a11y_title_directive_1","api_action_directive_1","autofocus_directive_1","blur_click_directive_1","box_row_directive_1","fallback_src_directive_1","input_verbatim_directive_1","select_copy_directive_1","stop_click_directive_1","stop_prop_directive_1","true_false_value_directive_1","color_password_pipe_1","i18n_pipe_1","search_ciphers_pipe_1","search_pipe_1","common_1","ca_1","cs_1","da_1","de_1","el_1","en_GB_1","es_1","et_1","fr_1","he_1","it_1","ja_1","ko_1","lv_1","ml_1","nb_1","nl_1","pl_1","pt_1","pt_PT_1","ru_1","sk_1","sv_1","uk_1","zh_Hans_1","zh_Hant_1","registerLocaleData","bootstrap","AppComponent","imports","BrowserModule","BrowserAnimationsModule","FormsModule","AppRoutingModule","ServicesModule","Angulartics2Module","forRoot","pageTracking","clearQueryParams","ToasterModule","InfiniteScrollModule","DragDropModule","declarations","BlurClickDirective","BoxRowDirective","SearchCiphersPipe","organization_guard_service_1","organization_type_guard_service_1","unauth_guard_service_1","auth_guard_service_1","routes","pathMatch","redirectTo","RouterModule","useHash","paramsInheritanceStrategy","subscribers","messageCallback","passwordHintRequest_1","PasswordHintRequest","pinLock","invalidPinAttempts","pinSet","supportsBiometric","biometricLock","vaultUrl","failed","decPin","setKeyAndContinue","passwordValid","storedKeyHash","unlockBiometric","authenticateBiometric","doContinue","launchSsoBrowser","ssoRedirectUri","ssoCodeVerifier","webUrl","registerRequest_1","useLowerKdf","isIE","RegisterRequest","confirmField","setPasswordRequest_1","SetPasswordRequest","orgIdentifier","onSuccessfulChangePassword","backdrop","className","addEventListener","modals_1","DuoWebSDK","u2f_1","initU2f","loginRoute","authing","needsLock","customWebVaultUrl","cleanupU2f","providerData","Challenge","challenges","Challenges","keyHandle","iframe","sig_request","Signature","submit_callback","sig","stop","doToast","cleanup","getDeviceString","pushToken","codes","client_secret","code_verifier","redirect_uri","deviceIdentifier","deviceName","twoFactorRemember","errorCallback","infoCallback","parseFunction","parseMessage","connectorLink","base64Encode","sendMessage","contentWindow","postMessage","removeEventListener","validMessage","warningDialog","downloadFile","encryptedFormat","getExport","extension","csv","onCancelled","onEditAttachments","onShareCipher","onEditCollections","onGeneratePassword","currentDate","myEmail","policies_1","addEditCipherInfo","previousCipherId","editCollections","restorePromise","restoreCipher","toggleUriOptions","moveItemInArray","previousIndex","currentIndex","activeCipherId","onCipherClicked","onCipherRightClicked","onAddCipher","onAddCipherOptions","searchTimeout","pagedCiphersCount","refreshing","deletedFilter","searchCiphers","rightClickCipher","addCipherOptions","selectedCollectionIds","onAllClicked","onFavoritesClicked","onTrashClicked","onCipherTypeClicked","onFolderClicked","onAddFolder","onEditFolder","onCollectionClicked","setLoaded","collapsedGroupings","clearSelections","idPrefix","sendAccessView_1","sendFile_1","sendText_1","SendAccessView","hasSearched","onSuccessfulLoad","applyTextSearch","removePasswordWithServer","onSuccessfulRemovePassword","onSuccessfulDelete","sendLinkBaseUrl","urlB64Key","searchSends","DateField","sendView_1","premiumRequiredAlertShown","isFirefox","nullOrWhiteSpaceCount","formatDateFallbacks","loadSend","dateToString","deletionDateParts","dateToSplitString","expirationDateParts","safariTimeOptions","DeletionDate","ExpriationDate","deletionDateTimeFallback","expirationDateTimeFallback","setHours","encryptSend","encSend","sendData","dateString","strarray","noon","midnight","ams","pms","hour","midnightOption","noonOption","amOption","pmOption","validTimes","previousValue","showSelect","onSelected","optionsResponse","sliderChanged","sliderInput","copyOptions","cipherView","broadcasterMessaging_service_1","htmlStorage_service_1","memoryStorage_service_1","webPlatformUtils_service_1","event_service_1","router_service_1","validation_service_1","analytics_1","container_service_1","event_service_2","export_service_1","import_service_1","notifications_service_1","policy_service_1","send_service_1","webCryptoFunction_service_1","api_service_2","audit_service_2","auth_service_2","cipher_service_2","collection_service_2","crypto_service_2","cryptoFunction_service_1","environment_service_2","event_service_3","export_service_2","folder_service_2","i18n_service_2","import_service_2","notifications_service_2","passwordGeneration_service_2","policy_service_2","search_service_2","send_service_2","settings_service_2","state_service_2","sync_service_2","token_service_2","totp_service_2","user_service_2","vaultTimeout_service_2","language","BroadcasterMessagingService","WebPlatformUtilsService","HtmlStorageService","MemoryStorageService","WebCryptoFunctionService","consoleLogService","__generator","eventLoggingService","Analytics","initFactory","htmlEl","documentElement","theme","useValue","APP_INITIALIZER","useFactory","deps","LOCALE_ID","subscriber","arg","services_1","localStorageKeys","localStorageStartsWithKeys","memoryStorageStartsWithKeys","memoryStorage","isLocalStorage","localStorage","getItem","isMemoryStorage","sessionStorage","setItem","removeItem","swKey","BillingSourceResponse","BillingTransactionResponse","BillingInvoiceResponse","cardBrand","partiallyRefunded","refundedAmount","isActive","isVerified","modifiedDate","access_token","expiresIn","expires_in","tokenType","token_type","OrganizationUserResponse","userProfile","taxIdType","KeyResponse","limit","throttleKey","allThrottles","throttles","getThrottles","argsThrottleKey","queue","exec","comparator","sortedCiphersByUrl","timeouts","Ciphers","resetTimer","lastUsedIndex","y","getNextIndex","filePath","store","browserCache","chrome","isChrome","isEdge","isOpera","isVivaldi","isMacAppStore","analyticsId","rel","click","blobData","blobOptions","fileNameLower","doDownload","endsWith","msSaveOrOpenBlob","msSaveBlob","createObjectURL","position","confirmText","cancelText","bodyIsHtml","iconClasses","iconHtmlStr","showCancelButton","cancelButtonText","clipboardData","setData","queryCommandSupported","textarea","copyEl","contains","execCommand","readFromClipboard","getDefaultSystemTheme","onDefaultSystemThemeChange","GaObj","AnalyticsIds","gaFilter","dependencyResolver","gaTrackingId","defaultDisabled","appVersion","GoogleAnalyticsObject","param1","param2","ga","gaAnonAppId","gaTrackPageView","hitType","page","gaTrackEvent","XMLHttpRequest","eventCategory","eventAction","eventLabel","eventValue","cleanPagePath","pagePath","paramIndex","pathParts","newPathParts","eventData_1","eventRequest_1","uploadEvents","eventType","uploadImmediately","orgIds","eventCollection","EventData","EventRequest","clearEvents","cipherWithIds_1","collectionWithId_1","folderWithId_1","getEncryptedExport","getDecryptedExport","getOrganizationEncryptedExport","getOrganizationDecryptedExport","padNumber","getSeconds","foldersMap_1","exportCiphers_1","buildCommonCipher","unparse","jsonDoc_1","jsonDoc","collectionPromises","decCol","cipherPromises","decCipher","collectionsMap_1","exportCiphers_2","jsonDoc_2","padCharacter","numString","login_uri","login_username","login_password","login_totp","toView","toDomain","_j","_k","_l","_m","_o","_p","_q","_r","_s","_t","importCiphersRequest_1","importOrganizationCiphersRequest_1","kvpRequest_1","ascendoCsvImporter_1","avastCsvImporter_1","avastJsonImporter_1","aviraCsvImporter_1","bitwardenCsvImporter_1","bitwardenJsonImporter_1","blackBerryCsvImporter_1","blurCsvImporter_1","buttercupCsvImporter_1","chromeCsvImporter_1","clipperzHtmlImporter_1","codebookCsvImporter_1","dashlaneJsonImporter_1","encryptrCsvImporter_1","enpassCsvImporter_1","enpassJsonImporter_1","firefoxCsvImporter_1","fsecureFskImporter_1","gnomeJsonImporter_1","kasperskyTxtImporter_1","keepass2XmlImporter_1","keepassxCsvImporter_1","keeperCsvImporter_1","lastpassCsvImporter_1","logMeOnceCsvImporter_1","meldiumCsvImporter_1","msecureCsvImporter_1","mykiCsvImporter_1","onepassword1PifImporter_1","onepasswordMacCsvImporter_1","onepasswordWinCsvImporter_1","padlockCsvImporter_1","passkeepCsvImporter_1","passmanJsonImporter_1","passpackCsvImporter_1","passwordAgentCsvImporter_1","passwordBossJsonImporter_1","passwordDragonXmlImporter_1","passwordSafeXmlImporter_1","passwordWalletTxtImporter_1","rememBearCsvImporter_1","roboformCsvImporter_1","safeInCloudXmlImporter_1","saferpassCsvImport_1","secureSafeCsvImporter_1","splashIdCsvImporter_1","stickyPasswordXmlImporter_1","truekeyCsvImporter_1","upmCsvImporter_1","yotiCsvImporter_1","zohoVaultCsvImporter_1","getImportOptions","importResult","halfway","last","badData","postImport","errorResponse","error_1","handleServerError","getImporterInstance","BitwardenCsvImporter","BitwardenJsonImporter","LastPassCsvImporter","KeePassXCsvImporter","AviraCsvImporter","BlurCsvImporter","SafeInCloudXmlImporter","PadlockCsvImporter","KeePass2XmlImporter","ChromeCsvImporter","FirefoxCsvImporter","UpmCsvImporter","SaferPassCsvImporter","MeldiumCsvImporter","OnePassword1PifImporter","OnePasswordWinCsvImporter","OnePasswordMacCsvImporter","KeeperCsvImporter","PasswordDragonXmlImporter","EnpassCsvImporter","EnpassJsonImporter","PasswordSafeXmlImporter","DashlaneJsonImporter","MSecureCsvImporter","StickyPasswordXmlImporter","TrueKeyCsvImporter","ClipperzHtmlImporter","RoboFormCsvImporter","AscendoCsvImporter","PasswordBossJsonImporter","ZohoVaultCsvImporter","SplashIdCsvImporter","PassKeepCsvImporter","GnomeJsonImporter","PasswordAgentCsvImporter","PasspackCsvImporter","PassmanJsonImporter","AvastCsvImporter","AvastJsonImporter","FSecureFskImporter","KasperskyTxtImporter","RememBearCsvImporter","PasswordWalletTxtImporter","MykiCsvImporter","SecureSafeCsvImporter","LogMeOnceCsvImporter","BlackBerryCsvImporter","ButtercupCsvImporter","CodebookCsvImporter","EncryptrCsvImporter","YotiCsvImporter","ImportCiphersRequest","KvpRequest","request_2","ImportOrganizationCiphersRequest","itemType","Number","fieldLower","web","logins","custName","note","pwd","loginName","cards","holderName","cardNumber","cvv","website","secondary_username","col","addCollection","collectionIndex","delimPosition","parseEncrypted","parseDecrypted","groupingsMap","fav","extra","OfficialProps","processingCustomFields","currentVersion","actionType","labelLower","Category","Favorite","Entry","Note","Username","TOTP","Website","Phone","PIN","Account","HandledResults","ADDRESS","processAddress","AUTHENTIFIANT","processAuth","BANKSTATEMENT","processNote","IDCARD","PAYMENTMEANS_CREDITCARD","processCard","IDENTITY","processIdentity","credential","secondaryLogin","fullName","nameParts","pseudo","addressName","addressFull","zipcode","owner","nameProperty","Label","Notes","CVV","expiry","Expiry","expParts","firstRow","containsField","fieldValue","fieldName","fieldNameLower","foldersMap","foldersIndexMap","folderTree","buildFolderTree","flattenFolderTree","template_type","processLogin","sensitive","uuid","parent_uuid","titlePrefix","tree","creditNumber","creditCvv","creditExpiry","keyRing","display_name","secret","attributes","attr","username_value","notesData","applicationsData","websitesData","workingData","parseDataCategory","applications","websites","nameKey","itemComment","itemCommentKey","colonIndex","rootGroup","traverse","isRootNode","groupPrefixName","groupName","nameEl","cipherIndex","entryString","valueEl","keyEl","attrs","ProtectInMemory","Group","buildBaseCipher","parseSecureNote","parseCard","parseIdentity","ccnum","cardCipher","profilename","firstname","lastname","ccname","cccsc","ccexp","ccexpParts","middlename","zip","extraParts","processedNote","typeParts","mappedData","parseSecureNoteMapping","Name on Card","Security Code","Expiration Date","monthString","First Name","Last Name","Middle Name","Company","Address 1","Address 2","Address 3","City / Town","State","Zip / Postal Code","Country","Email Address","processingNotes","extraPart","DisplayName","UserName","Url","nickname","additionalInfo","twoFactAuthToken","cardName","exp_month","exp_year","firstAddressLine","secondAddressLine","zipCode","line","trashed","processStandardItem","processWinOpVaultItem","overview","URLs","urls_1","parsePasswordHistory","notesPlain","parseFields","sections","section","openContents","faveIndex","typeName","secureContents","urls_2","maxSize","designationKey","valueKey","fieldDesignation","street","onepasswordCsvImporter_1","setIdentityAddress","expSplit","tags","tag","getValue","custom_fields","customField","field_type","tagsJson","Tags","tagJson","__parsed_extra","fieldsJson","extraFields","fieldJson","newVersion","altFormat","login_url","identifiers","valObj","expDate","cf","records","record","categoryText","accountName","tagName","passwordSafe","notesDelimiter","getAttribute","groupText","trash","cardholder","verification","expiryMonth","expMonthNumber","expiryYear","expYearNumber","Name","Pwd","Rf_fields","labelEl","cardEl","labelIdEl","labelId","fieldEl","notesEl","Comment","parseFieldsToNotes","startIndex","loginNodes","loginNode","accountId","usernameText","passwordText","titleText","linkText","notesText","accountLogin","account","parentElement","buildGroupText","PropertiesToIgnore","memo","kind","expiryDate","document_content","ChamberName","parseData","SecretData","CustomData","signalR","signalRMsgPack","notificationType_1","notificationResponse_1","connected","inactive","reconnectTimer","signalrConnection","off","HubConnectionBuilder","withUrl","accessTokenFactory","skipNegotiation","transport","HttpTransportType","WebSockets","withHubProtocol","MessagePackHubProtocol","processNotification","NotificationResponse","onclose","reconnect","isAuthedAndUnlocked","updateConnection","sync","reconnectFromActivity","disconnectFromInactivity","contextId","payloadUserId","UserId","myUserId","SyncCipherCreate","SyncCipherUpdate","SyncCipherDelete","SyncLoginDelete","SyncFolderCreate","SyncFolderUpdate","SyncFolderDelete","SyncVault","SyncCiphers","SyncSettings","SyncOrgKeys","LogOut","SyncSendCreate","SyncSendUpdate","SyncSendDelete","SyncCipherNotification","SyncFolderNotification","UserNotification","SyncSendNotification","masterPasswordPolicyOptions_1","policyCache","MasterPasswordPolicyOptions","newPassword","toLocaleLowerCase","toLocaleUpperCase","lunr","indexing","builder","Builder","boost","extractor","uriExtractor","fieldExtractor","attachmentExtractor","isArray","every","getIndexForSearch","ciphersMap","searchResults","soWild_1","Query","wildcard","LEADING","TRAILING","q","tokenizer","term","joined","protocolIndex","queryIndex","sendRequest_1","send_1","decryptedSendCache","fileData","Send","cryptoKey","ArrayBuffer","encryptFileData","parseFile","decSends","SendRequest","name_2","encFileData","fileLength","forge","decryptParameters_1","crypto","subtle","ua","isOldSafari","algorithm","iterations","forgeLen","passwordBytes","toByteString","saltBytes","derivedKeyBytes","wcLen","passwordBuf","toBuf","saltBuf","pbkdf2Params","toWebCryptoAlgorithm","importKey","impKey","deriveBits","ikm","outputByteSize","infoBuf","hkdfParams","prk","hashLen","infoArr","runningOkmLength","previousT","okm","md","md5","sha1","valueBytes","update","digest","valueBuf","signingAlgorithm","mac1","mac2","arr1","arr2","getBytes","rand","Uint32Array","util","createBuffer","putInt32","DecryptParameters","meta","encKeyByteString","macKeyByteString","decode64","parameters","dataBuffer","createDecipher","finish","rsaParams","impPrivateKey","exportKey","jwkPrivateKey","jwkPublicKeyParams","kty","ext","impPublicKey","modulusLength","publicExponent","generateKey","getRandomValues","encodeUtf8","angulartics2GoogleAnalytics","toasterConfig","ToasterConfig","showCloseButton","mouseoverTimerStop","animation","lastActivity","idleTimer","isIdle","runOutsideAngular","onmousemove","recordActivity","onmousedown","ontouchstart","onclick","onscroll","onkeypress","setFullWidth","idleStateChanged","message_1","sanitize","SecurityContext","HTML","bodyOutputType","BodyOutputType","TrustedHtml","trustedHtml","Angulartics2GoogleAnalytics","i15","i16","i17","i18","i19","i20","i21","i22","i23","i24","i25","i26","blur","elRef","formEls","formEl","inputEl"],"mappings":"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QAGGr3I,EAAA9F,UAAAq6I,YAAd,SAA0B73I,EAAyBmzB,0GAE3C6nH,EAA0B,KACH,KAAvBh7I,EAAIA,IAAI2Q,WAAR,MACe,GAAM3P,KAAK20I,WAAW31I,WACzB,OADN4hH,EAASzvG,EAAAuH,OACH,GAAM1Y,KAAKilD,QAAQ9yB,EAAQyuF,kBAAvCo5B,EAAY7oI,EAAAuH,2BACkB,KAAvB1Z,EAAIA,IAAI2Q,WAAR,MACK,GAAM3P,KAAKilD,QAAQ9yB,EAAQnzB,kBAAvCg7I,EAAY7oI,EAAAuH,oBAEZ,MAAM,IAAI9V,MAAM,4BAEpB,SAAO,CAAC,IAAIqlE,EAAAphB,mBAAmB10B,GAAS6nH,UAjmB5C1P,EAAA,CADCO,EAAAmH,cAAc,WAAM,qEACA/pE,EAAAphB,mFA4ErByjF,EAAA,CADCO,EAAAmH,cAAc,WAAM,wIAwhBzB1vI,EA1rBA,GAAa3E,EAAA2E,+FC7BA3E,EAAA67I,gBAAkB,CAC3B,SACA,UACA,YACA,QACA,UACA,UACA,SACA,OACA,WACA,WACA,WACA,UACA,UACA,SACA,WACA,UACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,SACA,SACA,UACA,YACA,YACA,UACA,WACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,WACA,UACA,OACA,UACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,WACA,WACA,UACA,OACA,UACA,YACA,WACA,WACA,UACA,YACA,OACA,SACA,WACA,YACA,YACA,YACA,YACA,SACA,QACA,YACA,WACA,SACA,UACA,SACA,SACA,WACA,QACA,SACA,YACA,YACA,YACA,YACA,YACA,OACA,UACA,SACA,SACA,QACA,YACA,SACA,QACA,UACA,QACA,WACA,UACA,YACA,QACA,YACA,YACA,SACA,WACA,YACA,UACA,QACA,OACA,OACA,OACA,MACA,OACA,YACA,QACA,YACA,QACA,UACA,UACA,YACA,QACA,QACA,YACA,WACA,SACA,QACA,QACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,QACA,QACA,YACA,QACA,WACA,UACA,WACA,WACA,OACA,WACA,SACA,SACA,WACA,QACA,YACA,QACA,WACA,YACA,YACA,WACA,YACA,YACA,SACA,YACA,YACA,SACA,UACA,UACA,WACA,OACA,QACA,QACA,QACA,UACA,WACA,UACA,WACA,QACA,SACA,WACA,QACA,YACA,UACA,QACA,QACA,SACA,WACA,SACA,YACA,SACA,UACA,WACA,YACA,UACA,YACA,UACA,SACA,UACA,UACA,UACA,SACA,SACA,WACA,OACA,YACA,UACA,QACA,SACA,SACA,SACA,UACA,UACA,YACA,YACA,UACA,SACA,UACA,YACA,YACA,WACA,QACA,YACA,QACA,QACA,WACA,YACA,WACA,WACA,UACA,WACA,UACA,YACA,UACA,YACA,WACA,WACA,WACA,SACA,UACA,YACA,WACA,SACA,WACA,WACA,YACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,SACA,UACA,QACA,QACA,UACA,SACA,UACA,SACA,WACA,WACA,UACA,SACA,WACA,QACA,SACA,UACA,YACA,SACA,UACA,YACA,YACA,WACA,WACA,YACA,UACA,WACA,QACA,YACA,YACA,UACA,QACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,QACA,WACA,QACA,OACA,WACA,YACA,YACA,WACA,OACA,QACA,WACA,WACA,QACA,QACA,YACA,UACA,WACA,QACA,SACA,UACA,SACA,UACA,UACA,UACA,SACA,UACA,OACA,QACA,QACA,SACA,UACA,UACA,QACA,SACA,UACA,SACA,YACA,WACA,QACA,MACA,SACA,YACA,SACA,YACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,YACA,SACA,WACA,SACA,UACA,WACA,UACA,UACA,YACA,YACA,YACA,SACA,WACA,QACA,OACA,WACA,OACA,SACA,YACA,UACA,SACA,SACA,UACA,YACA,WACA,YACA,YACA,SACA,QACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,WACA,UACA,UACA,WACA,QACA,WACA,YACA,SACA,YACA,SACA,SACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,SACA,WACA,SACA,UACA,WACA,QACA,WACA,UACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,UACA,SACA,QACA,OACA,OACA,SACA,WACA,SACA,SACA,WACA,YACA,YACA,WACA,SACA,SACA,YACA,WACA,WACA,UACA,YACA,WACA,WACA,YACA,UACA,UACA,WACA,YACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,YACA,SACA,WACA,WACA,YACA,WACA,QACA,WACA,YACA,SACA,QACA,UACA,QACA,UACA,SACA,WACA,QACA,SACA,UACA,SACA,SACA,YACA,UACA,QACA,UACA,WACA,QACA,SACA,WACA,SACA,UACA,YACA,UACA,QACA,WACA,SACA,SACA,SACA,WACA,QACA,WACA,WACA,SACA,SACA,UACA,WACA,WACA,SACA,YACA,UACA,SACA,WACA,SACA,UACA,SACA,UACA,QACA,WACA,UACA,WACA,SACA,UACA,SACA,OACA,YACA,UACA,YACA,SACA,WACA,YACA,UACA,WACA,YACA,WACA,OACA,YACA,SACA,QACA,QACA,QACA,SACA,SACA,QACA,OACA,QACA,OACA,YACA,WACA,YACA,UACA,UACA,SACA,SACA,UACA,UACA,UACA,QACA,OACA,QACA,UACA,YACA,YACA,QACA,YACA,YACA,QACA,WACA,YACA,SACA,UACA,SACA,QACA,QACA,UACA,QACA,QACA,WACA,QACA,QACA,UACA,UACA,WACA,SACA,OACA,WACA,QACA,WACA,UACA,WACA,OACA,OACA,WACA,WACA,UACA,OACA,SACA,UACA,QACA,SACA,YACA,QACA,QACA,UACA,SACA,QACA,QACA,WACA,UACA,WACA,WACA,OACA,SACA,UACA,SACA,SACA,UACA,UACA,YACA,OACA,SACA,SACA,QACA,OACA,MACA,UACA,OACA,UACA,SACA,UACA,WACA,QACA,WACA,WACA,WACA,QACA,UACA,SACA,SACA,QACA,OACA,YACA,YACA,OACA,YACA,SACA,QACA,SACA,UACA,WACA,UACA,QACA,QACA,QACA,SACA,UACA,WACA,YACA,OACA,YACA,WACA,SACA,QACA,OACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,YACA,YACA,SACA,SACA,QACA,SACA,UACA,OACA,SACA,SACA,WACA,YACA,UACA,WACA,SACA,SACA,WACA,UACA,UACA,QACA,QACA,QACA,QACA,UACA,UACA,SACA,YACA,OACA,QACA,QACA,UACA,UACA,YACA,UACA,UACA,YACA,YACA,UACA,UACA,YACA,YACA,YACA,UACA,WACA,SACA,SACA,YACA,SACA,SACA,WACA,QACA,QACA,UACA,WACA,YACA,SACA,WACA,WACA,SACA,WACA,QACA,QACA,WACA,QACA,YACA,SACA,WACA,SACA,YACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,WACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,UACA,UACA,QACA,OACA,QACA,YACA,SACA,OACA,UACA,YACA,YACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,WACA,QACA,QACA,SACA,SACA,SACA,UACA,YACA,WACA,QACA,OACA,SACA,OACA,SACA,UACA,OACA,WACA,OACA,SACA,UACA,SACA,YACA,QACA,UACA,QACA,SACA,QACA,SACA,SACA,QACA,QACA,WACA,UACA,OACA,UACA,OACA,WACA,WACA,UACA,YACA,WACA,UACA,YACA,OACA,UACA,UACA,UACA,YACA,QACA,SACA,WACA,SACA,WACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,SACA,QACA,OACA,SACA,WACA,WACA,SACA,UACA,SACA,SACA,SACA,QACA,YACA,SACA,UACA,SACA,UACA,UACA,WACA,OACA,YACA,UACA,UACA,SACA,YACA,UACA,UACA,UACA,YACA,UACA,YACA,UACA,UACA,QACA,UACA,SACA,YACA,SACA,UACA,WACA,WACA,YACA,YACA,YACA,WACA,SACA,YACA,QACA,SACA,UACA,UACA,WACA,UACA,YACA,WACA,YACA,QACA,YACA,YACA,UACA,UACA,UACA,SACA,YACA,QACA,SACA,WACA,SACA,UACA,YACA,YACA,QACA,UACA,UACA,UACA,OACA,OACA,SACA,SACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,WACA,SACA,UACA,WACA,WACA,UACA,YACA,WACA,UACA,SACA,SACA,SACA,UACA,YACA,SACA,QACA,UACA,YACA,SACA,SACA,YACA,QACA,UACA,YACA,UACA,WACA,WACA,UACA,SACA,SACA,QACA,SACA,YACA,WACA,WACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,YACA,UACA,WACA,WACA,QACA,WACA,QACA,QACA,UACA,YACA,UACA,YACA,WACA,SACA,SACA,UACA,QACA,QACA,YACA,WACA,UACA,QACA,UACA,YACA,YACA,WACA,UACA,WACA,UACA,UACA,QACA,UACA,UACA,WACA,QACA,UACA,SACA,WACA,WACA,WACA,UACA,WACA,SACA,WACA,UACA,QACA,QACA,SACA,SACA,OACA,YACA,UACA,QACA,YACA,SACA,QACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,QACA,YACA,YACA,YACA,WACA,YACA,YACA,QACA,QACA,QACA,OACA,WACA,SACA,WACA,WACA,QACA,WACA,WACA,SACA,YACA,UACA,QACA,UACA,WACA,SACA,OACA,SACA,UACA,WACA,SACA,SACA,QACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,WACA,QACA,SACA,WACA,SACA,WACA,WACA,YACA,SACA,UACA,UACA,WACA,UACA,SACA,SACA,OACA,QACA,QACA,OACA,QACA,WACA,SACA,SACA,QACA,YACA,QACA,WACA,UACA,UACA,WACA,UACA,WACA,UACA,QACA,QACA,QACA,UACA,SACA,WACA,OACA,OACA,QACA,QACA,QACA,UACA,QACA,SACA,YACA,WACA,QACA,SACA,UACA,SACA,UACA,WACA,QACA,SACA,WACA,OACA,SACA,QACA,UACA,QACA,QACA,UACA,WACA,UACA,UACA,WACA,QACA,SACA,UACA,WACA,YACA,QACA,WACA,SACA,SACA,YACA,SACA,UACA,QACA,YACA,UACA,UACA,WACA,YACA,YACA,OACA,WACA,SACA,UACA,SACA,QACA,UACA,MACA,WACA,SACA,UACA,SACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,OACA,OACA,OACA,OACA,WACA,WACA,UACA,WACA,SACA,YACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,SACA,WACA,OACA,OACA,OACA,UACA,QACA,QACA,SACA,QACA,WACA,UACA,UACA,WACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,SACA,UACA,SACA,YACA,WACA,WACA,YACA,UACA,YACA,WACA,WACA,YACA,WACA,YACA,UACA,UACA,UACA,WACA,UACA,YACA,UACA,QACA,YACA,UACA,WACA,WACA,SACA,WACA,YACA,YACA,UACA,YACA,YACA,UACA,OACA,UACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,YACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,UACA,YACA,YACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,YACA,UACA,UACA,YACA,OACA,SACA,SACA,UACA,SACA,UACA,SACA,OACA,QACA,OACA,WACA,YACA,UACA,SACA,SACA,SACA,YACA,YACA,WACA,WACA,YACA,QACA,WACA,UACA,WACA,YACA,SACA,UACA,WACA,UACA,YACA,YACA,UACA,SACA,SACA,WACA,YACA,SACA,SACA,YACA,OACA,UACA,SACA,QACA,QACA,QACA,YACA,YACA,WACA,YACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,SACA,WACA,OACA,WACA,YACA,WACA,WACA,SACA,WACA,UACA,WACA,YACA,YACA,SACA,QACA,YACA,QACA,UACA,UACA,QACA,QACA,QACA,UACA,WACA,WACA,WACA,WACA,SACA,SACA,UACA,YACA,QACA,UACA,UACA,YACA,SACA,WACA,YACA,SACA,WACA,WACA,WACA,WACA,WACA,SACA,QACA,QACA,SACA,QACA,QACA,WACA,UACA,WACA,YACA,UACA,WACA,UACA,WACA,OACA,UACA,QACA,QACA,QACA,UACA,SACA,WACA,UACA,UACA,UACA,WACA,UACA,YACA,SACA,WACA,UACA,QACA,QACA,QACA,QACA,OACA,QACA,SACA,UACA,UACA,QACA,QACA,UACA,UACA,YACA,UACA,YACA,UACA,QACA,YACA,SACA,UACA,WACA,WACA,YACA,UACA,WACA,YACA,UACA,UACA,WACA,QACA,OACA,SACA,UACA,UACA,YACA,OACA,UACA,UACA,WACA,SACA,SACA,WACA,WACA,YACA,WACA,UACA,YACA,WACA,UACA,YACA,UACA,QACA,SACA,UACA,UACA,UACA,SACA,OACA,SACA,SACA,SACA,SACA,YACA,UACA,QACA,QACA,QACA,UACA,SACA,UACA,SACA,SACA,YACA,QACA,QACA,QACA,OACA,SACA,UACA,YACA,UACA,YACA,WACA,YACA,UACA,MACA,QACA,SACA,UACA,UACA,WACA,SACA,YACA,YACA,MACA,MACA,WACA,SACA,QACA,WACA,SACA,QACA,QACA,WACA,QACA,UACA,YACA,SACA,WACA,QACA,SACA,SACA,WACA,YACA,QACA,WACA,WACA,YACA,UACA,WACA,WACA,UACA,OACA,OACA,YACA,OACA,YACA,OACA,WACA,SACA,WACA,WACA,UACA,OACA,SACA,WACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,WACA,SACA,YACA,WACA,SACA,UACA,YACA,QACA,OACA,YACA,SACA,WACA,QACA,UACA,WACA,SACA,QACA,SACA,SACA,QACA,QACA,YACA,QACA,WACA,SACA,WACA,YACA,WACA,UACA,SACA,YACA,YACA,UACA,YACA,UACA,YACA,WACA,OACA,WACA,UACA,SACA,YACA,YACA,YACA,QACA,WACA,SACA,WACA,YACA,SACA,SACA,OACA,OACA,SACA,SACA,WACA,SACA,WACA,SACA,UACA,SACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,WACA,WACA,UACA,SACA,WACA,SACA,WACA,UACA,YACA,WACA,YACA,YACA,QACA,WACA,UACA,UACA,SACA,SACA,OACA,WACA,YACA,WACA,SACA,YACA,QACA,WACA,QACA,WACA,YACA,SACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,UACA,QACA,SACA,WACA,SACA,YACA,YACA,WACA,SACA,YACA,WACA,SACA,WACA,YACA,YACA,WACA,SACA,QACA,SACA,QACA,UACA,SACA,UACA,UACA,OACA,YACA,YACA,WACA,YACA,SACA,UACA,YACA,WACA,SACA,SACA,SACA,WACA,YACA,YACA,UACA,UACA,QACA,WACA,SACA,SACA,WACA,QACA,UACA,YACA,UACA,YACA,YACA,WACA,WACA,YACA,YACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,YACA,WACA,WACA,SACA,YACA,YACA,WACA,YACA,YACA,SACA,WACA,YACA,WACA,UACA,QACA,UACA,WACA,UACA,UACA,YACA,WACA,SACA,UACA,YACA,UACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,UACA,OACA,WACA,SACA,YACA,QACA,OACA,SACA,UACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,MACA,WACA,YACA,WACA,OACA,SACA,OACA,WACA,QACA,SACA,SACA,UACA,SACA,QACA,UACA,SACA,YACA,QACA,QACA,SACA,SACA,UACA,UACA,UACA,SACA,SACA,UACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,WACA,WACA,WACA,SACA,WACA,WACA,UACA,YACA,WACA,UACA,UACA,YACA,WACA,WACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,WACA,OACA,YACA,UACA,OACA,UACA,YACA,YACA,WACA,WACA,YACA,SACA,UACA,WACA,UACA,WACA,SACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,UACA,WACA,UACA,YACA,UACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,QACA,QACA,QACA,YACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,YACA,YACA,WACA,WACA,WACA,YACA,QACA,SACA,SACA,OACA,WACA,WACA,QACA,QACA,QACA,QACA,OACA,SACA,YACA,SACA,QACA,UACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,QACA,QACA,SACA,WACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,UACA,QACA,OACA,YACA,SACA,SACA,OACA,SACA,WACA,SACA,OACA,OACA,QACA,OACA,OACA,WACA,YACA,YACA,WACA,YACA,WACA,UACA,UACA,YACA,WACA,YACA,QACA,UACA,UACA,OACA,UACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,SACA,SACA,WACA,SACA,SACA,QACA,OACA,UACA,QACA,QACA,QACA,UACA,WACA,YACA,WACA,WACA,SACA,WACA,SACA,SACA,WACA,UACA,UACA,UACA,QACA,QACA,QACA,YACA,UACA,WACA,UACA,UACA,UACA,QACA,QACA,WACA,SACA,OACA,MACA,SACA,YACA,UACA,WACA,UACA,WACA,WACA,QACA,OACA,OACA,SACA,SACA,MACA,OACA,SACA,WACA,OACA,UACA,WACA,WACA,MACA,OACA,SACA,YACA,YACA,UACA,UACA,WACA,SACA,SACA,OACA,OACA,UACA,OACA,QACA,QACA,QACA,UACA,UACA,WACA,UACA,YACA,UACA,WACA,UACA,WACA,WACA,OACA,QACA,UACA,UACA,UACA,SACA,UACA,QACA,UACA,UACA,WACA,WACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,SACA,UACA,QACA,UACA,SACA,WACA,SACA,YACA,YACA,SACA,WACA,UACA,QACA,SACA,SACA,OACA,OACA,QACA,QACA,QACA,YACA,OACA,SACA,UACA,YACA,UACA,WACA,YACA,UACA,YACA,YACA,OACA,WACA,SACA,OACA,UACA,SACA,WACA,YACA,WACA,MACA,YACA,UACA,YACA,SACA,YACA,SACA,SACA,WACA,WACA,YACA,UACA,YACA,SACA,QACA,YACA,UACA,SACA,QACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,UACA,YACA,YACA,WACA,SACA,MACA,WACA,WACA,YACA,QACA,UACA,SACA,MACA,UACA,WACA,MACA,YACA,QACA,YACA,WACA,YACA,QACA,UACA,QACA,QACA,UACA,SACA,UACA,YACA,YACA,QACA,WACA,UACA,SACA,SACA,WACA,SACA,YACA,QACA,UACA,YACA,WACA,OACA,QACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,WACA,WACA,WACA,UACA,UACA,YACA,QACA,MACA,SACA,YACA,SACA,YACA,YACA,WACA,UACA,YACA,SACA,SACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,YACA,QACA,SACA,UACA,UACA,YACA,YACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,WACA,YACA,UACA,SACA,UACA,YACA,YACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,SACA,SACA,SACA,UACA,UACA,SACA,SACA,YACA,WACA,YACA,WACA,SACA,UACA,SACA,SACA,YACA,SACA,SACA,WACA,UACA,WACA,UACA,YACA,WACA,WACA,WACA,UACA,WACA,QACA,OACA,SACA,OACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,WACA,UACA,QACA,SACA,WACA,UACA,UACA,YACA,SACA,YACA,YACA,WACA,SACA,SACA,UACA,YACA,SACA,SACA,UACA,QACA,QACA,WACA,YACA,YACA,WACA,WACA,WACA,SACA,YACA,YACA,WACA,UACA,QACA,UACA,YACA,YACA,SACA,WACA,WACA,YACA,YACA,WACA,UACA,UACA,WACA,UACA,QACA,YACA,SACA,YACA,WACA,UACA,QACA,WACA,YACA,YACA,UACA,UACA,OACA,YACA,YACA,YACA,WACA,WACA,QACA,WACA,UACA,OACA,QACA,YACA,SACA,QACA,UACA,UACA,WACA,YACA,YACA,YACA,SACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,YACA,YACA,YACA,YACA,QACA,OACA,YACA,SACA,UACA,SACA,QACA,WACA,OACA,SACA,YACA,WACA,WACA,SACA,UACA,YACA,YACA,YACA,YACA,YACA,QACA,SACA,WACA,YACA,SACA,SACA,WACA,UACA,YACA,WACA,UACA,UACA,UACA,YACA,WACA,WACA,YACA,SACA,WACA,UACA,YACA,YACA,WACA,YACA,SACA,YACA,WACA,WACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,SACA,WACA,SACA,YACA,UACA,UACA,SACA,YACA,UACA,UACA,OACA,SACA,UACA,SACA,OACA,QACA,UACA,OACA,WACA,SACA,SACA,WACA,UACA,UACA,YACA,QACA,UACA,OACA,UACA,YACA,YACA,UACA,UACA,WACA,SACA,UACA,WACA,SACA,YACA,YACA,UACA,WACA,WACA,MACA,QACA,UACA,SACA,SACA,OACA,OACA,SACA,SACA,WACA,WACA,WACA,WACA,WACA,QACA,QACA,UACA,SACA,UACA,WACA,YACA,WACA,SACA,SACA,QACA,SACA,SACA,WACA,UACA,YACA,QACA,QACA,QACA,QACA,UACA,SACA,WACA,WACA,YACA,UACA,UACA,QACA,WACA,QACA,UACA,SACA,WACA,SACA,SACA,SACA,UACA,OACA,SACA,QACA,WACA,SACA,WACA,WACA,UACA,UACA,YACA,QACA,WACA,QACA,UACA,WACA,WACA,YACA,SACA,UACA,UACA,WACA,MACA,OACA,UACA,UACA,WACA,WACA,YACA,YACA,QACA,UACA,QACA,QACA,YACA,UACA,WACA,WACA,OACA,UACA,YACA,YACA,YACA,WACA,WACA,SACA,QACA,UACA,WACA,SACA,WACA,UACA,YACA,YACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,OACA,UACA,SACA,QACA,QACA,SACA,SACA,QACA,QACA,OACA,QACA,QACA,QACA,WACA,OACA,SACA,UACA,QACA,WACA,UACA,UACA,QACA,SACA,UACA,WACA,OACA,MACA,MACA,OACA,QACA,OACA,WACA,SACA,WACA,SACA,WACA,SACA,OACA,OACA,OACA,UACA,WACA,WACA,YACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,YACA,WACA,UACA,WACA,WACA,WACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,WACA,WACA,UACA,YACA,WACA,YACA,WACA,QACA,QACA,UACA,UACA,YACA,SACA,UACA,QACA,WACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,UACA,WACA,SACA,YACA,WACA,YACA,WACA,UACA,WACA,YACA,WACA,UACA,SACA,WACA,SACA,YACA,WACA,QACA,UACA,UACA,WACA,SACA,SACA,QACA,SACA,WACA,YACA,YACA,WACA,QACA,SACA,UACA,QACA,UACA,YACA,SACA,OACA,QACA,YACA,UACA,WACA,WACA,YACA,SACA,QACA,QACA,SACA,WACA,YACA,WACA,QACA,YACA,SACA,MACA,QACA,MACA,YACA,UACA,QACA,OACA,YACA,WACA,UACA,SACA,SACA,UACA,YACA,SACA,YACA,WACA,OACA,SACA,QACA,SACA,SACA,WACA,UACA,MACA,SACA,UACA,SACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,MACA,WACA,YACA,SACA,UACA,WACA,QACA,OACA,OACA,SACA,OACA,QACA,OACA,SACA,MACA,SACA,UACA,WACA,WACA,QACA,UACA,YACA,SACA,QACA,YACA,WACA,YACA,UACA,YACA,WACA,WACA,SACA,YACA,YACA,YACA,WACA,YACA,UACA,YACA,UACA,UACA,UACA,QACA,QACA,YACA,SACA,UACA,YACA,QACA,OACA,WACA,YACA,WACA,SACA,WACA,SACA,SACA,SACA,QACA,UACA,SACA,WACA,QACA,QACA,SACA,QACA,UACA,UACA,UACA,QACA,YACA,SACA,YACA,UACA,SACA,WACA,YACA,QACA,UACA,QACA,WACA,UACA,WACA,UACA,SACA,UACA,UACA,UACA,UACA,SACA,UACA,SACA,UACA,WACA,WACA,SACA,YACA,YACA,UACA,WACA,QACA,QACA,QACA,UACA,WACA,UACA,OACA,SACA,YACA,UACA,SACA,OACA,OACA,WACA,OACA,UACA,QACA,WACA,WACA,YACA,OACA,UACA,QACA,UACA,OACA,OACA,OACA,QACA,WACA,YACA,QACA,SACA,OACA,SACA,OACA,SACA,WACA,OACA,UACA,SACA,SACA,SACA,OACA,OACA,OACA,WACA,YACA,WACA,YACA,SACA,SACA,WACA,UACA,YACA,WACA,WACA,UACA,WACA,QACA,WACA,WACA,UACA,UACA,UACA,WACA,UACA,SACA,UACA,QACA,WACA,QACA,QACA,UACA,YACA,QACA,QACA,YACA,UACA,UACA,YACA,WACA,SACA,YACA,SACA,YACA,YACA,UACA,QACA,OACA,UACA,WACA,WACA,YACA,SACA,QACA,UACA,WACA,OACA,YACA,OACA,QACA,YACA,WACA,WACA,QACA,UACA,YACA,QACA,YACA,QACA,SACA,WACA,OACA,UACA,OACA,WACA,SACA,QACA,QACA,SACA,WACA,SACA,QACA,SACA,UACA,QACA,QACA,SACA,UACA,QACA,OACA,SACA,WACA,WACA,UACA,UACA,YACA,UACA,WACA,SACA,QACA,YACA,WACA,WACA,QACA,UACA,YACA,QACA,OACA,WACA,QACA,OACA,UACA,UACA,YACA,UACA,QACA,SACA,WACA,OACA,OACA,QACA,QACA,UACA,OACA,SACA,MACA,UACA,WACA,YACA,WACA,UACA,WACA,SACA,SACA,UACA,UACA,MACA,UACA,QACA,OACA,UACA,OACA,SACA,SACA,YACA,SACA,UACA,SACA,UACA,YACA,UACA,WACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,SACA,UACA,WACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,SACA,YACA,SACA,QACA,YACA,YACA,UACA,WACA,UACA,YACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,WACA,YACA,SACA,WACA,WACA,WACA,YACA,WACA,QACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,UACA,QACA,UACA,OACA,SACA,QACA,UACA,YACA,QACA,SACA,YACA,WACA,UACA,WACA,YACA,OACA,UACA,SACA,QACA,QACA,SACA,WACA,SACA,WACA,SACA,OACA,WACA,WACA,YACA,YACA,YACA,SACA,SACA,YACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,UACA,WACA,YACA,YACA,UACA,WACA,OACA,OACA,QACA,UACA,YACA,UACA,QACA,UACA,YACA,QACA,SACA,SACA,SACA,UACA,UACA,WACA,WACA,UACA,YACA,QACA,WACA,QACA,SACA,SACA,YACA,QACA,WACA,SACA,UACA,UACA,UACA,UACA,QACA,YACA,WACA,WACA,UACA,WACA,SACA,SACA,WACA,OACA,MACA,OACA,OACA,OACA,QACA,SACA,WACA,SACA,QACA,YACA,WACA,UACA,SACA,YACA,WACA,YACA,WACA,WACA,SACA,SACA,YACA,YACA,SACA,WACA,SACA,OACA,SACA,UACA,WACA,WACA,SACA,SACA,SACA,UACA,SACA,YACA,UACA,QACA,OACA,UACA,OACA,SACA,YACA,MACA,SACA,UACA,WACA,YACA,WACA,YACA,YACA,YACA,SACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,MACA,UACA,QACA,OACA,OACA,MACA,WACA,WACA,WACA,UACA,YACA,YACA,WACA,WACA,WACA,SACA,QACA,OACA,QACA,WACA,SACA,SACA,YACA,WACA,WACA,QACA,YACA,WACA,UACA,WACA,UACA,YACA,WACA,UACA,YACA,WACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,SACA,SACA,YACA,UACA,WACA,YACA,YACA,WACA,SACA,UACA,YACA,YACA,WACA,UACA,YACA,YACA,QACA,WACA,YACA,WACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,UACA,WACA,YACA,WACA,UACA,YACA,YACA,YACA,UACA,YACA,SACA,WACA,SACA,SACA,MACA,OACA,SACA,OACA,QACA,MACA,OACA,YACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,WACA,YACA,YACA,UACA,QACA,UACA,YACA,UACA,OACA,YACA,SACA,QACA,MACA,MACA,SACA,SACA,YACA,UACA,WACA,YACA,SACA,YACA,WACA,MACA,UACA,UACA,SACA,UACA,UACA,WACA,QACA,OACA,QACA,UACA,UACA,OACA,UACA,YACA,OACA,OACA,YACA,UACA,QACA,SACA,SACA,MACA,QACA,SACA,QACA,SACA,WACA,OACA,UACA,UACA,MACA,SACA,YACA,SACA,UACA,OACA,UACA,WACA,WACA,YACA,QACA,OACA,MACA,SACA,WACA,YACA,SACA,UACA,WACA,YACA,WACA,QACA,YACA,WACA,YACA,OACA,SACA,WACA,UACA,QACA,YACA,QACA,UACA,UACA,OACA,SACA,QACA,OACA,WACA,WACA,OACA,SACA,UACA,SACA,UACA,WACA,SACA,QACA,OACA,UACA,YACA,UACA,SACA,WACA,WACA,QACA,WACA,UACA,SACA,QACA,QACA,SACA,WACA,OACA,MACA,OACA,SACA,OACA,WACA,WACA,SACA,OACA,OACA,WACA,WACA,YACA,WACA,OACA,SACA,SACA,WACA,SACA,WACA,UACA,UACA,UACA,OACA,UACA,UACA,YACA,WACA,SACA,UACA,UACA,OACA,SACA,QACA,OACA,UACA,WACA,OACA,QACA,WACA,QACA,QACA,QACA,SACA,UACA,QACA,OACA,UACA,UACA,WACA,YACA,WACA,SACA,SACA,QACA,UACA,WACA,SACA,UACA,SACA,OACA,OACA,QACA,SACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,QACA,UACA,SACA,QACA,SACA,UACA,SACA,OACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,WACA,UACA,SACA,WACA,SACA,UACA,UACA,SACA,WACA,SACA,WACA,SACA,WACA,OACA,WACA,OACA,SACA,QACA,SACA,SACA,WACA,UACA,UACA,YACA,OACA,UACA,SACA,YACA,UACA,QACA,OACA,SACA,OACA,OACA,UACA,SACA,UACA,YACA,WACA,SACA,UACA,QACA,WACA,SACA,WACA,YACA,YACA,SACA,UACA,YACA,UACA,UACA,WACA,MACA,OACA,SACA,UACA,UACA,WACA,SACA,WACA,WACA,SACA,QACA,QACA,OACA,OACA,UACA,YACA,QACA,QACA,UACA,WACA,OACA,QACA,WACA,WACA,SACA,SACA,WACA,UACA,OACA,OACA,MACA,UACA,UACA,SACA,OACA,OACA,WACA,YACA,SACA,SACA,SACA,UACA,QACA,SACA,QACA,YACA,UACA,SACA,SACA,YACA,YACA,QACA,UACA,YACA,WACA,YACA,YACA,SACA,WACA,UACA,SACA,YACA,WACA,YACA,UACA,UACA,SACA,QACA,WACA,WACA,YACA,YACA,OACA,QACA,OACA,YACA,OACA,SACA,WACA,SACA,YACA,UACA,YACA,WACA,QACA,YACA,SACA,QACA,YACA,WACA,WACA,SACA,WACA,WACA,QACA,OACA,UACA,YACA,WACA,UACA,SACA,UACA,WACA,QACA,YACA,WACA,YACA,YACA,YACA,UACA,YACA,WACA,WACA,SACA,WACA,UACA,YACA,WACA,WACA,QACA,YACA,SACA,YACA,OACA,OACA,SACA,UACA,YACA,UACA,WACA,UACA,WACA,UACA,YACA,WACA,SACA,SACA,QACA,QACA,YACA,UACA,UACA,UACA,YACA,WACA,YACA,SACA,UACA,UACA,YACA,QACA,UACA,SACA,UACA,QACA,WACA,SACA,SACA,SACA,OACA,MACA,WACA,YACA,UACA,UACA,WACA,QACA,QACA,YACA,YACA,SACA,WACA,SACA,SACA,UACA,WACA,SACA,YACA,SACA,UACA,SACA,QACA,YACA,SACA,YACA,YACA,UACA,SACA,YACA,SACA,UACA,WACA,SACA,UACA,UACA,UACA,YACA,WACA,UACA,WACA,YACA,WACA,WACA,YACA,OACA,SACA,YACA,YACA,SACA,SACA,SACA,SACA,WACA,WACA,WACA,QACA,WACA,WACA,UACA,QACA,SACA,YACA,SACA,UACA,SACA,WACA,WACA,UACA,QACA,SACA,SACA,WACA,SACA,UACA,YACA,SACA,UACA,YACA,WACA,QACA,WACA,OACA,YACA,WACA,WACA,UACA,MACA,YACA,SACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,YACA,UACA,WACA,UACA,YACA,QACA,SACA,WACA,SACA,YACA,WACA,UACA,WACA,YACA,YACA,YACA,WACA,MACA,SACA,WACA,UACA,YACA,WACA,WACA,WACA,QACA,YACA,WACA,YACA,YACA,UACA,WACA,SACA,QACA,OACA,WACA,YACA,SACA,WACA,YACA,SACA,YACA,QACA,QACA,YACA,WACA,UACA,WACA,UACA,WACA,QACA,YACA,YACA,QACA,QACA,UACA,OACA,QACA,SACA,QACA,SACA,OACA,OACA,MACA,MACA,WACA,QACA,OACA,SACA,UACA,WACA,WACA,YACA,YACA,SACA,WACA,QACA,YACA,UACA,QACA,QACA,WACA,UACA,YACA,SACA,QACA,YACA,QACA,YACA,WACA,SACA,UACA,YACA,WACA,QACA,QACA,SACA,YACA,QACA,UACA,UACA,SACA,YACA,QACA,UACA,SACA,WACA,OACA,YACA,YACA,SACA,OACA,SACA,SACA,SACA,UACA,YACA,UACA,OACA,QACA,MACA,OACA,OACA,SACA,QACA,YACA,OACA,SACA,SACA,UACA,QACA,SACA,UACA,YACA,WACA,SACA,WACA,UACA,SACA,WACA,WACA,WACA,YACA,OACA,SACA,UACA,SACA,WACA,SACA,WACA,SACA,YACA,SACA,SACA,WACA,WACA,YACA,WACA,YACA,YACA,UACA,UACA,OACA,SACA,OACA,UACA,QACA,OACA,MACA,YACA,SACA,WACA,WACA,SACA,UACA,QACA,OACA,SACA,WACA,WACA,QACA,QACA,SACA,SACA,WACA,YACA,QACA,WACA,QACA,UACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,WACA,UACA,WACA,YACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,WACA,YACA,QACA,SACA,QACA,MACA,MACA,QACA,MACA,YACA,WACA,WACA,SACA,WACA,UACA,WACA,YACA,SACA,YACA,OACA,UACA,YACA,YACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,SACA,YACA,SACA,UACA,YACA,YACA,WACA,WACA,SACA,QACA,SACA,UACA,SACA,UACA,UACA,OACA,MACA,OACA,WACA,OACA,MACA,QACA,WACA,QACA,OACA,UACA,WACA,OACA,WACA,UACA,WACA,UACA,QACA,SACA,WACA,OACA,WACA,QACA,UACA,YACA,UACA,OACA,SACA,OACA,OACA,OACA,OACA,UACA,OACA,OACA,WACA,UACA,YACA,YACA,YACA,WACA,QACA,UACA,WACA,SACA,WACA,WACA,YACA,YACA,MACA,YACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,UACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,QACA,WACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,SACA,UACA,UACA,WACA,WACA,UACA,YACA,YACA,UACA,UACA,SACA,UACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,OACA,UACA,UACA,WACA,UACA,WACA,WACA,YACA,YACA,WACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,WACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,UACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,UACA,WACA,WACA,WACA,UACA,YACA,WACA,YACA,MACA,SACA,UACA,YACA,UACA,YACA,SACA,WACA,SACA,QACA,QACA,YACA,UACA,WACA,WACA,WACA,SACA,SACA,UACA,SACA,WACA,UACA,QACA,QACA,SACA,UACA,SACA,YACA,OACA,WACA,YACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,QACA,WACA,OACA,YACA,QACA,UACA,WACA,YACA,UACA,YACA,SACA,QACA,YACA,YACA,SACA,QACA,UACA,UACA,WACA,YACA,SACA,UACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,WACA,YACA,SACA,UACA,YACA,SACA,SACA,QACA,UACA,UACA,SACA,WACA,SACA,SACA,UACA,UACA,UACA,SACA,UACA,YACA,SACA,UACA,YACA,QACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,QACA,SACA,SACA,UACA,SACA,WACA,UACA,QACA,YACA,SACA,WACA,YACA,OACA,WACA,UACA,QACA,YACA,UACA,SACA,YACA,YACA,SACA,WACA,QACA,YACA,WACA,SACA,SACA,UACA,UACA,WACA,SACA,QACA,QACA,SACA,UACA,WACA,UACA,SACA,SACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,UACA,SACA,OACA,SACA,WACA,UACA,SACA,UACA,UACA,YACA,WACA,UACA,YACA,QACA,SACA,UACA,WACA,YACA,MACA,WACA,UACA,QACA,YACA,YACA,YACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,QACA,OACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,QACA,OACA,YACA,YACA,SACA,YACA,QACA,SACA,WACA,QACA,YACA,SACA,YACA,YACA,QACA,UACA,UACA,SACA,UACA,YACA,SACA,UACA,YACA,QACA,YACA,QACA,SACA,WACA,UACA,UACA,WACA,QACA,UACA,QACA,SACA,UACA,UACA,SACA,WACA,UACA,WACA,WACA,UACA,WACA,YACA,YACA,WACA,WACA,SACA,UACA,YACA,YACA,UACA,WACA,YACA,WACA,UACA,UACA,WACA,UACA,YACA,WACA,QACA,WACA,QACA,SACA,YACA,SACA,WACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,UACA,WACA,SACA,OACA,YACA,UACA,QACA,MACA,OACA,OACA,OACA,UACA,UACA,WACA,YACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,SACA,QACA,SACA,WACA,QACA,OACA,YACA,UACA,YACA,UACA,SACA,OACA,OACA,UACA,OACA,SACA,SACA,QACA,WACA,WACA,UACA,WACA,YACA,OACA,SACA,WACA,WACA,SACA,YACA,WACA,UACA,SACA,WACA,QACA,OACA,SACA,WACA,WACA,SACA,UACA,SACA,UACA,WACA,SACA,SACA,UACA,YACA,UACA,UACA,QACA,SACA,WACA,QACA,UACA,OACA,WACA,YACA,UACA,QACA,SACA,MACA,WACA,SACA,WACA,UACA,WACA,YACA,SACA,UACA,WACA,YACA,UACA,WACA,WACA,UACA,YACA,UACA,SACA,WACA,YACA,UACA,UACA,SACA,YACA,YACA,UACA,YACA,WACA,YACA,YACA,SACA,UACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,SACA,UACA,SACA,YACA,YACA,YACA,SACA,UACA,YACA,UACA,QACA,UACA,YACA,UACA,YACA,YACA,WACA,UACA,SACA,UACA,UACA,YACA,UACA,UACA,WACA,SACA,YACA,WACA,QACA,SACA,YACA,UACA,UACA,SACA,QACA,WACA,QACA,QACA,QACA,SACA,SACA,WACA,UACA,UACA,YACA,QACA,YACA,WACA,WACA,YACA,QACA,UACA,YACA,UACA,YACA,UACA,WACA,YACA,WACA,WACA,UACA,UACA,UACA,UACA,YACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,QACA,QACA,YACA,SACA,WACA,YACA,SACA,YACA,WACA,WACA,YACA,WACA,UACA,QACA,UACA,YACA,WACA,SACA,YACA,YACA,WACA,WACA,QACA,WACA,SACA,SACA,WACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,UACA,UACA,WACA,YACA,QACA,SACA,QACA,YACA,QACA,UACA,MACA,UACA,SACA,YACA,SACA,SACA,MACA,OACA,YACA,OACA,UACA,QACA,YACA,OACA,SACA,SACA,QACA,WACA,YACA,YACA,UACA,WACA,OACA,QACA,SACA,QACA,WACA,YACA,WACA,SACA,WACA,YACA,QACA,UACA,WACA,SACA,SACA,UACA,SACA,SACA,WACA,YACA,OACA,QACA,YACA,WACA,UACA,WACA,WACA,YACA,SACA,YACA,UACA,WACA,UACA,SACA,QACA,UACA,OACA,SACA,WACA,UACA,YACA,SACA,QACA,WACA,QACA,WACA,QACA,UACA,YACA,YACA,UACA,UACA,QACA,UACA,UACA,SACA,YACA,YACA,WACA,UACA,SACA,QACA,UACA,UACA,YACA,YACA,YACA,QACA,QACA,QACA,UACA,YACA,QACA,OACA,SACA,YACA,WACA,YACA,QACA,QACA,OACA,SACA,SACA,OACA,SACA,QACA,SACA,WACA,YACA,WACA,YACA,WACA,QACA,SACA,SACA,OACA,OACA,SACA,SACA,UACA,SACA,UACA,UACA,WACA,UACA,SACA,OACA,SACA,QACA,SACA,WACA,OACA,SACA,QACA,YACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,QACA,OACA,SACA,SACA,OACA,UACA,SACA,QACA,SACA,SACA,UACA,YACA,WACA,QACA,YACA,WACA,WACA,UACA,WACA,OACA,YACA,WACA,UACA,YACA,YACA,YACA,WACA,SACA,WACA,WACA,WACA,UACA,YACA,SACA,QACA,UACA,SACA,SACA,UACA,SACA,UACA,UACA,WACA,WACA,SACA,SACA,YACA,SACA,SACA,SACA,SACA,YACA,YACA,UACA,SACA,WACA,UACA,WACA,YACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,YACA,SACA,SACA,UACA,SACA,WACA,WACA,SACA,YACA,YACA,UACA,WACA,WACA,YACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,YACA,UACA,WACA,WACA,WACA,YACA,YACA,SACA,SACA,UACA,SACA,WACA,WACA,WACA,WACA,YACA,UACA,UACA,WACA,UACA,UACA,YACA,SACA,YACA,YACA,UACA,SACA,WACA,YACA,SACA,SACA,UACA,UACA,SACA,SACA,SACA,WACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,YACA,QACA,SACA,SACA,YACA,YACA,UACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,YACA,UACA,WACA,WACA,QACA,QACA,UACA,UACA,YACA,WACA,WACA,WACA,UACA,QACA,UACA,YACA,UACA,SACA,SACA,SACA,WACA,SACA,YACA,OACA,SACA,SACA,UACA,UACA,WACA,SACA,WACA,WACA,YACA,YACA,QACA,UACA,YACA,SACA,UACA,SACA,YACA,UACA,UACA,UACA,WACA,SACA,WACA,YACA,YACA,WACA,YACA,YACA,UACA,UACA,WACA,WACA,YACA,WACA,SACA,SACA,SACA,WACA,UACA,SACA,UACA,YACA,YACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,WACA,SACA,WACA,UACA,SACA,UACA,QACA,WACA,SACA,YACA,SACA,YACA,YACA,UACA,UACA,WACA,YACA,YACA,YACA,OACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,YACA,UACA,QACA,SACA,WACA,UACA,SACA,WACA,WACA,WACA,WACA,SACA,SACA,QACA,UACA,UACA,YACA,YACA,YACA,WACA,WACA,UACA,WACA,YACA,YACA,YACA,SACA,WACA,WACA,WACA,WACA,SACA,WACA,UACA,WACA,SACA,SACA,WACA,YACA,YACA,SACA,WACA,YACA,SACA,YACA,YACA,UACA,UACA,UACA,UACA,WACA,SACA,SACA,WACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YACA,YACA,QACA,SACA,UACA,SACA,UACA,UACA,WACA,QACA,SACA,UACA,UACA,UACA,SACA,UACA,YACA,WACA,WACA,UACA,YACA,YACA,SACA,YACA,SACA,WACA,UACA,YACA,UACA,UACA,WACA,YACA,SACA,SACA,WACA,YACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,QACA,SACA,UACA,OACA,SACA,SACA,WACA,UACA,UACA,WACA,SACA,OACA,SACA,UACA,OACA,UACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,UACA,OACA,UACA,WACA,WACA,UACA,SACA,WACA,UACA,OACA,SACA,OACA,UACA,UACA,QACA,QACA,YACA,WACA,YACA,YACA,UACA,WACA,SACA,UACA,QACA,UACA,OACA,QACA,WACA,SACA,WACA,SACA,SACA,WACA,YACA,UACA,WACA,YACA,WACA,QACA,QACA,QACA,OACA,OACA,SACA,SACA,OACA,SACA,UACA,UACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,UACA,QACA,SACA,QACA,SACA,SACA,UACA,SACA,UACA,OACA,SACA,SACA,MACA,SACA,OACA,SACA,WACA,UACA,QACA,YACA,UACA,SACA,UACA,QACA,OACA,SACA,UACA,QACA,OACA,OACA,OACA,MACA,UACA,WACA,YACA,SACA,YACA,SACA,YACA,UACA,WACA,QACA,UACA,SACA,YACA,YACA,SACA,WACA,UACA,OACA,OACA,UACA,QACA,OACA,QACA,OACA,QACA,SACA,WACA,SACA,SACA,QACA,SACA,QACA,OACA,WACA,SACA,UACA,YACA,YACA,OACA,SACA,WACA,WACA,WACA,YACA,SACA,UACA,WACA,UACA,YACA,UACA,SACA,WACA,UACA,UACA,YACA,UACA,YACA,YACA,WACA,QACA,WACA,YACA,OACA,QACA,UACA,YACA,QACA,UACA,YACA,UACA,OACA,YACA,QACA,UACA,WACA,QACA,YACA,YACA,UACA,WACA,WACA,YACA,QACA,QACA,SACA,UACA,QACA,UACA,SACA,QACA,YACA,MACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,WACA,OACA,UACA,UACA,WACA,QACA,YACA,SACA,WACA,YACA,SACA,QACA,UACA,YACA,WACA,QACA,YACA,SACA,WACA,YACA,SACA,WACA,YACA,WACA,UACA,UACA,YACA,QACA,QACA,WACA,QACA,QACA,UACA,QACA,SACA,YACA,YACA,SACA,YACA,SACA,UACA,QACA,WACA,SACA,YACA,UACA,WACA,WACA,SACA,WACA,WACA,WACA,YACA,YACA,QACA,UACA,UACA,SACA,WACA,SACA,WACA,YACA,SACA,SACA,UACA,YACA,WACA,WACA,UACA,UACA,WACA,QACA,QACA,WACA,YACA,SACA,UACA,WACA,YACA,YACA,SACA,UACA,SACA,YACA,SACA,UACA,WACA,WACA,QACA,SACA,WACA,WACA,WACA,SACA,WACA,UACA,UACA,UACA,SACA,WACA,YACA,YACA,WACA,OACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,SACA,UACA,OACA,SACA,WACA,YACA,YACA,YACA,YACA,WACA,QACA,YACA,SACA,SACA,SACA,WACA,YACA,SACA,SACA,YACA,UACA,WACA,QACA,UACA,UACA,SACA,WACA,UACA,UACA,SACA,WACA,QACA,YACA,YACA,UACA,UACA,WACA,SACA,QACA,SACA,UACA,YACA,UACA,SACA,QACA,QACA,WACA,UACA,YACA,UACA,QACA,QACA,UACA,UACA,QACA,UACA,WACA,QACA,SACA,QACA,UACA,QACA,YACA,UACA,UACA,UACA,YACA,QACA,SACA,OACA,QACA,QACA,QACA,QACA,UACA,SACA,WACA,SACA,SACA,UACA,WACA,YACA,SACA,UACA,SACA,UACA,QACA,UACA,YACA,UACA,QACA,OACA,QACA,YACA,QACA,QACA,WACA,UACA,WACA,WACA,QACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,YACA,SACA,QACA,QACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,QACA,UACA,YACA,YACA,WACA,QACA,SACA,WACA,WACA,YACA,WACA,SACA,SACA,SACA,SACA,SACA,UACA,WACA,YACA,SACA,QACA,SACA,WACA,UACA,UACA,YACA,OACA,QACA,OACA,MACA,UACA,WACA,UACA,SACA,SACA,SACA,OACA,UACA,WACA,WACA,SACA,SACA,UACA,OACA,YACA,QACA,OACA,OACA,SACA,YACA,SACA,YACA,SACA,WACA,SACA,UACA,YACA,SACA,UACA,SACA,WACA,WACA,UACA,SACA,UACA,MACA,QACA,SACA,SACA,SACA,UACA,WACA,YACA,UACA,UACA,QACA,UACA,WACA,YACA,UACA,UACA,OACA,SACA,SACA,WACA,SACA,UACA,YACA,WACA,WACA,UACA,SACA,SACA,SACA,OACA,QACA,QACA,QACA,SACA,UACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,YACA,UACA,WACA,WACA,QACA,UACA,WACA,WACA,UACA,QACA,YACA,UACA,OACA,UACA,UACA,WACA,YACA,SACA,QACA,OACA,UACA,QACA,WACA,YACA,UACA,WACA,QACA,UACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,YACA,SACA,SACA,UACA,QACA,SACA,YACA,UACA,WACA,YACA,WACA,WACA,QACA,WACA,YACA,SACA,OACA,OACA,SACA,WACA,SACA,SACA,UACA,WACA,SACA,OACA,YACA,UACA,SACA,OACA,OACA,QACA,QACA,MACA,QACA,UACA,YACA,UACA,WACA,UACA,QACA,WACA,QACA,YACA,QACA,QACA,QACA,UACA,QACA,OACA,SACA,YACA,YACA,UACA,QACA,UACA,SACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,QACA,UACA,UACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,WACA,QACA,QACA,UACA,WACA,SACA,UACA,SACA,QACA,UACA,UACA,QACA,QACA,WACA,YACA,YACA,UACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,WACA,WACA,YACA,WACA,QACA,OACA,QACA,UACA,SACA,WACA,QACA,YACA,YACA,WACA,YACA,UACA,WACA,UACA,WACA,SACA,YACA,YACA,WACA,YACA,SACA,QACA,YACA,UACA,WACA,YACA,UACA,WACA,QACA,OACA,SACA,YACA,SACA,SACA,QACA,SACA,QACA,QACA,UACA,SACA,UACA,UACA,WACA,UACA,WACA,QACA,SACA,WACA,YACA,UACA,YACA,WACA,YACA,UACA,WACA,SACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,SACA,SACA,YACA,SACA,SACA,UACA,QACA,WACA,SACA,QACA,QACA,QACA,WACA,SACA,SACA,WACA,YACA,UACA,UACA,WACA,SACA,UACA,SACA,QACA,SACA,SACA,SACA,QACA,QACA,QACA,SACA,YACA,YACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,UACA,WACA,WACA,QACA,SACA,WACA,SACA,WACA,WACA,YACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,QACA,WACA,WACA,SACA,SACA,SACA,YACA,UACA,YACA,YACA,SACA,QACA,UACA,QACA,QACA,UACA,WACA,WACA,YACA,UACA,WACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,QACA,QACA,SACA,WACA,YACA,SACA,UACA,WACA,WACA,YACA,UACA,QACA,WACA,UACA,YACA,UACA,WACA,SACA,WACA,UACA,WACA,UACA,YACA,UACA,UACA,WACA,QACA,QACA,SACA,YACA,SACA,UACA,SACA,UACA,YACA,UACA,QACA,YACA,WACA,WACA,YACA,QACA,QACA,QACA,YACA,WACA,YACA,YACA,UACA,OACA,SACA,UACA,OACA,SACA,UACA,YACA,YACA,WACA,YACA,UACA,OACA,QACA,UACA,UACA,YACA,SACA,WACA,YACA,QACA,YACA,YACA,UACA,WACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,UACA,YACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,YACA,YACA,YACA,UACA,QACA,QACA,SACA,QACA,QACA,YACA,YACA,WACA,UACA,UACA,WACA,YACA,WACA,UACA,YACA,YACA,QACA,QACA,QACA,WACA,UACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,UACA,QACA,QACA,SACA,SACA,SACA,WACA,YACA,QACA,SACA,UACA,SACA,WACA,SACA,SACA,SACA,SACA,WACA,SACA,WACA,SACA,SACA,WACA,YACA,WACA,YACA,SACA,YACA,UACA,WACA,QACA,SACA,QACA,UACA,UACA,UACA,WACA,SACA,QACA,UACA,UACA,SACA,QACA,UACA,WACA,SACA,UACA,YACA,QACA,QACA,UACA,UACA,WACA,QACA,SACA,WACA,SACA,UACA,YACA,UACA,WACA,SACA,QACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,YACA,UACA,WACA,SACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,SACA,UACA,WACA,YACA,YACA,YACA,UACA,YACA,YACA,UACA,UACA,WACA,YACA,YACA,UACA,WACA,SACA,WACA,WACA,UACA,SACA,SACA,YACA,UACA,YACA,OACA,UACA,SACA,SACA,OACA,WACA,YACA,UACA,SACA,YACA,WACA,QACA,UACA,QACA,WACA,WACA,WACA,SACA,UACA,UACA,UACA,SACA,OACA,SACA,WACA,YACA,SACA,YACA,YACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,SACA,WACA,SACA,UACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,YACA,SACA,UACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,YACA,YACA,WACA,SACA,WACA,UACA,YACA,WACA,QACA,UACA,UACA,WACA,YACA,YACA,OACA,YACA,UACA,YACA,OACA,WACA,QACA,OACA,QACA,QACA,QACA,QACA,QACA,SACA,UACA,UACA,YACA,YACA,UACA,WACA,WACA,WACA,UACA,WACA,QACA,QACA,SACA,SACA,UACA,UACA,QACA,SACA,QACA,QACA,QACA,WACA,WACA,YACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,YACA,YACA,QACA,SACA,UACA,UACA,QACA,WACA,SACA,SACA,YACA,UACA,YACA,UACA,SACA,WACA,QACA,OACA,UACA,WACA,UACA,UACA,WACA,UACA,YACA,MACA,UACA,OACA,SACA,SACA,WACA,OACA,QACA,SACA,WACA,QACA,SACA,OACA,SACA,UACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,UACA,OACA,YACA,SACA,SACA,UACA,QACA,SACA,SACA,WACA,OACA,SACA,QACA,YACA,UACA,QACA,WACA,SACA,WACA,SACA,QACA,SACA,QACA,OACA,OACA,UACA,YACA,OACA,QACA,QACA,WACA,WACA,UACA,UACA,YACA,QACA,SACA,WACA,UACA,UACA,YACA,WACA,WACA,QACA,UACA,QACA,QACA,SACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,SACA,QACA,QACA,QACA,WACA,SACA,SACA,WACA,YACA,SACA,SACA,SACA,WACA,SACA,YACA,SACA,WACA,YACA,YACA,UACA,WACA,OACA,QACA,WACA,WACA,OACA,YACA,UACA,QACA,QACA,QACA,SACA,WACA,UACA,OACA,QACA,UACA,UACA,YACA,YACA,WACA,UACA,OACA,SACA,OACA,OACA,QACA,SACA,UACA,YACA,UACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,OACA,UACA,OACA,SACA,SACA,SACA,UACA,YACA,SACA,SACA,SACA,QACA,UACA,QACA,WACA,UACA,QACA,UACA,YACA,UACA,UACA,WACA,YACA,QACA,UACA,SACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,QACA,QACA,SACA,WACA,WACA,OACA,YACA,WACA,YACA,UACA,QACA,SACA,OACA,UACA,UACA,YACA,SACA,SACA,QACA,WACA,SACA,QACA,WACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,WACA,WACA,UACA,YACA,SACA,WACA,WACA,UACA,QACA,SACA,YACA,WACA,UACA,YACA,UACA,WACA,WACA,UACA,OACA,SACA,WACA,UACA,UACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,YACA,SACA,WACA,QACA,SACA,QACA,QACA,UACA,QACA,SACA,YACA,UACA,WACA,WACA,YACA,QACA,MACA,QACA,WACA,UACA,UACA,UACA,MACA,UACA,QACA,SACA,WACA,QACA,SACA,UACA,WACA,WACA,YACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,OACA,MACA,QACA,QACA,QACA,WACA,SACA,YACA,SACA,QACA,QACA,UACA,YACA,OACA,WACA,QACA,QACA,QACA,YACA,UACA,UACA,WACA,SACA,SACA,UACA,SACA,QACA,OACA,QACA,WACA,YACA,QACA,YACA,WACA,SACA,YACA,SACA,YACA,YACA,WACA,UACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,UACA,YACA,WACA,SACA,SACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,UACA,WACA,WACA,YACA,UACA,YACA,YACA,UACA,UACA,SACA,YACA,YACA,UACA,QACA,SACA,UACA,SACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,SACA,YACA,YACA,WACA,UACA,UACA,UACA,UACA,YACA,UACA,YACA,WACA,QACA,YACA,UACA,YACA,SACA,YACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,SACA,YACA,UACA,YACA,WACA,UACA,WACA,UACA,SACA,WACA,SACA,YACA,UACA,WACA,YACA,WACA,YACA,WACA,UACA,YACA,SACA,YACA,YACA,YACA,SACA,WACA,UACA,YACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,SACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,SACA,UACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,YACA,WACA,UACA,YACA,SACA,SACA,UACA,WACA,UACA,UACA,YACA,YACA,QACA,YACA,YACA,YACA,YACA,YACA,QACA,WACA,YACA,SACA,WACA,OACA,YACA,WACA,WACA,UACA,SACA,YACA,YACA,UACA,UACA,UACA,WACA,WACA,YACA,UACA,SACA,YACA,YACA,YACA,YACA,UACA,WACA,WACA,QACA,YACA,WACA,WACA,WACA,YACA,YACA,UACA,WACA,WACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,UACA,WACA,UACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,UACA,YACA,YACA,WACA,YACA,SACA,WACA,SACA,YACA,WACA,UACA,WACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,SACA,YACA,WACA,UACA,WACA,UACA,YACA,YACA,SACA,SACA,YACA,YACA,YACA,WACA,SACA,YACA,YACA,WACA,SACA,YACA,YACA,UACA,SACA,YACA,SACA,WACA,WACA,SACA,SACA,WACA,UACA,WACA,YACA,YACA,UACA,WACA,WACA,YACA,WACA,WACA,SACA,WACA,YACA,SACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,SACA,WACA,WACA,SACA,WACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,YACA,YACA,WACA,WACA,WACA,SACA,UACA,WACA,YACA,UACA,UACA,YACA,WACA,UACA,WACA,WACA,SACA,QACA,QACA,UACA,WACA,WACA,YACA,SACA,YACA,YACA,YACA,YACA,UACA,YACA,SACA,UACA,WACA,UACA,UACA,WACA,SACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,WACA,YACA,UACA,WACA,YACA,SACA,WACA,YACA,UACA,QACA,YACA,SACA,WACA,YACA,SACA,UACA,YACA,YACA,YACA,SACA,YACA,WACA,UACA,UACA,YACA,YACA,QACA,SACA,UACA,WACA,YACA,SACA,UACA,UACA,WACA,SACA,SACA,SACA,WACA,YACA,SACA,OACA,QACA,UACA,WACA,UACA,SACA,SACA,UACA,SACA,UACA,WACA,UACA,UACA,WACA,WACA,UACA,SACA,UACA,SACA,WACA,SACA,SACA,UACA,QACA,SACA,WACA,UACA,SACA,SACA,YACA,UACA,SACA,QACA,UACA,OACA,YACA,OACA,QACA,QACA,UACA,UACA,UACA,SACA,SACA,QACA,UACA,SACA,SACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,QACA,SACA,SACA,YACA,QACA,UACA,SACA,SACA,WACA,UACA,YACA,WACA,WACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,WACA,SACA,WACA,OACA,QACA,SACA,YACA,SACA,WACA,SACA,WACA,UACA,SACA,YACA,WACA,WACA,YACA,UACA,QACA,QACA,YACA,WACA,UACA,UACA,SACA,QACA,UACA,SACA,YACA,WACA,UACA,OACA,SACA,OACA,UACA,OACA,WACA,YACA,SACA,QACA,OACA,WACA,UACA,QACA,WACA,SACA,UACA,WACA,YACA,WACA,UACA,UACA,YACA,WACA,UACA,UACA,YACA,WACA,SACA,SACA,QACA,QACA,UACA,WACA,QACA,OACA,YACA,UACA,WACA,UACA,UACA,SACA,WACA,UACA,QACA,QACA,WACA,WACA,UACA,WACA,YACA,UACA,YACA,QACA,WACA,WACA,UACA,WACA,QACA,UACA,OACA,WACA,SACA,UACA,UACA,QACA,SACA,UACA,QACA,QACA,SACA,YACA,MACA,QACA,SACA,QACA,QACA,QACA,SACA,QACA,OACA,SACA,OACA,UACA,SACA,SACA,QACA,OACA,UACA,SACA,UACA,SACA,WACA,YACA,YACA,WACA,YACA,UACA,SACA,SACA,YACA,UACA,UACA,WACA,YACA,UACA,OACA,UACA,QACA,QACA,WACA,SACA,OACA,WACA,SACA,OACA,QACA,QACA,WACA,QACA,YACA,SACA,QACA,WACA,UACA,QACA,WACA,UACA,WACA,SACA,MACA,OACA,SACA,QACA,SACA,QACA,QACA,YACA,UACA,OACA,OACA,YACA,WACA,UACA,SACA,WACA,WACA,WACA,WACA,SACA,WACA,SACA,YACA,UACA,SACA,YACA,OACA,OACA,QACA,UACA,OACA,OACA,UACA,SACA,WACA,SACA,OACA,QACA,WACA,SACA,OACA,SACA,OACA,OACA,WACA,QACA,UACA,SACA,SACA,WACA,SACA,MACA,OACA,YACA,YACA,YACA,YACA,YACA,UACA,OACA,OACA,SACA,OACA,QACA,OACA,OACA,UACA,UACA,YACA,QACA,YACA,YACA,QACA,QACA,QACA,MACA,UACA,QACA,SACA,WACA,UACA,WACA,SACA,UACA,UACA,UACA,UACA,QACA,UACA,UACA,YACA,UACA,WACA,UACA,YACA,UACA,OACA,QACA,QACA,MACA,UACA,UACA,OACA,OACA,OACA,WACA,WACA,SACA,WACA,QACA,UACA,OACA,MACA,YACA,UACA,QACA,MACA,SACA,QACA,QACA,OACA,SACA,SACA,OACA,QACA,MACA,UACA,QACA,MACA,WACA,OACA,YACA,QACA,YACA,UACA,UACA,QACA,OACA,MACA,SACA,SACA,OACA,SACA,YACA,YACA,UACA,k9CCjmPJ,IAAAS,EAAA18I,EAAA,KAEA2f,EAAA3f,EAAA,IAOAoX,EAAA,WAUI,SAAAA,EAAoBuN,EAAgC6pC,EACxCmuF,GADQl6I,KAAAkiB,aAAgCliB,KAAA+rD,iBACxC/rD,KAAAk6I,uBAoGhB,OAlGIvlI,EAAAnY,UAAA29I,eAAA,WACI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","file":"app/main.d8139e017ad9a069b29d.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([744,2]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export abstract class I18nService {\n locale: string;\n supportedTranslationLocales: string[];\n translationLocale: string;\n collator: Intl.Collator;\n localeNames: Map;\n t: (id: string, p1?: string, p2?: string, p3?: string) => string;\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\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 isViewOpen: () => Promise;\n /**\n * @deprecated This only ever returns null. Pull from your platform's storage using ConstantsService.vaultTimeoutKey\n */\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 | string[],\n options?: any) => void;\n showDialog: (body: string, title?: string, confirmText?: string, cancelText?: string,\n type?: string, bodyIsHtml?: boolean) => Promise;\n eventTrack: (action: string, label?: string, options?: any) => void;\n isDev: () => boolean;\n isSelfHost: () => boolean;\n copyToClipboard: (text: string, options?: any) => void;\n readFromClipboard: (options?: any) => Promise;\n supportsBiometric: () => Promise;\n authenticateBiometric: () => Promise;\n getDefaultSystemTheme: () => 'light' | 'dark';\n onDefaultSystemThemeChange: (callback: ((theme: 'light' | 'dark') => unknown)) => unknown;\n supportsSecureStorage: () => boolean;\n}\n","import { PolicyType } from '../enums/policyType';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { EmergencyAccessAcceptRequest } from '../models/request/emergencyAccessAcceptRequest';\nimport { EmergencyAccessConfirmRequest } from '../models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessInviteRequest } from '../models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessPasswordRequest } from '../models/request/emergencyAccessPasswordRequest';\nimport { EmergencyAccessUpdateRequest } from '../models/request/emergencyAccessUpdateRequest';\nimport { EventRequest } from '../models/request/eventRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { IapCheckRequest } from '../models/request/iapCheckRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KdfRequest } from '../models/request/kdfRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { PolicyRequest } from '../models/request/policyRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\nimport { SendAccessRequest } from '../models/request/sendAccessRequest';\nimport { SendRequest } from '../models/request/sendRequest';\nimport { SetPasswordRequest } from '../models/request/setPasswordRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport {\n EmergencyAccessGranteeDetailsResponse,\n EmergencyAccessGrantorDetailsResponse,\n EmergencyAccessTakeoverResponse,\n EmergencyAccessViewResponse\n} from '../models/response/emergencyAccessResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { PaymentResponse } from '../models/response/paymentResponse';\nimport { PlanResponse } from '../models/response/planResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { PreloginResponse } from '../models/response/preloginResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\nimport { SendAccessResponse } from '../models/response/sendAccessResponse';\nimport { SendFileDownloadDataResponse } from '../models/response/sendFileDownloadDataResponse';\nimport { SendResponse } from '../models/response/sendResponse';\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TaxInfoResponse } from '../models/response/taxInfoResponse';\nimport { TaxRateResponse } from '../models/response/taxRateResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nimport { SendAccessView } from '../models/view/sendAccessView';\n\nexport abstract class ApiService {\n urlsSet: boolean;\n apiBaseUrl: string;\n identityBaseUrl: string;\n eventsBaseUrl: string;\n\n setUrls: (urls: EnvironmentUrls) => void;\n postIdentityToken: (request: TokenRequest) => Promise;\n refreshIdentityToken: () => Promise;\n\n getProfile: () => Promise;\n getUserBilling: () => Promise;\n getUserSubscription: () => Promise;\n getTaxInfo: () => Promise;\n putProfile: (request: UpdateProfileRequest) => Promise;\n putTaxInfo: (request: TaxInfoUpdateRequest) => Promise;\n postPrelogin: (request: PreloginRequest) => Promise;\n postEmailToken: (request: EmailTokenRequest) => Promise;\n postEmail: (request: EmailRequest) => Promise;\n postPassword: (request: PasswordRequest) => Promise;\n setPassword: (request: SetPasswordRequest) => Promise;\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\n getAccountRevisionDate: () => Promise;\n postPasswordHint: (request: PasswordHintRequest) => Promise;\n postRegister: (request: RegisterRequest) => Promise;\n postPremium: (data: FormData) => Promise;\n postIapCheck: (request: IapCheckRequest) => Promise;\n postReinstatePremium: () => Promise;\n postCancelPremium: () => Promise;\n postAccountStorage: (request: StorageRequest) => Promise;\n postAccountPayment: (request: PaymentRequest) => Promise;\n postAccountLicense: (data: FormData) => Promise;\n postAccountKey: (request: UpdateKeyRequest) => Promise;\n postAccountKeys: (request: KeysRequest) => Promise;\n postAccountVerifyEmail: () => Promise;\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\n postAccountVerifyPassword: (request: PasswordVerificationRequest) => Promise;\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\n postAccountKdf: (request: KdfRequest) => Promise;\n getEnterprisePortalSignInToken: () => Promise;\n postUserApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postUserRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n\n getFolder: (id: string) => Promise;\n postFolder: (request: FolderRequest) => Promise;\n putFolder: (id: string, request: FolderRequest) => Promise;\n deleteFolder: (id: string) => Promise;\n\n getSend: (id: string) => Promise;\n postSendAccess: (id: string, request: SendAccessRequest, apiUrl?: string) => Promise;\n getSends: () => Promise>;\n postSend: (request: SendRequest) => Promise;\n postSendFile: (data: FormData) => Promise;\n putSend: (id: string, request: SendRequest) => Promise;\n putSendRemovePassword: (id: string) => Promise;\n deleteSend: (id: string) => Promise;\n getSendFileDownloadData: (send: SendAccessView, request: SendAccessRequest) => Promise;\n\n getCipher: (id: string) => Promise;\n getCipherAdmin: (id: string) => Promise;\n getCiphersOrganization: (organizationId: string) => Promise>;\n postCipher: (request: CipherRequest) => Promise;\n postCipherCreate: (request: CipherCreateRequest) => Promise;\n postCipherAdmin: (request: CipherCreateRequest) => Promise;\n putCipher: (id: string, request: CipherRequest) => Promise;\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\n deleteCipher: (id: string) => Promise;\n deleteCipherAdmin: (id: string) => Promise;\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n deleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise;\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\n postPurgeCiphers: (request: PasswordVerificationRequest, organizationId?: string) => Promise;\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\n putDeleteCipher: (id: string) => Promise;\n putDeleteCipherAdmin: (id: string) => Promise;\n putDeleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n putDeleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise;\n putRestoreCipher: (id: string) => Promise;\n putRestoreCipherAdmin: (id: string) => Promise;\n putRestoreManyCiphers: (request: CipherBulkRestoreRequest) => Promise>;\n\n postCipherAttachment: (id: string, data: FormData) => Promise;\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\n organizationId: string) => Promise;\n\n getCollectionDetails: (organizationId: string, id: string) => Promise;\n getUserCollections: () => Promise>;\n getCollections: (organizationId: string) => Promise>;\n getCollectionUsers: (organizationId: string, id: string) => Promise;\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\n putCollectionUsers: (organizationId: string, id: string, request: SelectionReadOnlyRequest[]) => Promise;\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\n deleteCollection: (organizationId: string, id: string) => Promise;\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getGroupDetails: (organizationId: string, id: string) => Promise;\n getGroups: (organizationId: string) => Promise>;\n getGroupUsers: (organizationId: string, id: string) => Promise;\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\n putGroupUsers: (organizationId: string, id: string, request: string[]) => Promise;\n deleteGroup: (organizationId: string, id: string) => Promise;\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getPolicy: (organizationId: string, type: PolicyType) => Promise;\n getPolicies: (organizationId: string) => Promise>;\n getPoliciesByToken: (organizationId: string, token: string, email: string, organizationUserId: string) =>\n Promise>;\n putPolicy: (organizationId: string, type: PolicyType, request: PolicyRequest) => Promise;\n\n getOrganizationUser: (organizationId: string, id: string) => Promise;\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\n getOrganizationUsers: (organizationId: string) => Promise>;\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\n postOrganizationUserAccept: (organizationId: string, id: string,\n request: OrganizationUserAcceptRequest) => Promise;\n postOrganizationUserConfirm: (organizationId: string, id: string,\n request: OrganizationUserConfirmRequest) => Promise;\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\n putOrganizationUserGroups: (organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest) => Promise;\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\n\n getSync: () => Promise;\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\n\n getSettingsDomains: () => Promise;\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\n\n getTwoFactorProviders: () => Promise>;\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorOrganizationDuo: (organizationId: string,\n request: PasswordVerificationRequest) => Promise;\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2fChallenge: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\n putTwoFactorAuthenticator: (\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorOrganizationDuo: (organizationId: string,\n request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\n deleteTwoFactorU2f: (request: UpdateTwoFactorU2fDeleteRequest) => Promise;\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\n putTwoFactorOrganizationDisable: (organizationId: string,\n request: TwoFactorProviderRequest) => Promise;\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\n\n getEmergencyAccessTrusted: () => Promise>;\n getEmergencyAccessGranted: () => Promise>;\n getEmergencyAccess: (id: string) => Promise;\n getEmergencyGrantorPolicies: (id: string) => Promise>;\n putEmergencyAccess: (id: string, request: EmergencyAccessUpdateRequest) => Promise;\n deleteEmergencyAccess: (id: string) => Promise;\n postEmergencyAccessInvite: (request: EmergencyAccessInviteRequest) => Promise;\n postEmergencyAccessReinvite: (id: string) => Promise;\n postEmergencyAccessAccept: (id: string, request: EmergencyAccessAcceptRequest) => Promise;\n postEmergencyAccessConfirm: (id: string, request: EmergencyAccessConfirmRequest) => Promise;\n postEmergencyAccessInitiate: (id: string) => Promise;\n postEmergencyAccessApprove: (id: string) => Promise;\n postEmergencyAccessReject: (id: string) => Promise;\n postEmergencyAccessTakeover: (id: string) => Promise;\n postEmergencyAccessPassword: (id: string, request: EmergencyAccessPasswordRequest) => Promise;\n postEmergencyAccessView: (id: string) => Promise;\n\n getOrganization: (id: string) => Promise;\n getOrganizationBilling: (id: string) => Promise;\n getOrganizationSubscription: (id: string) => Promise;\n getOrganizationLicense: (id: string, installationId: string) => Promise;\n getOrganizationTaxInfo: (id: string) => Promise;\n postOrganization: (request: OrganizationCreateRequest) => Promise;\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\n putOrganizationTaxInfo: (id: string, request: OrganizationTaxInfoUpdateRequest) => Promise;\n postLeaveOrganization: (id: string) => Promise;\n postOrganizationLicense: (data: FormData) => Promise;\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\n postOrganizationApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postOrganizationRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postOrganizationUpgrade: (id: string, request: OrganizationUpgradeRequest) => Promise;\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\n postOrganizationCancel: (id: string) => Promise;\n postOrganizationReinstate: (id: string) => Promise;\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\n getPlans: () => Promise>;\n getTaxRates: () => Promise>;\n\n getEvents: (start: string, end: string, token: string) => Promise>;\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\n getEventsOrganization: (id: string, start: string, end: string,\n token: string) => Promise>;\n getEventsOrganizationUser: (organizationId: string, id: string,\n start: string, end: string, token: string) => Promise>;\n postEventsCollect: (request: EventRequest[]) => Promise;\n\n deleteSsoUser: (organizationId: string) => Promise;\n getSsoUserIdentifier: () => Promise;\n\n getUserPublicKey: (id: string) => Promise;\n\n getHibpBreach: (username: string) => Promise;\n\n postBitPayInvoice: (request: BitPayInvoiceRequest) => Promise;\n postSetupPayment: () => Promise;\n\n getActiveBearerToken: () => Promise;\n fetch: (request: Request) => Promise;\n nativeFetch: (request: Request) => Promise;\n\n preValidateSso: (identifier: string) => Promise;\n}\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class UserService {\n setInformation: (userId: string, email: string, kdf: KdfType, kdfIterations: number) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n getKdf: () => Promise;\n getKdfIterations: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n canAccessPremium: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Pipe({\n name: 'i18n',\n})\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.i18nService.t(id, p1, p2, p3);\n }\n}\n","export abstract class MessagingService {\n send: (subscriber: string, arg?: any) => void;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\n\n@Directive({\n selector: '[appApiAction]',\n})\nexport class ApiActionDirective implements OnChanges {\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) {\n return;\n }\n\n this.el.nativeElement.loading = true;\n\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 });\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appA11yTitle]',\n})\nexport class A11yTitleDirective {\n @Input() set appA11yTitle(title: string) {\n this.title = title;\n }\n\n private title: string;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (!this.el.nativeElement.hasAttribute('title')) {\n this.renderer.setAttribute(this.el.nativeElement, 'title', this.title);\n }\n if (!this.el.nativeElement.hasAttribute('aria-label')) {\n this.renderer.setAttribute(this.el.nativeElement, 'aria-label', this.title);\n }\n }\n}\n","import { CipherString } from '../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class CryptoService {\n setKey: (key: SymmetricCryptoKey) => Promise;\n setKeyHash: (keyHash: string) => Promise<{}>;\n setEncKey: (encKey: string) => Promise<{}>;\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\n getKey: () => Promise;\n getKeyHash: () => Promise;\n getEncKey: (key?: SymmetricCryptoKey) => Promise;\n getPublicKey: () => Promise;\n getPrivateKey: () => Promise;\n getFingerprint: (userId: string, publicKey?: ArrayBuffer) => Promise;\n getOrgKeys: () => Promise>;\n getOrgKey: (orgId: string) => Promise;\n hasKey: () => Promise;\n hasEncKey: () => Promise;\n clearKey: () => Promise;\n clearKeyHash: () => Promise;\n clearEncKey: (memoryOnly?: boolean) => Promise;\n clearKeyPair: (memoryOnly?: boolean) => Promise;\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\n clearPinProtectedKey: () => Promise;\n clearKeys: () => Promise;\n toggleKey: () => Promise;\n makeKey: (password: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeKeyFromPin: (pin: string, salt: string, kdf: KdfType, kdfIterations: number,\n protectedKeyCs?: CipherString) => Promise;\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\n makePinKey: (pin: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeSendKey: (keyMaterial: ArrayBuffer) => Promise;\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n remakeEncKey: (key: SymmetricCryptoKey, encKey?: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer) => Promise;\n rsaDecrypt: (encValue: string) => Promise;\n decryptToBytes: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\n randomNumber: (min: number, max: number) => Promise;\n}\n","import { CipherType } from '../enums/cipherType';\nimport { UriMatchType } from '../enums/uriMatchType';\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 { 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, originalCipher?: Cipher) => 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[],\n defaultMatch?: UriMatchType) => Promise;\n getAllFromApiForOrganization: (organizationId: string) => Promise;\n getLastUsedForUrl: (url: string) => Promise;\n getLastLaunchedForUrl: (url: string) => Promise;\n getNextCipherForUrl: (url: string) => Promise;\n updateLastUsedIndexForUrl: (url: string) => void;\n updateLastUsedDate: (id: string) => Promise;\n updateLastLaunchedDate: (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 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 softDelete: (id: string | string[]) => Promise;\n softDeleteWithServer: (id: string) => Promise;\n softDeleteManyWithServer: (ids: string[]) => Promise;\n restore: (cipher: { id: string, revisionDate: string; } | { id: string, revisionDate: string; }[]) => Promise;\n restoreWithServer: (id: string) => Promise;\n restoreManyWithServer: (ids: string[]) => Promise;\n}\n","export abstract class BaseResponse {\n private response: any;\n\n constructor(response: any) {\n this.response = response;\n }\n\n protected getResponseProperty(propertyName: string, response: any = null, exactName = false): any {\n if (propertyName == null || propertyName === '') {\n throw new Error('propertyName must not be null/empty.');\n }\n if (response == null && this.response != null) {\n response = this.response;\n }\n if (response == null) {\n return null;\n }\n if (!exactName && response[propertyName] === undefined) {\n let otherCasePropertyName: string = null;\n if (propertyName.charAt(0) === propertyName.charAt(0).toUpperCase()) {\n otherCasePropertyName = propertyName.charAt(0).toLowerCase();\n } else {\n otherCasePropertyName = propertyName.charAt(0).toUpperCase();\n }\n if (propertyName.length > 1) {\n otherCasePropertyName += propertyName.slice(1);\n }\n\n propertyName = otherCasePropertyName;\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toLowerCase();\n }\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toUpperCase();\n }\n }\n return response[propertyName];\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Component({\n selector: 'app-callout',\n templateUrl: 'callout.component.html',\n})\nexport class CalloutComponent implements OnInit {\n @Input() type = 'info';\n @Input() icon: string;\n @Input() title: string;\n @Input() clickable: boolean;\n\n calloutStyle: string;\n\n constructor(private i18nService: I18nService) { }\n\n ngOnInit() {\n this.calloutStyle = this.type;\n\n if (this.type === 'warning' || this.type === 'danger') {\n if (this.type === 'danger') {\n this.calloutStyle = 'danger';\n }\n if (this.title === undefined) {\n this.title = this.i18nService.t('warning');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-warning';\n }\n } else if (this.type === 'error') {\n this.calloutStyle = 'danger';\n if (this.title === undefined) {\n this.title = this.i18nService.t('error');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-bolt';\n }\n } else if (this.type === 'tip') {\n this.calloutStyle = 'success';\n if (this.title === undefined) {\n this.title = this.i18nService.t('tip');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-lightbulb-o';\n }\n }\n }\n}\n","

\n

\n \n {{title}}\n

\n \n
\n","import * as papa from 'papaparse';\n\nimport { LogService } from '../abstractions/log.service';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { LoginUriView } from '../models/view/loginUriView';\n\nimport { Utils } from '../misc/utils';\n\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\nimport { ConsoleLogService } from '../services/consoleLog.service';\n\nexport abstract class BaseImporter {\n organizationId: string = null;\n\n protected logService: LogService = new ConsoleLogService(false);\n\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\n\n protected passwordFieldNames = [\n 'password', 'pass word', 'passphrase', 'pass phrase',\n 'pass', 'code', 'code word', 'codeword',\n 'secret', 'secret word', 'personpwd',\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\n 'p', 'serial', 'serial#', 'license key', 'reg #',\n\n // Non-English names\n 'passwort',\n ];\n\n protected usernameFieldNames = [\n 'user', 'name', 'user name', 'username', 'login name',\n 'email', 'e-mail', 'id', 'userid', 'user id',\n 'login', 'form_loginname', 'wpname', 'mail',\n 'loginid', 'login id', 'log', 'personlogin',\n 'first name', 'last name', 'card#', 'account #',\n 'member', 'member #',\n\n // Non-English names\n 'nom', 'benutzername',\n ];\n\n protected notesFieldNames = [\n 'note', 'notes', 'comment', 'comments', 'memo',\n 'description', 'free form', 'freeform',\n 'free text', 'freetext', 'free',\n\n // Non-English names\n 'kommentar',\n ];\n\n protected uriFieldNames: string[] = [\n 'url', 'hyper link', 'hyperlink', 'link',\n 'host', 'hostname', 'host name', 'server', 'address',\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\n 'web-site', 'uri',\n\n // Non-English names\n 'ort', 'adresse',\n ];\n\n protected parseCsvOptions = {\n encoding: 'UTF-8',\n skipEmptyLines: false,\n };\n\n protected get organization() {\n return this.organizationId != null;\n }\n\n protected parseXml(data: string): Document {\n const parser = new DOMParser();\n const doc = parser.parseFromString(data, 'application/xml');\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\n }\n\n protected parseCsv(data: string, header: boolean, options: any = {}): any[] {\n const parseOptions = Object.assign({ header: header }, this.parseCsvOptions, options);\n data = this.splitNewLine(data).join('\\n').trim();\n const result = papa.parse(data, parseOptions);\n if (result.errors != null && result.errors.length > 0) {\n result.errors.forEach(e => {\n if (e.row != null) {\n // tslint:disable-next-line\n this.logService.warning('Error parsing row ' + e.row + ': ' + e.message);\n }\n });\n }\n return result.data && result.data.length > 0 ? result.data : null;\n }\n\n protected parseSingleRowCsv(rowData: string) {\n if (this.isNullOrWhitespace(rowData)) {\n return null;\n }\n const parsedRow = this.parseCsv(rowData, false);\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\n return parsedRow[0];\n }\n return null;\n }\n\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\n if (uri == null) {\n return null;\n }\n\n if (typeof uri === 'string') {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(uri);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return null;\n }\n loginUri.match = null;\n return [loginUri];\n }\n\n if (uri.length > 0) {\n const returnArr: LoginUriView[] = [];\n uri.forEach(u => {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(u);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return;\n }\n loginUri.match = null;\n returnArr.push(loginUri);\n });\n return returnArr.length === 0 ? null : returnArr;\n }\n\n return null;\n }\n\n protected fixUri(uri: string) {\n if (uri == null) {\n return null;\n }\n uri = uri.trim();\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\n uri = 'http://' + uri;\n }\n if (uri.length > 1000) {\n return uri.substring(0, 1000);\n }\n return uri;\n }\n\n protected nameFromUrl(url: string) {\n const hostname = Utils.getHostname(url);\n if (this.isNullOrWhitespace(hostname)) {\n return null;\n }\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\n }\n\n protected isNullOrWhitespace(str: string): boolean {\n return Utils.isNullOrWhitespace(str);\n }\n\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\n if (this.isNullOrWhitespace(str)) {\n return defaultValue;\n }\n return str;\n }\n\n protected splitNewLine(str: string): string[] {\n return str.split(this.newLineRegex);\n }\n\n // ref https://stackoverflow.com/a/5911300\n protected getCardBrand(cardNum: string) {\n if (this.isNullOrWhitespace(cardNum)) {\n return null;\n }\n\n // Visa\n let re = new RegExp('^4');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n // Mastercard\n // Updated for Mastercard 2017 BINs expansion\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}))$/\n .test(cardNum)) {\n return 'Mastercard';\n }\n\n // AMEX\n re = new RegExp('^3[47]');\n if (cardNum.match(re) != null) {\n return 'Amex';\n }\n\n // Discover\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)');\n if (cardNum.match(re) != null) {\n return 'Discover';\n }\n\n // Diners\n re = new RegExp('^36');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // Diners - Carte Blanche\n re = new RegExp('^30[0-5]');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // JCB\n re = new RegExp('^35(2[89]|[3-8][0-9])');\n if (cardNum.match(re) != null) {\n return 'JCB';\n }\n\n // Visa Electron\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n return null;\n }\n\n protected setCardExpiration(cipher: CipherView, expiration: string): boolean {\n if (!this.isNullOrWhitespace(expiration)) {\n const parts = expiration.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 return true;\n }\n }\n }\n return false;\n }\n\n protected moveFoldersToCollections(result: ImportResult) {\n result.folderRelationships.forEach(r => result.collectionRelationships.push(r));\n result.collections = result.folders.map(f => {\n const collection = new CollectionView();\n collection.name = f.name;\n return collection;\n });\n result.folderRelationships = [];\n result.folders = [];\n }\n\n protected querySelectorDirectChild(parentEl: Element, query: string) {\n const els = this.querySelectorAllDirectChild(parentEl, query);\n return els.length === 0 ? null : els[0];\n }\n\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\n return Array.from(parentEl.querySelectorAll(query)).filter(el => el.parentNode === parentEl);\n }\n\n protected initLoginCipher() {\n const cipher = new CipherView();\n cipher.favorite = false;\n cipher.notes = '';\n cipher.fields = [];\n cipher.login = new LoginView();\n cipher.type = CipherType.Login;\n return cipher;\n }\n\n protected cleanupCipher(cipher: CipherView) {\n if (cipher == null) {\n return;\n }\n if (cipher.type !== CipherType.Login) {\n cipher.login = null;\n }\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = '--';\n }\n if (this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = null;\n } else {\n cipher.notes = cipher.notes.trim();\n }\n if (cipher.fields != null && cipher.fields.length === 0) {\n cipher.fields = null;\n }\n }\n\n protected processKvp(cipher: CipherView, key: string, value: string, type: FieldType = FieldType.Text) {\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n if (this.isNullOrWhitespace(key)) {\n key = '';\n }\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\n if (cipher.notes == null) {\n cipher.notes = '';\n }\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\n } else {\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n const field = new FieldView();\n field.type = type;\n field.name = key;\n field.value = value;\n cipher.fields.push(field);\n }\n }\n\n protected processFolder(result: ImportResult, folderName: string) {\n let folderIndex = result.folders.length;\n const hasFolder = !this.isNullOrWhitespace(folderName);\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === folderName) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n if (addFolder) {\n const f = new FolderView();\n f.name = folderName;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\n }\n }\n\n protected convertToNoteIfNeeded(cipher: CipherView) {\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\n this.isNullOrWhitespace(cipher.login.password) &&\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n}\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: [number, number][] = [];\n collections: CollectionView[] = [];\n collectionRelationships: [number, number][] = [];\n}\n","import * as tldjs from 'tldjs';\n\nimport { I18nService } from '../abstractions/i18n.service';\n\n// tslint:disable-next-line\nconst nodeURL = typeof window === 'undefined' ? require('url') : null;\n\nexport class Utils {\n static inited = false;\n static isNativeScript = false;\n static isNode = false;\n static isBrowser = true;\n static isMobileBrowser = false;\n static isAppleMobileBrowser = false;\n static global: any = null;\n static tldEndingRegex = /.*\\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/;\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.isNativeScript = !Utils.isNode && !Utils.isBrowser;\n Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);\n Utils.isAppleMobileBrowser = Utils.isBrowser && this.isAppleMobile(window);\n Utils.global = Utils.isNativeScript ? global : (Utils.isNode && !Utils.isBrowser ? global : window);\n }\n\n static fromB64ToArray(str: string): Uint8Array {\n if (Utils.isNode || Utils.isNativeScript) {\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 fromUrlB64ToArray(str: string): Uint8Array {\n return Utils.fromB64ToArray(Utils.fromUrlB64ToB64(str));\n }\n\n static fromHexToArray(str: string): Uint8Array {\n if (Utils.isNode || Utils.isNativeScript) {\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 || Utils.isNativeScript) {\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 || Utils.isNativeScript) {\n return Buffer.from(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 fromBufferToUrlB64(buffer: ArrayBuffer): string {\n return Utils.fromB64toUrlB64(Utils.fromBufferToB64(buffer));\n }\n\n static fromB64toUrlB64(b64Str: string) {\n return b64Str.replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '');\n }\n\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\n if (Utils.isNode || Utils.isNativeScript) {\n return Buffer.from(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 || Utils.isNativeScript) {\n return Buffer.from(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 fromUrlB64ToB64(urlB64Str: string): string {\n let output = urlB64Str.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 output;\n }\n\n static fromUrlB64ToUtf8(urlB64Str: string): string {\n return Utils.fromB64ToUtf8(Utils.fromUrlB64ToB64(urlB64Str));\n }\n\n static fromB64ToUtf8(b64Str: string): string {\n if (Utils.isNode || Utils.isNativeScript) {\n return Buffer.from(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 isGuid(id: string) {\n return RegExp(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/, 'i').test(id);\n }\n\n static getHostname(uriString: string): string {\n const url = Utils.getUrl(uriString);\n try {\n return url != null && url.hostname !== '' ? url.hostname : null;\n } catch {\n return null;\n }\n }\n\n static getHost(uriString: string): string {\n const url = Utils.getUrl(uriString);\n try {\n return url != null && url.host !== '' ? url.host : null;\n } catch {\n return null;\n }\n }\n\n static getDomain(uriString: string): string {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n if (uriString.startsWith('data:')) {\n return null;\n }\n\n let httpUrl = uriString.startsWith('http://') || uriString.startsWith('https://');\n if (!httpUrl && uriString.indexOf('://') < 0 && Utils.tldEndingRegex.test(uriString)) {\n uriString = 'http://' + uriString;\n httpUrl = true;\n }\n\n if (httpUrl) {\n try {\n const url = Utils.getUrlObject(uriString);\n if (url.hostname === 'localhost' || Utils.validIpAddress(url.hostname)) {\n return url.hostname;\n }\n\n const urlDomain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(url.hostname) : null;\n return urlDomain != null ? urlDomain : url.hostname;\n } catch (e) { }\n }\n\n try {\n const domain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(uriString) : null;\n\n if (domain != null) {\n return domain;\n }\n } catch {\n return null;\n }\n\n return 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 static isNullOrWhitespace(str: string): boolean {\n return str == null || typeof str !== 'string' || str.trim() === '';\n }\n\n static nameOf(name: string & keyof T) {\n return name;\n }\n\n static assign(target: T, source: Partial): T {\n return Object.assign(target, source);\n }\n\n private static validIpAddress(ipString: string): boolean {\n // tslint:disable-next-line\n const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n return ipRegex.test(ipString);\n }\n\n private static isMobile(win: Window) {\n let mobile = false;\n (a => {\n // tslint:disable-next-line\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n mobile = true;\n }\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\n }\n\n private static isAppleMobile(win: Window) {\n return win.navigator.userAgent.match(/iPhone/i) != null || win.navigator.userAgent.match(/iPad/i) != null;\n }\n\n private static getUrl(uriString: string): URL {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n let url = Utils.getUrlObject(uriString);\n if (url == null) {\n const hasHttpProtocol = uriString.indexOf('http://') === 0 || uriString.indexOf('https://') === 0;\n if (!hasHttpProtocol && uriString.indexOf('.') > -1) {\n url = Utils.getUrlObject('http://' + uriString);\n }\n }\n return url;\n }\n\n private static getUrlObject(uriString: string): URL {\n try {\n if (nodeURL != null) {\n return nodeURL.URL ? new nodeURL.URL(uriString) : nodeURL.parse(uriString);\n } else if (typeof URL === 'function') {\n return new URL(uriString);\n } else if (window != null) {\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 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 { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\nimport { PasswordGeneratorPolicyOptions } from '../models/domain/passwordGeneratorPolicyOptions';\n\nexport abstract class PasswordGenerationService {\n generatePassword: (options: any) => Promise;\n generatePassphrase: (options: any) => Promise;\n getOptions: () => Promise<[any, PasswordGeneratorPolicyOptions]>;\n enforcePasswordGeneratorPoliciesOnOptions: (options: any) => Promise<[any, PasswordGeneratorPolicyOptions]>;\n getPasswordGeneratorPolicyOptions: () => Promise;\n saveOptions: (options: any) => Promise;\n getHistory: () => Promise;\n addHistory: (password: string) => Promise;\n clear: () => Promise;\n passwordStrength: (password: string, userInputs?: string[]) => zxcvbn.ZXCVBNResult;\n normalizeOptions: (options: any, enforcedPolicyOptions: PasswordGeneratorPolicyOptions) => void;\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appStopClick]',\n})\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n $event.preventDefault();\n }\n}\n","export abstract class StateService {\n get: (key: string) => Promise;\n save: (key: string, obj: any) => Promise;\n remove: (key: string) => Promise;\n purge: () => Promise;\n}\n","export enum CipherType {\n Login = 1,\n SecureNote = 2,\n Card = 3,\n Identity = 4,\n}\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\nimport { TreeNode } from '../models/domain/treeNode';\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 getAllNested: (collections?: CollectionView[]) => Promise[]>;\n getNested: (id: string) => 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","export abstract class StorageService {\n get: (key: string) => Promise;\n save: (key: string, obj: any) => Promise;\n remove: (key: string) => Promise;\n}\n","import { PolicyData } from '../models/data/policyData';\n\nimport { MasterPasswordPolicyOptions } from '../models/domain/masterPasswordPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { PolicyType } from '../enums/policyType';\n\nexport abstract class PolicyService {\n policyCache: Policy[];\n\n clearCache: () => void;\n getAll: (type?: PolicyType) => Promise;\n replace: (policies: { [id: string]: PolicyData; }) => Promise;\n clear: (userId: string) => Promise;\n getMasterPasswordPolicyOptions: (policies?: Policy[]) => Promise;\n evaluateMasterPassword: (passwordStrength: number, newPassword: string,\n enforcedPolicyOptions?: MasterPasswordPolicyOptions) => boolean;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { TreeNode } from '../models/domain/treeNode';\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 getAllNested: () => Promise[]>;\n getNested: (id: string) => 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","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appStopProp]',\n})\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n $event.stopPropagation();\n }\n}\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n ssoRedirectUrl: string;\n clientId: string;\n clientSecret: string;\n twoFactorProvidersData: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInSso: (code: string, codeVerifier: string, redirectUrl: string) => Promise;\n logInApiKey: (clientId: string, clientSecret: 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 logInSsoComplete: (code: string, codeVerifier: string, redirectUrl: string,\n twoFactorProvider: TwoFactorProviderType, twoFactorToken: string, remember?: boolean) => Promise;\n logInApiKeyComplete: (clientId: string, clientSecret: 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 makePreloginKey: (masterPassword: string, email: string) => Promise;\n authingWithApiKey: () => boolean;\n authingWithSso: () => boolean;\n authingWithPassword: () => boolean;\n}\n","import {\n SyncCipherNotification,\n SyncFolderNotification,\n SyncSendNotification,\n} from '../models/response/notificationResponse';\n\nexport abstract class SyncService {\n syncInProgress: boolean;\n\n getLastSync: () => Promise;\n setLastSync: (date: Date) => Promise;\n fullSync: (forceSync: boolean, allowThrowOnError?: boolean) => Promise;\n syncUpsertFolder: (notification: SyncFolderNotification, isEdit: boolean) => Promise;\n syncDeleteFolder: (notification: SyncFolderNotification) => Promise;\n syncUpsertCipher: (notification: SyncCipherNotification, isEdit: boolean) => Promise;\n syncDeleteCipher: (notification: SyncFolderNotification) => Promise;\n syncUpsertSend: (notification: SyncSendNotification, isEdit: boolean) => Promise;\n syncDeleteSend: (notification: SyncSendNotification) => Promise;\n}\n","export abstract class EnvironmentService {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n notificationsUrl: string;\n eventsUrl: string;\n enterpriseUrl: string;\n\n getWebVaultUrl: () => string;\n setUrlsFromStorage: () => Promise;\n setUrls: (urls: any) => Promise;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (!Utils.isMobileBrowser && this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","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 disableBadgeCounterKey: string = 'disableBadgeCounter';\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\n static readonly vaultTimeoutKey: string = 'lockOption';\n static readonly vaultTimeoutActionKey: string = 'vaultTimeoutAction';\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 static readonly collapsedGroupingsKey: string = 'collapsedGroupings';\n static readonly autoConfirmFingerprints: string = 'autoConfirmFingerprints';\n static readonly dontShowCardsCurrentTab: string = 'dontShowCardsCurrentTab';\n static readonly dontShowIdentitiesCurrentTab: string = 'dontShowIdentitiesCurrentTab';\n static readonly defaultUriMatch: string = 'defaultUriMatch';\n static readonly pinProtectedKey: string = 'pinProtectedKey';\n static readonly protectedPin: string = 'protectedPin';\n static readonly clearClipboardKey: string = 'clearClipboardKey';\n static readonly eventCollectionKey: string = 'eventCollection';\n static readonly ssoCodeVerifierKey: string = 'ssoCodeVerifier';\n static readonly ssoStateKey: string = 'ssoState';\n static readonly biometricUnlockKey: string = 'biometric';\n static readonly biometricText: string = 'biometricText';\n static readonly biometricAwaitingAcceptance: string = 'biometricAwaitingAcceptance';\n static readonly biometricFingerprintValidated: string = 'biometricFingerprintValidated';\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 disableBadgeCounterKey: string = ConstantsService.disableBadgeCounterKey;\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\n readonly vaultTimeoutKey: string = ConstantsService.vaultTimeoutKey;\n readonly vaultTimeoutActionKey: string = ConstantsService.vaultTimeoutActionKey;\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 readonly collapsedGroupingsKey: string = ConstantsService.collapsedGroupingsKey;\n readonly autoConfirmFingerprints: string = ConstantsService.autoConfirmFingerprints;\n readonly dontShowCardsCurrentTab: string = ConstantsService.dontShowCardsCurrentTab;\n readonly dontShowIdentitiesCurrentTab: string = ConstantsService.dontShowIdentitiesCurrentTab;\n readonly defaultUriMatch: string = ConstantsService.defaultUriMatch;\n readonly pinProtectedKey: string = ConstantsService.pinProtectedKey;\n readonly protectedPin: string = ConstantsService.protectedPin;\n readonly clearClipboardKey: string = ConstantsService.clearClipboardKey;\n readonly eventCollectionKey: string = ConstantsService.eventCollectionKey;\n readonly ssoCodeVerifierKey: string = ConstantsService.ssoCodeVerifierKey;\n readonly ssoStateKey: string = ConstantsService.ssoStateKey;\n readonly biometricUnlockKey: string = ConstantsService.biometricUnlockKey;\n readonly biometricText: string = ConstantsService.biometricText;\n readonly biometricAwaitingAcceptance: string = ConstantsService.biometricAwaitingAcceptance;\n readonly biometricFingerprintValidated: string = ConstantsService.biometricFingerprintValidated;\n}\n","import { EventType } from '../enums/eventType';\n\nexport abstract class EventService {\n collect: (eventType: EventType, cipherId?: string, uploadImmediately?: boolean) => Promise;\n uploadEvents: () => Promise;\n clearEvents: () => Promise;\n}\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","import { CipherView } from '../models/view/cipherView';\nimport { SendView } from '../models/view/sendView';\n\nexport abstract class SearchService {\n clearIndex: () => void;\n isSearchable: (query: string) => boolean;\n indexCiphers: () => Promise;\n searchCiphers: (query: string,\n filter?: ((cipher: CipherView) => boolean) | (((cipher: CipherView) => boolean)[]),\n ciphers?: CipherView[]) => Promise;\n searchCiphersBasic: (ciphers: CipherView[], query: string, deleted?: boolean) => CipherView[];\n searchSends: (sends: SendView[], query: string) => SendView[];\n}\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport default 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,\n key: SymmetricCryptoKey = null): 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, key);\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 * as jq from 'jquery';\n\nimport {\n Component,\n ComponentFactoryResolver,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\nimport { Utils } from 'jslib/misc/utils';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent extends BaseModalComponent {\n el: any = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService) {\n super(componentFactoryResolver, messagingService);\n }\n\n ngOnDestroy() { /* Nothing */ }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true,\n setComponentParameters: (component: T) => void = null): T {\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n if (setComponentParameters != null) {\n setComponentParameters(componentRef.instance);\n }\n\n const modals = Array.from(document.querySelectorAll('.modal'));\n if (modals.length > 0) {\n this.el = jq(modals[0]);\n this.el.modal('show');\n\n this.el.on('show.bs.modal', () => {\n this.onShow.emit();\n this.messagingService.send('modalShow');\n });\n this.el.on('shown.bs.modal', () => {\n this.onShown.emit();\n this.messagingService.send('modalShown');\n if (!Utils.isMobileBrowser) {\n this.el.find('*[appAutoFocus]').focus();\n }\n });\n this.el.on('hide.bs.modal', () => {\n this.onClose.emit();\n this.messagingService.send('modalClose');\n });\n this.el.on('hidden.bs.modal', () => {\n this.onClosed.emit();\n this.messagingService.send('modalClosed');\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n });\n }\n\n return componentRef.instance;\n }\n\n close() {\n if (this.el != null) {\n this.el.modal('hide');\n }\n }\n}\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","import { View } from './view';\n\nimport { Card } from '../domain/card';\n\nexport class CardView implements View {\n cardholderName: string = null;\n expMonth: string = null;\n expYear: string = null;\n code: string = null;\n\n // tslint:disable\n private _brand: string = null;\n private _number: string = null;\n private _subTitle: string = null;\n // tslint:enable\n\n constructor(c?: Card) {\n // ctor\n }\n\n get maskedCode(): string {\n return this.code != null ? '•'.repeat(this.code.length) : null;\n }\n\n get brand(): string {\n return this._brand;\n }\n set brand(value: string) {\n this._brand = value;\n this._subTitle = null;\n }\n\n get number(): string {\n return this._number;\n }\n set number(value: string) {\n this._number = value;\n this._subTitle = null;\n }\n\n get subTitle(): string {\n if (this._subTitle == null) {\n this._subTitle = this.brand;\n if (this.number != null && this.number.length >= 4) {\n if (this._subTitle != null && this._subTitle !== '') {\n this._subTitle += ', ';\n } else {\n this._subTitle = '';\n }\n\n // Show last 5 on amex, last 4 for all others\n const count = this.number.length >= 5 && this.number.match(new RegExp('^3[47]')) != null ? 5 : 4;\n this._subTitle += ('*' + this.number.substr(this.number.length - count));\n }\n }\n return this._subTitle;\n }\n\n get expiration(): string {\n if (!this.expMonth && !this.expYear) {\n return null;\n }\n\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\n return exp;\n }\n\n private formatYear(year: string): string {\n return year.length === 2 ? '20' + year : year;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { View } from './view';\n\nimport { SecureNote } from '../domain/secureNote';\n\nexport class SecureNoteView implements View {\n type: SecureNoteType = null;\n\n constructor(n?: SecureNote) {\n if (!n) {\n return;\n }\n\n this.type = n.type;\n }\n\n get subTitle(): string {\n return null;\n }\n}\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 toggleTokens: () => 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 { 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 hkdf: (ikm: ArrayBuffer, salt: string | ArrayBuffer, info: string | ArrayBuffer,\n outputByteSize: number, algorithm: 'sha256' | 'sha512') => Promise;\n hkdfExpand: (prk: ArrayBuffer, info: string | ArrayBuffer, outputByteSize: number,\n algorithm: 'sha256' | 'sha512') => 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 { EncryptionType } from '../../enums/encryptionType';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\n\nimport { Utils } from '../../misc/utils';\n\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class CipherString {\n encryptedString?: string;\n encryptionType?: EncryptionType;\n decryptedValue?: string;\n data?: string;\n iv?: string;\n mac?: string;\n\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\n if (data != null) {\n // data and header\n const encType = encryptedStringOrType as EncryptionType;\n\n if (iv != null) {\n this.encryptedString = encType + '.' + iv + '|' + data;\n } else {\n this.encryptedString = encType + '.' + data;\n }\n\n // mac\n if (mac != null) {\n this.encryptedString += ('|' + mac);\n }\n\n this.encryptionType = encType;\n this.data = data;\n this.iv = iv;\n this.mac = mac;\n\n return;\n }\n\n this.encryptedString = encryptedStringOrType as string;\n if (!this.encryptedString) {\n return;\n }\n\n const headerPieces = this.encryptedString.split('.');\n let encPieces: string[] = null;\n\n if (headerPieces.length === 2) {\n try {\n this.encryptionType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) {\n return;\n }\n } else {\n encPieces = this.encryptedString.split('|');\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\n EncryptionType.AesCbc256_B64;\n }\n\n switch (this.encryptionType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encPieces.length !== 3) {\n return;\n }\n\n this.iv = encPieces[0];\n this.data = encPieces[1];\n this.mac = encPieces[2];\n break;\n case EncryptionType.AesCbc256_B64:\n if (encPieces.length !== 2) {\n return;\n }\n\n this.iv = encPieces[0];\n this.data = encPieces[1];\n break;\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n if (encPieces.length !== 1) {\n return;\n }\n\n this.data = encPieces[0];\n break;\n default:\n return;\n }\n }\n\n async decrypt(orgId: string, key: SymmetricCryptoKey = null): Promise {\n if (this.decryptedValue != null) {\n return this.decryptedValue;\n }\n\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n if (key == null) {\n key = await cryptoService.getOrgKey(orgId);\n }\n this.decryptedValue = await cryptoService.decryptToUtf8(this, key);\n } catch (e) {\n this.decryptedValue = '[error: cannot decrypt]';\n }\n return this.decryptedValue;\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CipherView } from '../../models/view/cipherView';\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\nconst IconMap: any = {\n 'fa-globe': String.fromCharCode(0xf0ac),\n 'fa-sticky-note-o': String.fromCharCode(0xf24a),\n 'fa-id-card-o': String.fromCharCode(0xf2c3),\n 'fa-credit-card': String.fromCharCode(0xf09d),\n 'fa-android': String.fromCharCode(0xf17b),\n 'fa-apple': String.fromCharCode(0xf179),\n};\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: CipherView;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(environmentService: EnvironmentService, protected 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 this.load();\n }\n\n get iconCode(): string {\n return IconMap[this.icon];\n }\n\n protected load() {\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","
\n \"\"\n \n
\n","import { Injectable } from '@angular/core';\n\nimport { BroadcasterService as BaseBroadcasterService } from '../../services/broadcaster.service';\n\n@Injectable()\nexport class BroadcasterService extends BaseBroadcasterService {\n}\n","import { CipherString } from '../models/domain/cipherString';\n\nexport abstract class VaultTimeoutService {\n biometricLocked: boolean;\n pinProtectedKey: CipherString;\n isLocked: () => Promise;\n checkVaultTimeout: () => Promise;\n lock: (allowSoftLock?: boolean) => Promise;\n logOut: () => Promise;\n setVaultTimeoutOptions: (vaultTimeout: number, vaultTimeoutAction: string) => Promise;\n isPinLockSet: () => Promise<[boolean, boolean]>;\n isBiometricLockSet: () => Promise;\n clear: () => Promise;\n}\n","export enum SecureNoteType {\n Generic = 0,\n}\n","export enum TwoFactorProviderType {\n Authenticator = 0,\n Email = 1,\n Duo = 2,\n Yubikey = 3,\n U2f = 4,\n Remember = 5,\n OrganizationDuo = 6,\n}\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 { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { WebConstants } from '../../services/webConstants';\n\nconst StripeElementStyle = {\n base: {\n color: '#333333',\n fontFamily: '\"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, ' +\n '\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n fontSize: '14px',\n fontSmoothing: 'antialiased',\n },\n invalid: {\n color: '#333333',\n },\n};\n\nconst StripeElementClasses = {\n focus: 'is-focused',\n empty: 'is-empty',\n invalid: 'is-invalid',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showMethods = true;\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.Card;\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n @Input() hideCredit = false;\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\n paymentMethodType = PaymentMethodType;\n\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n private stripeScript: HTMLScriptElement;\n private stripe: any = null;\n private stripeElements: any = null;\n private stripeCardNumberElement: any = null;\n private stripeCardExpiryElement: any = null;\n private stripeCardCvcElement: any = null;\n\n constructor(private platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v3/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n this.stripe = (window as any).Stripe(this.platformUtilsService.isDev() ?\n WebConstants.stripeTestKey : WebConstants.stripeLiveKey);\n this.stripeElements = this.stripe.elements();\n this.setStripeElement();\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'scripts/dropin.js';\n this.btScript.async = true;\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== PaymentMethodType.PayPal;\n this.hideBank = this.method !== PaymentMethodType.BankAccount;\n this.hideCredit = this.method !== PaymentMethodType.Credit;\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 window.setTimeout(() => {\n Array.from(window.document.querySelectorAll('iframe')).forEach(el => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n try {\n window.document.body.removeChild(el);\n } catch { }\n }\n });\n }, 500);\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n window.setTimeout(() => {\n Array.from(window.document.head.querySelectorAll('script')).forEach(el => {\n if (el.src != null && el.src.indexOf('paypal') > -1) {\n try {\n window.document.head.removeChild(el);\n } catch { }\n }\n });\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n try {\n window.document.head.removeChild(btStylesheet);\n } catch { }\n }\n }, 500);\n }\n }\n\n changeMethod() {\n this.btInstance = null;\n\n if (this.method === PaymentMethodType.PayPal) {\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ?\n WebConstants.btSandboxKey : WebConstants.btProductionKey,\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 } else {\n this.setStripeElement();\n }\n }\n\n createPaymentToken(): Promise<[string, PaymentMethodType]> {\n return new Promise((resolve, reject) => {\n if (this.method === PaymentMethodType.Credit) {\n resolve([null, this.method]);\n } else if (this.method === PaymentMethodType.PayPal) {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve([payload.nonce, this.method]);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === PaymentMethodType.Card || this.method === PaymentMethodType.BankAccount) {\n if (this.method === PaymentMethodType.Card) {\n this.apiService.postSetupPayment().then(clientSecret =>\n this.stripe.handleCardSetup(clientSecret, this.stripeCardNumberElement))\n .then((result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.setupIntent && result.setupIntent.status === 'succeeded') {\n resolve([result.setupIntent.payment_method, this.method]);\n } else {\n reject();\n }\n });\n } else {\n this.stripe.createToken('bank_account', this.bank).then((result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.token && result.token.id != null) {\n resolve([result.token.id, this.method]);\n } else {\n reject();\n }\n });\n }\n }\n });\n }\n\n handleStripeCardPayment(clientSecret: string, successCallback: () => Promise): Promise {\n return new Promise((resolve, reject) => {\n if (this.showMethods && this.stripeCardNumberElement == null) {\n reject();\n return;\n }\n const handleCardPayment = () => this.showMethods ?\n this.stripe.handleCardSetup(clientSecret, this.stripeCardNumberElement) :\n this.stripe.handleCardSetup(clientSecret);\n return handleCardPayment().then(async (result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.paymentIntent && result.paymentIntent.status === 'succeeded') {\n if (successCallback != null) {\n await successCallback();\n }\n resolve();\n } else {\n reject();\n }\n });\n });\n }\n\n private setStripeElement() {\n window.setTimeout(() => {\n if (this.showMethods && this.method === PaymentMethodType.Card) {\n if (this.stripeCardNumberElement == null) {\n this.stripeCardNumberElement = this.stripeElements.create('cardNumber', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n if (this.stripeCardExpiryElement == null) {\n this.stripeCardExpiryElement = this.stripeElements.create('cardExpiry', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n });\n }\n if (this.stripeCardCvcElement == null) {\n this.stripeCardCvcElement = this.stripeElements.create('cardCvc', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n this.stripeCardNumberElement.mount('#stripe-card-number-element');\n this.stripeCardExpiryElement.mount('#stripe-card-expiry-element');\n this.stripeCardCvcElement.mount('#stripe-card-cvc-element');\n }\n }, 50);\n }\n}\n","
\n
\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 {{'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\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'makeSureEnoughCredit' | i18n}}\n \n\n","export enum FieldType {\n Text = 0,\n Hidden = 1,\n Boolean = 2,\n}\n","import { View } from './view';\n\nimport { Folder } from '../domain/folder';\nimport { ITreeNodeObject } from '../domain/treeNode';\n\nexport class FolderView implements View, ITreeNodeObject {\n id: string = null;\n name: string = null;\n revisionDate: Date = null;\n\n constructor(f?: Folder) {\n if (!f) {\n return;\n }\n\n this.id = f.id;\n this.revisionDate = f.revisionDate;\n }\n}\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","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n externalId: string;\n readOnly: boolean;\n hidePasswords: 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 externalId: null,\n readOnly: null,\n hidePasswords: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'externalId', 'readOnly', 'hidePasswords']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","export enum PolicyType {\n TwoFactorAuthentication = 0, // Requires users to have 2fa enabled\n MasterPassword = 1, // Sets minimum requirements for master password complexity\n PasswordGenerator = 2, // Sets minimum requirements/default type for generated passwords/passphrases\n SingleOrg = 3, // Allows users to only be apart of one organization\n RequireSso = 4, // Requires users to authenticate with SSO\n PersonalOwnership = 5, // Disables personal vault ownership for adding/cloning items\n DisableSend = 6, // Disables the ability to create and edit Bitwarden Sends\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { OrganizationTaxInfoUpdateRequest } from 'jslib/models/request/organizationTaxInfoUpdateRequest';\nimport { TaxInfoUpdateRequest } from 'jslib/models/request/taxInfoUpdateRequest';\nimport { TaxRateResponse } from 'jslib/models/response/taxRateResponse';\n\n@Component({\n selector: 'app-tax-info',\n templateUrl: 'tax-info.component.html',\n})\nexport class TaxInfoComponent {\n @Output() onCountryChanged = new EventEmitter();\n\n loading: boolean = true;\n organizationId: string;\n taxInfo: any = {\n taxId: null,\n line1: null,\n line2: null,\n city: null,\n state: null,\n postalCode: null,\n country: 'US',\n includeTaxId: false,\n };\n\n taxRates: TaxRateResponse[];\n\n private pristine: any = {\n taxId: null,\n line1: null,\n line2: null,\n city: null,\n state: null,\n postalCode: null,\n country: 'US',\n includeTaxId: false,\n };\n\n constructor(private apiService: ApiService, private route: ActivatedRoute) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async params => {\n this.organizationId = params.organizationId;\n if (this.organizationId) {\n try {\n const taxInfo = await this.apiService.getOrganizationTaxInfo(this.organizationId);\n if (taxInfo) {\n this.taxInfo.taxId = taxInfo.taxId;\n this.taxInfo.state = taxInfo.state;\n this.taxInfo.line1 = taxInfo.line1;\n this.taxInfo.line2 = taxInfo.line2;\n this.taxInfo.city = taxInfo.city;\n this.taxInfo.state = taxInfo.state;\n this.taxInfo.postalCode = taxInfo.postalCode;\n this.taxInfo.country = taxInfo.country || 'US';\n this.taxInfo.includeTaxId = this.taxInfo.country !== 'US' && (\n !!taxInfo.taxId\n || !!taxInfo.line1\n || !!taxInfo.line2\n || !!taxInfo.city\n || !!taxInfo.state);\n }\n } catch { }\n } else {\n const taxInfo = await this.apiService.getTaxInfo();\n if (taxInfo) {\n this.taxInfo.postalCode = taxInfo.postalCode;\n this.taxInfo.country = taxInfo.country || 'US';\n }\n }\n this.pristine = Object.assign({}, this.taxInfo);\n // If not the default (US) then trigger onCountryChanged\n if (this.taxInfo.country !== 'US') {\n this.onCountryChanged.emit();\n }\n });\n\n const taxRates = await this.apiService.getTaxRates();\n this.taxRates = taxRates.data;\n this.loading = false;\n }\n\n get taxRate() {\n if (this.taxRates != null) {\n const localTaxRate = this.taxRates.find(x =>\n x.country === this.taxInfo.country &&\n x.postalCode === this.taxInfo.postalCode\n );\n return localTaxRate?.rate ?? null;\n }\n }\n\n getTaxInfoRequest(): TaxInfoUpdateRequest {\n if (this.organizationId) {\n const request = new OrganizationTaxInfoUpdateRequest();\n request.taxId = this.taxInfo.taxId;\n request.state = this.taxInfo.state;\n request.line1 = this.taxInfo.line1;\n request.line2 = this.taxInfo.line2;\n request.city = this.taxInfo.city;\n request.state = this.taxInfo.state;\n request.postalCode = this.taxInfo.postalCode;\n request.country = this.taxInfo.country;\n return request;\n } else {\n const request = new TaxInfoUpdateRequest();\n request.postalCode = this.taxInfo.postalCode;\n request.country = this.taxInfo.country;\n return request;\n }\n }\n\n submitTaxInfo(): Promise {\n if (!this.hasChanged()) {\n return new Promise(resolve => { resolve(); });\n }\n const request = this.getTaxInfoRequest();\n return this.organizationId ? this.apiService.putOrganizationTaxInfo(this.organizationId,\n request as OrganizationTaxInfoUpdateRequest) : this.apiService.putTaxInfo(request);\n }\n\n changeCountry() {\n if (this.taxInfo.country === 'US') {\n this.taxInfo.includeTaxId = false;\n this.taxInfo.taxId = null;\n this.taxInfo.line1 = null;\n this.taxInfo.line2 = null;\n this.taxInfo.city = null;\n this.taxInfo.state = null;\n }\n this.onCountryChanged.emit();\n }\n\n private hasChanged(): boolean {\n for (const key in this.taxInfo) {\n if (this.pristine.hasOwnProperty(key) && this.pristine[key] !== this.taxInfo[key]) {\n return true;\n }\n }\n return false;\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\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 { 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 = null;\n organizationId: string = null;\n folderId: string = null;\n name: string = null;\n notes: string = null;\n type: CipherType = null;\n favorite = false;\n organizationUseTotp = false;\n edit = false;\n viewPassword = true;\n localData: any;\n login = new LoginView();\n identity = new IdentityView();\n card = new CardView();\n secureNote = new SecureNoteView();\n attachments: AttachmentView[] = null;\n fields: FieldView[] = null;\n passwordHistory: PasswordHistoryView[] = null;\n collectionIds: string[] = null;\n revisionDate: Date = null;\n deletedDate: Date = null;\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.viewPassword = c.viewPassword;\n this.type = c.type;\n this.localData = c.localData;\n this.collectionIds = c.collectionIds;\n this.revisionDate = c.revisionDate;\n this.deletedDate = c.deletedDate;\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 hasOldAttachments(): boolean {\n if (this.hasAttachments) {\n for (let i = 0; i < this.attachments.length; i++) {\n if (this.attachments[i].key == null) {\n return true;\n }\n }\n }\n return false;\n }\n\n get hasFields(): boolean {\n return this.fields && this.fields.length > 0;\n }\n\n get passwordRevisionDisplayDate(): Date {\n if (this.type !== CipherType.Login || 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 get isDeleted(): boolean {\n return this.deletedDate != null;\n }\n}\n","import { View } from './view';\n\nimport { Identity } from '../domain/identity';\n\nimport { Utils } from '../../misc/utils';\n\nexport class IdentityView implements View {\n title: string = null;\n middleName: string = null;\n address1: string = null;\n address2: string = null;\n address3: string = null;\n city: string = null;\n state: string = null;\n postalCode: string = null;\n country: string = null;\n company: string = null;\n email: string = null;\n phone: string = null;\n ssn: string = null;\n username: string = null;\n passportNumber: string = null;\n licenseNumber: string = null;\n\n // tslint:disable\n private _firstName: string = null;\n private _lastName: string = null;\n private _subTitle: string = null;\n // tslint:enable\n\n constructor(i?: Identity) {\n // ctor\n }\n\n get firstName(): string {\n return this._firstName;\n }\n set firstName(value: string) {\n this._firstName = value;\n this._subTitle = null;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n set lastName(value: string) {\n this._lastName = value;\n this._subTitle = null;\n }\n\n get subTitle(): string {\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\n this._subTitle = '';\n if (this.firstName != null) {\n this._subTitle = this.firstName;\n }\n if (this.lastName != null) {\n if (this._subTitle !== '') {\n this._subTitle += ' ';\n }\n this._subTitle += this.lastName;\n }\n }\n\n return this._subTitle;\n }\n\n get fullName(): string {\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\n let name = '';\n if (this.title != null) {\n name += (this.title + ' ');\n }\n if (this.firstName != null) {\n name += (this.firstName + ' ');\n }\n if (this.middleName != null) {\n name += (this.middleName + ' ');\n }\n if (this.lastName != null) {\n name += this.lastName;\n }\n return name.trim();\n }\n\n return null;\n }\n\n get fullAddress(): string {\n let address = this.address1;\n if (!Utils.isNullOrWhitespace(this.address2)) {\n if (!Utils.isNullOrWhitespace(address)) {\n address += ', ';\n }\n address += this.address2;\n }\n if (!Utils.isNullOrWhitespace(this.address3)) {\n if (!Utils.isNullOrWhitespace(address)) {\n address += ', ';\n }\n address += this.address3;\n }\n return address;\n }\n\n get fullAddressPart2(): string {\n if (this.city == null && this.state == null && this.postalCode == null) {\n return null;\n }\n const city = this.city || '-';\n const state = this.state;\n const postalCode = this.postalCode || '-';\n let addressPart2 = city;\n if (!Utils.isNullOrWhitespace(state)) {\n addressPart2 += ', ' + state;\n }\n addressPart2 += ', ' + postalCode;\n return addressPart2;\n }\n}\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n externalId: 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.externalId = response.externalId;\n this.readOnly = response.readOnly;\n }\n}\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\nimport { ITreeNodeObject } from '../domain/treeNode';\n\nimport { CollectionGroupDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionView implements View, ITreeNodeObject {\n id: string = null;\n organizationId: string = null;\n name: string = null;\n externalId: string = null;\n readOnly: boolean = null;\n hidePasswords: boolean = null;\n\n constructor(c?: Collection | CollectionGroupDetailsResponse) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.externalId = c.externalId;\n if (c instanceof Collection) {\n this.readOnly = c.readOnly;\n this.hidePasswords = c.hidePasswords;\n }\n }\n}\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n}\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 { PasswordHistoryData } from './passwordHistoryData';\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 viewPassword: boolean;\n organizationUseTotp: boolean;\n favorite: boolean;\n revisionDate: string;\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 passwordHistory?: PasswordHistoryData[];\n collectionIds?: string[];\n deletedDate: 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.viewPassword = response.viewPassword;\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 this.collectionIds = collectionIds != null ? collectionIds : response.collectionIds;\n this.deletedDate = response.deletedDate;\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 = response.fields.map(f => new FieldData(f));\n }\n if (response.attachments != null) {\n this.attachments = response.attachments.map(a => new AttachmentData(a));\n }\n if (response.passwordHistory != null) {\n this.passwordHistory = response.passwordHistory.map(ph => new PasswordHistoryData(ph));\n }\n }\n}\n","import { LoginUriView } from './loginUriView';\nimport { View } from './view';\n\nimport { Utils } from '../../misc/utils';\nimport { Login } from '../domain/login';\n\nexport class LoginView implements View {\n username: string = null;\n password: string = null;\n passwordRevisionDate?: Date = null;\n totp: string = null;\n uris: LoginUriView[] = null;\n\n constructor(l?: Login) {\n if (!l) {\n return;\n }\n\n this.passwordRevisionDate = l.passwordRevisionDate;\n }\n\n get uri(): string {\n return this.hasUris ? this.uris[0].uri : null;\n }\n\n get maskedPassword(): string {\n return this.password != null ? '••••••••' : null;\n }\n\n get subTitle(): string {\n return this.username;\n }\n\n get canLaunch(): boolean {\n return this.hasUris && this.uris.some(u => u.canLaunch);\n }\n\n get hasTotp(): boolean {\n return !Utils.isNullOrWhitespace(this.totp);\n }\n\n get launchUri(): string {\n if (this.hasUris) {\n const uri = this.uris.find(u => u.canLaunch);\n if (uri != null) {\n return uri.launchUri;\n }\n }\n return null;\n }\n\n get hasUris(): boolean {\n return this.uris != null && this.uris.length > 0;\n }\n}\n","export enum SendType {\n Text = 0,\n File = 1,\n}\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","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","export abstract class ExportService {\n getExport: (format?: 'csv' | 'json' | 'encrypted_json') => Promise;\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json' | 'encrypted_json') => Promise;\n getFileName: (prefix?: string, extension?: string) => string;\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 './domainBase';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { Password } from './password';\nimport { SecureNote } from './secureNote';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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 viewPassword: 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 passwordHistory: Password[];\n collectionIds: string[];\n deletedDate: Date;\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 if (obj.viewPassword != null) {\n this.viewPassword = obj.viewPassword;\n } else {\n this.viewPassword = true; // Default for already synced Ciphers without viewPassword\n }\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n this.deletedDate = obj.deletedDate != null ? new Date(obj.deletedDate) : null;\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 = obj.attachments.map(a => new Attachment(a, alreadyEncrypted));\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = obj.fields.map(f => new Field(f, alreadyEncrypted));\n } else {\n this.fields = null;\n }\n\n if (obj.passwordHistory != null) {\n this.passwordHistory = obj.passwordHistory.map(ph => new Password(ph, alreadyEncrypted));\n } else {\n this.passwordHistory = null;\n }\n }\n\n async decrypt(encKey?: SymmetricCryptoKey): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId, encKey);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId, encKey);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId, encKey);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId, encKey);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId, encKey);\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, encKey);\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, encKey);\n }).then(decField => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n if (this.passwordHistory != null && this.passwordHistory.length > 0) {\n const passwordHistory: any[] = [];\n await this.passwordHistory.reduce((promise, ph) => {\n return promise.then(() => {\n return ph.decrypt(orgId, encKey);\n }).then(decPh => {\n passwordHistory.push(decPh);\n });\n }, Promise.resolve());\n model.passwordHistory = passwordHistory;\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.viewPassword = this.viewPassword;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate != null ? this.revisionDate.toISOString() : null;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n c.deletedDate = this.deletedDate != null ? this.deletedDate.toISOString() : null;\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 = this.fields.map(f => f.toFieldData());\n }\n if (this.attachments != null) {\n c.attachments = this.attachments.map(a => a.toAttachmentData());\n }\n if (this.passwordHistory != null) {\n c.passwordHistory = this.passwordHistory.map(ph => ph.toPasswordHistoryData());\n }\n return c;\n }\n}\n","import { SendData } from '../models/data/sendData';\n\nimport { Send } from '../models/domain/send';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { SendView } from '../models/view/sendView';\n\nexport abstract class SendService {\n decryptedSendCache: SendView[];\n\n clearCache: () => void;\n encrypt: (model: SendView, file: File | ArrayBuffer, password: string, key?: SymmetricCryptoKey) => Promise<[Send, ArrayBuffer]>;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n saveWithServer: (sendData: [Send, ArrayBuffer]) => Promise;\n upsert: (send: SendData | SendData[]) => Promise;\n replace: (sends: { [id: string]: SendData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n removePasswordWithServer: (id: string) => Promise;\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { View } from './view';\n\nimport { Field } from '../domain/field';\n\nexport class FieldView implements View {\n name: string = null;\n value: string = null;\n type: FieldType = null;\n newField: boolean = false; // Marks if the field is new and hasn't been saved\n showValue: boolean = false;\n\n constructor(f?: Field) {\n if (!f) {\n return;\n }\n\n this.type = f.type;\n }\n\n get maskedValue(): string {\n return this.value != null ? '••••••••' : 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 { LoginUriApi } from '../api/loginUriApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nimport { AttachmentRequest } from './attachmentRequest';\nimport { PasswordHistoryRequest } from './passwordHistoryRequest';\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 passwordHistory: PasswordHistoryRequest[];\n // Deprecated, remove at some point and rename attachments2 to attachments\n attachments: { [id: string]: string; };\n attachments2: { [id: string]: AttachmentRequest; };\n lastKnownRevisionDate: Date;\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 this.lastKnownRevisionDate = cipher.revisionDate;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new LoginApi();\n this.login.uris = null;\n this.login.username = cipher.login.username ? cipher.login.username.encryptedString : null;\n this.login.password = cipher.login.password ? cipher.login.password.encryptedString : null;\n this.login.passwordRevisionDate = cipher.login.passwordRevisionDate != null ?\n cipher.login.passwordRevisionDate.toISOString() : null;\n this.login.totp = cipher.login.totp ? cipher.login.totp.encryptedString : null;\n\n if (cipher.login.uris != null) {\n this.login.uris = cipher.login.uris.map(u => {\n const uri = new LoginUriApi();\n uri.uri = u.uri != null ? u.uri.encryptedString : null;\n uri.match = u.match != null ? u.match : null;\n return uri;\n });\n }\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNoteApi();\n this.secureNote.type = cipher.secureNote.type;\n break;\n case CipherType.Card:\n this.card = new CardApi();\n this.card.cardholderName = cipher.card.cardholderName != null ?\n cipher.card.cardholderName.encryptedString : null;\n this.card.brand = cipher.card.brand != null ? cipher.card.brand.encryptedString : null;\n this.card.number = cipher.card.number != null ? cipher.card.number.encryptedString : null;\n this.card.expMonth = cipher.card.expMonth != null ? cipher.card.expMonth.encryptedString : null;\n this.card.expYear = cipher.card.expYear != null ? cipher.card.expYear.encryptedString : null;\n this.card.code = cipher.card.code != null ? cipher.card.code.encryptedString : null;\n break;\n case CipherType.Identity:\n this.identity = new IdentityApi();\n this.identity.title = cipher.identity.title != null ? cipher.identity.title.encryptedString : null;\n this.identity.firstName = cipher.identity.firstName != null ?\n cipher.identity.firstName.encryptedString : null;\n this.identity.middleName = cipher.identity.middleName != null ?\n cipher.identity.middleName.encryptedString : null;\n this.identity.lastName = cipher.identity.lastName != null ?\n cipher.identity.lastName.encryptedString : null;\n this.identity.address1 = cipher.identity.address1 != null ?\n cipher.identity.address1.encryptedString : null;\n this.identity.address2 = cipher.identity.address2 != null ?\n cipher.identity.address2.encryptedString : null;\n this.identity.address3 = cipher.identity.address3 != null ?\n cipher.identity.address3.encryptedString : null;\n this.identity.city = cipher.identity.city != null ? cipher.identity.city.encryptedString : null;\n this.identity.state = cipher.identity.state != null ? cipher.identity.state.encryptedString : null;\n this.identity.postalCode = cipher.identity.postalCode != null ?\n cipher.identity.postalCode.encryptedString : null;\n this.identity.country = cipher.identity.country != null ?\n cipher.identity.country.encryptedString : null;\n this.identity.company = cipher.identity.company != null ?\n cipher.identity.company.encryptedString : null;\n this.identity.email = cipher.identity.email != null ? cipher.identity.email.encryptedString : null;\n this.identity.phone = cipher.identity.phone != null ? cipher.identity.phone.encryptedString : null;\n this.identity.ssn = cipher.identity.ssn != null ? cipher.identity.ssn.encryptedString : null;\n this.identity.username = cipher.identity.username != null ?\n cipher.identity.username.encryptedString : null;\n this.identity.passportNumber = cipher.identity.passportNumber != null ?\n cipher.identity.passportNumber.encryptedString : null;\n this.identity.licenseNumber = cipher.identity.licenseNumber != null ?\n cipher.identity.licenseNumber.encryptedString : null;\n break;\n default:\n break;\n }\n\n if (cipher.fields != null) {\n this.fields = cipher.fields.map(f => {\n const field = new FieldApi();\n field.type = f.type;\n field.name = f.name ? f.name.encryptedString : null;\n field.value = f.value ? f.value.encryptedString : null;\n return field;\n });\n }\n\n if (cipher.passwordHistory != null) {\n this.passwordHistory = [];\n cipher.passwordHistory.forEach(ph => {\n this.passwordHistory.push({\n lastUsedDate: ph.lastUsedDate,\n password: ph.password ? ph.password.encryptedString : null,\n });\n });\n }\n\n if (cipher.attachments != null) {\n this.attachments = {};\n this.attachments2 = {};\n cipher.attachments.forEach(attachment => {\n const fileName = attachment.fileName ? attachment.fileName.encryptedString : null;\n this.attachments[attachment.id] = fileName;\n const attachmentRequest = new AttachmentRequest();\n attachmentRequest.fileName = fileName;\n if (attachment.key != null) {\n attachmentRequest.key = attachment.key.encryptedString;\n }\n this.attachments2[attachment.id] = attachmentRequest;\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport {\n ActivatedRoute,\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Injectable()\nexport class RouterService {\n private previousUrl: string = undefined;\n private currentUrl: string = undefined;\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\n private titleService: Title, i18nService: I18nService) {\n this.currentUrl = this.router.url;\n router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.url;\n\n let title = i18nService.t('pageTitle', 'Bitwarden');\n let titleId: string = null;\n let rawTitle: string = null;\n let child = this.activatedRoute.firstChild;\n while (child != null) {\n if (child.firstChild != null) {\n child = child.firstChild;\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\n rawTitle = child.snapshot.data.title;\n break;\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\n titleId = child.snapshot.data.titleId;\n break;\n } else {\n titleId = null;\n rawTitle = null;\n break;\n }\n }\n\n if (titleId != null || rawTitle != null) {\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\n if (newTitle != null && newTitle !== '') {\n title = (newTitle + ' | ' + title);\n }\n }\n this.titleService.setTitle(title);\n }\n });\n }\n\n getPreviousUrl() {\n return this.previousUrl;\n }\n\n setPreviousUrl(url: string) {\n this.previousUrl = url;\n }\n}\n","export enum KdfType {\n PBKDF2_SHA256 = 0,\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-password-strength',\n templateUrl: 'password-strength.component.html',\n})\nexport class PasswordStrengthComponent implements OnChanges {\n @Input() score?: number;\n @Input() showText = false;\n\n scoreWidth = 0;\n color = 'bg-danger';\n text: string;\n\n constructor(private i18nService: I18nService) { }\n\n ngOnChanges(): void {\n this.scoreWidth = this.score == null ? 0 : (this.score + 1) * 20;\n switch (this.score) {\n case 4:\n this.color = 'bg-success';\n this.text = this.i18nService.t('strong');\n break;\n case 3:\n this.color = 'bg-primary';\n this.text = this.i18nService.t('good');\n break;\n case 2:\n this.color = 'bg-warning';\n this.text = this.i18nService.t('weak');\n break;\n default:\n this.color = 'bg-danger';\n this.text = this.score != null ? this.i18nService.t('weak') : null;\n break;\n }\n }\n}\n","
\n
\n \n {{text}}\n \n
\n
\n","export enum OrganizationUserType {\n Owner = 0,\n Admin = 1,\n User = 2,\n Manager = 3,\n Custom = 4,\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 { 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_Updated2fa:\n msg = this.i18nService.t('enabledUpdated2fa');\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 case EventType.User_ClientExportedVault:\n msg = this.i18nService.t('exportedVault');\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('permanentlyDeletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_SoftDeleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Restored:\n msg = this.i18nService.t('restoredItemId', 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_ClientViewed:\n msg = this.i18nService.t('viewedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledPasswordVisible:\n msg = this.i18nService.t('viewedPasswordItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledHiddenFieldVisible:\n msg = this.i18nService.t('viewedHiddenFieldItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledCardCodeVisible:\n msg = this.i18nService.t('viewedSecurityCodeItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedHiddenField:\n msg = this.i18nService.t('copiedHiddenFieldItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedPassword:\n msg = this.i18nService.t('copiedPasswordItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedCardCode:\n msg = this.i18nService.t('copiedSecurityCodeItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientAutofilled:\n msg = this.i18nService.t('autofilledItemId', 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 case EventType.OrganizationUser_UnlinkedSso:\n msg = this.i18nService.t('unlinkedSsoUser', this.formatOrgUserId(ev));\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n case EventType.Organization_PurgedVault:\n msg = this.i18nService.t('purgedOrganizationVault');\n break;\n /*\n case EventType.Organization_ClientExportedVault:\n msg = this.i18nService.t('exportedOrganizationVault');\n break;\n */\n // Policies\n case EventType.Policy_Updated:\n msg = this.i18nService.t('modifiedPolicy', this.formatPolicyId(ev));\n break;\n\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 formatPolicyId(ev: EventResponse) {\n const shortId = this.getShortId(ev.policyId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/policies?policyId=' + ev.policyId);\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 enum EventType {\n User_LoggedIn = 1000,\n User_ChangedPassword = 1001,\n User_Updated2fa = 1002,\n User_Disabled2fa = 1003,\n User_Recovered2fa = 1004,\n User_FailedLogIn = 1005,\n User_FailedLogIn2fa = 1006,\n User_ClientExportedVault = 1007,\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 Cipher_ClientViewed = 1107,\n Cipher_ClientToggledPasswordVisible = 1108,\n Cipher_ClientToggledHiddenFieldVisible = 1109,\n Cipher_ClientToggledCardCodeVisible = 1110,\n Cipher_ClientCopiedPassword = 1111,\n Cipher_ClientCopiedHiddenField = 1112,\n Cipher_ClientCopiedCardCode = 1113,\n Cipher_ClientAutofilled = 1114,\n Cipher_SoftDeleted = 1115,\n Cipher_Restored = 1116,\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 OrganizationUser_UnlinkedSso = 1505,\n\n Organization_Updated = 1600,\n Organization_PurgedVault = 1601,\n // Organization_ClientExportedVault = 1602,\n\n Policy_Updated = 1700,\n}\n","export enum PaymentMethodType {\n Card = 0,\n BankAccount = 1,\n PayPal = 2,\n BitPay = 3,\n Credit = 4,\n WireTransfer = 5,\n AppleInApp = 6,\n GoogleInApp = 7,\n Check = 8,\n}\n","import {\n Directive,\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\n@Directive()\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 {\n ComponentFactoryResolver,\n Directive,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { ModalComponent } from '../modal.component';\nimport { AddEditComponent as OrgAddEditComponent } from '../organizations/vault/add-edit.component';\nimport { AddEditComponent } from '../vault/add-edit.component';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Directive()\nexport class CipherReportComponent {\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n\n loading = false;\n hasLoaded = false;\n ciphers: CipherView[] = [];\n organization: Organization;\n\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, protected userService: UserService,\n protected messagingService: MessagingService, public requiresPaid: boolean) { }\n\n async load() {\n this.loading = true;\n await this.setCiphers();\n this.loading = false;\n this.hasLoaded = true;\n }\n\n selectCipher(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 let childComponent: OrgAddEditComponent | AddEditComponent;\n if (this.organization != null) {\n childComponent = this.modal.show(OrgAddEditComponent, this.cipherAddEditModalRef);\n (childComponent as OrgAddEditComponent).organization = this.organization;\n } else {\n childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n }\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n if (this.organization != null) {\n childComponent.organizationId = this.organization.id;\n }\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onRestoredCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n protected async checkAccess(): Promise {\n if (this.organization != null) {\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n if (this.requiresPaid && !this.organization.useTotp) {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n return false;\n }\n } else {\n const accessPremium = await this.userService.canAccessPremium();\n if (this.requiresPaid && !accessPremium) {\n this.messagingService.send('premiumRequired');\n this.loading = false;\n return false;\n }\n }\n return true;\n }\n\n protected async setCiphers() {\n this.ciphers = [];\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { View } from './view';\n\nimport { LoginUri } from '../domain/loginUri';\n\nimport { Utils } from '../../misc/utils';\n\nconst CanLaunchWhitelist = [\n 'https://',\n 'http://',\n 'ssh://',\n 'ftp://',\n 'sftp://',\n 'irc://',\n 'vnc://',\n // https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-uri\n 'rdp://', // Legacy RDP URI scheme\n 'ms-rd:', // Preferred RDP URI scheme\n 'chrome://',\n 'iosapp://',\n 'androidapp://',\n];\n\nexport class LoginUriView implements View {\n match: UriMatchType = null;\n\n // tslint:disable\n private _uri: string = null;\n private _domain: string = null;\n private _hostname: string = null;\n private _host: string = null;\n private _canLaunch: boolean = null;\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 this._canLaunch = null;\n }\n\n get domain(): string {\n if (this._domain == null && this.uri != null) {\n this._domain = Utils.getDomain(this.uri);\n if (this._domain === '') {\n this._domain = null;\n }\n }\n\n return this._domain;\n }\n\n get hostname(): string {\n if (this.match === UriMatchType.RegularExpression) {\n return null;\n }\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 host(): string {\n if (this.match === UriMatchType.RegularExpression) {\n return null;\n }\n if (this._host == null && this.uri != null) {\n this._host = Utils.getHost(this.uri);\n if (this._host === '') {\n this._host = null;\n }\n }\n\n return this._host;\n }\n\n get hostnameOrUri(): string {\n return this.hostname != null ? this.hostname : this.uri;\n }\n\n get hostOrUri(): string {\n return this.host != null ? this.host : this.uri;\n }\n\n get isWebsite(): boolean {\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0 ||\n (this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri)));\n }\n\n get canLaunch(): boolean {\n if (this._canLaunch != null) {\n return this._canLaunch;\n }\n if (this.uri != null && this.match !== UriMatchType.RegularExpression) {\n const uri = this.launchUri;\n for (let i = 0; i < CanLaunchWhitelist.length; i++) {\n if (uri.indexOf(CanLaunchWhitelist[i]) === 0) {\n this._canLaunch = true;\n return this._canLaunch;\n }\n }\n }\n this._canLaunch = false;\n return this._canLaunch;\n }\n\n get launchUri(): string {\n return this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri) ? ('http://' + this.uri) : this.uri;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { CipherType } from 'jslib/enums/cipherType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.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 {\n canAccessPremium: 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 viewOnly = false;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n protected totpService: TotpService, protected passwordGenerationService: PasswordGenerationService,\n protected messagingService: MessagingService, eventService: EventService,\n protected policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, messagingService, eventService, policyService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n await this.load();\n this.showRevisionDate = this.cipher.passwordRevisionDisplayDate != null;\n this.hasPasswordHistory = this.cipher.hasPasswordHistory;\n this.cleanUp();\n\n this.canAccessPremium = await this.userService.canAccessPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.canAccessPremium)) {\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.platformUtilsService.eventTrack('Launched Login URI');\n this.platformUtilsService.launchUri(uri.launchUri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.platformUtilsService.eventTrack('Copied ' + aType);\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n\n if (this.editMode) {\n if (typeI18nKey === 'password') {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, this.cipherId);\n } else if (typeI18nKey === 'securityCode') {\n this.eventService.collect(EventType.Cipher_ClientCopiedCardCode, this.cipherId);\n } else if (aType === 'H_Field') {\n this.eventService.collect(EventType.Cipher_ClientCopiedHiddenField, this.cipherId);\n }\n }\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = (await this.passwordGenerationService.getOptions())[0];\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n 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 protected allowOwnershipAssignment() {\n return (!this.editMode || this.cloneMode) && this.ownershipOptions != null\n && (this.ownershipOptions.length > 1 || !this.allowPersonal);\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
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'personalOwnershipPolicyInEffect' | 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 {{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 \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n \n

{{'ownership' | i18n}}

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

{{'collections' | i18n}}

\n
\n {{'noCollectionsInList' | i18n}}\n
\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","import { Importer } from '../importers/importer';\n\nexport interface ImportOption {\n id: string;\n name: string;\n}\nexport abstract class ImportService {\n featuredImportOptions: ImportOption[];\n regularImportOptions: ImportOption[];\n getImportOptions: () => ImportOption[];\n import: (importer: Importer, fileContents: string, organizationId?: string) => Promise;\n getImporter: (format: string, organizationId: string) => Importer;\n}\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 { EventService } from 'jslib/abstractions/event.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\n\nimport { CipherType } from 'jslib/enums/cipherType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\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 @Output() onCloneClicked = new EventEmitter();\n\n cipherType = CipherType;\n actionPromise: Promise;\n userHasPremiumAccess = false;\n\n constructor(searchService: SearchService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected cipherService: CipherService,\n protected eventService: EventService, protected totpService: TotpService, protected userService: UserService) {\n super(searchService);\n this.pageSize = 200;\n }\n\n async ngOnInit() {\n this.userHasPremiumAccess = await this.userService.canAccessPremium();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n launch(uri: string) {\n this.platformUtilsService.eventTrack('Launched Login URI');\n this.platformUtilsService.launchUri(uri);\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 clone(c: CipherView) {\n this.onCloneClicked.emit(c);\n }\n\n async delete(c: CipherView): Promise {\n if (this.actionPromise != null) {\n return;\n }\n const permanent = c.isDeleted;\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t(permanent ? 'permanentlyDeleteItemConfirmation' : 'deleteItemConfirmation'),\n this.i18nService.t(permanent ? 'permanentlyDeleteItem' : '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, permanent);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t(permanent ? 'permanentlyDeletedItem'\n : 'deletedItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n async restore(c: CipherView): Promise {\n if (this.actionPromise != null || !c.isDeleted) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('restoreItemConfirmation'),\n this.i18nService.t('restoreItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.cipherService.restoreWithServer(c.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Restored Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('restoredItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n async copy(cipher: CipherView, value: string, typeI18nKey: string, aType: string) {\n if (value == null || aType === 'TOTP' && !this.displayTotpCopyButton(cipher)) {\n return;\n } else if (value === cipher.login.totp) {\n value = await this.totpService.getCode(value);\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n\n if (typeI18nKey === 'password' || typeI18nKey === 'verificationCodeTotp') {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, cipher.id);\n } else if (typeI18nKey === 'securityCode') {\n this.eventService.collect(EventType.Cipher_ClientCopiedCardCode, cipher.id);\n }\n }\n\n selectAll(select: boolean) {\n if (select) {\n this.selectAll(false);\n }\n const selectCount = select && this.ciphers.length > MaxCheckedCount\n ? MaxCheckedCount\n : this.ciphers.length;\n for (let i = 0; i < selectCount; i++) {\n this.checkCipher(this.ciphers[i], select);\n }\n }\n\n checkCipher(c: CipherView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\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 displayTotpCopyButton(cipher: CipherView) {\n return (cipher?.login?.hasTotp ?? false) &&\n (cipher.organizationUseTotp || this.userHasPremiumAccess);\n }\n\n protected deleteCipher(id: string, permanent: boolean) {\n return permanent ? this.cipherService.deleteWithServer(id) : this.cipherService.softDeleteWithServer(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return c.hasOldAttachments && c.organizationId == null;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n \n {{'attachmentsNeedFix' | i18n}}\n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n {{'loading' | i18n}}\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","import { KdfType } from '../enums/kdfType';\nimport { 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 { PreloginRequest } from '../models/request/preloginRequest';\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 { AuthService as AuthServiceAbstraction } from '../abstractions/auth.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { LogService } from '../abstractions/log.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';\nimport { VaultTimeoutService } from '../abstractions/vaultTimeout.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 implements AuthServiceAbstraction {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n ssoRedirectUrl: string;\n clientId: string;\n clientSecret: string;\n twoFactorProvidersData: 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 vaultTimeoutService: VaultTimeoutService, private logService: LogService,\n private setCryptoKeys = true) {\n }\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 const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, null, null, null, null, null,\n key, null, null, null);\n }\n\n async logInSso(code: string, codeVerifier: string, redirectUrl: string): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, code, codeVerifier, redirectUrl, null, null,\n null, null, null, null);\n }\n\n async logInApiKey(clientId: string, clientSecret: string): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, null, null, null, clientId, clientSecret,\n null, null, null, null);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.code, this.codeVerifier,\n this.ssoRedirectUrl, this.clientId, this.clientSecret, 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 const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, null, null, null, null, null, key,\n twoFactorProvider, twoFactorToken, remember);\n }\n\n async logInSsoComplete(code: string, codeVerifier: string, redirectUrl: string,\n twoFactorProvider: TwoFactorProviderType, twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, code, codeVerifier, redirectUrl, null,\n null, null, twoFactorProvider, twoFactorToken, remember);\n }\n\n async logInApiKeyComplete(clientId: string, clientSecret: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, null, null, null, clientId, clientSecret, null,\n 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.twoFactorProvidersData == null) {\n return providers;\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProvidersData == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProvidersData.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProvidersData.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 async makePreloginKey(masterPassword: string, email: string): Promise {\n email = email.trim().toLowerCase();\n let kdf: KdfType = null;\n let kdfIterations: number = null;\n try {\n const preloginResponse = await this.apiService.postPrelogin(new PreloginRequest(email));\n if (preloginResponse != null) {\n kdf = preloginResponse.kdf;\n kdfIterations = preloginResponse.kdfIterations;\n }\n } catch (e) {\n if (e == null || e.statusCode !== 404) {\n throw e;\n }\n }\n return this.cryptoService.makeKey(masterPassword, email, kdf, kdfIterations);\n }\n\n authingWithApiKey(): boolean {\n return this.clientId != null && this.clientSecret != null;\n }\n\n authingWithSso(): boolean {\n return this.code != null && this.codeVerifier != null && this.ssoRedirectUrl != null;\n }\n\n authingWithPassword(): boolean {\n return this.email != null && this.masterPasswordHash != null;\n }\n\n private async logInHelper(email: string, hashedPassword: string, code: string, codeVerifier: string,\n redirectUrl: string, clientId: string, clientSecret: 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 emailPassword: string[] = [];\n let codeCodeVerifier: string[] = [];\n let clientIdClientSecret: string[] = [];\n\n if (email != null && hashedPassword != null) {\n emailPassword = [email, hashedPassword];\n } else {\n emailPassword = null;\n }\n if (code != null && codeVerifier != null && redirectUrl != null) {\n codeCodeVerifier = [code, codeVerifier, redirectUrl];\n } else {\n codeCodeVerifier = null;\n }\n if (clientId != null && clientSecret != null) {\n clientIdClientSecret = [clientId, clientSecret];\n } else {\n clientIdClientSecret = null;\n }\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, twoFactorProvider,\n twoFactorToken, remember, deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, null,\n 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.code = code;\n this.codeVerifier = codeVerifier;\n this.ssoRedirectUrl = redirectUrl;\n this.clientId = clientId;\n this.clientSecret = clientSecret;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProvidersData = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n result.resetMasterPassword = tokenResponse.resetMasterPassword;\n if (tokenResponse.twoFactorToken != null) {\n await this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setInformation(this.tokenService.getUserId(), this.tokenService.getEmail(),\n tokenResponse.kdf, tokenResponse.kdfIterations);\n if (this.setCryptoKeys) {\n if (key != null) {\n await this.cryptoService.setKey(key);\n }\n if (hashedPassword != null) {\n await this.cryptoService.setKeyHash(hashedPassword);\n }\n\n // Skip this step during SSO new user flow. No key is returned from server.\n if (code == null || tokenResponse.key != null) {\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 this.logService.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n }\n\n if (this.vaultTimeoutService != null) {\n this.vaultTimeoutService.biometricLocked = false;\n }\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.key = null;\n this.email = null;\n this.masterPasswordHash = null;\n this.code = null;\n this.codeVerifier = null;\n this.ssoRedirectUrl = null;\n this.clientId = null;\n this.clientSecret = null;\n this.twoFactorProvidersData = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n hidePasswords: boolean;\n\n constructor(id: string, readOnly: boolean, hidePasswords: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n this.hidePasswords = hidePasswords;\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","export abstract class SettingsService {\n clearCache: () => void;\n getEquivalentDomains: () => Promise;\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\n clear: (userId: string) => Promise;\n}\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually2019 = 1,\n TeamsMonthly2019 = 2,\n TeamsAnnually2019 = 3,\n EnterpriseMonthly2019 = 4,\n EnterpriseAnnually2019 = 5,\n Custom = 6,\n FamiliesAnnually = 7,\n TeamsMonthly = 8,\n TeamsAnnually = 9,\n EnterpriseMonthly = 10,\n EnterpriseAnnually = 11,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentComponent } from './payment.component';\nimport { TaxInfoComponent } from './tax-info.component';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { PlanType } from 'jslib/enums/planType';\nimport { PolicyType } from 'jslib/enums/policyType';\nimport { ProductType } from 'jslib/enums/productType';\n\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\nimport { OrganizationUpgradeRequest } from 'jslib/models/request/organizationUpgradeRequest';\nimport { PlanResponse } from 'jslib/models/response/planResponse';\n\n@Component({\n selector: 'app-organization-plans',\n templateUrl: 'organization-plans.component.html',\n})\nexport class OrganizationPlansComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n @ViewChild(TaxInfoComponent) taxComponent: TaxInfoComponent;\n\n @Input() organizationId: string;\n @Input() showFree = true;\n @Input() showCancel = false;\n @Input() product: ProductType = ProductType.Free;\n @Input() plan: PlanType = PlanType.Free;\n @Output() onSuccess = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n loading: boolean = true;\n selfHosted: boolean = false;\n ownedBusiness: boolean = false;\n premiumAccessAddon: boolean = false;\n additionalStorage: number = 0;\n additionalSeats: number = 0;\n name: string;\n billingEmail: string;\n businessName: string;\n productTypes = ProductType;\n formPromise: Promise;\n singleOrgPolicyBlock: boolean = false;\n\n plans: PlanResponse[];\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 policyService: PolicyService, private userService: UserService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n if (!this.selfHosted) {\n const plans = await this.apiService.getPlans();\n this.plans = plans.data;\n if (this.product === ProductType.Enterprise || this.product === ProductType.Teams) {\n this.ownedBusiness = true;\n }\n }\n this.loading = false;\n }\n\n get createOrganization() {\n return this.organizationId == null;\n }\n\n get selectedPlan() {\n return this.plans.find(plan => plan.type === this.plan);\n }\n\n get selectedPlanInterval() {\n return this.selectedPlan.isAnnual\n ? 'year'\n : 'month';\n }\n\n get selectableProducts() {\n let validPlans = this.plans.filter(plan => plan.type !== PlanType.Custom);\n\n if (this.ownedBusiness) {\n validPlans = validPlans.filter(plan => plan.canBeUsedByBusiness);\n }\n\n if (!this.showFree) {\n validPlans = validPlans.filter(plan => plan.product !== ProductType.Free);\n }\n\n validPlans = validPlans\n .filter(plan => !plan.legacyYear\n && !plan.disabled\n && (plan.isAnnual || plan.product === this.productTypes.Free));\n\n return validPlans;\n }\n\n get selectablePlans() {\n return this.plans.filter(plan => !plan.legacyYear && !plan.disabled && plan.product === this.product);\n }\n\n additionalStoragePriceMonthly(selectedPlan: PlanResponse) {\n if (!selectedPlan.isAnnual) {\n return selectedPlan.additionalStoragePricePerGb;\n }\n return selectedPlan.additionalStoragePricePerGb / 12;\n }\n\n seatPriceMonthly(selectedPlan: PlanResponse) {\n if (!selectedPlan.isAnnual) {\n return selectedPlan.seatPrice;\n }\n return selectedPlan.seatPrice / 12;\n }\n\n additionalStorageTotal(plan: PlanResponse): number {\n if (!plan.hasAdditionalStorageOption) {\n return 0;\n }\n\n return plan.additionalStoragePricePerGb * Math.abs(this.additionalStorage || 0);\n }\n\n seatTotal(plan: PlanResponse): number {\n if (!plan.hasAdditionalSeatsOption) {\n return 0;\n }\n\n return plan.seatPrice * Math.abs(this.additionalSeats || 0);\n }\n\n get subtotal() {\n let subTotal = this.selectedPlan.basePrice;\n if (this.selectedPlan.hasAdditionalSeatsOption && this.additionalSeats) {\n subTotal += this.seatTotal(this.selectedPlan);\n }\n if (this.selectedPlan.hasAdditionalStorageOption && this.additionalStorage) {\n subTotal += this.additionalStorageTotal(this.selectedPlan);\n }\n if (this.selectedPlan.hasPremiumAccessOption && this.premiumAccessAddon) {\n subTotal += this.selectedPlan.premiumAccessOptionPrice;\n }\n return subTotal;\n }\n\n get taxCharges() {\n return this.taxComponent != null && this.taxComponent.taxRate != null ?\n (this.taxComponent.taxRate / 100) * this.subtotal :\n 0;\n }\n\n get total() {\n return (this.subtotal + this.taxCharges) || 0;\n }\n\n changedProduct() {\n this.plan = this.selectablePlans[0].type;\n if (!this.selectedPlan.hasPremiumAccessOption) {\n this.premiumAccessAddon = false;\n }\n if (!this.selectedPlan.hasAdditionalStorageOption) {\n this.additionalStorage = 0;\n }\n if (!this.selectedPlan.hasAdditionalSeatsOption) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.selectedPlan.baseSeats &&\n this.selectedPlan.hasAdditionalSeatsOption) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.selectedPlan.canBeUsedByBusiness) {\n return;\n }\n this.product = ProductType.Teams;\n this.plan = PlanType.TeamsAnnually;\n }\n\n changedCountry() {\n this.paymentComponent.hideBank = this.taxComponent.taxInfo.country !== 'US';\n // Bank Account payments are only available for US customers\n if (this.paymentComponent.hideBank &&\n this.paymentComponent.method === PaymentMethodType.BankAccount) {\n this.paymentComponent.method = PaymentMethodType.Card;\n this.paymentComponent.changeMethod();\n }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n async submit() {\n if (this.singleOrgPolicyBlock) {\n return;\n } else {\n const policies = await this.policyService.getAll(PolicyType.SingleOrg);\n const orgs = await this.userService.getAllOrganizations();\n\n const orgsWithSingleOrgPolicy = policies\n .filter(p => p.enabled && p.type === PolicyType.SingleOrg)\n .map(p => p.organizationId);\n\n this.singleOrgPolicyBlock = orgs.some(org =>\n org.type !== OrganizationUserType.Owner &&\n org.type !== OrganizationUserType.Admin &&\n org.status !== OrganizationUserStatusType.Invited &&\n orgsWithSingleOrgPolicy.includes(org.id));\n\n if (this.singleOrgPolicyBlock) {\n return;\n }\n }\n\n let files: FileList = null;\n if (this.createOrganization && 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 const doSubmit = async () => {\n let orgId: string = null;\n if (this.createOrganization) {\n let tokenResult: [string, PaymentMethodType] = null;\n if (!this.selfHosted && this.plan !== PlanType.Free) {\n tokenResult = await this.paymentComponent.createPaymentToken();\n }\n const shareKey = await this.cryptoService.makeShareKey();\n const key = shareKey[0].encryptedString;\n const collection = await this.cryptoService.encrypt(\n this.i18nService.t('defaultCollection'), shareKey[1]);\n const collectionCt = collection.encryptedString;\n\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 const response = await this.apiService.postOrganizationLicense(fd);\n orgId = response.id;\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.selectedPlan.type === PlanType.Free) {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = tokenResult[0];\n request.paymentMethodType = tokenResult[1];\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.premiumAccessAddon = this.selectedPlan.hasPremiumAccessOption &&\n this.premiumAccessAddon;\n request.planType = this.selectedPlan.type;\n request.billingAddressPostalCode = this.taxComponent.taxInfo.postalCode;\n request.billingAddressCountry = this.taxComponent.taxInfo.country;\n if (this.taxComponent.taxInfo.includeTaxId) {\n request.taxIdNumber = this.taxComponent.taxInfo.taxId;\n request.billingAddressLine1 = this.taxComponent.taxInfo.line1;\n request.billingAddressLine2 = this.taxComponent.taxInfo.line2;\n request.billingAddressCity = this.taxComponent.taxInfo.city;\n request.billingAddressState = this.taxComponent.taxInfo.state;\n }\n }\n const response = await this.apiService.postOrganization(request);\n orgId = response.id;\n }\n } else {\n const request = new OrganizationUpgradeRequest();\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.premiumAccessAddon = this.selectedPlan.hasPremiumAccessOption &&\n this.premiumAccessAddon;\n request.planType = this.selectedPlan.type;\n request.billingAddressCountry = this.taxComponent.taxInfo.country;\n request.billingAddressPostalCode = this.taxComponent.taxInfo.postalCode;\n\n const result = await this.apiService.postOrganizationUpgrade(this.organizationId, request);\n if (!result.success && result.paymentIntentClientSecret != null) {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n }\n orgId = this.organizationId;\n }\n\n if (orgId != null) {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n if (this.createOrganization) {\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success',\n this.i18nService.t('organizationCreated'), this.i18nService.t('organizationReadyToGo'));\n } else {\n this.analytics.eventTrack.next({ action: 'Upgraded Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpgraded'));\n }\n this.router.navigate(['/organizations/' + orgId]);\n }\n };\n\n this.formPromise = doSubmit();\n await this.formPromise;\n this.onSuccess.emit();\n } catch { }\n }\n\n}\n","\n \n {{'loading' | i18n}}\n\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

{{'users' | i18n}}

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

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : selectedPlan.baseSeats : (seatPriceMonthly(selectedPlan) | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (additionalStoragePriceMonthly(selectedPlan) | currency:'$') : ('month' | i18n)}}\n
\n
\n
\n
\n
\n \n \n
\n {{'premiumAccessDesc' | i18n : (3.33 | currency:'$') : ('month' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

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

{{ (createOrganization ? 'paymentInformation' : 'billingInformation') | i18n}}

\n \n \n
\n
\n {{ 'planPrice' | i18n }}: {{ subtotal | currency: 'USD $' }}\n
\n \n {{ 'estimatedTax' | i18n }}: {{ taxCharges | currency: 'USD $' }}\n \n
\n
\n

{{'total' | i18n}}:\n {{total | currency:'USD $'}}/{{selectedPlanInterval | i18n}}

\n
\n {{'paymentChargedWithTrial' | i18n : (selectedPlanInterval | i18n) }}\n \n \n \n \n {{'paymentCharged' | i18n : (selectedPlanInterval | i18n) }}\n
\n
\n {{'singleOrgBlockCreateMessage' | i18n}}\n
\n
\n \n \n
\n
\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 { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { CardView } from '../view/cardView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): 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, encKey);\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 { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { FieldView } from '../view/fieldView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId, encKey);\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 { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): 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, encKey);\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 { LoginUri } from './loginUri';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n passwordRevisionDate?: Date;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.passwordRevisionDate = obj.passwordRevisionDate != null ? new Date(obj.passwordRevisionDate) : null;\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, encKey?: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId, encKey);\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, encKey);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n l.passwordRevisionDate = this.passwordRevisionDate != null ? this.passwordRevisionDate.toISOString() : null;\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 { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId, encKey);\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","export enum UriMatchType {\n Domain = 0,\n Host = 1,\n StartsWith = 2,\n Exact = 3,\n RegularExpression = 4,\n Never = 5,\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domainBase';\n\nimport { SecureNoteView } from '../view/secureNoteView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): 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 {\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n Renderer2,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\n@Directive({\n selector: 'input[type=checkbox][appTrueFalseValue]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TrueFalseValueDirective),\n multi: true,\n },\n ],\n})\nexport class TrueFalseValueDirective implements ControlValueAccessor {\n @Input() trueValue = true;\n @Input() falseValue = false;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\n\n @HostListener('change', ['$event'])\n onHostChange(ev: any) {\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\n }\n\n writeValue(obj: any): void {\n if (obj === this.trueValue) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\n } else {\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void { /* nothing */ }\n\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\n\n private propagateChange = (_: any) => { /* nothing */ };\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\n\n@Component({\n selector: 'app-vault-groupings',\n templateUrl: 'groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n @Output() onSearchTextChanged = new EventEmitter();\n\n searchText: string = '';\n searchPlaceholder: string = null;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n searchTextChanged() {\n this.onSearchTextChanged.emit(this.searchText);\n }\n}\n","
\n
\n {{'filters' | i18n}}\n \n \n \n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n {{'loading' | i18n}}\n

\n \n \n

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

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","import { OrganizationData } from '../data/organizationData';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\n\nexport class Organization {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\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.usePolicies = obj.usePolicies;\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.useApi = obj.useApi;\n this.useBusinessPortal = obj.useBusinessPortal;\n this.useSso = obj.useSso;\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 this.ssoBound = obj.ssoBound;\n this.identifier = obj.identifier;\n this.permissions = obj.permissions;\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 isManager() {\n return this.type === OrganizationUserType.Manager || this.type === OrganizationUserType.Owner ||\n this.type === OrganizationUserType.Admin;\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 get canAccessBusinessPortal() {\n return this.isAdmin || this.permissions.accessBusinessPortal;\n }\n\n get canAccessEventLogs() {\n return this.isAdmin || this.permissions.accessEventLogs;\n }\n\n get canAccessImportExport() {\n return this.isAdmin || this.permissions.accessImportExport;\n }\n\n get canAccessReports() {\n return this.isAdmin || this.permissions.accessReports;\n }\n\n get canManageAllCollections() {\n return this.isAdmin || this.permissions.manageAllCollections;\n }\n\n get canManageAssignedCollections() {\n return this.isManager || this.permissions.manageAssignedCollections;\n }\n\n get canManageGroups() {\n return this.isAdmin || this.permissions.manageGroups;\n }\n\n get canManageSso() {\n return this.isAdmin || this.permissions.manageSso;\n }\n\n get canManagePolicies() {\n return this.isAdmin || this.permissions.managePolicies;\n }\n\n get canManageUsers() {\n return this.isAdmin || this.permissions.manageUsers;\n }\n}\n","import { View } from './view';\n\nimport { SendFile } from '../domain/sendFile';\n\nexport class SendFileView implements View {\n id: string = null;\n size: string = null;\n sizeName: string = null;\n fileName: string = null;\n\n constructor(f?: SendFile) {\n if (!f) {\n return;\n }\n\n this.id = f.id;\n this.size = f.size;\n this.sizeName = f.sizeName;\n }\n\n get fileSize(): number {\n try {\n if (this.size != null) {\n return parseInt(this.size, null);\n }\n } catch { }\n return 0;\n }\n}\n","import { View } from './view';\n\nimport { SendText } from '../domain/sendText';\n\nexport class SendTextView implements View {\n text: string = null;\n hidden: boolean;\n\n constructor(t?: SendText) {\n if (!t) {\n return;\n }\n\n this.hidden = t.hidden;\n }\n\n get maskedText(): string {\n return this.text != null ? '••••••••' : null;\n }\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.syncService.fullSync(true);\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 unlinkSso(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n 'Are you sure you want to unlink SSO for this organization?', 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.deleteSsoUser(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Unlinked SSO' });\n this.toasterService.popAsync('success', null, 'Unlinked SSO');\n await this.load();\n } catch { }\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","\n

\n \n {{'loading' | i18n}}\n

\n \n \n

{{'noOrganizationsList' | i18n}}

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

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

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n {{'loading' | i18n}}\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 {{'organizationIsDisabled' | i18n}}\n \n \n
\n \n \n
\n
\n
\n
\n","import { BaseResponse } from './baseResponse';\n\nexport class SelectionReadOnlyResponse extends BaseResponse {\n id: string;\n readOnly: boolean;\n hidePasswords: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.readOnly = this.getResponseProperty('ReadOnly');\n this.hidePasswords = this.getResponseProperty('HidePasswords');\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","\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","
\n
\n
\n © {{year}}, Bitwarden Inc.\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { ErrorResponse } from '../../models/response/errorResponse';\n\n@Injectable()\nexport class ValidationService {\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n let 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 = errors.concat((data as ErrorResponse).getAllMessages());\n } else {\n errors.push(data.message ? data.message : defaultErrorMessage);\n }\n\n if (errors.length === 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors[0]);\n } else if (errors.length > 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors, {\n timeout: 5000 * errors.length,\n });\n }\n\n return errors;\n }\n}\n","export enum EncryptionType {\n AesCbc256_B64 = 0,\n AesCbc128_HmacSha256_B64 = 1,\n AesCbc256_HmacSha256_B64 = 2,\n Rsa2048_OaepSha256_B64 = 3,\n Rsa2048_OaepSha1_B64 = 4,\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\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 { PolicyData } from '../data/policyData';\n\nimport Domain from './domainBase';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class Policy extends Domain {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(obj?: PolicyData) {\n super();\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.organizationId = obj.organizationId;\n this.type = obj.type;\n this.data = obj.data;\n this.enabled = obj.enabled;\n }\n}\n","import { PolicyResponse } from '../response/policyResponse';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class PolicyData {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(response: PolicyResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.type = response.type;\n this.data = response.data;\n this.enabled = response.enabled;\n }\n}\n","import { OnInit } from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { MasterPasswordPolicyOptions } from '../../models/domain/masterPasswordPolicyOptions';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class ChangePasswordComponent implements OnInit {\n masterPassword: string;\n masterPasswordRetype: string;\n formPromise: Promise;\n masterPasswordScore: number;\n enforcedPolicyOptions: MasterPasswordPolicyOptions;\n\n protected email: string;\n protected kdf: KdfType;\n protected kdfIterations: number;\n\n private masterPasswordStrengthTimeout: any;\n\n constructor(protected i18nService: I18nService, protected cryptoService: CryptoService,\n protected messagingService: MessagingService, protected userService: UserService,\n protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected policyService: PolicyService) { }\n\n async ngOnInit() {\n this.email = await this.userService.getEmail();\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions();\n }\n\n getPasswordScoreAlertDisplay() {\n if (this.enforcedPolicyOptions == null) {\n return '';\n }\n\n let str: string;\n switch (this.enforcedPolicyOptions.minComplexity) {\n case 4:\n str = this.i18nService.t('strong');\n break;\n case 3:\n str = this.i18nService.t('good');\n break;\n default:\n str = this.i18nService.t('weak');\n break;\n }\n return str + ' (' + this.enforcedPolicyOptions.minComplexity + ')';\n }\n\n async submit() {\n if (!await this.strongPassword()) {\n return;\n }\n\n if (!await this.setupSubmitActions()) {\n return;\n }\n\n const email = await this.userService.getEmail();\n if (this.kdf == null) {\n this.kdf = await this.userService.getKdf();\n }\n if (this.kdfIterations == null) {\n this.kdfIterations = await this.userService.getKdfIterations();\n }\n const key = await this.cryptoService.makeKey(this.masterPassword, email.trim().toLowerCase(),\n this.kdf, this.kdfIterations);\n const masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n let encKey: [SymmetricCryptoKey, CipherString] = null;\n const existingEncKey = await this.cryptoService.getEncKey();\n if (existingEncKey == null) {\n encKey = await this.cryptoService.makeEncKey(key);\n } else {\n encKey = await this.cryptoService.remakeEncKey(key);\n }\n\n await this.performSubmitActions(masterPasswordHash, key, encKey);\n }\n\n async setupSubmitActions(): Promise {\n // Override in sub-class\n // Can be used for additional validation and/or other processes the should occur before changing passwords\n return true;\n }\n\n async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,\n encKey: [SymmetricCryptoKey, CipherString]) {\n // Override in sub-class\n }\n\n async strongPassword(): Promise {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return false;\n }\n if (this.masterPassword.length < 8) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return false;\n }\n if (this.masterPassword !== this.masterPasswordRetype) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return false;\n }\n\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n\n if (this.enforcedPolicyOptions != null &&\n !this.policyService.evaluateMasterPassword(\n strengthResult.score,\n this.masterPassword,\n this.enforcedPolicyOptions)) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPasswordPolicyRequirementsNotMet'));\n return false;\n }\n\n if (strengthResult != null && strengthResult.score < 3) {\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\n 'warning');\n if (!result) {\n return false;\n }\n }\n\n return true;\n }\n\n updatePasswordStrength() {\n if (this.masterPasswordStrengthTimeout != null) {\n clearTimeout(this.masterPasswordStrengthTimeout);\n }\n this.masterPasswordStrengthTimeout = setTimeout(() => {\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\n }, 300);\n }\n\n async logOut() {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.messagingService.send('logout');\n }\n }\n\n private getPasswordStrengthUserInput() {\n let userInput: string[] = [];\n const atPosition = this.email.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\n }\n return userInput;\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 { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\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() onEditedUsers = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n showSelected = false;\n loading = true;\n formPromise: Promise;\n selectedCount = 0;\n searchText: string;\n\n private allUsers: OrganizationUserUserDetailsResponse[] = [];\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n get users() {\n if (this.showSelected) {\n return this.allUsers.filter(u => (u as any).checked);\n } else {\n return this.allUsers;\n }\n }\n\n async loadUsers() {\n const users = await this.apiService.getOrganizationUsers(this.organizationId);\n this.allUsers = users.data.map(r => r).sort(Utils.getSortFunction(this.i18nService, 'email'));\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach(s => {\n const user = users.data.filter(u => u.id === s);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n }\n });\n }\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach(s => {\n const user = users.data.filter(u => !u.accessAll && u.id === s.id);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n (user[0] as any).readOnly = s.readOnly;\n (user[0] as any).hidePasswords = s.hidePasswords;\n }\n });\n }\n }\n\n this.allUsers.forEach(u => {\n if (this.entity === 'collection' && u.accessAll) {\n (u as any).checked = true;\n }\n if ((u as any).checked) {\n this.selectedCount++;\n }\n });\n }\n\n check(u: OrganizationUserUserDetailsResponse) {\n if (this.entity === 'collection' && u.accessAll) {\n return;\n }\n (u as any).checked = !(u as any).checked;\n this.selectedChanged(u);\n }\n\n selectedChanged(u: OrganizationUserUserDetailsResponse) {\n if ((u as any).checked) {\n this.selectedCount++;\n } else {\n if (this.entity === 'collection') {\n (u as any).readOnly = false;\n (u as any).hidePasswords = false;\n }\n this.selectedCount--;\n }\n }\n\n filterSelected(showSelected: boolean) {\n this.showSelected = showSelected;\n }\n\n async submit() {\n try {\n if (this.entity === 'group') {\n const selections = this.users.filter(u => (u as any).checked).map(u => u.id);\n this.formPromise = this.apiService.putGroupUsers(this.organizationId, this.entityId, selections);\n } else {\n const selections = this.users.filter(u => (u as any).checked && !u.accessAll)\n .map(u => new SelectionReadOnlyRequest(u.id, !!(u as any).readOnly, !!(u as any).hidePasswords));\n this.formPromise = this.apiService.putCollectionUsers(this.organizationId, this.entityId, selections);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.entity === 'group' ? 'Edited Group Users' : 'Edited Collection Users',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedUsers'));\n this.onEditedUsers.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\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 \n \n \n \n \n \n \n \n \n \n \n \n \n
  {{'name' | i18n}} {{'userType' | i18n}}{{'hidePasswords' |\n i18n}}{{'readOnly' |\n i18n}}
\n \n \n \n \n {{u.email}}\n {{'invited'\n | i18n}}\n {{'accepted'\n | i18n}}\n {{u.name}}\n \n \n \n {{'userAccessAllItems' | i18n}}\n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n {{'custom' | i18n}}\n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\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","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\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 {{e.appName}}, {{e.ip}}\n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class PermissionsApi extends BaseResponse {\n accessBusinessPortal: boolean;\n accessEventLogs: boolean;\n accessImportExport: boolean;\n accessReports: boolean;\n manageAllCollections: boolean;\n manageAssignedCollections: boolean;\n manageCiphers: boolean;\n manageGroups: boolean;\n manageSso: boolean;\n managePolicies: boolean;\n manageUsers: boolean;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return this;\n }\n this.accessBusinessPortal = this.getResponseProperty('AccessBusinessPortal');\n this.accessEventLogs = this.getResponseProperty('AccessEventLogs');\n this.accessImportExport = this.getResponseProperty('AccessImportExport');\n this.accessReports = this.getResponseProperty('AccessReports');\n this.manageAllCollections = this.getResponseProperty('ManageAllCollections');\n this.manageAssignedCollections = this.getResponseProperty('ManageAssignedCollections');\n this.manageCiphers = this.getResponseProperty('ManageCiphers');\n this.manageGroups = this.getResponseProperty('ManageGroups');\n this.manageSso = this.getResponseProperty('ManageSso');\n this.managePolicies = this.getResponseProperty('ManagePolicies');\n this.manageUsers = this.getResponseProperty('ManageUsers');\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\nimport { ApiKeyResponse } from 'jslib/models/response/apiKeyResponse';\n\n@Component({\n selector: 'app-api-key',\n templateUrl: 'api-key.component.html',\n})\nexport class ApiKeyComponent {\n keyType: string;\n isRotation: boolean;\n postKey: (entityId: string, request: PasswordVerificationRequest) => Promise;\n entityId: string;\n scope: string;\n grantType: string;\n apiKeyTitle: string;\n apiKeyWarning: string;\n apiKeyDescription: string;\n\n masterPassword: string;\n formPromise: Promise;\n clientId: string;\n clientSecret: string;\n\n constructor(private i18nService: I18nService, private analytics: Angulartics2,\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 = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.postKey(this.entityId, request);\n const response = await this.formPromise;\n this.clientSecret = response.apiKey;\n this.clientId = `${this.keyType}.${this.entityId}`;\n this.analytics.eventTrack.next({ action: `Viewed ${this.keyType} API Key` });\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{apiKeyTitle | i18n}}

\n \n
\n
\n

{{apiKeyDescription | i18n}}

\n \n \n \n \n {{apiKeyWarning | i18n}}\n \n

\n client_id:
\n {{clientId}}\n

\n

\n client_secret:
\n {{clientSecret}}\n

\n

\n scope:
\n {{scope}}\n

\n

\n grant_type:
\n {{grantType}}\n

\n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n Input,\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 { 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-purge-vault',\n templateUrl: 'purge-vault.component.html',\n})\nexport class PurgeVaultComponent {\n @Input() organizationId?: string = null;\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.postPurgeCiphers(request, this.organizationId);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.organizationId != null ? 'Purged Organization Vault' : 'Purged Vault',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\n if (this.organizationId != null) {\n this.router.navigate(['organizations', this.organizationId, 'vault']);\n } else {\n this.router.navigate(['vault']);\n }\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{(organizationId ? 'purgeOrgVaultDesc' : 'purgeVaultDesc') | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\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';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { TransactionType } from 'jslib/enums/transactionType';\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\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 showAdjustPayment = false;\n showAddCredit = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n transactionType = TransactionType;\n organizationId: string;\n verifyAmount1: number;\n verifyAmount2: number;\n\n verifyBankPromise: Promise;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\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 this.loading = true;\n if (this.organizationId != null) {\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n } else {\n this.billing = await this.apiService.getUserBilling();\n }\n this.loading = false;\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 addCredit() {\n if (this.paymentSourceInApp) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t('addCredit'), null, null, 'warning');\n return;\n }\n this.showAddCredit = true;\n }\n\n closeAddCredit(load: boolean) {\n this.showAddCredit = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n if (this.paymentSourceInApp) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t('changePaymentMethod'), null, null, 'warning');\n return;\n }\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 isCreditBalance() {\n return this.billing == null || this.billing.balance <= 0;\n }\n\n get creditOrBalance() {\n return Math.abs(this.billing != null ? this.billing.balance : 0);\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get paymentSourceInApp() {\n return this.paymentSource != null &&\n (this.paymentSource.type === PaymentMethodType.AppleInApp ||\n this.paymentSource.type === PaymentMethodType.GoogleInApp);\n }\n\n get invoices() {\n return this.billing != null ? this.billing.invoices : null;\n }\n\n get transactions() {\n return this.billing != null ? this.billing.transactions : null;\n }\n}\n","
\n

\n {{'billing' | i18n}}\n

\n \n
\n\n \n {{'loading' | i18n}}\n\n\n

{{(isCreditBalance ? 'accountCredit' : 'accountBalance') | i18n}}

\n

{{creditOrBalance | currency:'$'}}

\n

{{'creditAppliedDesc' | i18n}}

\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 {{'inAppPurchase' | i18n}}\n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'invoices' | i18n}}

\n

{{'noInvoices' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{i.date | date:'mediumDate'}}\n \n \n \n {{'invoiceNumber' | i18n : i.number}}\n {{i.amount | currency:'$'}}\n \n \n {{'paid' | i18n}}\n \n \n \n {{'unpaid' | i18n}}\n \n
\n

{{'transactions' | i18n}}

\n

{{'noTransactions' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{t.createdDate | date:'mediumDate'}}\n \n {{'chargeNoun' | i18n}}\n \n {{'refundNoun' | i18n}}\n \n \n {{t.details}}\n \n {{t.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\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 { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { BitPayInvoiceRequest } from 'jslib/models/request/bitPayInvoiceRequest';\n\nimport { WebConstants } from '../../services/webConstants';\n\n@Component({\n selector: 'app-add-credit',\n templateUrl: 'add-credit.component.html',\n})\nexport class AddCreditComponent implements OnInit {\n @Input() creditAmount: string;\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.PayPal;\n @Input() organizationId: string;\n @Output() onAdded = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n @ViewChild('ppButtonForm', { read: ElementRef, static: true }) ppButtonFormRef: ElementRef;\n\n paymentMethodType = PaymentMethodType;\n ppButtonFormAction = WebConstants.paypal.buttonActionProduction;\n ppButtonBusinessId = WebConstants.paypal.businessIdProduction;\n ppButtonCustomField: string;\n ppLoading = false;\n subject: string;\n returnUrl: string;\n formPromise: Promise;\n\n private userId: string;\n private name: string;\n private email: string;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) {\n if (platformUtilsService.isDev()) {\n this.ppButtonFormAction = WebConstants.paypal.buttonActionSandbox;\n this.ppButtonBusinessId = WebConstants.paypal.businessIdSandbox;\n }\n }\n\n async ngOnInit() {\n if (this.organizationId != null) {\n if (this.creditAmount == null) {\n this.creditAmount = '20.00';\n }\n this.ppButtonCustomField = 'organization_id:' + this.organizationId;\n const org = await this.userService.getOrganization(this.organizationId);\n if (org != null) {\n this.subject = org.name;\n this.name = org.name;\n }\n } else {\n if (this.creditAmount == null) {\n this.creditAmount = '10.00';\n }\n this.userId = await this.userService.getUserId();\n this.subject = await this.userService.getEmail();\n this.email = this.subject;\n this.ppButtonCustomField = 'user_id:' + this.userId;\n }\n this.ppButtonCustomField += ',account_credit:1';\n this.returnUrl = window.location.href;\n }\n\n async submit() {\n if (this.creditAmount == null || this.creditAmount === '') {\n return;\n }\n\n if (this.method === PaymentMethodType.PayPal) {\n this.ppButtonFormRef.nativeElement.submit();\n this.ppLoading = true;\n return;\n }\n if (this.method === PaymentMethodType.BitPay) {\n try {\n const req = new BitPayInvoiceRequest();\n req.email = this.email;\n req.name = this.name;\n req.credit = true;\n req.amount = this.creditAmountNumber;\n req.organizationId = this.organizationId;\n req.userId = this.userId;\n req.returnUrl = this.returnUrl;\n this.formPromise = this.apiService.postBitPayInvoice(req);\n const bitPayUrl: string = await this.formPromise;\n this.platformUtilsService.launchUri(bitPayUrl);\n } catch { }\n return;\n }\n try {\n this.analytics.eventTrack.next({\n action: 'Added Credit',\n });\n this.onAdded.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n formatAmount() {\n try {\n if (this.creditAmount != null && this.creditAmount !== '') {\n const floatAmount = Math.abs(parseFloat(this.creditAmount));\n if (floatAmount > 0) {\n this.creditAmount = parseFloat((Math.round(floatAmount * 100) / 100).toString())\n .toFixed(2).toString();\n return;\n }\n }\n } catch { }\n this.creditAmount = '';\n }\n\n get creditAmountNumber(): number {\n if (this.creditAmount != null && this.creditAmount !== '') {\n try {\n return parseFloat(this.creditAmount);\n } catch { }\n }\n return null;\n }\n}\n","
\n
\n \n

{{'addCredit' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
$USD
\n \n
\n
\n
\n {{'creditDelayed' | i18n}}\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \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';\nimport { TaxInfoComponent } from './tax-info.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n @ViewChild(TaxInfoComponent, { static: true }) taxInfoComponent: TaxInfoComponent;\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(result => {\n request.paymentToken = result[0];\n request.paymentMethodType = result[1];\n request.postalCode = this.taxInfoComponent.taxInfo.postalCode;\n request.country = this.taxInfoComponent.taxInfo.country;\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n request.taxId = this.taxInfoComponent.taxInfo.taxId;\n request.state = this.taxInfoComponent.taxInfo.state;\n request.line1 = this.taxInfoComponent.taxInfo.line1;\n request.line2 = this.taxInfoComponent.taxInfo.line2;\n request.city = this.taxInfoComponent.taxInfo.city;\n request.state = this.taxInfoComponent.taxInfo.state;\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 changeCountry() {\n if (this.taxInfoComponent.taxInfo.country === 'US') {\n this.paymentComponent.hideBank = !this.organizationId;\n } else {\n this.paymentComponent.hideBank = true;\n if (this.paymentComponent.method === PaymentMethodType.BankAccount) {\n this.paymentComponent.method = PaymentMethodType.Card;\n this.paymentComponent.changeMethod();\n }\n }\n }\n}\n","
\n
\n \n

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

\n \n \n \n \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 let updatePromise: Promise = null;\n if (this.organizationId == null) {\n updatePromise = this.apiService.postAccountLicense(fd);\n } else {\n updatePromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n this.formPromise = updatePromise.then(() => {\n return this.apiService.refreshIdentityToken();\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","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","export enum ProductType {\n Free = 0,\n Families = 1,\n Teams = 2,\n Enterprise = 3,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\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 { StorageRequest } from 'jslib/models/request/storageRequest';\n\nimport { PaymentResponse } from 'jslib/models/response/paymentResponse';\n\nimport { PaymentComponent } from './payment.component';\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 @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router, private activatedRoute: ActivatedRoute) { }\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 let paymentFailed = false;\n const action = async () => {\n let response: Promise;\n if (this.organizationId == null) {\n response = this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n response = this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n const result = await response;\n if (result != null && result.paymentIntentClientSecret != null) {\n try {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n } catch {\n paymentFailed = true;\n }\n }\n };\n this.formPromise = action();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.onAdjusted.emit(this.storageAdjustment);\n if (paymentFailed) {\n this.toasterService.popAsync({\n body: this.i18nService.t('couldNotChargeCardPayInvoice'),\n type: 'warning',\n timeout: 10000,\n });\n this.router.navigate(['../billing'], { relativeTo: this.activatedRoute });\n } else {\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n }\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","
\n
\n \n

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

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}}\n = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\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","
\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","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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { PolicyType } from 'jslib/enums/policyType';\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, static: true }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef, static: true }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef, static: true }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef, static: true }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef, static: true }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef, static: true }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n canAccessPremium: boolean;\n showPolicyWarning = false;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected userService: UserService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService,\n protected policyService: PolicyService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\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.evaluatePolicies();\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 if (!this.canAccessPremium) {\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 this.evaluatePolicies();\n }\n\n private async evaluatePolicies() {\n if (this.organizationId == null && this.providers.filter(p => p.enabled).length === 1) {\n const policies = await this.policyService.getAll(PolicyType.TwoFactorAuthentication);\n this.showPolicyWarning = policies != null && policies.some(p => p.enabled);\n } else {\n this.showPolicyWarning = false;\n }\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 {{'loading' | i18n}}\n \n

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

    \n {{p.name}}\n \n \n {{'enabled' | i18n}}\n \n \n {{'premium' | i18n}}\n \n

    \n {{p.description}}\n
    \n
    \n \n
    \n
  • \n
\n\n\n\n\n\n\n\n","import { Component } from '@angular/core';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\n\n@Component({\n selector: 'app-export',\n templateUrl: 'export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n organizationId: string;\n\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\n eventService: EventService) {\n super(cryptoService, i18nService, platformUtilsService, exportService, eventService, window);\n }\n\n protected saved() {\n super.saved();\n this.masterPassword = null;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('exportSuccess'));\n }\n}\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: 'exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n exposedPasswordMap = new Map();\n\n constructor(protected cipherService: CipherService, protected auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n ngOnInit() {\n this.checkAccess();\n }\n\n async load() {\n if (await this.checkAccess()) {\n super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const exposedPasswordCiphers: CipherView[] = [];\n const promises: Promise[] = [];\n allCiphers.forEach(c => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n const promise = this.auditService.passwordLeaked(c.login.password).then(exposedCount => {\n if (exposedCount > 0) {\n exposedPasswordCiphers.push(c);\n this.exposedPasswordMap.set(c.id, exposedCount);\n }\n });\n promises.push(promise);\n });\n await Promise.all(promises);\n this.ciphers = exposedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from the org view;\n return true;\n }\n}\n","
\n

{{'exposedPasswordsReport' | i18n}}

\n
\n

{{'exposedPasswordsReportDesc' | i18n}}

\n\n
\n \n {{'noExposedPasswords' | i18n}}\n \n \n \n {{'exposedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'exposedXTimes' | i18n : (exposedPasswordMap.get(c.id) | number)}}\n \n
\n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCreateRequest } from 'jslib/models/request/cipherCreateRequest';\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 {\n organization: Organization;\n originalCipher: Cipher = null;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\n private apiService: ApiService, messagingService: MessagingService,\n eventService: EventService, policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, totpService, passwordGenerationService, messagingService,\n eventService, policyService);\n }\n\n protected allowOwnershipAssignment() {\n if (this.ownershipOptions != null && (this.ownershipOptions.length > 1 || !this.allowPersonal)) {\n if (this.organization != null) {\n return this.cloneMode && this.organization.canManageAllCollections;\n } else {\n return !this.editMode || this.cloneMode;\n }\n }\n return false;\n }\n\n protected loadCollections() {\n if (!this.organization.canManageAllCollections) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n const data = new CipherData(response);\n this.originalCipher = new Cipher(data);\n return new Cipher(data);\n }\n\n protected encryptCipher() {\n if (!this.organization.canManageAllCollections) {\n return super.encryptCipher();\n }\n return this.cipherService.encrypt(this.cipher, null, this.originalCipher);\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.canManageAllCollections || cipher.organizationId == null) {\n return super.saveCipher(cipher);\n }\n if (this.editMode && !this.cloneMode) {\n const request = new CipherRequest(cipher);\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n const request = new CipherCreateRequest(cipher);\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipher();\n }\n return this.cipher.isDeleted ? this.apiService.deleteCipherAdmin(this.cipherId)\n : this.apiService.putDeleteCipherAdmin(this.cipherId);\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\n\nexport class AttachmentData {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\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.key = response.key;\n this.size = response.size;\n this.sizeName = response.sizeName;\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 { 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 { 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 { LoginApi } from '../api/loginApi';\n\nimport { LoginUriData } from './loginUriData';\n\nexport class LoginData {\n uris: LoginUriData[];\n username: string;\n password: string;\n passwordRevisionDate: 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.passwordRevisionDate = data.passwordRevisionDate;\n this.totp = data.totp;\n\n if (data.uris) {\n this.uris = data.uris.map(u => new LoginUriData(u));\n }\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 { 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 { AttachmentData } from '../data/attachmentData';\n\nimport { AttachmentView } from '../view/attachmentView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\n\nimport { Utils } from '../../misc/utils';\n\nexport class Attachment extends Domain {\n id: string;\n url: string;\n size: string;\n sizeName: string;\n key: CipherString;\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 key: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n async decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new AttachmentView(this), {\n fileName: null,\n }, orgId, encKey);\n\n if (this.key != null) {\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n const orgKey = await cryptoService.getOrgKey(orgId);\n const decValue = await cryptoService.decryptToBytes(this.key, orgKey ?? encKey);\n view.key = new SymmetricCryptoKey(decValue);\n } catch (e) {\n // TODO: error?\n }\n }\n\n return view;\n }\n\n toAttachmentData(): AttachmentData {\n const a = new AttachmentData();\n a.size = this.size;\n this.buildDataModel(this, a, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n key: null,\n }, ['id', 'url', 'sizeName']);\n return a;\n }\n}\n","import { View } from './view';\n\nimport { Password } from '../domain/password';\n\nexport class PasswordHistoryView implements View {\n password: string = null;\n lastUsedDate: Date = null;\n\n constructor(ph?: Password) {\n if (!ph) {\n return;\n }\n\n this.lastUsedDate = ph.lastUsedDate;\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 { I18nService } from 'jslib/abstractions/i18n.service';\nimport { ImportOption, ImportService } from 'jslib/abstractions/import.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport Swal, { SweetAlertIcon } from 'sweetalert2/dist/sweetalert2.js';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: ImportOption[];\n importOptions: ImportOption[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n loading: boolean = false;\n\n protected organizationId: string = null;\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected importService: ImportService,\n protected router: Router, protected platformUtilsService: PlatformUtilsService) { }\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 this.loading = true;\n\n const importer = this.importService.getImporter(this.format, this.organizationId);\n if (importer === null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFormat'));\n this.loading = false;\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 this.loading = false;\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 this.loading = false;\n return;\n }\n\n try {\n this.formPromise = this.importService.import(importer, fileContents, this.organizationId);\n const error = await this.formPromise;\n if (error != null) {\n this.error(error);\n this.loading = false;\n return;\n }\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\n this.loading = false;\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 setImportOptions() {\n this.featuredImportOptions = [{\n id: null,\n name: '-- ' + this.i18nService.t('select') + ' --',\n }, ...this.importService.featuredImportOptions];\n this.importOptions = this.importService.regularImportOptions;\n }\n\n private async error(error: Error) {\n this.analytics.eventTrack.next({\n action: 'Import Data Failed',\n properties: { label: this.format },\n });\n\n await Swal.fire({\n heightAuto: false,\n buttonsStyling: false,\n icon: 'error' as SweetAlertIcon,\n iconHtml: ``,\n input: 'textarea',\n inputValue: error.message,\n inputAttributes: {\n 'readonly': 'true',\n },\n title: this.i18nService.t('importError'),\n text: this.i18nService.t('importErrorDesc'),\n showConfirmButton: true,\n confirmButtonText: this.i18nService.t('ok'),\n onOpen: popupEl => {\n popupEl.querySelector('.swal2-textarea').scrollTo(0, 0);\n },\n });\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 as any).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 as any).result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\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 \n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n \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\n 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\n \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the\n XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\n \"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\n (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save\n the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\n \"Settings\". Click 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\n data\" to save the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the\n \"Export to .csv File\" 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 \n https://help.bitwarden.com/article/import-from-chrome/\n \n \n See detailed instructions on our help site at\n \n https://bitwarden.com/help/article/import-from-firefox/.\n \n \n See detailed instructions on our help site at\n \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\n dialog that pops 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\n warning alert and save the CSV file. Note that the importer only supports files exported while Enpass is set\n to the English language, so adjust your settings accordingly.\n \n \n Using the Enpass 6 desktop application, click the menu button and navigate to \"File\" → \"Export\".\n Select the \".json\" file format option and save the JSON file.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\"\n and save the XML file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive\n (readable) in JSON format\" and save the JSON file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the\n CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export\n all\". Select 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\".\n Click the \"Export\" 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\n expand the navigation bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save\n the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" →\n \"Account & Data\" and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV\n file\" and then click the \"Export\" button to save the CSV file. Note: RoboForm only allows you to export\n Logins. Other items will not be exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you\n would like to export and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\"\n export format and click the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that\n pops up, select 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\n JSON - not encrypted\" and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All\n Secrets\" and click the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a\n text editor like Notepad 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.\n Navigate to \"Export\" → \"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\n click \"Backup to 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\n script to your desktop as 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\n export\" button and check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\"\n button to save the CSV file.\n \n \n Log into the Passpack website vault and navigate to \"Settings\" → \"Export\", then click the \"Download\"\n button to save the CSV file.\n \n \n Open your Passman vault and click on \"Settings\" in the bottom left corner. In the \"Settings\" window switch\n to the \"Export credentials\" tab and choose \"JSON\" as the export type. Enter your vault's passphrase and\n click the \"Export\" button to save the JSON file.\n \n \n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\n the \"Export\" button for the \"Export to CSV file\" option to save the CSV file.\n \n \n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\n the \"Export\" button for the \"Export to JSON file\" option to save the JSON file.\n \n \n Open the F-Secure KEY desktop application and navigate to \"Settings\" → \"Export Passwords\". Select the\n \"Export\" button, enter your master password, and save the FSK file.\n \n \n Open the Kaspersky Password Manager desktop application and navigate to \"Settings\" → \"Import/Export\".\n Locate the \"Export to text file\" section and select the \"Export\" button to save the TXT file.\n \n \n Open the RememBear desktop application and navigate to \"Settings\" → \"Account\" → \"Export\".\n Enter your master password and select the \"Export Anyway\" button to save the CSV file.\n \n \n Open the PasswordWallet desktop application and navigate to \"File\" → \"Export\" →\n \"Visible entries to text file\". Enter your password and select the \"Ok\" button to save the TXT file.\n \n \n Open the Myki desktop browser extension and navigate to \"Advanced\" → \"Export Accounts\" and then scan\n the QR code with your mobile device. Various CSV files will then be saved to your computer's\n downloads folder.\n \n \n Export your SecureSafe password safe to a CSV file with a comma delimiter.\n \n \n Open the LogMeOnce browser extension, then navigate to \"Open Menu\" → \"Export To\" and\n select \"CSV File\" to save the CSV file.\n \n \n Open the BlackBerry Password Keeper application, then navigate to \"Settings\" → \"Import/Export\".\n Select \"Export Passwords\" and follow the instructions on screen to save the unencrypted CSV file.\n \n \n Open the Buttercup desktop application and unlock your vault. Right click on your vault's icon and\n select \"Export\" to save the CSV file.\n \n \n Open the Codebook desktop application and log in. Navigate to \"File\" → \"Export all\", then click\n \"Yes\" on the dialog and save the CSV file.\n \n \n Open the newest version of the Encryptr desktop application and allow all of your data to sync.\n Once syncing of your data is complete, the download icon in the top right corner will turn pink. Click\n the download icon and save the CSV file.\n \n \n From the Yoti browser extension, click on \"Settings\", then \"Export Saved Logins\" and save the CSV file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: 'inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends CipherReportComponent implements OnInit {\n services = new Map();\n cipherDocs = new Map();\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n try {\n await this.load2fa();\n } catch { }\n if (this.services.size > 0) {\n const allCiphers = await this.getAllCiphers();\n const inactive2faCiphers: CipherView[] = [];\n const promises: Promise[] = [];\n const docs = new Map();\n allCiphers.forEach(c => {\n if (c.type !== CipherType.Login || (c.login.totp != null && c.login.totp !== '') || !c.login.hasUris ||\n c.isDeleted) {\n return;\n }\n for (let i = 0; i < c.login.uris.length; i++) {\n const u = c.login.uris[i];\n if (u.uri != null && u.uri !== '') {\n const hostname = Utils.getHostname(u.uri);\n if (hostname != null && this.services.has(hostname)) {\n if (this.services.get(hostname) != null) {\n docs.set(c.id, this.services.get(hostname));\n }\n inactive2faCiphers.push(c);\n break;\n }\n }\n }\n });\n await Promise.all(promises);\n this.ciphers = inactive2faCiphers;\n this.cipherDocs = docs;\n }\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n private async load2fa() {\n if (this.services.size > 0) {\n return;\n }\n const response = await fetch(new Request('https://2fa.directory/api/v2/totp.json'));\n if (response.status !== 200) {\n throw new Error();\n }\n const responseJson = await response.json();\n for (const categoryName in responseJson) {\n if (responseJson.hasOwnProperty(categoryName)) {\n const category = responseJson[categoryName];\n for (const serviceName in category) {\n if (category.hasOwnProperty(serviceName)) {\n const service = category[serviceName];\n if (service.url != null) {\n const hostname = Utils.getHostname(service.url);\n if (hostname != null) {\n this.services.set(hostname, service.doc);\n }\n }\n }\n }\n }\n }\n }\n}\n","
\n

\n {{'inactive2faReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'inactive2faReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noInactive2fa' | i18n}}\n \n \n \n {{'inactive2faFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'instructions' | i18n}}\n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: 'reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordUseMap: Map;\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const ciphersWithPasswords: CipherView[] = [];\n this.passwordUseMap = new Map();\n allCiphers.forEach(c => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n ciphersWithPasswords.push(c);\n if (this.passwordUseMap.has(c.login.password)) {\n this.passwordUseMap.set(c.login.password, this.passwordUseMap.get(c.login.password) + 1);\n } else {\n this.passwordUseMap.set(c.login.password, 1);\n }\n });\n const reusedPasswordCiphers = ciphersWithPasswords.filter(c =>\n this.passwordUseMap.has(c.login.password) && this.passwordUseMap.get(c.login.password) > 1);\n this.ciphers = reusedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from an organization view\n return true;\n }\n}\n","
\n

\n {{'reusedPasswordsReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'reusedPasswordsReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noReusedPasswords' | i18n}}\n \n \n \n {{'reusedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'reusedXTimes' | i18n : passwordUseMap.get(c.login.password)}}\n \n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: 'unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends CipherReportComponent implements OnInit {\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const unsecuredCiphers = allCiphers.filter(c => {\n if (c.type !== CipherType.Login || !c.login.hasUris || c.isDeleted) {\n return false;\n }\n return c.login.uris.some(u => u.uri != null && u.uri.indexOf('http://') === 0);\n });\n this.ciphers = unsecuredCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n}\n","
\n

\n {{'unsecuredWebsitesReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'unsecuredWebsitesReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noUnsecuredWebsites' | i18n}}\n \n \n \n {{'unsecuredWebsitesFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: 'weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordStrengthMap = new Map();\n\n private passwordStrengthCache = new Map();\n\n constructor(protected cipherService: CipherService, protected passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const weakPasswordCiphers: CipherView[] = [];\n allCiphers.forEach(c => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n const hasUsername = c.login.username != null && c.login.username.trim() !== '';\n const cacheKey = c.login.password + '_____' + (hasUsername ? c.login.username : '');\n if (!this.passwordStrengthCache.has(cacheKey)) {\n let userInput: string[] = [];\n if (hasUsername) {\n const atPosition = c.login.username.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(\n c.login.username.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/))\n .filter(i => i.length >= 3);\n } else {\n userInput = c.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/)\n .filter(i => i.length >= 3);\n }\n }\n const result = this.passwordGenerationService.passwordStrength(c.login.password,\n userInput.length > 0 ? userInput : null);\n this.passwordStrengthCache.set(cacheKey, result.score);\n }\n const score = this.passwordStrengthCache.get(cacheKey);\n if (score != null && score <= 2) {\n this.passwordStrengthMap.set(c.id, this.scoreKey(score));\n weakPasswordCiphers.push(c);\n }\n });\n this.ciphers = weakPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from the org view;\n return true;\n }\n\n private scoreKey(score: number): [string, string] {\n switch (score) {\n case 4:\n return ['strong', 'success'];\n case 3:\n return ['good', 'primary'];\n case 2:\n return ['weak', 'warning'];\n default:\n return ['veryWeak', 'danger'];\n }\n }\n}\n","
\n

\n {{'weakPasswordsReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'weakPasswordsReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noWeakPasswords' | i18n}}\n \n \n \n {{'weakPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{passwordStrengthMap.get(c.id)[0] | i18n}}\n \n
\n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.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 { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\n\n@Component({\n selector: 'app-vault-attachments',\n templateUrl: 'attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n viewOnly = false;\n\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService, window);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.showFixOldAttachments(attachment)) {\n await this.reuploadCipherAttachment(attachment, false);\n }\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.cipher.organizationId == null;\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
\n {{a.fileName}}\n
\n \n \n {{'attachmentFixDesc' | i18n}}\n \n
\n
\n {{a.sizeName}}\n
\n \n
\n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n
\n \n \n
\n
\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 { EventService } from 'jslib/abstractions/event.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { TotpService } from 'jslib/abstractions/totp.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 { 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 protected allCiphers: CipherView[] = [];\n\n constructor(searchService: SearchService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, cipherService: CipherService,\n private apiService: ApiService, eventService: EventService, totpService: TotpService, userService: UserService) {\n super(searchService, analytics, toasterService, i18nService, platformUtilsService,\n cipherService, eventService, totpService, userService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.canManageAllCollections) {\n await super.load(filter, this.deleted);\n return;\n }\n this.accessEvents = this.organization.useEvents;\n this.allCiphers = await this.cipherService.getAllFromApiForOrganization(this.organization.id);\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.canManageAllCollections) {\n await super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n await super.applyFilter(f);\n }\n }\n\n async search(timeout: number = null) {\n if (!this.organization.canManageAllCollections) {\n return super.search(timeout);\n }\n this.searchPending = false;\n let filteredCiphers = this.allCiphers;\n\n if (this.searchText == null || this.searchText.trim().length < 2) {\n this.ciphers = filteredCiphers.filter(c => {\n if (c.isDeleted !== this.deleted) {\n return false;\n }\n return this.filter == null || this.filter(c);\n });\n } else {\n if (this.filter != null) {\n filteredCiphers = filteredCiphers.filter(this.filter);\n }\n this.ciphers = this.searchService.searchCiphersBasic(filteredCiphers, this.searchText, this.deleted);\n }\n await this.resetPaging();\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n\n protected deleteCipher(id: string) {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipher(id, this.deleted);\n }\n return this.deleted ? this.apiService.deleteCipherAdmin(id) : this.apiService.putDeleteCipherAdmin(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return this.organization.canManageAllCollections && c.hasOldAttachments;\n }\n}\n","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from 'jslib/angular/components/collections.component';\n\n@Component({\n selector: 'app-vault-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\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 this.collections.forEach(c => this.check(c, select));\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","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\n\n@Component({\n selector: 'app-org-vault-groupings',\n templateUrl: '../../vault/groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService,\n private apiService: ApiService, private i18nService: I18nService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n async loadCollections() {\n if (!this.organization.canManageAllCollections) {\n await super.loadCollections(this.organization.id);\n return;\n }\n\n const collections = await this.apiService.getCollections(this.organization.id);\n if (collections != null && collections.data != null && collections.data.length) {\n const collectionDomains = collections.data.map(r =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collectionDomains);\n } else {\n this.collections = [];\n }\n\n const unassignedCollection = new CollectionView();\n unassignedCollection.name = this.i18nService.t('unassigned');\n unassignedCollection.id = 'unassigned';\n unassignedCollection.organizationId = this.organization.id;\n unassignedCollection.readOnly = true;\n this.collections.push(unassignedCollection);\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\n }\n\n collapse(grouping: CollectionView) {\n super.collapse(grouping, 'org_');\n }\n\n isCollapsed(grouping: CollectionView) {\n return super.isCollapsed(grouping, 'org_');\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n Input,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkRestoreComponent } from './bulk-restore.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\n\n@Component({\n selector: 'app-vault-bulk-actions',\n templateUrl: 'bulk-actions.component.html',\n})\nexport class BulkActionsComponent {\n @Input() ciphersComponent: CiphersComponent;\n @Input() modal: ModalComponent;\n @Input() deleted: boolean;\n @Input() organization: Organization;\n\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef, static: true }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkRestoreTemplate', { read: ViewContainerRef, static: true }) bulkRestoreModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef, static: true }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef, static: true }) bulkShareModalRef: ViewContainerRef;\n\n constructor(private toasterService: ToasterService,\n private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver) { }\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.permanent = this.deleted;\n childComponent.cipherIds = selectedIds;\n childComponent.organization = this.organization;\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 bulkRestore() {\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.bulkRestoreModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkRestoreComponent, this.bulkRestoreModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onRestored.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","
\n \n
\n \n \n \n \n
\n \n \n
\n
\n\n\n\n\n\n","import { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { SendFileData } from '../data/sendFileData';\n\nimport { SendFileView } from '../view/sendFileView';\n\nexport class SendFile extends Domain {\n id: string;\n size: string;\n sizeName: string;\n fileName: CipherString;\n\n constructor(obj?: SendFileData, 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 sizeName: null,\n fileName: null,\n }, alreadyEncrypted, ['id', 'sizeName']);\n }\n\n async decrypt(key: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new SendFileView(this), {\n fileName: null,\n }, null, key);\n return view;\n }\n}\n","import { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { SendTextData } from '../data/sendTextData';\n\nimport { SendTextView } from '../view/sendTextView';\n\nexport class SendText extends Domain {\n text: CipherString;\n hidden: boolean;\n\n constructor(obj?: SendTextData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.hidden = obj.hidden;\n this.buildDomainModel(this, obj, {\n text: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(key: SymmetricCryptoKey): Promise {\n return this.decryptObj(new SendTextView(this), {\n text: null,\n }, null, key);\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class ErrorResponse extends BaseResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n super(response);\n let errorModel = null;\n if (response != null) {\n const responseErrorModel = this.getResponseProperty('ErrorModel');\n if (responseErrorModel && identityResponse) {\n errorModel = responseErrorModel;\n } else {\n errorModel = response;\n }\n }\n\n if (errorModel) {\n this.message = this.getResponseProperty('Message', errorModel);\n this.validationErrors = this.getResponseProperty('ValidationErrors', errorModel);\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 == null) {\n return this.message;\n }\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 return this.message;\n }\n\n getAllMessages(): string[] {\n const messages: string[] = [];\n if (this.validationErrors == null) {\n return messages;\n }\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n this.validationErrors[key].forEach((item: string) => {\n let prefix = '';\n if (key.indexOf('[') > -1 && key.indexOf(']') > -1) {\n const lastSep = key.lastIndexOf('.');\n prefix = key.substr(0, lastSep > -1 ? lastSep : key.length) + ': ';\n }\n messages.push(prefix + item);\n });\n }\n return messages;\n }\n}\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 { Folder } from '../domain/folder';\n\nexport class FolderRequest {\n name: string;\n\n constructor(folder: Folder) {\n this.name = folder.name ? folder.name.encryptedString : null;\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\n@Directive({\n selector: '[appSelectCopy]',\n})\nexport class SelectCopyDirective {\n constructor(private el: ElementRef, private platformUtilsService: PlatformUtilsService) { }\n\n @HostListener('copy') onCopy() {\n if (window == null) {\n return;\n }\n let copyText = '';\n const selection = window.getSelection();\n for (let i = 0; i < selection.rangeCount; i++) {\n const range = selection.getRangeAt(i);\n const text = range.toString();\n\n // The selection should only contain one line of text. In some cases however, the\n // selection contains newlines and space characters from the indentation of following\n // sibling nodes. To avoid copying passwords containing trailing newlines and spaces\n // that aren't part of the password, the selection has to be trimmed.\n let stringEndPos = text.length;\n const newLinePos = text.search(/(?:\\r\\n|\\r|\\n)/);\n if (newLinePos > -1) {\n const otherPart = text.substr(newLinePos).trim();\n if (otherPart === '') {\n stringEndPos = newLinePos;\n }\n }\n copyText += text.substring(0, stringEndPos);\n }\n this.platformUtilsService.copyToClipboard(copyText, { window: window });\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n/**\n * A pipe that sanitizes HTML and highlights numbers and special characters (in different colors each).\n */\n@Pipe({ name: 'colorPassword' })\nexport class ColorPasswordPipe implements PipeTransform {\n transform(password: string) {\n let colorizedPassword = '';\n for (let i = 0; i < password.length; i++) {\n let character = password[i];\n let isSpecial = false;\n // Sanitize HTML first.\n switch (character) {\n case '&':\n character = '&';\n isSpecial = true;\n break;\n case '<':\n character = '<';\n isSpecial = true;\n break;\n case '>':\n character = '>';\n isSpecial = true;\n break;\n case ' ':\n character = ' ';\n isSpecial = true;\n break;\n default:\n break;\n }\n let type = 'letter';\n if (isSpecial || character.match(/[^\\w ]/)) {\n type = 'special';\n } else if (character.match(/\\d/)) {\n type = 'number';\n }\n colorizedPassword += '' + character + '';\n }\n return colorizedPassword;\n }\n}\n","import { FolderResponse } from '../response/folderResponse';\n\nexport class FolderData {\n id: string;\n userId: string;\n name: string;\n revisionDate: string;\n\n constructor(response: FolderResponse, userId: string) {\n this.userId = userId;\n this.name = response.name;\n this.id = response.id;\n this.revisionDate = response.revisionDate;\n }\n}\n","import { FolderData } from '../data/folderData';\n\nimport { FolderView } from '../view/folderView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Folder extends Domain {\n id: string;\n name: CipherString;\n revisionDate: Date;\n\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n name: null,\n }, alreadyEncrypted, ['id']);\n\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n }\n\n decrypt(): Promise {\n return this.decryptObj(new FolderView(this), {\n name: null,\n }, null);\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\nimport { BaseResponse } from './baseResponse';\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 extends BaseResponse {\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 viewPassword: boolean;\n organizationUseTotp: boolean;\n revisionDate: string;\n attachments: AttachmentResponse[];\n passwordHistory: PasswordHistoryResponse[];\n collectionIds: string[];\n deletedDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.folderId = this.getResponseProperty('FolderId') || null;\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.notes = this.getResponseProperty('Notes');\n this.favorite = this.getResponseProperty('Favorite') || false;\n this.edit = !!this.getResponseProperty('Edit');\n if (this.getResponseProperty('ViewPassword') == null) {\n this.viewPassword = true;\n } else {\n this.viewPassword = this.getResponseProperty('ViewPassword');\n }\n this.organizationUseTotp = this.getResponseProperty('OrganizationUseTotp');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n this.collectionIds = this.getResponseProperty('CollectionIds');\n this.deletedDate = this.getResponseProperty('DeletedDate');\n\n const login = this.getResponseProperty('Login');\n if (login != null) {\n this.login = new LoginApi(login);\n }\n\n const card = this.getResponseProperty('Card');\n if (card != null) {\n this.card = new CardApi(card);\n }\n\n const identity = this.getResponseProperty('Identity');\n if (identity != null) {\n this.identity = new IdentityApi(identity);\n }\n\n const secureNote = this.getResponseProperty('SecureNote');\n if (secureNote != null) {\n this.secureNote = new SecureNoteApi(secureNote);\n }\n\n const fields = this.getResponseProperty('Fields');\n if (fields != null) {\n this.fields = fields.map((f: any) => new FieldApi(f));\n }\n\n const attachments = this.getResponseProperty('Attachments');\n if (attachments != null) {\n this.attachments = attachments.map((a: any) => new AttachmentResponse(a));\n }\n\n const passwordHistory = this.getResponseProperty('PasswordHistory');\n if (passwordHistory != null) {\n this.passwordHistory = passwordHistory.map((h: any) => new PasswordHistoryResponse(h));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { ProfileOrganizationResponse } from './profileOrganizationResponse';\n\nexport class ProfileResponse extends BaseResponse {\n id: string;\n name: string;\n email: string;\n emailVerified: boolean;\n masterPasswordHint: string;\n premium: boolean;\n culture: string;\n twoFactorEnabled: boolean;\n key: string;\n privateKey: string;\n securityStamp: string;\n organizations: ProfileOrganizationResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.emailVerified = this.getResponseProperty('EmailVerified');\n this.masterPasswordHint = this.getResponseProperty('MasterPasswordHint');\n this.premium = this.getResponseProperty('Premium');\n this.culture = this.getResponseProperty('Culture');\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\n this.key = this.getResponseProperty('Key');\n this.privateKey = this.getResponseProperty('PrivateKey');\n this.securityStamp = this.getResponseProperty('SecurityStamp');\n\n const organizations = this.getResponseProperty('Organizations');\n if (organizations != null) {\n this.organizations = organizations.map((o: any) => new ProfileOrganizationResponse(o));\n }\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class SendFileApi extends BaseResponse {\n id: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.id = this.getResponseProperty('Id');\n this.fileName = this.getResponseProperty('FileName');\n this.key = this.getResponseProperty('Key');\n this.size = this.getResponseProperty('Size');\n this.sizeName = this.getResponseProperty('SizeName');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class SendTextApi extends BaseResponse {\n text: string;\n hidden: boolean;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.text = this.getResponseProperty('Text');\n this.hidden = this.getResponseProperty('Hidden') || false;\n }\n}\n","import { EnvironmentService } from './environment.service';\n\nexport abstract class NotificationsService {\n init: (environmentService: EnvironmentService) => Promise;\n updateConnection: (sync?: boolean) => Promise;\n reconnectFromActivity: () => Promise;\n disconnectFromInactivity: () => Promise;\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 = 525;","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-frontend-layout',\n templateUrl: 'frontend-layout.component.html',\n})\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\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 document.body.classList.add('layout_frontend');\n }\n\n ngOnDestroy() {\n document.body.classList.remove('layout_frontend');\n }\n}\n","\n
\n © {{year}}, Bitwarden Inc.\n
{{'versionNumber' | i18n : version}}\n
\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ActivatedRoute } from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nconst BroadcasterSubscriptionId = 'OrganizationLayoutComponent';\n\n@Component({\n selector: 'app-organization-layout',\n templateUrl: 'organization-layout.component.html',\n})\nexport class OrganizationLayoutComponent implements OnInit, OnDestroy {\n organization: Organization;\n businessTokenPromise: Promise;\n private organizationId: string;\n private businessUrl: string;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone,\n private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private environmentService: EnvironmentService) { }\n\n ngOnInit() {\n this.businessUrl = 'https://portal.bitwarden.com';\n if (this.environmentService.enterpriseUrl != null) {\n this.businessUrl = this.environmentService.enterpriseUrl;\n } else if (this.environmentService.baseUrl != null) {\n this.businessUrl = this.environmentService.baseUrl + '/portal';\n }\n\n document.body.classList.remove('layout_frontend');\n this.route.params.subscribe(async params => {\n this.organizationId = params.organizationId;\n await this.load();\n });\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'updatedOrgLicense':\n await this.load();\n break;\n }\n });\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.organization = await this.userService.getOrganization(this.organizationId);\n }\n\n async goToBusinessPortal() {\n if (this.businessTokenPromise != null) {\n return;\n }\n try {\n this.businessTokenPromise = this.apiService.getEnterprisePortalSignInToken();\n const token = await this.businessTokenPromise;\n if (token != null) {\n const userId = await this.userService.getUserId();\n this.platformUtilsService.launchUri(this.businessUrl + '/login?userId=' + userId +\n '&token=' + (window as any).encodeURIComponent(token) + '&organizationId=' + this.organization.id);\n }\n } catch { }\n this.businessTokenPromise = null;\n }\n\n get showMenuBar() {\n return this.showManageTab || this.showToolsTab || this.organization.isOwner;\n }\n\n get showManageTab(): boolean {\n return this.organization.canManageUsers ||\n this.organization.canManageAssignedCollections ||\n this.organization.canManageAllCollections ||\n this.organization.canManageGroups ||\n this.organization.canManagePolicies ||\n this.organization.canAccessEventLogs;\n }\n\n get showToolsTab(): boolean {\n return this.organization.canAccessImportExport || this.organization.canAccessReports;\n }\n\n get showBusinessPortalButton(): boolean {\n return this.organization.useBusinessPortal && this.organization.canAccessBusinessPortal;\n }\n\n get toolsRoute(): string {\n return this.organization.canAccessImportExport ?\n 'tools/import' :\n 'tools/exposed-passwords-report';\n }\n\n get manageRoute(): string {\n let route: string;\n switch (true) {\n case this.organization.canManageUsers:\n route = 'manage/people';\n break;\n case this.organization.canManageAssignedCollections || this.organization.canManageAllCollections:\n route = 'manage/collections';\n break;\n case this.organization.canManageGroups:\n route = 'manage/groups';\n break;\n case this.organization.canManagePolicies:\n route = 'manage/policies';\n break;\n case this.organization.canAccessEventLogs:\n route = 'manage/events';\n break;\n }\n return route;\n }\n}\n","\n
\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n
\n \n {{'organizationIsDisabled' | i18n}}\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n\n\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'app-user-layout',\n templateUrl: 'user-layout.component.html',\n})\nexport class UserLayoutComponent implements OnInit {\n ngOnInit() {\n document.body.classList.remove('layout_frontend');\n }\n}\n","\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';\nimport { EmergencyAccessAcceptRequest } from 'jslib/models/request/emergencyAccessAcceptRequest';\n\n@Component({\n selector: 'app-accept-emergency',\n templateUrl: 'accept-emergency.component.html',\n})\nexport class AcceptEmergencyComponent implements OnInit {\n loading = true;\n authed = false;\n name: 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('emergencyInvitation');\n let error = qParams.id == null || qParams.name == null || qParams.email == null || qParams.token == null;\n let errorMessage: string = null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new EmergencyAccessAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postEmergencyAccessAccept(qParams.id, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('emergencyInviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch (e) {\n error = true;\n errorMessage = e.message;\n }\n } else {\n await this.stateService.save('emergencyInvitation', qParams);\n this.email = qParams.email;\n this.name = qParams.name;\n if (this.name != null) {\n // Fix URL encoding of space issue with Angular\n this.name = this.name.replace(/\\+/g, ' ');\n }\n }\n }\n\n if (error) {\n const toast: Toast = {\n type: 'error',\n title: null,\n body: errorMessage != null ? this.i18nService.t('emergencyInviteAcceptFailedShort', errorMessage) :\n this.i18nService.t('emergencyInviteAcceptFailed'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\n

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

{{'emergencyAccess' | i18n}}

\n
\n
\n

\n {{name}}\n

\n

{{'acceptEmergencyAccess' | i18n}}

\n
\n \n
\n
\n
\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 let errorMessage: string = 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 (e) {\n error = true;\n errorMessage = e.message;\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 const toast: Toast = {\n type: 'error',\n title: null,\n body: errorMessage != null ? this.i18nService.t('inviteAcceptFailedShort', errorMessage) :\n this.i18nService.t('inviteAcceptFailed'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\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","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\n\n@Component({\n selector: 'app-hint',\n templateUrl: 'hint.component.html',\n})\nexport class HintComponent extends BaseHintComponent {\n constructor(router: Router, i18nService: I18nService,\n apiService: ApiService, platformUtilsService: PlatformUtilsService) {\n super(router, i18nService, apiService, platformUtilsService);\n }\n}\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 { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\nimport { RouterService } from '../services/router.service';\n\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\n\n@Component({\n selector: 'app-lock',\n templateUrl: 'lock.component.html',\n})\nexport class LockComponent extends BaseLockComponent {\n constructor(router: Router, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\n userService: UserService, cryptoService: CryptoService,\n storageService: StorageService, vaultTimeoutService: VaultTimeoutService,\n environmentService: EnvironmentService, private routerService: RouterService,\n stateService: StateService, apiService: ApiService) {\n super(router, i18nService, platformUtilsService, messagingService, userService, cryptoService,\n storageService, vaultTimeoutService, environmentService, stateService, apiService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n this.router.navigate(['/']);\n } else if (await this.cryptoService.hasKey()) {\n this.router.navigate(['vault']);\n }\n\n this.onSuccessfulSubmit = () => {\n const previousUrl = this.routerService.getPreviousUrl();\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\n this.successRoute = previousUrl;\n }\n this.router.navigate([this.successRoute]);\n };\n }\n}\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n \n {{'loggedInAsEmailOn' | i18n : email : webVaultHostname}}\n \n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.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 i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, stateService: StateService,\n platformUtilsService: PlatformUtilsService, environmentService: EnvironmentService,\n passwordGenerationService: PasswordGenerationService, cryptoFunctionService: CryptoFunctionService) {\n super(authService, router,\n platformUtilsService, i18nService,\n stateService, environmentService,\n passwordGenerationService, cryptoFunctionService,\n storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n const queryParamsSub = 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 if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async goAfterLogIn() {\n const orgInvite = await this.stateService.get('orgInvitation');\n const emergencyInvite = await this.stateService.get('emergencyInvitation');\n if (orgInvite != null) {\n this.router.navigate(['accept-organization'], { queryParams: orgInvite });\n } else if (emergencyInvite != null) {\n this.router.navigate(['accept-emergency'], { queryParams: emergencyInvite });\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","
\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","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.trim().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","
\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 { 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 { AuthService } from 'jslib/abstractions/auth.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 private authService: AuthService) { }\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.trim().toLowerCase();\n const key = await this.authService.makePreloginKey(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","
\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","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\nimport { MasterPasswordPolicyOptions } from 'jslib/models/domain/masterPasswordPolicyOptions';\nimport { Policy } from 'jslib/models/domain/policy';\n\nimport { PolicyData } from 'jslib/models/data/policyData';\nimport { ReferenceEventRequest } from 'jslib/models/request/referenceEventRequest';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n layout = '';\n enforcedPolicyOptions: MasterPasswordPolicyOptions;\n\n private policies: Policy[];\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService, platformUtilsService: PlatformUtilsService,\n passwordGenerationService: PasswordGenerationService, private policyService: PolicyService) {\n super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService,\n passwordGenerationService);\n }\n\n getPasswordScoreAlertDisplay() {\n if (this.enforcedPolicyOptions == null) {\n return '';\n }\n\n let str: string;\n switch (this.enforcedPolicyOptions.minComplexity) {\n case 4:\n str = this.i18nService.t('strong');\n break;\n case 3:\n str = this.i18nService.t('good');\n break;\n default:\n str = this.i18nService.t('weak');\n break;\n }\n return str + ' (' + this.enforcedPolicyOptions.minComplexity + ')';\n }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(qParams => {\n this.referenceData = new ReferenceEventRequest();\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.referenceData.flow = qParams.org;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n if (qParams.layout != null) {\n this.layout = this.referenceData.layout = qParams.layout;\n }\n if (qParams.reference != null) {\n this.referenceData.id = qParams.reference;\n } else {\n this.referenceData.id = ('; ' + document.cookie).split('; reference=').pop().split(';').shift();\n }\n if (this.referenceData.id === '') {\n this.referenceData.id = null;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n try {\n const policies = await this.apiService.getPoliciesByToken(invite.organizationId, invite.token,\n invite.email, invite.organizationUserId);\n if (policies.data != null) {\n const policiesData = policies.data.map(p => new PolicyData(p));\n this.policies = policiesData.map(p => new Policy(p));\n }\n } catch { }\n }\n\n if (this.policies != null) {\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions(this.policies);\n }\n }\n\n async submit() {\n if (this.enforcedPolicyOptions != null &&\n !this.policyService.evaluateMasterPassword(this.masterPasswordScore, this.masterPassword,\n this.enforcedPolicyOptions)) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPasswordPolicyRequirementsNotMet'));\n return;\n }\n\n await super.submit();\n }\n}\n","
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n

Companies globally trust Bitwarden for password management.

\n

Start your 7-day free trial!

\n

Quickly deploy your organization

\n

Use Bitwarden across all platforms

\n

Collaborate and share securely

\n
\n
\n \n \"Wired\"\n \n
\n
\n \"Bitwarden has become a popular choice among open-source software advocates. After using\n it for a few months, I can see why.\" - February 2020\n
\n
\n
\n
\n

Enterprise 3 layout

\n
\n
\n

Enterprise 4 layout

\n
\n
\n
\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 {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • \n {{'policyInEffectUppercase' | i18n}}
  • \n
  • \n {{'policyInEffectLowercase' | i18n}}
  • \n
  • \n {{'policyInEffectNumbers' | i18n}}
  • \n
  • \n {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \n
\n
\n \n
\n
\n \n \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
\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n SetPasswordComponent as BaseSetPasswordComponent,\n} from 'jslib/angular/components/set-password.component';\n\n@Component({\n selector: 'app-set-password',\n templateUrl: 'set-password.component.html',\n})\nexport class SetPasswordComponent extends BaseSetPasswordComponent {\n constructor(apiService: ApiService, i18nService: I18nService,\n cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService, router: Router,\n syncService: SyncService, route: ActivatedRoute) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService, router, apiService, syncService, route);\n }\n}\n","
\n
\n
\n

{{'setMasterPassword' | i18n}}

\n
\n
\n \n {{'loading' | i18n}}\n
\n
\n {{'ssoCompleteRegistration' | i18n}}\n
\n \n {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • \n {{'policyInEffectUppercase' | i18n}}
  • \n
  • \n {{'policyInEffectLowercase' | i18n}}
  • \n
  • \n {{'policyInEffectNumbers' | i18n}}
  • \n
  • \n {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \n
\n
\n \n
\n
\n \n \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
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { SsoComponent as BaseSsoComponent } from 'jslib/angular/components/sso.component';\n\nconst IdentifierStorageKey = 'ssoOrgIdentifier';\n\n@Component({\n selector: 'app-sso',\n templateUrl: 'sso.component.html',\n})\nexport class SsoComponent extends BaseSsoComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, route: ActivatedRoute,\n storageService: StorageService, stateService: StateService,\n platformUtilsService: PlatformUtilsService, apiService: ApiService,\n cryptoFunctionService: CryptoFunctionService,\n passwordGenerationService: PasswordGenerationService) {\n super(authService, router, i18nService, route, storageService, stateService, platformUtilsService,\n apiService, cryptoFunctionService, passwordGenerationService);\n this.redirectUri = window.location.origin + '/sso-connector.html';\n this.clientId = 'web';\n }\n\n async ngOnInit() {\n super.ngOnInit();\n const queryParamsSub = this.route.queryParams.subscribe(async qParams => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n } else {\n const storedIdentifier = await this.storageService.get(IdentifierStorageKey);\n if (storedIdentifier != null) {\n this.identifier = storedIdentifier;\n }\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async submit() {\n await this.storageService.save(IdentifierStorageKey, this.identifier);\n if (this.clientId === 'browser') {\n document.cookie = `ssoHandOffMessage=${this.i18nService.t('ssoHandOff')};SameSite=strict`;\n }\n super.submit();\n }\n}\n","
\n
\n
\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{'ssoLogInWithOrgIdentifier' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoFunctionService } from '../../abstractions/cryptoFunction.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nexport class SsoComponent {\n identifier: string;\n loggingIn = false;\n\n formPromise: Promise;\n initiateSsoFormPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n onSuccessfulLoginTwoFactorNavigate: () => Promise;\n onSuccessfulLoginChangePasswordNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'lock';\n protected changePasswordRoute = 'set-password';\n protected clientId: string;\n protected redirectUri: string;\n protected state: string;\n protected codeChallenge: string;\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected route: ActivatedRoute,\n protected storageService: StorageService, protected stateService: StateService,\n protected platformUtilsService: PlatformUtilsService, protected apiService: ApiService,\n protected cryptoFunctionService: CryptoFunctionService,\n protected passwordGenerationService: PasswordGenerationService) { }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async qParams => {\n if (qParams.code != null && qParams.state != null) {\n const codeVerifier = await this.storageService.get(ConstantsService.ssoCodeVerifierKey);\n const state = await this.storageService.get(ConstantsService.ssoStateKey);\n await this.storageService.remove(ConstantsService.ssoCodeVerifierKey);\n await this.storageService.remove(ConstantsService.ssoStateKey);\n if (qParams.code != null && codeVerifier != null && state != null && this.checkState(state, qParams.state)) {\n await this.logIn(qParams.code, codeVerifier, this.getOrgIdentiferFromState(qParams.state));\n }\n } else if (qParams.clientId != null && qParams.redirectUri != null && qParams.state != null &&\n qParams.codeChallenge != null) {\n this.redirectUri = qParams.redirectUri;\n this.state = qParams.state;\n this.codeChallenge = qParams.codeChallenge;\n this.clientId = qParams.clientId;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async submit(returnUri?: string, includeUserIdentifier?: boolean) {\n this.initiateSsoFormPromise = this.preValidate();\n if (await this.initiateSsoFormPromise) {\n const authorizeUrl = await this.buildAuthorizeUrl(returnUri, includeUserIdentifier);\n this.platformUtilsService.launchUri(authorizeUrl, { sameWindow: true });\n }\n }\n\n async preValidate(): Promise {\n if (this.identifier == null || this.identifier === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('ssoValidationFailed'),\n this.i18nService.t('ssoIdentifierRequired'));\n return false;\n }\n return await this.apiService.preValidateSso(this.identifier);\n }\n\n protected async buildAuthorizeUrl(returnUri?: string, includeUserIdentifier?: boolean): Promise {\n let codeChallenge = this.codeChallenge;\n let state = this.state;\n\n const passwordOptions: any = {\n type: 'password',\n length: 64,\n uppercase: true,\n lowercase: true,\n numbers: true,\n special: false,\n };\n\n if (codeChallenge == null) {\n const codeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);\n const codeVerifierHash = await this.cryptoFunctionService.hash(codeVerifier, 'sha256');\n codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);\n await this.storageService.save(ConstantsService.ssoCodeVerifierKey, codeVerifier);\n }\n\n if (state == null) {\n state = await this.passwordGenerationService.generatePassword(passwordOptions);\n if (returnUri) {\n state += `_returnUri='${returnUri}'`;\n }\n }\n\n // Add Organization Identifier to state\n state += `_identifier=${this.identifier}`;\n\n // Save state (regardless of new or existing)\n await this.storageService.save(ConstantsService.ssoStateKey, state);\n\n let authorizeUrl = this.apiService.identityBaseUrl + '/connect/authorize?' +\n 'client_id=' + this.clientId + '&redirect_uri=' + encodeURIComponent(this.redirectUri) + '&' +\n 'response_type=code&scope=api offline_access&' +\n 'state=' + state + '&code_challenge=' + codeChallenge + '&' +\n 'code_challenge_method=S256&response_mode=query&' +\n 'domain_hint=' + encodeURIComponent(this.identifier);\n\n if (includeUserIdentifier) {\n const userIdentifier = await this.apiService.getSsoUserIdentifier();\n authorizeUrl += `&user_identifier=${encodeURIComponent(userIdentifier)}`;\n }\n\n return authorizeUrl;\n }\n\n private async logIn(code: string, codeVerifier: string, orgIdFromState: string) {\n this.loggingIn = true;\n try {\n this.formPromise = this.authService.logInSso(code, codeVerifier, this.redirectUri);\n const response = await this.formPromise;\n if (response.twoFactor) {\n this.platformUtilsService.eventTrack('SSO Logged In To Two-step');\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\n this.onSuccessfulLoginTwoFactorNavigate();\n } else {\n this.router.navigate([this.twoFactorRoute], {\n queryParams: {\n identifier: orgIdFromState,\n sso: 'true',\n },\n });\n }\n } else if (response.resetMasterPassword) {\n this.platformUtilsService.eventTrack('SSO - routing to complete registration');\n if (this.onSuccessfulLoginChangePasswordNavigate != null) {\n this.onSuccessfulLoginChangePasswordNavigate();\n } else {\n this.router.navigate([this.changePasswordRoute], {\n queryParams: {\n identifier: orgIdFromState,\n },\n });\n }\n } else {\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('SSO Logged In');\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n this.loggingIn = false;\n }\n\n private getOrgIdentiferFromState(state: string): string {\n if (state === null || state === undefined) {\n return null;\n }\n\n const stateSplit = state.split('_identifier=');\n return stateSplit.length > 1 ? stateSplit[1] : null;\n }\n\n private checkState(state: string, checkState: string): boolean {\n if (state === null || state === undefined) {\n return false;\n }\n if (checkState === null || checkState === undefined) {\n return false;\n }\n\n const stateSplit = state.split('_identifier=');\n const checkStateSplit = checkState.split('_identifier=');\n return stateSplit[0] === checkStateSplit[0];\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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';\nimport { StorageService } from 'jslib/abstractions/storage.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, static: true }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver,\n storageService: StorageService, route: ActivatedRoute) {\n super(authService, router, i18nService, apiService, platformUtilsService, window, environmentService,\n stateService, storageService, route);\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 orgInvite = await this.stateService.get('orgInvitation');\n const emergencyInvite = await this.stateService.get('emergencyInvitation');\n if (orgInvite != null) {\n this.router.navigate(['accept-organization'], { queryParams: orgInvite });\n } else if (emergencyInvite != null) {\n this.router.navigate(['accept-emergency'], { queryParams: emergencyInvite });\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 queryParams: {\n identifier: this.identifier,\n },\n });\n }\n }\n }\n}\n","
\n
\n
\n

{{title}}

\n
\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 {{'loading' | i18n}}\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 { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\n} from 'jslib/angular/components/two-factor-options.component';\n\n@Component({\n selector: 'app-two-factor-options',\n templateUrl: 'two-factor-options.component.html',\n})\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\n super(authService, router, i18nService, platformUtilsService, window);\n }\n}\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\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 { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class AuthResult {\n twoFactor: boolean = false;\n resetMasterPassword: boolean = false;\n twoFactorProviders: Map = null;\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","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\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';\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","
\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","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';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport {\n CollectionDetailsResponse,\n CollectionResponse,\n} from 'jslib/models/response/collectionResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\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, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef, static: true }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n pagedCollections: CollectionView[];\n searchText: string;\n\n protected didScroll = false;\n protected pageSize = 100;\n\n private pagedCollectionsCount = 0;\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 private userService: UserService, private searchService: SearchService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async params => {\n this.organizationId = params.organizationId;\n await this.load();\n const queryParamsSub = this.route.queryParams.subscribe(async qParams => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const organization = await this.userService.getOrganization(this.organizationId);\n let response: ListResponse;\n if (organization.canManageAllCollections) {\n response = await this.apiService.getCollections(this.organizationId);\n } else {\n response = await this.apiService.getUserCollections();\n }\n const collections = response.data.filter(c => c.organizationId === this.organizationId).map(r =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.resetPaging();\n this.loading = false;\n }\n\n loadMore() {\n if (!this.collections || this.collections.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedCollections.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedCollectionsCount > this.pageSize) {\n pagedSize = this.pagedCollectionsCount;\n }\n if (this.collections.length > pagedLength) {\n this.pagedCollections =\n this.pagedCollections.concat(this.collections.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedCollectionsCount = this.pagedCollections.length;\n this.didScroll = this.pagedCollections.length > this.pageSize;\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 childComponent.onEditedUsers.subscribe(() => {\n this.load();\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async resetPaging() {\n this.pagedCollections = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.collections && this.collections.length > this.pageSize;\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 this.resetPaging();\n }\n }\n}\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n\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 { 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 externalId: 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 this.externalId = collection.externalId;\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 (group[0] as any).hidePasswords = s.hidePasswords;\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 (g as any).hidePasswords = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach(g => this.check(g, select));\n }\n\n async submit() {\n if (this.orgKey == null) {\n throw new Error('No encryption key for this organization.');\n }\n\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.externalId = this.externalId;\n request.groups = this.groups.filter(g => (g as any).checked && !g.accessAll)\n .map(g => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly, !!(g as any).hidePasswords));\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","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdDesc' | i18n}}\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 \n \n
 {{'name' | i18n}}{{'hidePasswords' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{g.name}}\n \n \n {{'groupAccessAllItems' | i18n}}\n \n \n \n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n externalId: 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 this.externalId = collection.externalId;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute, Router } 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 { 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-org-events',\n templateUrl: 'events.component.html',\n})\nexport class EventsComponent implements OnInit {\n loading = true;\n loaded = false;\n organizationId: string;\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 route: ActivatedRoute,\n private eventService: EventService, private i18nService: I18nService,\n private toasterService: ToasterService, 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.useEvents) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n });\n }\n\n async load() {\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 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 const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\n clearExisting ? null : this.continuationToken);\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 = 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.i18nService.t('unknown'),\n userEmail: user != null ? user.email : '',\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","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\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 {{e.appName}}, {{e.ip}}\n \n {{e.userName}}\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 { SearchService } from 'jslib/abstractions/search.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, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef, static: true }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n pagedGroups: GroupResponse[];\n searchText: string;\n\n protected didScroll = false;\n protected pageSize = 100;\n\n private pagedGroupsCount = 0;\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, private searchService: SearchService) { }\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 const queryParamsSub = this.route.queryParams.subscribe(async qParams => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\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.resetPaging();\n this.loading = false;\n }\n\n loadMore() {\n if (!this.groups || this.groups.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedGroups.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedGroupsCount > this.pageSize) {\n pagedSize = this.pagedGroupsCount;\n }\n if (this.groups.length > pagedLength) {\n this.pagedGroups = this.pagedGroups.concat(this.groups.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedGroupsCount = this.pagedGroups.length;\n this.didScroll = this.pagedGroups.length > this.pageSize;\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 childComponent.onEditedUsers.subscribe(() => {\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async resetPaging() {\n this.pagedGroups = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.groups && this.groups.length > this.pageSize;\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 this.resetPaging();\n }\n }\n}\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\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 { 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 { GroupRequest } from 'jslib/models/request/groupRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\n@Component({\n selector: 'app-group-add-edit',\n templateUrl: 'group-add-edit.component.html',\n})\nexport class GroupAddEditComponent implements OnInit {\n @Input() groupId: string;\n @Input() organizationId: string;\n @Output() onSavedGroup = new EventEmitter();\n @Output() onDeletedGroup = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n name: string;\n externalId: string;\n access: 'all' | 'selected' = 'selected';\n collections: CollectionView[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.groupId != null;\n await this.loadCollections();\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editGroup');\n try {\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\n this.access = group.accessAll ? 'all' : 'selected';\n this.name = group.name;\n this.externalId = group.externalId;\n if (group.collections != null && this.collections != null) {\n group.collections.forEach(s => {\n const collection = this.collections.filter(c => c.id === s.id);\n if (collection != null && collection.length > 0) {\n (collection[0] as any).checked = true;\n collection[0].readOnly = s.readOnly;\n collection[0].hidePasswords = s.hidePasswords;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addGroup');\n }\n\n this.loading = false;\n }\n\n async loadCollections() {\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 }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n if (!(c as any).checked) {\n c.readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.collections.forEach(c => this.check(c, select));\n }\n\n async submit() {\n const request = new GroupRequest();\n request.name = this.name;\n request.externalId = this.externalId;\n request.accessAll = this.access === 'all';\n if (!request.accessAll) {\n request.collections = this.collections.filter(c => (c as any).checked)\n .map(c => new SelectionReadOnlyRequest(c.id, !!c.readOnly, !!c.hidePasswords));\n }\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\n } else {\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\n this.onSavedGroup.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('deleteGroupConfirmation'), 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.deleteGroup(this.organizationId, this.groupId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\n this.onDeletedGroup.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdDesc' | 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
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'hidePasswords' | 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","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-org-manage',\n templateUrl: 'manage.component.html',\n})\nexport class ManageComponent implements OnInit {\n organization: Organization;\n accessPolicies = false;\n accessGroups = false;\n accessEvents = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async params => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.accessPolicies = this.organization.usePolicies;\n this.accessEvents = this.organization.useEvents;\n this.accessGroups = this.organization.useGroups;\n });\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 { ConstantsService } from 'jslib/services/constants.service';\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 { SearchService } from 'jslib/abstractions/search.service';\nimport { StorageService } from 'jslib/abstractions/storage.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 { UserConfirmComponent } from './user-confirm.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, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef, static: true }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef, static: true }) eventsModalRef: ViewContainerRef;\n @ViewChild('confirmTemplate', { read: ViewContainerRef, static: true }) confirmModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n pagedUsers: 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 protected didScroll = false;\n protected pageSize = 100;\n\n private pagedUsersCount = 0;\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, private router: Router,\n private storageService: StorageService, private searchService: SearchService) { }\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.canManageUsers) {\n this.router.navigate(['../collections'], { relativeTo: this.route });\n return;\n }\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n const queryParamsSub = 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 if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\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 this.resetPaging();\n }\n\n loadMore() {\n if (!this.users || this.users.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedUsers.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedUsersCount > this.pageSize) {\n pagedSize = this.pagedUsersCount;\n }\n if (this.users.length > pagedLength) {\n this.pagedUsers = this.pagedUsers.concat(this.users.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedUsersCount = this.pagedUsers.length;\n this.didScroll = this.pagedUsers.length > this.pageSize;\n }\n\n get allCount() {\n return this.allUsers != null ? this.allUsers.length : 0;\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 get confirmedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Confirmed) ?\n this.statusMap.get(OrganizationUserStatusType.Confirmed).length : 0;\n }\n\n get showConfirmUsers(): boolean {\n return this.allUsers != null && this.statusMap != null && this.allUsers.length > 1 &&\n this.confirmedCount > 0 && this.confirmedCount < 3 && this.acceptedCount > 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 function updateUser(self: PeopleComponent) {\n user.status = OrganizationUserStatusType.Confirmed;\n const mapIndex = self.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (mapIndex > -1) {\n self.statusMap.get(OrganizationUserStatusType.Accepted).splice(mapIndex, 1);\n self.statusMap.get(OrganizationUserStatusType.Confirmed).push(user);\n }\n }\n\n if (this.actionPromise != null) {\n return;\n }\n\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\n if (autoConfirm == null || !autoConfirm) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.confirmModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserConfirmComponent, this.confirmModalRef);\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.userId = user != null ? user.userId : null;\n childComponent.onConfirmedUser.subscribe(() => {\n this.modal.close();\n updateUser(this);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return;\n }\n\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n updateUser(this);\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 async resetPaging() {\n this.pagedUsers = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.users && this.users.length > this.pageSize;\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 try {\n // tslint:disable-next-line\n console.log('User\\'s fingerprint: ' +\n (await this.cryptoService.getFingerprint(user.userId, publicKey.buffer)).join('-'));\n } catch { }\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 let index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n this.resetPaging();\n }\n if (this.statusMap.has(OrganizationUserStatusType.Accepted)) {\n index = this.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Accepted).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Invited)) {\n index = this.statusMap.get(OrganizationUserStatusType.Invited).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Invited).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Confirmed)) {\n index = this.statusMap.get(OrganizationUserStatusType.Confirmed).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Confirmed).splice(index, 1);\n }\n }\n }\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n {{'usersNeedConfirmed' | 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 {{'userUsingTwoStep' | i18n}}\n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n {{'custom' | i18n}}\n \n \n
\n
\n\n\n\n\n\n","export class OrganizationUserConfirmRequest {\n key: string;\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 { 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 { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { PermissionsApi } from 'jslib/models/api/permissionsApi';\n\n@Component({\n selector: 'app-user-add-edit',\n templateUrl: 'user-add-edit.component.html',\n})\nexport class UserAddEditComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n @Output() onDeletedUser = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n emails: string;\n type: OrganizationUserType = OrganizationUserType.User;\n permissions = new PermissionsApi();\n showCustom = false;\n access: 'all' | 'selected' = 'selected';\n collections: CollectionView[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n organizationUserType = OrganizationUserType;\n\n get customUserTypeSelected(): boolean {\n return this.type === OrganizationUserType.Custom;\n }\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.organizationUserId != null;\n await this.loadCollections();\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editUser');\n try {\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\n this.access = user.accessAll ? 'all' : 'selected';\n this.type = user.type;\n if (user.type === OrganizationUserType.Custom) {\n this.permissions = user.permissions;\n }\n if (user.collections != null && this.collections != null) {\n user.collections.forEach(s => {\n const collection = this.collections.filter(c => c.id === s.id);\n if (collection != null && collection.length > 0) {\n (collection[0] as any).checked = true;\n collection[0].readOnly = s.readOnly;\n collection[0].hidePasswords = s.hidePasswords;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('inviteUser');\n }\n\n this.loading = false;\n }\n\n async loadCollections() {\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 }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n if (!(c as any).checked) {\n c.readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.collections.forEach(c => this.check(c, select));\n }\n\n setRequestPermissions(p: PermissionsApi, clearPermissions: boolean) {\n p.accessBusinessPortal = clearPermissions ?\n false :\n this.permissions.accessBusinessPortal;\n p.accessEventLogs = this.permissions.accessEventLogs = clearPermissions ?\n false :\n this.permissions.accessEventLogs;\n p.accessImportExport = clearPermissions ?\n false :\n this.permissions.accessImportExport;\n p.accessReports = clearPermissions ?\n false :\n this.permissions.accessReports;\n p.manageAllCollections = clearPermissions ?\n false :\n this.permissions.manageAllCollections;\n p.manageAssignedCollections = clearPermissions ?\n false :\n this.permissions.manageAssignedCollections;\n p.manageGroups = clearPermissions ?\n false :\n this.permissions.manageGroups;\n p.manageSso = clearPermissions ?\n false :\n this.permissions.manageSso;\n p.managePolicies = clearPermissions ?\n false :\n this.permissions.managePolicies;\n p.manageUsers = clearPermissions ?\n false :\n this.permissions.manageUsers;\n return p;\n }\n\n async submit() {\n let collections: SelectionReadOnlyRequest[] = null;\n if (this.access !== 'all') {\n collections = this.collections.filter(c => (c as any).checked)\n .map(c => new SelectionReadOnlyRequest(c.id, !!c.readOnly, !!c.hidePasswords));\n }\n\n try {\n if (this.editMode) {\n const request = new OrganizationUserUpdateRequest();\n request.accessAll = this.access === 'all';\n request.type = this.type;\n request.collections = collections;\n request.permissions = this.setRequestPermissions(request.permissions ?? new PermissionsApi(), request.type !== OrganizationUserType.Custom);\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\n request);\n } else {\n const request = new OrganizationUserInviteRequest();\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\n request.accessAll = this.access === 'all';\n request.type = this.type;\n request.permissions = this.setRequestPermissions(request.permissions ?? new PermissionsApi(), request.type !== OrganizationUserType.Custom);\n request.collections = collections;\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\n this.onSavedUser.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('removeUserConfirmation'), 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.deleteOrganizationUser(this.organizationId, this.organizationUserId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\n this.onDeletedUser.emit();\n } catch { }\n }\n\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n \n

{{'inviteUserDesc' | i18n}}

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

\n {{'userType' | 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 {{'permissions' | 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 {{'accessControl' | i18n}}\n \n \n \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 \n \n
 {{'name' | i18n}}{{'hidePasswords' | 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","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 { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-confirm',\n templateUrl: 'user-confirm.component.html',\n})\nexport class UserConfirmComponent implements OnInit {\n @Input() name: string;\n @Input() userId: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onConfirmedUser = new EventEmitter();\n\n dontAskAgain = false;\n loading = true;\n fingerprint: string;\n formPromise: Promise;\n\n private publicKey: Uint8Array = null;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async ngOnInit() {\n try {\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\n if (publicKeyResponse != null) {\n this.publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, this.publicKey.buffer);\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n } catch { }\n this.loading = false;\n }\n\n async submit() {\n if (this.loading) {\n return;\n }\n\n if (this.dontAskAgain) {\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\n }\n\n try {\n this.formPromise = this.doConfirmation();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', this.name));\n this.onConfirmedUser.emit();\n } catch { }\n }\n\n private async doConfirmation() {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, this.publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, this.organizationUserId, request);\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n

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

\n

{{fingerprint}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\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","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\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","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 { PolicyType } from 'jslib/enums/policyType';\n\nimport { EnvironmentService } from 'jslib/abstractions';\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 { PolicyResponse } from 'jslib/models/response/policyResponse';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { PolicyEditComponent } from './policy-edit.component';\n\n@Component({\n selector: 'app-org-policies',\n templateUrl: 'policies.component.html',\n})\nexport class PoliciesComponent implements OnInit {\n @ViewChild('editTemplate', { read: ViewContainerRef, static: true }) editModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n policies: any[];\n\n // Remove when removing deprecation warning\n enterpriseTokenPromise: Promise;\n userCanAccessBusinessPortal = false;\n\n private enterpriseUrl: string;\n\n private modal: ModalComponent = null;\n private orgPolicies: PolicyResponse[];\n private policiesEnabledMap: Map = new Map();\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router, private environmentService: EnvironmentService) { }\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.usePolicies) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n this.userCanAccessBusinessPortal = organization.canAccessBusinessPortal;\n this.policies = [\n {\n name: this.i18nService.t('twoStepLogin'),\n description: this.i18nService.t('twoStepLoginPolicyDesc'),\n type: PolicyType.TwoFactorAuthentication,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('masterPass'),\n description: this.i18nService.t('masterPassPolicyDesc'),\n type: PolicyType.MasterPassword,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('passwordGenerator'),\n description: this.i18nService.t('passwordGeneratorPolicyDesc'),\n type: PolicyType.PasswordGenerator,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('singleOrg'),\n description: this.i18nService.t('singleOrgDesc'),\n type: PolicyType.SingleOrg,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('requireSso'),\n description: this.i18nService.t('requireSsoPolicyDesc'),\n type: PolicyType.RequireSso,\n enabled: false,\n display: organization.useSso,\n },\n {\n name: this.i18nService.t('personalOwnership'),\n description: this.i18nService.t('personalOwnershipPolicyDesc'),\n type: PolicyType.PersonalOwnership,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('disableSend'),\n description: this.i18nService.t('disableSendPolicyDesc'),\n type: PolicyType.DisableSend,\n enabled: false,\n display: true,\n },\n ];\n await this.load();\n\n // Handle policies component launch from Event message\n const queryParamsSub = this.route.queryParams.subscribe(async qParams => {\n if (qParams.policyId != null) {\n const policyIdFromEvents: string = qParams.policyId;\n for (const orgPolicy of this.orgPolicies) {\n if (orgPolicy.id === policyIdFromEvents) {\n for (let i = 0; i < this.policies.length; i++) {\n if (this.policies[i].type === orgPolicy.type) {\n this.edit(this.policies[i]);\n break;\n }\n }\n break;\n }\n }\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n\n // Remove when removing deprecation warning\n this.enterpriseUrl = 'https://portal.bitwarden.com';\n if (this.environmentService.enterpriseUrl != null) {\n this.enterpriseUrl = this.environmentService.enterpriseUrl;\n } else if (this.environmentService.baseUrl != null) {\n this.enterpriseUrl = this.environmentService.baseUrl + '/portal';\n }\n }\n\n async load() {\n const response = await this.apiService.getPolicies(this.organizationId);\n this.orgPolicies = response.data != null && response.data.length > 0 ? response.data : [];\n this.orgPolicies.forEach(op => {\n this.policiesEnabledMap.set(op.type, op.enabled);\n });\n this.policies.forEach(p => {\n p.enabled = this.policiesEnabledMap.has(p.type) && this.policiesEnabledMap.get(p.type);\n });\n this.loading = false;\n }\n\n edit(p: any) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.editModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n PolicyEditComponent, this.editModalRef);\n\n childComponent.name = p.name;\n childComponent.description = p.description;\n childComponent.type = p.type;\n childComponent.organizationId = this.organizationId;\n childComponent.policiesEnabledMap = this.policiesEnabledMap;\n childComponent.onSavedPolicy.subscribe(() => {\n this.modal.close();\n this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n\n // Remove when removing deprecation warning\n async goToEnterprisePortal() {\n if (this.enterpriseTokenPromise != null) {\n return;\n }\n try {\n this.enterpriseTokenPromise = this.apiService.getEnterprisePortalSignInToken();\n const token = await this.enterpriseTokenPromise;\n if (token != null) {\n const userId = await this.userService.getUserId();\n this.platformUtilsService.launchUri(this.enterpriseUrl + '/login?userId=' + userId +\n '&token=' + (window as any).encodeURIComponent(token) + '&organizationId=' + this.organizationId);\n }\n } catch { }\n this.enterpriseTokenPromise = null;\n }\n}\n","\n

{{'webPoliciesDeprecationWarning' | i18n}}

\n \n
\n
\n

{{'policies' | i18n}}

\n
\n\n \n {{'loading' | i18n}}\n\n\n \n \n \n \n \n
\n {{p.name}}\n {{'enabled' | i18n}}\n {{p.description}}\n
\n\n","// Using index.ts is deprecated, please do not extend\nexport { 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 { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LogService } from './log.service';\nexport { MessagingService } from './messaging.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { PlatformUtilsService } from './platformUtils.service';\nexport { SearchService } from './search.service';\nexport { SettingsService } from './settings.service';\nexport { StorageService } from './storage.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';\nexport { VaultTimeoutService } from './vaultTimeout.service';\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 { PolicyType } from 'jslib/enums/policyType';\n\nimport { PolicyRequest } from 'jslib/models/request/policyRequest';\n\nimport { PolicyResponse } from 'jslib/models/response/policyResponse';\n\n@Component({\n selector: 'app-policy-edit',\n templateUrl: 'policy-edit.component.html',\n})\nexport class PolicyEditComponent implements OnInit {\n @Input() name: string;\n @Input() description: string;\n @Input() type: PolicyType;\n @Input() organizationId: string;\n @Input() policiesEnabledMap: Map = new Map();\n @Output() onSavedPolicy = new EventEmitter();\n\n policyType = PolicyType;\n loading = true;\n enabled = false;\n formPromise: Promise;\n passwordScores: any[];\n defaultTypes: any[];\n\n // Master password\n\n masterPassMinComplexity?: number = null;\n masterPassMinLength?: number;\n masterPassRequireUpper?: number;\n masterPassRequireLower?: number;\n masterPassRequireNumbers?: number;\n masterPassRequireSpecial?: number;\n\n // Password generator\n\n passGenDefaultType?: string;\n passGenMinLength?: number;\n passGenUseUpper?: boolean;\n passGenUseLower?: boolean;\n passGenUseNumbers?: boolean;\n passGenUseSpecial?: boolean;\n passGenMinNumbers?: number;\n passGenMinSpecial?: number;\n passGenMinNumberWords?: number;\n passGenCapitalize?: boolean;\n passGenIncludeNumber?: boolean;\n\n private policy: PolicyResponse;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) {\n this.passwordScores = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('weak') + ' (0)', value: 0 },\n { name: i18nService.t('weak') + ' (1)', value: 1 },\n { name: i18nService.t('weak') + ' (2)', value: 2 },\n { name: i18nService.t('good') + ' (3)', value: 3 },\n { name: i18nService.t('strong') + ' (4)', value: 4 },\n ];\n this.defaultTypes = [\n { name: i18nService.t('userPreference'), value: null },\n { name: i18nService.t('password'), value: 'password' },\n { name: i18nService.t('passphrase'), value: 'passphrase' },\n ];\n }\n\n async ngOnInit() {\n await this.load();\n this.loading = false;\n }\n\n async load() {\n try {\n this.policy = await this.apiService.getPolicy(this.organizationId, this.type);\n\n if (this.policy != null) {\n this.enabled = this.policy.enabled;\n if (this.policy.data != null) {\n switch (this.type) {\n case PolicyType.PasswordGenerator:\n this.passGenDefaultType = this.policy.data.defaultType;\n this.passGenMinLength = this.policy.data.minLength;\n this.passGenUseUpper = this.policy.data.useUpper;\n this.passGenUseLower = this.policy.data.useLower;\n this.passGenUseNumbers = this.policy.data.useNumbers;\n this.passGenUseSpecial = this.policy.data.useSpecial;\n this.passGenMinNumbers = this.policy.data.minNumbers;\n this.passGenMinSpecial = this.policy.data.minSpecial;\n this.passGenMinNumberWords = this.policy.data.minNumberWords;\n this.passGenCapitalize = this.policy.data.capitalize;\n this.passGenIncludeNumber = this.policy.data.includeNumber;\n break;\n case PolicyType.MasterPassword:\n this.masterPassMinComplexity = this.policy.data.minComplexity;\n this.masterPassMinLength = this.policy.data.minLength;\n this.masterPassRequireUpper = this.policy.data.requireUpper;\n this.masterPassRequireLower = this.policy.data.requireLower;\n this.masterPassRequireNumbers = this.policy.data.requireNumbers;\n this.masterPassRequireSpecial = this.policy.data.requireSpecial;\n break;\n default:\n break;\n }\n }\n }\n } catch (e) {\n if (e.statusCode === 404) {\n this.enabled = false;\n } else {\n throw e;\n }\n }\n }\n\n async submit() {\n if (this.preValidate()) {\n const request = new PolicyRequest();\n request.enabled = this.enabled;\n request.type = this.type;\n request.data = null;\n switch (this.type) {\n case PolicyType.PasswordGenerator:\n request.data = {\n defaultType: this.passGenDefaultType,\n minLength: this.passGenMinLength || null,\n useUpper: this.passGenUseUpper,\n useLower: this.passGenUseLower,\n useNumbers: this.passGenUseNumbers,\n useSpecial: this.passGenUseSpecial,\n minNumbers: this.passGenMinNumbers || null,\n minSpecial: this.passGenMinSpecial || null,\n minNumberWords: this.passGenMinNumberWords || null,\n capitalize: this.passGenCapitalize,\n includeNumber: this.passGenIncludeNumber,\n };\n break;\n case PolicyType.MasterPassword:\n request.data = {\n minComplexity: this.masterPassMinComplexity || null,\n minLength: this.masterPassMinLength || null,\n requireUpper: this.masterPassRequireUpper,\n requireLower: this.masterPassRequireLower,\n requireNumbers: this.masterPassRequireNumbers,\n requireSpecial: this.masterPassRequireSpecial,\n };\n break;\n default:\n break;\n }\n try {\n this.formPromise = this.apiService.putPolicy(this.organizationId, this.type, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited Policy' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedPolicyId', this.name));\n this.onSavedPolicy.emit();\n } catch { }\n }\n }\n\n get checkboxDesc(): string {\n return this.type === PolicyType.PersonalOwnership ? this.i18nService.t('personalOwnershipCheckboxDesc') :\n this.i18nService.t('enabled');\n }\n\n private preValidate(): boolean {\n switch (this.type) {\n case PolicyType.RequireSso:\n // Don't need prevalidation checks if submitting to disable\n if (!this.enabled) {\n return true;\n }\n // Have SingleOrg policy enabled?\n if (!(this.policiesEnabledMap.has(PolicyType.SingleOrg)\n && this.policiesEnabledMap.get(PolicyType.SingleOrg))) {\n this.toasterService.popAsync('error', null, this.i18nService.t('requireSsoPolicyReqError'));\n return false;\n }\n return true;\n\n case PolicyType.SingleOrg:\n // Don't need prevalidation checks if submitting to enable\n if (this.enabled) {\n return true;\n }\n // If RequireSso Policy is enabled prevent submittal\n if (this.policiesEnabledMap.has(PolicyType.RequireSso)\n && this.policiesEnabledMap.get(PolicyType.RequireSso)) {\n this.toasterService.popAsync('error', null, this.i18nService.t('disableRequireSsoError'));\n return false;\n }\n return true;\n\n default:\n return true;\n }\n }\n}\n","
\n
\n
\n
\n

{{'editPolicy' | i18n}} - {{name}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{description}}

\n \n {{'twoStepLoginPolicyWarning' | i18n}}\n \n \n {{'singleOrgPolicyWarning' | i18n}}\n \n \n \n {{'requireSsoPolicyReq' | i18n}}\n \n \n {{'requireSsoExemption' | i18n}}\n \n \n \n {{'personalOwnershipExemption' | i18n}}\n \n \n {{'disableSendExemption' | 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

{{'password' | 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

{{'passphrase' | 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","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 { PlatformUtilsService } from 'jslib/abstractions/platformUtils.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 { ApiKeyComponent } from '../../settings/api-key.component';\nimport { PurgeVaultComponent } from '../../settings/purge-vault.component';\nimport { TaxInfoComponent } from '../../settings/tax-info.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, static: true }) deleteModalRef: ViewContainerRef;\n @ViewChild('purgeOrganizationTemplate', { read: ViewContainerRef, static: true }) purgeModalRef: ViewContainerRef;\n @ViewChild('apiKeyTemplate', { read: ViewContainerRef, static: true }) apiKeyModalRef: ViewContainerRef;\n @ViewChild('rotateApiKeyTemplate', { read: ViewContainerRef, static: true }) rotateApiKeyModalRef: ViewContainerRef;\n @ViewChild(TaxInfoComponent) taxInfo: TaxInfoComponent;\n\n selfHosted = false;\n loading = true;\n canUseApi = false;\n org: OrganizationResponse;\n formPromise: Promise;\n taxFormPromise: 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 private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.selfHosted = this.platformUtilsService.isSelfHost();\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 this.canUseApi = this.org.useApi;\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 request.identifier = this.org.identifier;\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 async submitTaxInfo() {\n this.taxFormPromise = this.taxInfo.submitTaxInfo();\n await this.taxFormPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Tax Info' });\n this.toasterService.popAsync('success', null, this.i18nService.t('taxInfoUpdated'));\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 purgeVault() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.purgeModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(PurgeVaultComponent, this.purgeModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n viewApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.apiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.apiKeyModalRef);\n childComponent.keyType = 'organization';\n childComponent.entityId = this.organizationId;\n childComponent.postKey = this.apiService.postOrganizationApiKey.bind(this.apiService);\n childComponent.scope = 'api.organization';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'apiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n rotateApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.rotateApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.rotateApiKeyModalRef);\n childComponent.keyType = 'organization';\n childComponent.isRotation = true;\n childComponent.entityId = this.organizationId;\n childComponent.postKey = this.apiService.postOrganizationRotateApiKey.bind(this.apiService);\n childComponent.scope = 'api.organization';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'apiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyRotateDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n {{'loading' | 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

{{'apiKey' | i18n}}

\n
\n

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

\n \n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n

{{'taxInformationDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n \n
\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n
\n
\n\n\n\n\n","import { TaxInfoUpdateRequest } from './taxInfoUpdateRequest';\n\nexport class OrganizationTaxInfoUpdateRequest extends TaxInfoUpdateRequest {\n taxId: string;\n line1: string;\n line2: string;\n city: string;\n state: string;\n}\n","export class TaxInfoUpdateRequest {\n country: string;\n postalCode: string;\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","
\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","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 { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UserBillingComponent } from '../../settings/user-billing.component';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: '../../settings/user-billing.component.html',\n})\nexport class OrganizationBillingComponent extends UserBillingComponent implements OnInit {\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private route: ActivatedRoute, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\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","export class WebConstants {\n static readonly stripeTestKey = 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD';\n static readonly stripeLiveKey = 'pk_live_bpN0P37nMxrMQkcaHXtAybJk';\n static readonly btSandboxKey = 'sandbox_r72q8jq6_9pnxkwm75f87sdc2';\n static readonly btProductionKey = 'production_qfbsv8kc_njj2zjtyngtjmbjd';\n static readonly paypal = {\n businessIdProduction: '4ZDA7DLUUJGMN',\n businessIdSandbox: 'AD3LAUZSNVPJY',\n buttonActionProduction: 'https://www.paypal.com/cgi-bin/webscr',\n buttonActionSandbox: 'https://www.sandbox.paypal.com/cgi-bin/webscr',\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 { OrganizationSubscriptionResponse } from 'jslib/models/response/organizationSubscriptionResponse';\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';\n\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-subscription',\n templateUrl: 'organization-subscription.component.html',\n})\nexport class OrganizationSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n showDownloadLicense = false;\n showChangePlan = false;\n sub: OrganizationSubscriptionResponse;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private analytics: Angulartics2,\n private toasterService: ToasterService, private messagingService: MessagingService,\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.sub = await this.apiService.getOrganizationSubscription(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 if (this.subscription == null && this.sub.planType === PlanType.Free) {\n this.showChangePlan = !this.showChangePlan;\n return;\n }\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 closeChangePlan(changed: boolean) {\n this.showChangePlan = false;\n }\n\n downloadLicense() {\n this.showDownloadLicense = !this.showDownloadLicense;\n }\n\n closeDownloadLicense() {\n this.showDownloadLicense = false;\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(updated: boolean) {\n this.showUpdateLicense = false;\n if (updated) {\n this.load();\n this.messagingService.send('updatedOrgLicense');\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 get isExpired() {\n return this.sub != null && this.sub.expiration != null &&\n new Date(this.sub.expiration) < new Date();\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.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.sub.plan.isAnnual;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.sub.plan.additionalStoragePricePerGb;\n }\n\n get seatPrice() {\n return this.sub.plan.seatPrice;\n }\n\n get canAdjustSeats() {\n return this.sub.plan.hasAdditionalSeatsOption;\n }\n\n get canDownloadLicense() {\n return (this.sub.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","
\n

\n {{'subscription' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

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

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan.name}}
\n
{{'expiration' | i18n}}
\n
\n {{sub.expiration | date:'mediumDate'}}\n \n \n {{'licenseIsExpired' | i18n}}\n \n
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan.name}}
\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 \n

{{'updateLicense' | i18n}}

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

{{'userSeats' | i18n}}

\n

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

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

{{'storage' | i18n}}

\n

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

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { ProductType } from 'jslib/enums/productType';\n\n@Component({\n selector: 'app-change-plan',\n templateUrl: 'change-plan.component.html',\n})\nexport class ChangePlanComponent {\n @Input() organizationId: string;\n @Output() onChanged = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n defaultUpgradePlan: PlanType = PlanType.FamiliesAnnually;\n defaultUpgradeProduct: ProductType = ProductType.Families;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n try {\n this.platformUtilsService.eventTrack('Changed Plan');\n this.onChanged.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","
\n
\n \n

{{'changeBillingPlan' | i18n}}

\n

{{'changeBillingPlanUpgrade' | i18n}}

\n \n \n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-download-license',\n templateUrl: 'download-license.component.html',\n})\nexport class DownloadLicenseComponent {\n @Input() organizationId: string;\n @Output() onDownloaded = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n installationId: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n if (this.installationId == null || this.installationId === '') {\n return;\n }\n\n try {\n this.formPromise = this.apiService.getOrganizationLicense(this.organizationId, this.installationId);\n const license = await this.formPromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n this.platformUtilsService.eventTrack('Downloaded License');\n this.onDownloaded.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","
\n
\n \n

{{'downloadLicense' | i18n}}

\n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\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 { SeatRequest } from 'jslib/models/request/seatRequest';\n\nimport { PaymentComponent } from '../../settings/payment.component';\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 @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router, private activatedRoute: ActivatedRoute) { }\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 let paymentFailed = false;\n const action = async () => {\n const result = await this.apiService.postOrganizationSeat(this.organizationId, request);\n if (result != null && result.paymentIntentClientSecret != null) {\n try {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n } catch {\n paymentFailed = true;\n }\n }\n };\n this.formPromise = action();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.onAdjusted.emit(this.seatAdjustment);\n if (paymentFailed) {\n this.toasterService.popAsync({\n body: this.i18nService.t('couldNotChargeCardPayInvoice'),\n type: 'warning',\n timeout: 10000,\n });\n this.router.navigate(['../billing'], { relativeTo: this.activatedRoute });\n } else {\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n }\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatPrice;\n }\n}\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","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\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 selfHosted: boolean;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async params => {\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.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, userService: UserService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n policyService: PolicyService, private route: ActivatedRoute) {\n super(apiService, userService, componentFactoryResolver, messagingService, policyService);\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 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","
\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","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","
\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","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.onafterprint = () => w.close();\n w.print();\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","
\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","import {\n Component,\n NgZone,\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';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from 'jslib/models/request/updateTwoFactorU2fDeleteRequest';\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 name: string;\n keys: any[];\n keyIdAvailable: number = null;\n keysConfiguredCount = 0;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n challengePromise: Promise;\n formPromise: Promise;\n\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private ngZone: NgZone) {\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 window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.u2fResponse == null || this.keyIdAvailable == null) {\n // Should never happen.\n return Promise.reject();\n }\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n request.id = this.keyIdAvailable;\n request.name = this.name;\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 disable() {\n return super.disable(this.formPromise);\n }\n\n async remove(key: any) {\n if (this.keysConfiguredCount <= 1 || key.removePromise != null) {\n return;\n }\n const name = key.name != null ? key.name : this.i18nService.t('u2fkeyX', key.id);\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeU2fConfirmation'), name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n const request = new UpdateTwoFactorU2fDeleteRequest();\n request.id = key.id;\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n key.removePromise = this.apiService.deleteTwoFactorU2f(request);\n const response = await key.removePromise;\n key.removePromise = null;\n await this.processResponse(response);\n } catch { }\n }\n\n async readKey() {\n if (this.keyIdAvailable == null) {\n return;\n }\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n this.challengePromise = this.apiService.getTwoFactorU2fChallenge(request);\n const challenge = await this.challengePromise;\n this.readDevice(challenge);\n } catch { }\n }\n\n private readDevice(u2fChallenge: ChallengeResponse) {\n // tslint:disable-next-line\n console.log('listening for key...');\n this.resetU2f(true);\n (window as any).u2f.register(u2fChallenge.appId, [{\n version: u2fChallenge.version,\n challenge: u2fChallenge.challenge,\n }], [], (data: any) => {\n this.ngZone.run(() => {\n this.u2fListening = false;\n 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 });\n }, 15);\n }\n\n private resetU2f(listening = false) {\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = listening;\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.resetU2f();\n this.keys = [];\n this.keyIdAvailable = null;\n this.name = null;\n this.keysConfiguredCount = 0;\n for (let i = 1; i <= 5; i++) {\n if (response.keys != null) {\n const key = response.keys.filter(k => k.id === i);\n if (key.length > 0) {\n this.keysConfiguredCount++;\n this.keys.push({\n id: i, name: key[0].name,\n configured: true,\n compromised: key[0].compromised,\n removePromise: null,\n });\n continue;\n }\n }\n this.keys.push({ id: i, name: null, configured: false, compromised: false, removePromise: null });\n if (this.keyIdAvailable == null) {\n this.keyIdAvailable = i;\n }\n }\n this.enabled = response.enabled;\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
  • \n \n {{'u2fkeyX' | i18n : i + 1}}\n {{k.name}}\n \n \n \n {{'keyCompromised' | i18n}}\n \n \n \n {{'enabled' | i18n}}\n \n \n 1 && k.configured\">\n \n -\n {{'remove' | i18n}}\n \n
  • \n
\n
\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fGiveName' | i18n}}
  2. \n
  3. {{'twoFactorU2fPlugInReadKey' | i18n}}
  4. \n
  5. {{'twoFactorU2fTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorU2fSaveForm' | i18n}}
  8. \n
\n
\n
\n \n \n
\n
\n \n \n \n \n \n \n \n {{'twoFactorU2fWaiting' | i18n}}...\n \n \n \n {{'twoFactorU2fClickSave' | i18n}}\n \n \n \n {{'twoFactorU2fProblemReadingTryAgain' | i18n}}\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 { 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","
\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","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\n\nimport { EventType } from 'jslib/enums/eventType';\n\n@Component({\n selector: 'app-org-export',\n templateUrl: '../../tools/export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\n eventService: EventService, private route: ActivatedRoute) {\n super(cryptoService, i18nService, platformUtilsService, exportService, eventService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async params => {\n this.organizationId = params.organizationId;\n });\n }\n\n getExportData() {\n return this.exportService.getOrganizationExport(this.organizationId, this.format);\n }\n\n getFileName() {\n return super.getFileName('org');\n }\n\n async collectEvent(): Promise {\n // TODO\n // await this.eventService.collect(EventType.Organization_ClientExportedVault);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n ExposedPasswordsReportComponent as BaseExposedPasswordsReportComponent,\n} from '../../tools/exposed-passwords-report.component';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: '../../tools/exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends BaseExposedPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, auditService, componentFactoryResolver, messagingService, userService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async params => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import { PasswordHistoryResponse } from '../response/passwordHistoryResponse';\n\nexport class PasswordHistoryData {\n password: string;\n lastUsedDate: string;\n\n constructor(response?: PasswordHistoryResponse) {\n if (response == null) {\n return;\n }\n\n this.password = response.password;\n this.lastUsedDate = response.lastUsedDate;\n }\n}\n","import { View } from './view';\n\nimport { Attachment } from '../domain/attachment';\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\n\nexport class AttachmentView implements View {\n id: string = null;\n url: string = null;\n size: string = null;\n sizeName: string = null;\n fileName: string = null;\n key: SymmetricCryptoKey = null;\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 get fileSize(): number {\n try {\n if (this.size != null) {\n return parseInt(this.size, null);\n }\n } catch { }\n return 0;\n }\n}\n","import { PasswordHistoryData } from '../data/passwordHistoryData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { PasswordHistoryView } from '../view/passwordHistoryView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Password extends Domain {\n password: CipherString;\n lastUsedDate: Date;\n\n constructor(obj?: PasswordHistoryData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n password: null,\n }, alreadyEncrypted);\n this.lastUsedDate = new Date(obj.lastUsedDate);\n }\n\n decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new PasswordHistoryView(this), {\n password: null,\n }, orgId, encKey);\n }\n\n toPasswordHistoryData(): PasswordHistoryData {\n const ph = new PasswordHistoryData();\n ph.lastUsedDate = this.lastUsedDate.toISOString();\n this.buildDataModel(this, ph, {\n password: null,\n });\n return ph;\n }\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherCreateRequest {\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 { BaseResponse } from '../response/baseResponse';\n\nexport class CardApi extends BaseResponse {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.cardholderName = this.getResponseProperty('CardholderName');\n this.brand = this.getResponseProperty('Brand');\n this.number = this.getResponseProperty('Number');\n this.expMonth = this.getResponseProperty('ExpMonth');\n this.expYear = this.getResponseProperty('ExpYear');\n this.code = this.getResponseProperty('Code');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { FieldType } from '../../enums/fieldType';\n\nexport class FieldApi extends BaseResponse {\n name: string;\n value: string;\n type: FieldType;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.value = this.getResponseProperty('Value');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class IdentityApi extends BaseResponse {\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: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.title = this.getResponseProperty('Title');\n this.firstName = this.getResponseProperty('FirstName');\n this.middleName = this.getResponseProperty('MiddleName');\n this.lastName = this.getResponseProperty('LastName');\n this.address1 = this.getResponseProperty('Address1');\n this.address2 = this.getResponseProperty('Address2');\n this.address3 = this.getResponseProperty('Address3');\n this.city = this.getResponseProperty('City');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.country = this.getResponseProperty('Country');\n this.company = this.getResponseProperty('Company');\n this.email = this.getResponseProperty('Email');\n this.phone = this.getResponseProperty('Phone');\n this.ssn = this.getResponseProperty('SSN');\n this.username = this.getResponseProperty('Username');\n this.passportNumber = this.getResponseProperty('PassportNumber');\n this.licenseNumber = this.getResponseProperty('LicenseNumber');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { LoginUriApi } from './loginUriApi';\n\nexport class LoginApi extends BaseResponse {\n uris: LoginUriApi[];\n username: string;\n password: string;\n passwordRevisionDate: string;\n totp: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.username = this.getResponseProperty('Username');\n this.password = this.getResponseProperty('Password');\n this.passwordRevisionDate = this.getResponseProperty('PasswordRevisionDate');\n this.totp = this.getResponseProperty('Totp');\n\n const uris = this.getResponseProperty('Uris');\n if (uris != null) {\n this.uris = uris.map((u: any) => new LoginUriApi(u));\n }\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nexport class LoginUriApi extends BaseResponse {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.uri = this.getResponseProperty('Uri');\n const match = this.getResponseProperty('Match');\n this.match = match != null ? match : null;\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { SecureNoteType } from '../../enums/secureNoteType';\n\nexport class SecureNoteApi extends BaseResponse {\n type: SecureNoteType;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.type = this.getResponseProperty('Type');\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appFallbackSrc]',\n})\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\n this.el.nativeElement.src = this.appFallbackSrc;\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 { I18nService } from 'jslib/abstractions/i18n.service';\nimport { ImportService } from 'jslib/abstractions/import.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\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 organizationName: string;\n\n constructor(i18nService: I18nService, analytics: Angulartics2,\n toasterService: ToasterService, importService: ImportService,\n router: Router, private route: ActivatedRoute,\n platformUtilsService: PlatformUtilsService,\n private userService: UserService) {\n super(i18nService, analytics, toasterService, importService, router, platformUtilsService);\n }\n\n async 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 const organization = await this.userService.getOrganization(this.organizationId);\n this.organizationName = organization.name;\n }\n\n async submit() {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('importWarning', this.organizationName),\n this.i18nService.t('warning'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n super.submit();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n InactiveTwoFactorReportComponent as BaseInactiveTwoFactorReportComponent,\n} from '../../tools/inactive-two-factor-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: '../../tools/inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends BaseInactiveTwoFactorReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async params => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n ReusedPasswordsReportComponent as BaseReusedPasswordsReportComponent,\n} from '../../tools/reused-passwords-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: '../../tools/reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends BaseReusedPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async params => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent {\n organization: Organization;\n accessReports = false;\n loading = true;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async params => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n this.accessReports = this.organization.useTotp;\n this.loading = false;\n });\n }\n\n upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n }\n}\n","\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n UnsecuredWebsitesReportComponent as BaseUnsecuredWebsitesReportComponent,\n} from '../../tools/unsecured-websites-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: '../../tools/unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends BaseUnsecuredWebsitesReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async params => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n WeakPasswordsReportComponent as BaseWeakPasswordsReportComponent,\n} from '../../tools/weak-passwords-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: '../../tools/weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends BaseWeakPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, passwordGenerationService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async params => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\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 { BroadcasterService } from 'jslib/angular/services/broadcaster.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\nconst BroadcasterSubscriptionId = 'OrgVaultComponent';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent, { static: true }) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent, { static: true }) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef, static: true }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef, static: true }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string = null;\n type: CipherType = null;\n deleted: boolean = false;\n\n modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\n\n ngOnInit() {\n const queryParams = 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 const queryParamsSub = this.route.queryParams.subscribe(async qParams => {\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (!this.organization.canManageAllCollections) {\n await this.syncService.fullSync(false);\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.ciphersComponent.refresh(),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.reload();\n } else {\n if (qParams.deleted) {\n this.groupingsComponent.selectedTrash = true;\n await this.filterDeleted(true);\n } else 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.reload();\n }\n }\n\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 if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n if (queryParams != null) {\n queryParams.unsubscribe();\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.ciphersComponent.deleted = false;\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.ciphersComponent.deleted = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.reload(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 = true;\n this.ciphersComponent.deleted = 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 != null && c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.reload(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n async filterDeleted(load: boolean = false) {\n this.ciphersComponent.showAddNew = false;\n this.ciphersComponent.deleted = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchTrash');\n if (load) {\n await this.ciphersComponent.reload(null, true);\n } else {\n await this.ciphersComponent.applyFilter(null);\n }\n this.clearFilters();\n this.deleted = true;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n this.ciphersComponent.search(200);\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.canManageAllCollections) {\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.organizationId = this.organization.id;\n component.type = this.type;\n if (this.organization.canManageAllCollections) {\n component.collections = this.groupingsComponent.collections.filter(c => !c.readOnly);\n }\n if (this.collectionId != null) {\n component.collectionIds = [this.collectionId];\n }\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 childComponent.onRestoredCipher.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 cloneCipher(cipher: CipherView) {\n const component = this.editCipher(cipher);\n component.cloneMode = true;\n component.organizationId = this.organization.id;\n if (this.organization.canManageAllCollections) {\n component.collections = this.groupingsComponent.collections.filter(c => !c.readOnly);\n }\n // Regardless of Admin state, the collection Ids need to passed manually as they are not assigned value\n // in the add-edit componenet\n component.collectionIds = cipher.collectionIds;\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 this.deleted = false;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n deleted: this.deleted ? true : null,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'vault' | i18n}}\n \n \n \n {{'loading' | i18n}}\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 { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.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 { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\n\n@Component({\n selector: 'app-org-vault-attachments',\n templateUrl: '../../vault/attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n viewOnly = false;\n organization: Organization;\n\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.organization.canManageAllCollections && this.showFixOldAttachments(attachment)) {\n await super.reuploadCipherAttachment(attachment, true);\n }\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\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 saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.canManageAllCollections);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipherAttachment(attachmentId);\n }\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.organization.canManageAllCollections;\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\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 { UserService } from '../../abstractions/user.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\n@Directive()\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n @Output() onReuploadedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n reuploadPromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.platformUtilsService.showToast('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.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Added Attachment');\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Deleted Attachment');\n this.platformUtilsService.showToast('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.platformUtilsService.showToast('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-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('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 = attachment.key != null ? attachment.key :\n 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.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected async init() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const canAccessPremium = await this.userService.canAccessPremium();\n this.canAccessAttachments = canAccessPremium || 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 protected async reuploadCipherAttachment(attachment: AttachmentView, admin: boolean) {\n const a = (attachment as any);\n if (attachment.key != null || a.downloading || this.reuploadPromises[attachment.id] != null) {\n return;\n }\n\n try {\n this.reuploadPromises[attachment.id] = Promise.resolve().then(async () => {\n // 1. Download\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n // 2. Resave\n const buf = await response.arrayBuffer();\n const key = attachment.key != null ? attachment.key :\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.cipherDomain = await this.cipherService.saveAttachmentRawWithServer(\n this.cipherDomain, attachment.fileName, decBuf, admin);\n this.cipher = await this.cipherDomain.decrypt();\n\n // 3. Delete old\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n const foundAttachment = this.cipher.attachments.filter(a2 => a2.id === attachment.id);\n if (foundAttachment.length > 0) {\n const i = this.cipher.attachments.indexOf(foundAttachment[0]);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n }\n\n this.platformUtilsService.eventTrack('Reuploaded Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\n this.onReuploadedAttachment.emit();\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n });\n await this.reuploadPromises[attachment.id];\n } catch { }\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 { Component } from '@angular/core';\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';\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 { 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, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService,\n private apiService: ApiService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n this.allowSelectNone = true;\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\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.canManageAllCollections) {\n return super.loadCipherCollections();\n }\n return this.collectionIds;\n }\n\n protected loadCollections() {\n if (!this.organization.canManageAllCollections) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected saveCollections() {\n if (this.organization.canManageAllCollections) {\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","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\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';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherBulkDeleteRequest } from 'jslib/models/request/cipherBulkDeleteRequest';\n\n@Component({\n selector: 'app-vault-bulk-delete',\n templateUrl: 'bulk-delete.component.html',\n})\nexport class BulkDeleteComponent {\n @Input() cipherIds: string[] = [];\n @Input() permanent: boolean = false;\n @Input() organization: Organization;\n @Output() onDeleted = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private apiService: ApiService) { }\n\n async submit() {\n if (!this.organization || !this.organization.canManageAllCollections) {\n await this.deleteCiphers();\n } else {\n await this.deleteCiphersAdmin();\n }\n\n await this.formPromise;\n\n this.onDeleted.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t(this.permanent ? 'permanentlyDeletedItems'\n : 'deletedItems'));\n }\n\n private async deleteCiphers() {\n if (this.permanent) {\n this.formPromise = await this.cipherService.deleteManyWithServer(this.cipherIds);\n } else {\n this.formPromise = await this.cipherService.softDeleteManyWithServer(this.cipherIds);\n }\n }\n\n private async deleteCiphersAdmin() {\n const deleteRequest = new CipherBulkDeleteRequest(this.cipherIds, this.organization.id);\n if (this.permanent) {\n this.formPromise = await this.apiService.deleteManyCiphersAdmin(deleteRequest);\n } else {\n this.formPromise = await this.apiService.putDeleteManyCiphersAdmin(deleteRequest);\n }\n }\n}\n","
\n
\n
\n
\n

\n {{(permanent ? 'permanentlyDeleteSelected' : 'deleteSelected') | i18n}}\n

\n \n
\n
\n {{(permanent ? 'permanentlyDeleteSelectedItemsDesc' : 'deleteSelectedItemsDesc') | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","export class CipherBulkDeleteRequest {\n ids: string[];\n organizationId: string;\n\n constructor(ids: string[], organizationId?: string) {\n this.ids = ids == null ? [] : ids;\n this.organizationId = organizationId;\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 { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { FolderView } from 'jslib/models/view/folderView';\n\n@Component({\n selector: 'app-vault-bulk-move',\n templateUrl: 'bulk-move.component.html',\n})\nexport class BulkMoveComponent implements OnInit {\n @Input() cipherIds: string[] = [];\n @Output() onMoved = new EventEmitter();\n\n folderId: string = null;\n folders: FolderView[] = [];\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private folderService: FolderService) { }\n\n async ngOnInit() {\n this.folders = await this.folderService.getAllDecrypted();\n this.folderId = this.folders[0].id;\n }\n\n async submit() {\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\n await this.formPromise;\n this.onMoved.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\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","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 { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-vault-bulk-restore',\n templateUrl: 'bulk-restore.component.html',\n})\nexport class BulkRestoreComponent {\n @Input() cipherIds: string[] = [];\n @Output() onRestored = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async submit() {\n this.formPromise = this.cipherService.restoreManyWithServer(this.cipherIds);\n await this.formPromise;\n this.onRestored.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Restored Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('restoredItems'));\n }\n}\n","
\n
\n
\n
\n

\n {{'restoreSelected' | i18n}}\n

\n \n
\n
\n {{'restoreSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\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 { 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.hasOldAttachments && 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 try {\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 } 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 get canSave() {\n if (this.shareableCiphers != null && this.shareableCiphers.length > 0 && this.collections != null) {\n for (let i = 0; i < this.collections.length; i++) {\n if ((this.collections[i] as any).checked) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsCountDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}\n

\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","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { SendAccess } from 'jslib/models/domain/sendAccess';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\n\nimport { SendAccessView } from 'jslib/models/view/sendAccessView';\n\nimport { SendType } from 'jslib/enums/sendType';\nimport { SendAccessRequest } from 'jslib/models/request/sendAccessRequest';\nimport { ErrorResponse } from 'jslib/models/response/errorResponse';\n\nimport { SendAccessResponse } from 'jslib/models/response/sendAccessResponse';\n\n@Component({\n selector: 'app-send-access',\n templateUrl: 'access.component.html',\n})\nexport class AccessComponent implements OnInit {\n send: SendAccessView;\n sendType = SendType;\n downloading = false;\n loading = true;\n passwordRequired = false;\n formPromise: Promise;\n password: string;\n showText = false;\n unavailable = false;\n error = false;\n\n private id: string;\n private key: string;\n private decKey: SymmetricCryptoKey;\n private accessRequest: SendAccessRequest;\n\n constructor(private i18nService: I18nService, private cryptoFunctionService: CryptoFunctionService,\n private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private route: ActivatedRoute, private cryptoService: CryptoService) {\n }\n\n get sendText() {\n if (this.send == null || this.send.text == null) {\n return null;\n }\n return this.showText ? this.send.text.text : this.send.text.maskedText;\n }\n\n get expirationDate() {\n if (this.send == null || this.send.expirationDate == null) {\n return null;\n }\n return this.send.expirationDate;\n }\n\n get creatorIdentifier() {\n if (this.send == null || this.send.creatorIdentifier == null) {\n return null;\n }\n return this.send.creatorIdentifier;\n }\n\n ngOnInit() {\n this.route.params.subscribe(async params => {\n this.id = params.sendId;\n this.key = params.key;\n if (this.key == null || this.id == null) {\n return;\n }\n await this.load();\n });\n }\n\n async download() {\n if (this.send == null || this.decKey == null) {\n return;\n }\n\n if (this.downloading) {\n return;\n }\n\n\n const downloadData = await this.apiService.getSendFileDownloadData(this.send, this.accessRequest);\n\n if (Utils.isNullOrWhitespace(downloadData.url)) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('missingSendFile'));\n return;\n }\n\n this.downloading = true;\n const response = await fetch(new Request(downloadData.url, { cache: 'no-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n this.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, this.decKey);\n this.platformUtilsService.saveFile(window, decBuf, null, this.send.file.fileName);\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n this.downloading = false;\n }\n\n copyText() {\n this.platformUtilsService.copyToClipboard(this.send.text.text);\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('valueCopied', this.i18nService.t('sendTypeText')));\n }\n\n toggleText() {\n this.showText = !this.showText;\n }\n\n async load() {\n this.unavailable = false;\n this.error = false;\n const keyArray = Utils.fromUrlB64ToArray(this.key);\n this.accessRequest = new SendAccessRequest();\n if (this.password != null) {\n const passwordHash = await this.cryptoFunctionService.pbkdf2(this.password, keyArray, 'sha256', 100000);\n this.accessRequest.password = Utils.fromBufferToB64(passwordHash);\n }\n try {\n let sendResponse: SendAccessResponse = null;\n if (this.loading) {\n sendResponse = await this.apiService.postSendAccess(this.id, this.accessRequest);\n } else {\n this.formPromise = this.apiService.postSendAccess(this.id, this.accessRequest);\n sendResponse = await this.formPromise;\n }\n this.passwordRequired = false;\n const sendAccess = new SendAccess(sendResponse);\n this.decKey = await this.cryptoService.makeSendKey(keyArray);\n this.send = await sendAccess.decrypt(this.decKey);\n this.showText = this.send.text != null ? !this.send.text.hidden : true;\n } catch (e) {\n if (e instanceof ErrorResponse) {\n if (e.statusCode === 401) {\n this.passwordRequired = true;\n } else if (e.statusCode === 404) {\n this.unavailable = true;\n } else {\n this.error = true;\n }\n }\n }\n this.loading = false;\n }\n}\n","
\n
\n
\n

Bitwarden Send

\n
\n
\n

{{'sendCreatorIdentifier' | i18n: creatorIdentifier }}

\n
\n
\n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{'sendProtectedPassword' | i18n}}

\n

{{'sendProtectedPasswordDontKnow' | i18n}}

\n
\n \n \n
\n
\n \n
\n
\n
\n {{'sendAccessUnavailable' | i18n}}\n
\n
\n {{'unexpectedError' | i18n}}\n
\n
\n

{{send.name}}

\n
\n \n \n {{'sendHiddenByDefault' | i18n}}\n
\n \n
\n \n \n
\n \n \n

{{send.file.fileName}}

\n \n \n
\n

Expires:\n {{expirationDate | date: 'medium'}}

\n
\n
\n
\n
\n

{{'sendAccessTaglineProductDesc' | i18n}}
\n {{'sendAccessTaglineLearnMore' | i18n}} Bitwarden Send\n {{'sendAccessTaglineOr' | i18n}} {{'sendAccessTaglineSignUp' | i18n}}\n {{'sendAccessTaglineTryToday' | i18n}}\n

\n
\n
\n
\n","import {\n Component,\n ComponentFactoryResolver,\n NgZone,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { SendView } from 'jslib/models/view/sendView';\n\nimport { SendComponent as BaseSendComponent } from 'jslib/angular/components/send/send.component';\n\nimport { AddEditComponent } from './add-edit.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { SendService } from 'jslib/abstractions/send.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'SendComponent';\n\n@Component({\n selector: 'app-send',\n templateUrl: 'send.component.html',\n})\nexport class SendComponent extends BaseSendComponent {\n @ViewChild('sendAddEdit', { read: ViewContainerRef, static: true }) sendAddEditModalRef: ViewContainerRef;\n\n modal: ModalComponent = null;\n\n constructor(sendService: SendService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, environmentService: EnvironmentService,\n ngZone: NgZone, searchService: SearchService, policyService: PolicyService, userService: UserService,\n private componentFactoryResolver: ComponentFactoryResolver, private broadcasterService: BroadcasterService) {\n super(sendService, i18nService, platformUtilsService, environmentService, ngZone, searchService,\n policyService, userService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n await this.load();\n\n // Broadcaster subscription - load if sync completes in the background\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await this.load();\n }\n break;\n }\n });\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n addSend() {\n if (this.disableSend) {\n return;\n }\n\n const component = this.editSend(null);\n component.type = this.type;\n }\n\n editSend(send: SendView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.sendAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.sendAddEditModalRef);\n\n childComponent.sendId = send == null ? null : send.id;\n childComponent.onSavedSend.subscribe(async (s: SendView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onDeletedSend.subscribe(async (s: SendView) => {\n this.modal.close();\n await this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n}\n","
\n
\n
\n {{'sendDisabled' | i18n}}\n
\n
\n {{'sendDisabledWarning' | 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 {{'send' | i18n}}\n \n \n \n {{'loading' | i18n}}\n \n \n

\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n
\n {{s.name}}\n \n \n {{'disabled' | i18n}}\n \n \n \n {{'password' | i18n}}\n \n \n \n {{'maxAccessCountReached' | i18n}}\n \n \n \n {{'expired' | i18n}}\n \n \n \n {{'pendingDeletion' | i18n}}\n \n
\n {{s.deletionDate | date:'medium'}}\n
\n \n
\n
\n \n \n {{'loading' | i18n}}\n \n \n

{{'noSendsInList' | i18n}}

\n \n
\n
\n
\n
\n
\n\n","import { DatePipe } from '@angular/common';\n\nimport { Component } from '@angular/core';\n\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SendService } from 'jslib/abstractions/send.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/send/add-edit.component';\n\n@Component({\n selector: 'app-send-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent {\n constructor(i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n environmentService: EnvironmentService, datePipe: DatePipe,\n sendService: SendService, userService: UserService,\n messagingService: MessagingService, policyService: PolicyService) {\n super(i18nService, platformUtilsService, environmentService, datePipe, sendService, userService,\n messagingService, policyService);\n }\n\n copyLinkToClipboard(link: string) {\n // Copy function on web depends on the modal being open or not. Since this event occurs during a transition\n // of the modal closing we need to add a small delay to make sure state of the DOM is consistent.\n window.setTimeout(() => super.copyLinkToClipboard(link), 500);\n }\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'sendDisabledWarning' | i18n}}\n \n
\n
\n \n \n {{'sendNameDesc' | i18n}}\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n \n \n {{'sendTextDesc' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n {{'file' | i18n}}\n {{send.file.fileName}} ({{send.file.sizeName}})\n
\n
\n \n \n {{'sendFileDesc' | i18n}} {{'maxFileSize' |\n i18n}}\n
\n
\n
\n

{{'share' | i18n}}

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

{{'options' | 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
{{'deletionDateDesc' | i18n}}
\n
\n
\n
\n \n \n {{'clear' | 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
{{'expirationDateDesc' | i18n}}
\n
\n
\n
\n
\n \n \n
{{'maxAccessCountDesc' | i18n}}
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n \n
\n
\n
{{'sendPasswordDesc' | i18n}}
\n
\n
\n
\n \n \n
{{'sendNotesDesc' | i18n}}
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n","import { SendType } from '../../enums/sendType';\nimport { Utils } from '../../misc/utils';\n\nimport { Send } from '../domain/send';\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\n\nimport { SendFileView } from './sendFileView';\nimport { SendTextView } from './sendTextView';\nimport { View } from './view';\n\nexport class SendView implements View {\n id: string = null;\n accessId: string = null;\n name: string = null;\n notes: string = null;\n key: ArrayBuffer;\n cryptoKey: SymmetricCryptoKey;\n type: SendType = null;\n text = new SendTextView();\n file = new SendFileView();\n maxAccessCount?: number = null;\n accessCount: number = 0;\n revisionDate: Date = null;\n deletionDate: Date = null;\n expirationDate: Date = null;\n password: string = null;\n disabled: boolean = false;\n\n constructor(s?: Send) {\n if (!s) {\n return;\n }\n\n this.id = s.id;\n this.accessId = s.accessId;\n this.type = s.type;\n this.maxAccessCount = s.maxAccessCount;\n this.accessCount = s.accessCount;\n this.revisionDate = s.revisionDate;\n this.deletionDate = s.deletionDate;\n this.expirationDate = s.expirationDate;\n this.disabled = s.disabled;\n this.password = s.password;\n }\n\n get urlB64Key(): string {\n return Utils.fromBufferToUrlB64(this.key);\n }\n\n get maxAccessCountReached(): boolean {\n if (this.maxAccessCount == null) {\n return false;\n }\n return this.accessCount >= this.maxAccessCount;\n }\n\n get expired(): boolean {\n if (this.expirationDate == null) {\n return false;\n }\n return this.expirationDate <= new Date();\n }\n\n get pendingDelete(): boolean {\n return this.deletionDate <= new Date();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent } from '../modal.component';\nimport { ApiKeyComponent } from './api-key.component';\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './delete-account.component';\nimport { PurgeVaultComponent } from './purge-vault.component';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef, static: true }) deauthModalRef: ViewContainerRef;\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef, static: true }) purgeModalRef: ViewContainerRef;\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef, static: true }) deleteModalRef: ViewContainerRef;\n @ViewChild('viewUserApiKeyTemplate', { read: ViewContainerRef, static: true }) viewUserApiKeyModalRef: ViewContainerRef;\n @ViewChild('rotateUserApiKeyTemplate', { read: ViewContainerRef, static: true }) rotateUserApiKeyModalRef: ViewContainerRef;\n\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private apiService: ApiService,\n private userService: UserService) { }\n\n deauthorizeSessions() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deauthModalRef.createComponent(factory).instance;\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n purgeVault() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.purgeModalRef.createComponent(factory).instance;\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n deleteAccount() {\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 this.modal.show(DeleteAccountComponent, this.deleteModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async viewUserApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.viewUserApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.viewUserApiKeyModalRef);\n childComponent.keyType = 'user';\n childComponent.entityId = await this.userService.getUserId();\n childComponent.postKey = this.apiService.postUserApiKey.bind(this.apiService);\n childComponent.scope = 'api';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'userApiKeyWarning';\n childComponent.apiKeyDescription = 'userApiKeyDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async rotateUserApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.rotateUserApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.rotateUserApiKeyModalRef);\n childComponent.keyType = 'user';\n childComponent.isRotation = true;\n childComponent.entityId = await this.userService.getUserId();\n childComponent.postKey = this.apiService.postUserRotateApiKey.bind(this.apiService);\n childComponent.scope = 'api';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'userApiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyRotateDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'encKeySettings' | i18n}}

\n
\n\n
\n

{{'apiKey' | i18n}}

\n
\n

\n {{'userApiKeyDesc' | i18n}}\n

\n\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\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 { 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-deauthorize-sessions',\n templateUrl: 'deauthorize-sessions.component.html',\n})\nexport class DeauthorizeSessionsComponent {\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.postSecurityStamp(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\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","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","
\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","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 { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\n\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\n\n@Component({\n selector: 'app-profile',\n templateUrl: 'profile.component.html',\n})\nexport class ProfileComponent implements OnInit {\n loading = true;\n profile: ProfileResponse;\n fingerprint: string;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private userService: UserService, private cryptoService: CryptoService) { }\n\n async ngOnInit() {\n this.profile = await this.apiService.getProfile();\n this.loading = false;\n const fingerprint = await this.cryptoService.getFingerprint(await this.userService.getUserId());\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n\n async submit() {\n try {\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\n this.formPromise = this.apiService.putProfile(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\n } catch { }\n }\n}\n","
\n \n {{'loading' | 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 {{'yourAccountsFingerprint' | i18n}}:\n \n
\n {{fingerprint}}\n

\n
\n
\n \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';\nimport { UserService } from 'jslib/abstractions/user.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 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 this.newEmail = this.newEmail.trim().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 kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail, kdf, kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].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","
\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","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import { Component } from '@angular/core';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n ChangePasswordComponent as BaseChangePasswordComponent,\n} from 'jslib/angular/components/change-password.component';\n\nimport { EmergencyAccessStatusType } from 'jslib/enums/emergencyAccessStatusType';\nimport { Utils } from 'jslib/misc/utils';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { EmergencyAccessUpdateRequest } from 'jslib/models/request/emergencyAccessUpdateRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent extends BaseChangePasswordComponent {\n rotateEncKey = false;\n currentMasterPassword: string;\n\n constructor(i18nService: I18nService,\n cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService,\n private folderService: FolderService, private cipherService: CipherService,\n private syncService: SyncService, private apiService: ApiService ) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n async rotateEncKeyClicked() {\n if (this.rotateEncKey) {\n const ciphers = await this.cipherService.getAllDecrypted();\n let hasOldAttachments = false;\n if (ciphers != null) {\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId == null && ciphers[i].hasOldAttachments) {\n hasOldAttachments = true;\n break;\n }\n }\n }\n\n if (hasOldAttachments) {\n const learnMore = await this.platformUtilsService.showDialog(\n this.i18nService.t('oldAttachmentsNeedFixDesc'), null,\n this.i18nService.t('learnMore'), this.i18nService.t('close'), 'warning');\n if (learnMore) {\n this.platformUtilsService.launchUri(\n 'https://help.bitwarden.com/article/attachments/#fixing-old-attachments');\n }\n this.rotateEncKey = false;\n return;\n }\n\n const result = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateEncryptionKeyWarning') + ' ' +\n this.i18nService.t('updateEncryptionKeyExportWarning') + ' ' +\n this.i18nService.t('rotateEncKeyConfirmation'), this.i18nService.t('rotateEncKeyTitle'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!result) {\n this.rotateEncKey = false;\n }\n }\n }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n await super.submit();\n }\n\n async setupSubmitActions() {\n if (this.currentMasterPassword == null || this.currentMasterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return false;\n }\n\n if (this.rotateEncKey) {\n await this.syncService.fullSync(true);\n }\n\n return super.setupSubmitActions();\n }\n\n async performSubmitActions(newMasterPasswordHash: string, newKey: SymmetricCryptoKey,\n newEncKey: [SymmetricCryptoKey, CipherString]) {\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n request.newMasterPasswordHash = newMasterPasswordHash;\n request.key = newEncKey[1].encryptedString;\n\n try {\n if (this.rotateEncKey) {\n this.formPromise = this.apiService.postPassword(request).then(() => {\n return this.updateKey(newKey, request.newMasterPasswordHash);\n });\n } else {\n this.formPromise = this.apiService.postPassword(request);\n }\n\n await this.formPromise;\n\n this.platformUtilsService.showToast('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n }\n\n private async updateKey(key: SymmetricCryptoKey, masterPasswordHash: string) {\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 = masterPasswordHash;\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\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n await this.apiService.postAccountKey(request);\n\n await this.updateEmergencyAccesses(encKey[0]);\n }\n\n private async updateEmergencyAccesses(encKey: SymmetricCryptoKey) {\n const emergencyAccess = await this.apiService.getEmergencyAccessTrusted();\n const allowedStatuses = [\n EmergencyAccessStatusType.Confirmed,\n EmergencyAccessStatusType.RecoveryInitiated,\n EmergencyAccessStatusType.RecoveryApproved,\n ];\n\n const filteredAccesses = emergencyAccess.data.filter(d => allowedStatuses.includes(d.status));\n\n for (const details of filteredAccesses) {\n const publicKeyResponse = await this.apiService.getUserPublicKey(details.granteeId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n\n const encryptedKey = await this.cryptoService.rsaEncrypt(encKey.key, publicKey.buffer);\n\n const updateRequest = new EmergencyAccessUpdateRequest();\n updateRequest.type = details.type;\n updateRequest.waitTimeDays = details.waitTimeDays;\n updateRequest.keyEncrypted = encryptedKey.encryptedString;\n\n await this.apiService.putEmergencyAccess(details.id, updateRequest);\n }\n }\n}\n","{{'loggedOutWarning' | i18n}}\n\n {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • {{'policyInEffectUppercase' | i18n}}
  • \n
  • {{'policyInEffectLowercase' | i18n}}
  • \n
  • {{'policyInEffectNumbers' | i18n}}
  • \n
  • {{'policyInEffectSpecial' | 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","export enum EmergencyAccessStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n RecoveryInitiated = 3,\n RecoveryApproved = 4,\n}\n","import { EmergencyAccessType } from '../../enums/emergencyAccessType';\n\nexport class EmergencyAccessUpdateRequest {\n type: EmergencyAccessType;\n waitTimeDays: number;\n keyEncrypted?: 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 { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\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 {\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 { 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';\n\nimport { KdfRequest } from 'jslib/models/request/kdfRequest';\n\nimport { KdfType } from 'jslib/enums/kdfType';\n\n@Component({\n selector: 'app-change-kdf',\n templateUrl: 'change-kdf.component.html',\n})\nexport class ChangeKdfComponent implements OnInit {\n masterPassword: string;\n kdfIterations: number;\n kdf = KdfType.PBKDF2_SHA256;\n kdfOptions: any[] = [];\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 this.kdfOptions = [\n { name: 'PBKDF2 SHA-256', value: KdfType.PBKDF2_SHA256 },\n ];\n }\n\n async ngOnInit() {\n this.kdf = await this.userService.getKdf();\n this.kdfIterations = await this.userService.getKdfIterations();\n }\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 const request = new KdfRequest();\n request.kdf = this.kdf;\n request.kdfIterations = this.kdfIterations;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const email = await this.userService.getEmail();\n const newKey = await this.cryptoService.makeKey(this.masterPassword, email, this.kdf, this.kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].encryptedString;\n try {\n this.formPromise = this.apiService.postAccountKdf(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed KDF' });\n this.toasterService.popAsync('success', this.i18nService.t('encKeySettingsChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","{{'loggedOutWarning' | 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

{{'kdfIterationsDesc' | i18n : (100000 | number)}}

\n {{'warning' | i18n}}: {{'kdfIterationsWarning' | i18n : (50000 | number)}}\n
\n
\n
\n
\n \n
\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { ProductType } from 'jslib/enums/productType';\n\nimport { OrganizationPlansComponent } from './organization-plans.component';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(OrganizationPlansComponent, { static: true }) orgPlansComponent: OrganizationPlansComponent;\n\n constructor(private route: ActivatedRoute) { }\n\n ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async qParams => {\n if (qParams.plan === 'families') {\n this.orgPlansComponent.plan = PlanType.FamiliesAnnually;\n this.orgPlansComponent.product = ProductType.Families;\n } else if (qParams.plan === 'teams') {\n this.orgPlansComponent.plan = PlanType.TeamsAnnually;\n this.orgPlansComponent.product = ProductType.Teams;\n } else if (qParams.plan === 'enterprise') {\n this.orgPlansComponent.plan = PlanType.EnterpriseAnnually;\n this.orgPlansComponent.product = ProductType.Enterprise;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\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","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n {{'loading' | i18n}}\n

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

{{'globalEqDomains' | i18n}}

\n

\n \n {{'loading' | i18n}}\n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\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 { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.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 vaultTimeout: number = null;\n vaultTimeoutAction: string = 'lock';\n disableIcons: boolean;\n enableGravatars: boolean;\n enableFullWidth: boolean;\n locale: string;\n vaultTimeouts: 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 vaultTimeoutService: VaultTimeoutService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService) {\n this.vaultTimeouts = [\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.vaultTimeouts.push({ name: i18nService.t('never'), value: null });\n }\n\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach(locale => {\n let name = locale;\n if (i18nService.localeNames.has(locale)) {\n name += (' - ' + i18nService.localeNames.get(locale));\n }\n localeOptions.push({ name: name, 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.vaultTimeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n this.vaultTimeoutAction = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.enableGravatars = await this.storageService.get('enableGravatars');\n this.enableFullWidth = await this.storageService.get('enableFullWidth');\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.vaultTimeoutService.setVaultTimeoutOptions(this.vaultTimeout != null ? this.vaultTimeout : null,\n this.vaultTimeoutAction);\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('enableFullWidth', this.enableFullWidth);\n this.messagingService.send('setFullWidth');\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 async vaultTimeoutActionChanged(newValue: string) {\n if (newValue === 'logOut') {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('vaultTimeoutLogOutConfirmation'),\n this.i18nService.t('vaultTimeoutLogOutConfirmationTitle'),\n this.i18nService.t('yes'), this.i18nService.t('cancel'), 'warning');\n if (!confirmed) {\n this.vaultTimeoutAction = 'lock';\n return;\n }\n }\n this.vaultTimeoutAction = newValue;\n }\n}\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n \n \n {{'vaultTimeoutDesc' | 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 {{'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\t
\n
\n \n \n
\n {{'enableFullWidthDesc' | i18n}}\n
\n \n
\n","import {\n AfterContentInit,\n Component,\n Input,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { SsoComponent } from 'jslib/angular/components/sso.component';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-link-sso',\n templateUrl: 'link-sso.component.html',\n})\nexport class LinkSsoComponent extends SsoComponent implements AfterContentInit {\n @Input() organization: Organization;\n returnUri: string = '/settings/organizations';\n\n constructor(platformUtilsService: PlatformUtilsService, i18nService: I18nService,\n apiService: ApiService, authService: AuthService,\n router: Router, route: ActivatedRoute,\n cryptoFunctionService: CryptoFunctionService, passwordGenerationService: PasswordGenerationService,\n storageService: StorageService, stateService: StateService) {\n super(authService, router,\n i18nService, route,\n storageService, stateService,\n platformUtilsService, apiService,\n cryptoFunctionService, passwordGenerationService);\n\n this.returnUri = '/settings/organizations';\n this.redirectUri = window.location.origin + '/sso-connector.html';\n this.clientId = 'web';\n }\n\n async ngAfterContentInit() {\n this.identifier = this.organization.identifier;\n }\n}\n","\n \n {{'linkSso' | i18n}}\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';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentComponent } from './payment.component';\nimport { TaxInfoComponent } from './tax-info.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 @ViewChild(TaxInfoComponent) taxInfoComponent: TaxInfoComponent;\n\n canAccessPremium = false;\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, private userService: UserService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/subscription']);\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(result => {\n const fd = new FormData();\n fd.append('paymentMethodType', result[1].toString());\n if (result[0] != null) {\n fd.append('paymentToken', result[0]);\n }\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n fd.append('country', this.taxInfoComponent.taxInfo.country);\n fd.append('postalCode', this.taxInfoComponent.taxInfo.postalCode);\n return this.apiService.postPremium(fd);\n }).then(paymentResponse => {\n if (!paymentResponse.success && paymentResponse.paymentIntentClientSecret != null) {\n return this.paymentComponent.handleStripeCardPayment(paymentResponse.paymentIntentClientSecret,\n () => this.finalizePremium());\n } else {\n return this.finalizePremium();\n }\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\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/subscription']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * Math.abs(this.additionalStorage || 0);\n }\n\n get subtotal(): number {\n return this.premiumPrice + this.additionalStorageTotal;\n }\n\n get taxCharges(): number {\n return this.taxInfoComponent != null && this.taxInfoComponent.taxRate != null ?\n (this.taxInfoComponent.taxRate / 100) * this.subtotal :\n 0;\n }\n\n get total(): number {\n return (this.subtotal + this.taxCharges) || 0;\n }\n}\n","
\n

{{'goPremium' | i18n}}

\n
\n\n {{'alreadyPremiumFromOrg' | i18n}}\n\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpEmergency' |i18n}}\n
  • \n
  • \n \n {{'premiumSignUpReports' | 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 {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$') : ('year' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

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

{{'paymentInformation' | i18n}}

\n \n \n
\n
\n {{ 'planPrice' | i18n }}: {{ subtotal | currency: 'USD $' }}\n
\n \n {{ 'estimatedTax' | i18n }}: {{ taxCharges | currency: 'USD $' }}\n \n
\n
\n

{{'total' | i18n}}:\n {{total | currency:'USD $'}}/{{'year' | i18n}}

\n
\n {{'paymentChargedAnnually' | i18n}}\n \n
\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'SettingsComponent';\n\n@Component({\n selector: 'app-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent implements OnInit, OnDestroy {\n premium: boolean;\n selfHosted: boolean;\n\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\n private ngZone: NgZone, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'purchasedPremium':\n await this.load();\n break;\n default:\n }\n });\n });\n\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n await this.load();\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.premium = await this.tokenService.getPremium();\n }\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 { SubscriptionResponse } from 'jslib/models/response/subscriptionResponse';\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\n@Component({\n selector: 'app-user-subscription',\n templateUrl: 'user-subscription.component.html',\n})\nexport class UserSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n sub: SubscriptionResponse;\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 if (this.tokenService.getPremium()) {\n this.loading = true;\n this.sub = await this.apiService.getUserSubscription();\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 if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('manageSubscriptionFromStore'),\n this.i18nService.t('cancelSubscription'), null, null, 'warning');\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 if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('manageSubscriptionFromStore'),\n this.i18nService.t('cancelSubscription'), null, null, 'warning');\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.sub.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 if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t(add ? 'addStorage' : 'removeStorage'), null, null, 'warning');\n return;\n }\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 get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get usingInAppPurchase() {\n return this.sub != null ? this.sub.usingInAppPurchase : false;\n }\n}\n","
\n

\n {{'premiumMembership' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

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

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'expiration' | i18n}}
\n
{{sub.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 \n

{{'updateLicense' | i18n}}

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

{{'storage' | i18n}}

\n

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

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\n\n@Component({\n selector: 'app-breach-report',\n templateUrl: 'breach-report.component.html',\n})\nexport class BreachReportComponent implements OnInit {\n error = false;\n username: string;\n checkedUsername: string;\n breachedAccounts: BreachAccountResponse[] = [];\n formPromise: Promise;\n\n constructor(private auditService: AuditService, private userService: UserService) { }\n\n async ngOnInit() {\n this.username = await this.userService.getEmail();\n }\n\n async submit() {\n this.error = false;\n this.username = this.username.toLowerCase();\n try {\n this.formPromise = this.auditService.breachedAccounts(this.username);\n this.breachedAccounts = await this.formPromise;\n } catch {\n this.error = true;\n }\n this.checkedUsername = this.username;\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 {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\n} from 'jslib/angular/components/password-generator.component';\n\nimport { ModalComponent } from '../modal.component';\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator',\n templateUrl: 'password-generator.component.html',\n})\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\n @ViewChild('historyTemplate', { read: ViewContainerRef, static: true }) historyModalRef: ViewContainerRef;\n\n private modal: ModalComponent = null;\n\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n\n history() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.historyModalRef.createComponent(factory).instance;\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n lengthChanged() {\n document.getElementById('length').focus();\n }\n\n minNumberChanged() {\n document.getElementById('min-number').focus();\n }\n\n minSpecialChanged() {\n document.getElementById('min-special').focus();\n }\n}\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n\n {{'passwordGeneratorPolicyInEffect' | 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","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\n} from 'jslib/angular/components/password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator-history',\n templateUrl: 'password-generator-history.component.html',\n})\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n}\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    \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","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent implements OnInit {\n canAccessPremium = false;\n\n constructor(private userService: UserService, private messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n}\n","\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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 { 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\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'VaultComponent';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent, { static: true }) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent, { static: true }) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent, { static: true }) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef, static: true }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef, static: true }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef, static: true }) collectionsModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef, static: true }) 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 deleted: boolean = false;\n\n modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\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 broadcasterService: BroadcasterService,\n private ngZone: NgZone) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n\n const queryParamsSub = this.route.queryParams.subscribe(async params => {\n await this.syncService.fullSync(false);\n\n this.showUpdateKey = !(await this.cryptoService.hasEncKey());\n const canAccessPremium = await this.userService.canAccessPremium();\n this.showPremiumCallout = !this.showVerifyEmail && !canAccessPremium &&\n !this.platformUtilsService.isSelfHost();\n\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.reload();\n } else {\n if (params.deleted) {\n this.groupingsComponent.selectedTrash = true;\n await this.filterDeleted();\n } else 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.reload();\n }\n }\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n this.ciphersComponent.load(this.ciphersComponent.filter),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.reload();\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.reload(c => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterDeleted() {\n this.ciphersComponent.showAddNew = false;\n this.ciphersComponent.deleted = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchTrash');\n await this.ciphersComponent.reload(null, true);\n this.clearFilters();\n this.deleted = 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.reload(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.reload(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 = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.reload(c => c.collectionIds != null &&\n 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 this.ciphersComponent.search(200);\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const canAccessPremium = await this.userService.canAccessPremium();\n if (cipher.organizationId == null && !canAccessPremium) {\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 childComponent.onReuploadedAttachment.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 if (this.collectionId != null) {\n const collection = this.groupingsComponent.collections.filter(c => c.id === this.collectionId);\n if (collection.length > 0) {\n component.organizationId = collection[0].organizationId;\n component.collectionIds = [this.collectionId];\n }\n }\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 childComponent.onRestoredCipher.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 cloneCipher(cipher: CipherView) {\n const component = this.editCipher(cipher);\n component.cloneMode = true;\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 this.deleted = false;\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 deleted: this.deleted ? true : null,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'myVault' | i18n}}\n \n \n \n {{'loading' | i18n}}\n \n \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
\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","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

{{'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","import { Component } from '@angular/core';\n\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n FolderAddEditComponent as BaseFolderAddEditComponent,\n} from 'jslib/angular/components/folder-add-edit.component';\n\n@Component({\n selector: 'app-folder-add-edit',\n templateUrl: 'folder-add-edit.component.html',\n})\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\n constructor(folderService: FolderService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService) {\n super(folderService, i18nService, platformUtilsService);\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","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ShareComponent as BaseShareComponent } from 'jslib/angular/components/share.component';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent extends BaseShareComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, userService: UserService,\n cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, userService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\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","
\n
\n
\n
\n

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

\n \n
\n
\n {{'noOrganizationsList' | i18n}}\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 {{'newOrganization' | i18n}}\n \n \n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-send-info',\n templateUrl: 'send-info.component.html',\n})\nexport class SendInfoComponent { }\n","
\n \n
\n {{'sendVaultCardProductDesc' | i18n}}\n {{'sendVaultCardLearnMore' |\n i18n}},\n {{'sendVaultCardSee' | i18n}}\n {{'sendVaultCardHowItWorks' | i18n}},\n {{'sendVaultCardOr' | i18n}}\n {{'sendVaultCardTryItNow' | i18n}}.\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';\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 {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Injectable()\nexport class OrganizationGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n if (org == null) {\n this.router.navigate(['/']);\n return false;\n }\n if (!org.isOwner && !org.enabled) {\n this.toasterService.popAsync('error', null, this.i18nService.t('organizationIsDisabled'));\n this.router.navigate(['/']);\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Permissions } from 'jslib/enums/permissions';\n\n@Injectable()\nexport class OrganizationTypeGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n const permissions = route.data == null ? null : route.data.permissions as Permissions[];\n\n if (\n (permissions.indexOf(Permissions.AccessBusinessPortal) !== -1 && org.canAccessBusinessPortal) ||\n (permissions.indexOf(Permissions.AccessEventLogs) !== -1 && org.canAccessEventLogs) ||\n (permissions.indexOf(Permissions.AccessImportExport) !== -1 && org.canAccessImportExport) ||\n (permissions.indexOf(Permissions.AccessReports) !== -1 && org.canAccessReports) ||\n (permissions.indexOf(Permissions.ManageAllCollections) !== -1 && org.canManageAllCollections) ||\n (permissions.indexOf(Permissions.ManageAssignedCollections) !== -1 && org.canManageAssignedCollections) ||\n (permissions.indexOf(Permissions.ManageGroups) !== -1 && org.canManageGroups) ||\n (permissions.indexOf(Permissions.ManageOrganization) !== -1 && org.isOwner) ||\n (permissions.indexOf(Permissions.ManagePolicies) !== -1 && org.canManagePolicies) ||\n (permissions.indexOf(Permissions.ManageUsers) !== -1 && org.canManageUsers)\n ) {\n return true;\n }\n\n this.router.navigate(['/organizations', org.id]);\n return false;\n }\n}\n","export enum Permissions {\n AccessBusinessPortal,\n AccessEventLogs,\n AccessImportExport,\n AccessReports,\n ManageAllCollections,\n ManageAssignedCollections,\n ManageGroups,\n ManageOrganization,\n ManagePolicies,\n ManageUsers,\n}\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\n@Injectable()\nexport class UnauthGuardService implements CanActivate {\n constructor(private vaultTimeoutService: VaultTimeoutService, private userService: UserService,\n private router: Router) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (isAuthed) {\n const locked = await this.vaultTimeoutService.isLocked();\n if (locked) {\n this.router.navigate(['lock']);\n } else {\n this.router.navigate(['vault']);\n }\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n RouterStateSnapshot,\n} from '@angular/router';\n\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { UserService } from '../../abstractions/user.service';\nimport { VaultTimeoutService } from '../../abstractions/vaultTimeout.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(private vaultTimeoutService: VaultTimeoutService, private userService: UserService,\n private router: Router, private messagingService: MessagingService) { }\n\n async canActivate(route: ActivatedRouteSnapshot, routerState: RouterStateSnapshot) {\n const isAuthed = await this.userService.isAuthenticated();\n if (!isAuthed) {\n this.messagingService.send('authBlocked');\n return false;\n }\n\n const locked = await this.vaultTimeoutService.isLocked();\n if (locked) {\n if (routerState != null) {\n this.messagingService.send('lockedUrl', { url: routerState.url });\n }\n this.router.navigate(['lock'], { queryParams: { promptBiometric: true }});\n return false;\n }\n\n return true;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\n\nimport { CipherData } from 'jslib/models/data';\nimport { Cipher, SymmetricCryptoKey } from 'jslib/models/domain';\nimport { EmergencyAccessViewResponse } from 'jslib/models/response/emergencyAccessResponse';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { EmergencyAccessAttachmentsComponent } from './emergency-access-attachments.component';\nimport { EmergencyAddEditComponent } from './emergency-add-edit.component';\n\n@Component({\n selector: 'emergency-access-view',\n templateUrl: 'emergency-access-view.component.html',\n})\nexport class EmergencyAccessViewComponent implements OnInit {\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\n\n id: string;\n ciphers: CipherView[] = [];\n\n private modal: ModalComponent = null;\n\n constructor(private cipherService: CipherService, private cryptoService: CryptoService,\n private componentFactoryResolver: ComponentFactoryResolver, private router: Router,\n private route: ActivatedRoute, private apiService: ApiService) { }\n\n ngOnInit() {\n this.route.params.subscribe(qParams => {\n if (qParams.id == null) {\n return this.router.navigate(['settings/emergency-access']);\n }\n\n this.id = qParams.id;\n\n this.load();\n });\n }\n\n selectCipher(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(EmergencyAddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.cipher = cipher;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async load() {\n const response = await this.apiService.postEmergencyAccessView(this.id);\n this.ciphers = await this.getAllCiphers(response);\n }\n\n async viewAttachments(cipher: CipherView) {\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(EmergencyAccessAttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.cipher = cipher;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n protected async getAllCiphers(response: EmergencyAccessViewResponse): Promise {\n const ciphers = response.ciphers;\n\n const decCiphers: CipherView[] = [];\n const oldKeyBuffer = await this.cryptoService.rsaDecrypt(response.keyEncrypted);\n const oldEncKey = new SymmetricCryptoKey(oldKeyBuffer);\n\n const promises: any[] = [];\n ciphers.forEach(cipherResponse => {\n const cipherData = new CipherData(cipherResponse);\n const cipher = new Cipher(cipherData);\n promises.push(cipher.decrypt(oldEncKey).then(c => decCiphers.push(c)));\n });\n\n await Promise.all(promises);\n decCiphers.sort(this.cipherService.getLocaleSortingFunction());\n\n return decCiphers;\n }\n}\n","
\n

{{'vault' | i18n}}

\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n
\n
\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","export class EnvironmentUrls {\n base: string;\n api: string;\n identity: string;\n events: string;\n}\n","export class GeneratedPasswordHistory {\n password: string;\n date: number;\n\n constructor(password: string, date: number) {\n this.password = password;\n this.date = date;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.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 { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\n\n@Component({\n selector: 'emergency-access-attachments',\n templateUrl: '../vault/attachments.component.html',\n})\nexport class EmergencyAccessAttachmentsComponent extends BaseAttachmentsComponent {\n viewOnly = true;\n canAccessAttachments = true;\n\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService, window);\n }\n\n protected async init() {\n // Do nothing since cipher is already decoded\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return false;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\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 EmergencyAddEditComponent extends BaseAddEditComponent {\n originalCipher: Cipher = null;\n viewOnly = true;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\n messagingService: MessagingService, eventService: EventService, policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, totpService, passwordGenerationService, messagingService,\n eventService, policyService);\n }\n\n async load() {\n this.title = this.i18nService.t('viewItem');\n }\n\n protected async loadCipher() {\n return Promise.resolve(this.originalCipher);\n }\n}\n","import { Component, ComponentFactoryResolver, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ToasterService } from 'angular2-toaster';\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 { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { EmergencyAccessStatusType } from 'jslib/enums/emergencyAccessStatusType';\nimport { EmergencyAccessType } from 'jslib/enums/emergencyAccessType';\nimport { Utils } from 'jslib/misc/utils';\nimport { EmergencyAccessConfirmRequest } from 'jslib/models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessGranteeDetailsResponse, EmergencyAccessGrantorDetailsResponse } from 'jslib/models/response/emergencyAccessResponse';\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ModalComponent } from '../modal.component';\nimport { EmergencyAccessAddEditComponent } from './emergency-access-add-edit.component';\nimport { EmergencyAccessConfirmComponent } from './emergency-access-confirm.component';\nimport { EmergencyAccessTakeoverComponent } from './emergency-access-takeover.component';\n\n@Component({\n selector: 'emergency-access',\n templateUrl: 'emergency-access.component.html',\n})\nexport class EmergencyAccessComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('takeoverTemplate', { read: ViewContainerRef, static: true}) takeoverModalRef: ViewContainerRef;\n @ViewChild('confirmTemplate', { read: ViewContainerRef, static: true }) confirmModalRef: ViewContainerRef;\n\n canAccessPremium: boolean;\n trustedContacts: EmergencyAccessGranteeDetailsResponse[];\n grantedContacts: EmergencyAccessGrantorDetailsResponse[];\n emergencyAccessType = EmergencyAccessType;\n emergencyAccessStatusType = EmergencyAccessStatusType;\n actionPromise: Promise;\n isOrganizationOwner: boolean;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private storageService: StorageService, private userService: UserService,\n private messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n const orgs = await this.userService.getAllOrganizations();\n this.isOrganizationOwner = orgs.some(o => o.isOwner);\n this.load();\n }\n\n async load() {\n this.trustedContacts = (await this.apiService.getEmergencyAccessTrusted()).data;\n this.grantedContacts = (await this.apiService.getEmergencyAccessGranted()).data;\n }\n\n async premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n edit(details: EmergencyAccessGranteeDetailsResponse) {\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 EmergencyAccessAddEditComponent, this.addEditModalRef);\n\n childComponent.name = details?.name ?? details?.email;\n childComponent.emergencyAccessId = details?.id;\n childComponent.readOnly = !this.canAccessPremium;\n childComponent.onSaved.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeleted.subscribe(() => {\n this.modal.close();\n this.remove(details);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n async reinvite(contact: EmergencyAccessGranteeDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postEmergencyAccessReinvite(contact.id);\n await this.actionPromise;\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', contact.email));\n this.actionPromise = null;\n }\n\n async confirm(contact: EmergencyAccessGranteeDetailsResponse) {\n function updateUser() {\n contact.status = EmergencyAccessStatusType.Confirmed;\n }\n\n if (this.actionPromise != null) {\n return;\n }\n\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\n if (autoConfirm == null || !autoConfirm) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.confirmModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EmergencyAccessConfirmComponent, this.confirmModalRef);\n\n childComponent.name = contact?.name ?? contact?.email;\n childComponent.emergencyAccessId = contact.id;\n childComponent.userId = contact?.granteeId;\n childComponent.onConfirmed.subscribe(async () => {\n this.modal.close();\n\n childComponent.formPromise = this.doConfirmation(contact);\n await childComponent.formPromise;\n\n updateUser();\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', contact.name || contact.email));\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return;\n }\n\n this.actionPromise = this.doConfirmation(contact);\n await this.actionPromise;\n updateUser();\n\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', contact.name || contact.email));\n this.actionPromise = null;\n }\n\n async remove(details: EmergencyAccessGranteeDetailsResponse | EmergencyAccessGrantorDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), details.name || details.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.deleteEmergencyAccess(details.id);\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', details.name || details.email));\n\n if (details instanceof EmergencyAccessGranteeDetailsResponse) {\n this.removeGrantee(details);\n } else {\n this.removeGrantor(details);\n }\n } catch { }\n }\n\n async requestAccess(details: EmergencyAccessGrantorDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('requestAccessConfirmation', details.waitTimeDays.toString()),\n details.name || details.email,\n this.i18nService.t('requestAccess'),\n this.i18nService.t('no'),\n 'warning',\n );\n\n if (!confirmed) {\n return false;\n }\n\n await this.apiService.postEmergencyAccessInitiate(details.id);\n\n details.status = EmergencyAccessStatusType.RecoveryInitiated;\n this.toasterService.popAsync('success', null, this.i18nService.t('requestSent', details.name || details.email));\n }\n\n async approve(details: EmergencyAccessGranteeDetailsResponse) {\n const type = this.i18nService.t(details.type === EmergencyAccessType.View ? 'view' : 'takeover');\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('approveAccessConfirmation', details.name || details.email, type),\n details.name || details.email,\n this.i18nService.t('approve'),\n this.i18nService.t('no'),\n 'warning',\n );\n\n if (!confirmed) {\n return false;\n }\n\n await this.apiService.postEmergencyAccessApprove(details.id);\n details.status = EmergencyAccessStatusType.RecoveryApproved;\n\n this.toasterService.popAsync('success', null, this.i18nService.t('emergencyApproved', details.name || details.email));\n }\n\n async reject(details: EmergencyAccessGranteeDetailsResponse) {\n await this.apiService.postEmergencyAccessReject(details.id);\n details.status = EmergencyAccessStatusType.Confirmed;\n\n this.toasterService.popAsync('success', null, this.i18nService.t('emergencyRejected', details.name || details.email));\n }\n\n async takeover(details: EmergencyAccessGrantorDetailsResponse) {\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 EmergencyAccessTakeoverComponent, this.takeoverModalRef);\n\n childComponent.name = details != null ? details.name || details.email : null;\n childComponent.email = details.email;\n childComponent.emergencyAccessId = details != null ? details.id : null;\n\n childComponent.onDone.subscribe(() => {\n this.modal.close();\n this.toasterService.popAsync('success', null, this.i18nService.t('passwordResetFor', details.name || details.email));\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGrantee(details: EmergencyAccessGranteeDetailsResponse) {\n const index = this.trustedContacts.indexOf(details);\n if (index > -1) {\n this.trustedContacts.splice(index, 1);\n }\n }\n\n private removeGrantor(details: EmergencyAccessGrantorDetailsResponse) {\n const index = this.grantedContacts.indexOf(details);\n if (index > -1) {\n this.grantedContacts.splice(index, 1);\n }\n }\n\n // Encrypt the master password hash using the grantees public key, and send it to bitwarden for escrow.\n private async doConfirmation(details: EmergencyAccessGranteeDetailsResponse) {\n const encKey = await this.cryptoService.getEncKey();\n const publicKeyResponse = await this.apiService.getUserPublicKey(details.granteeId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n\n try {\n // tslint:disable-next-line\n console.log('User\\'s fingerprint: ' +\n (await this.cryptoService.getFingerprint(details.granteeId, publicKey.buffer)).join('-'));\n } catch { }\n\n const encryptedKey = await this.cryptoService.rsaEncrypt(encKey.key, publicKey.buffer);\n const request = new EmergencyAccessConfirmRequest();\n request.key = encryptedKey.encryptedString;\n await this.apiService.postEmergencyAccessConfirm(details.id, request);\n }\n}\n","
\n

{{'emergencyAccess' | i18n}}

\n
\n

\n {{'emergencyAccessDesc' | i18n}}\n \n {{'learnMore' | i18n}}.\n \n

\n\n

\n {{'warning' | i18n }}: {{'emergencyAccessOwnerWarning' | i18n}}\n

\n\n
\n

\n {{'trustedEmergencyContacts' | i18n}}\n \n {{'premium' | i18n}}\n \n

\n
\n \n
\n
\n\n\n \n \n \n \n \n \n \n
\n \n \n {{c.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{'emergencyAccessRecoveryInitiated' | i18n}}\n {{'emergencyAccessRecoveryApproved' | i18n}}\n \n {{'view' | i18n}}\n {{'takeover' | i18n}}\n\n {{c.name}}\n \n \n
\n\n

{{'noTrustedContacts' | i18n}}

\n\n
\n

{{'designatedEmergencyContacts' | i18n}}

\n
\n\n\n \n \n \n \n \n \n \n
\n \n \n {{c.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{'emergencyAccessRecoveryInitiated' | i18n}}\n {{'emergencyAccessRecoveryApproved' | i18n}}\n \n {{'view' | i18n}}\n {{'takeover' | i18n}}\n\n {{c.name}}\n \n \n
\n\n

{{'noGrantedAccess' | i18n}}

\n\n\n\n\n","export enum EmergencyAccessType\n{\n View = 0,\n Takeover = 1,\n}\n","import { EmergencyAccessStatusType } from '../../enums/emergencyAccessStatusType';\nimport { EmergencyAccessType } from '../../enums/emergencyAccessType';\nimport { KdfType } from '../../enums/kdfType';\nimport { BaseResponse } from './baseResponse';\nimport { CipherResponse } from './cipherResponse';\n\nexport class EmergencyAccessGranteeDetailsResponse extends BaseResponse {\n id: string;\n granteeId: string;\n name: string;\n email: string;\n type: EmergencyAccessType;\n status: EmergencyAccessStatusType;\n waitTimeDays: number;\n creationDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.granteeId = this.getResponseProperty('GranteeId');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.waitTimeDays = this.getResponseProperty('WaitTimeDays');\n this.creationDate = this.getResponseProperty('CreationDate');\n }\n}\n\nexport class EmergencyAccessGrantorDetailsResponse extends BaseResponse {\n id: string;\n grantorId: string;\n name: string;\n email: string;\n type: EmergencyAccessType;\n status: EmergencyAccessStatusType;\n waitTimeDays: number;\n creationDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.grantorId = this.getResponseProperty('GrantorId');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.waitTimeDays = this.getResponseProperty('WaitTimeDays');\n this.creationDate = this.getResponseProperty('CreationDate');\n }\n}\n\nexport class EmergencyAccessTakeoverResponse extends BaseResponse {\n keyEncrypted: string;\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n\n this.keyEncrypted = this.getResponseProperty('KeyEncrypted');\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n\nexport class EmergencyAccessViewResponse extends BaseResponse {\n keyEncrypted: string;\n ciphers: CipherResponse[] = [];\n\n constructor(response: any) {\n super(response);\n\n this.keyEncrypted = this.getResponseProperty('KeyEncrypted');\n\n const ciphers = this.getResponseProperty('Ciphers');\n if (ciphers != null) {\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\n }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\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 { EmergencyAccessType } from 'jslib/enums/emergencyAccessType';\nimport { EmergencyAccessInviteRequest } from 'jslib/models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessUpdateRequest } from 'jslib/models/request/emergencyAccessUpdateRequest';\n\n@Component({\n selector: 'emergency-access-add-edit',\n templateUrl: 'emergency-access-add-edit.component.html',\n})\nexport class EmergencyAccessAddEditComponent implements OnInit {\n @Input() name: string;\n @Input() emergencyAccessId: string;\n @Output() onSaved = new EventEmitter();\n @Output() onDeleted = new EventEmitter();\n\n loading = true;\n readOnly: boolean = false;\n editMode: boolean = false;\n title: string;\n email: string;\n type: EmergencyAccessType = EmergencyAccessType.View;\n\n formPromise: Promise;\n\n emergencyAccessType = EmergencyAccessType;\n waitTimes: { name: string; value: number; }[];\n waitTime: number;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.emergencyAccessId != null;\n\n this.waitTimes = [\n { name: this.i18nService.t('oneDay'), value: 1 },\n { name: this.i18nService.t('days', '2'), value: 2 },\n { name: this.i18nService.t('days', '7'), value: 7 },\n { name: this.i18nService.t('days', '14'), value: 14 },\n { name: this.i18nService.t('days', '30'), value: 30 },\n { name: this.i18nService.t('days', '90'), value: 90 },\n ];\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editEmergencyContact');\n try {\n const emergencyAccess = await this.apiService.getEmergencyAccess(this.emergencyAccessId);\n this.type = emergencyAccess.type;\n this.waitTime = emergencyAccess.waitTimeDays;\n } catch { }\n } else {\n this.title = this.i18nService.t('inviteEmergencyContact');\n this.waitTime = this.waitTimes[2].value;\n }\n\n this.loading = false;\n }\n\n async submit() {\n try {\n if (this.editMode) {\n const request = new EmergencyAccessUpdateRequest();\n request.type = this.type;\n request.waitTimeDays = this.waitTime;\n\n this.formPromise = this.apiService.putEmergencyAccess(this.emergencyAccessId, request);\n } else {\n const request = new EmergencyAccessInviteRequest();\n request.email = this.email.trim();\n request.type = this.type;\n request.waitTimeDays = this.waitTime;\n\n this.formPromise = this.apiService.postEmergencyAccessInvite(request);\n }\n\n await this.formPromise;\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\n this.onSaved.emit();\n } catch { }\n }\n\n async delete() {\n this.onDeleted.emit();\n }\n}\n","
\n
\n
\n
\n

\n {{'premium' | i18n}}\n {{title}}\n {{name}}\n

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n \n

{{'inviteEmergencyContactDesc' | i18n}}

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

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

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n {{'waitTimeDesc' | i18n}}\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'emergency-access-confirm',\n templateUrl: 'emergency-access-confirm.component.html',\n})\nexport class EmergencyAccessConfirmComponent implements OnInit {\n @Input() name: string;\n @Input() userId: string;\n @Input() emergencyAccessId: string;\n @Input() formPromise: Promise;\n @Output() onConfirmed = new EventEmitter();\n\n dontAskAgain = false;\n loading = true;\n fingerprint: string;\n\n constructor(private apiService: ApiService, private cryptoService: CryptoService,\n private storageService: StorageService) { }\n\n async ngOnInit() {\n try {\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\n if (publicKeyResponse != null) {\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, publicKey.buffer);\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n } catch { }\n this.loading = false;\n }\n\n async submit() {\n if (this.loading) {\n return;\n }\n\n if (this.dontAskAgain) {\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\n }\n\n try {\n this.onConfirmed.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n

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

\n

{{fingerprint}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { ChangePasswordComponent } from 'jslib/angular/components/change-password.component';\n\nimport { KdfType } from 'jslib/enums/kdfType';\nimport { PolicyData } from 'jslib/models/data/policyData';\nimport { Policy } from 'jslib/models/domain/policy';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { EmergencyAccessPasswordRequest } from 'jslib/models/request/emergencyAccessPasswordRequest';\nimport { ListResponse } from 'jslib/models/response';\nimport { EmergencyAccessTakeoverResponse } from 'jslib/models/response/emergencyAccessResponse';\nimport { PolicyResponse } from 'jslib/models/response/policyResponse';\n\n@Component({\n selector: 'emergency-access-takeover',\n templateUrl: 'emergency-access-takeover.component.html',\n})\nexport class EmergencyAccessTakeoverComponent extends ChangePasswordComponent implements OnInit {\n @Output() onDone = new EventEmitter();\n @Input() emergencyAccessId: string;\n @Input() name: string;\n @Input() email: string;\n @Input() kdf: KdfType;\n @Input() kdfIterations: number;\n\n formPromise: Promise;\n\n constructor(i18nService: I18nService, cryptoService: CryptoService,\n messagingService: MessagingService, userService: UserService,\n passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService,\n private apiService: ApiService, private toasterService: ToasterService) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n async ngOnInit() {\n const response = await this.apiService.getEmergencyGrantorPolicies(this.emergencyAccessId);\n if (response.data != null && response.data.length > 0) {\n const policies = response.data.map((policyResponse: PolicyResponse) => new Policy(new PolicyData(policyResponse)));\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions(policies);\n }\n }\n\n async submit() {\n if (!await this.strongPassword()) {\n return;\n }\n\n const takeoverResponse = await this.apiService.postEmergencyAccessTakeover(this.emergencyAccessId);\n\n const oldKeyBuffer = await this.cryptoService.rsaDecrypt(takeoverResponse.keyEncrypted);\n const oldEncKey = new SymmetricCryptoKey(oldKeyBuffer);\n\n if (oldEncKey == null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), this.i18nService.t('unexpectedError'));\n return;\n }\n\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, takeoverResponse.kdf, takeoverResponse.kdfIterations);\n const masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n const encKey = await this.cryptoService.remakeEncKey(key, oldEncKey);\n\n const request = new EmergencyAccessPasswordRequest();\n request.newMasterPasswordHash = masterPasswordHash;\n request.key = encKey[1].encryptedString;\n\n this.apiService.postEmergencyAccessPassword(this.emergencyAccessId, request);\n\n try {\n this.onDone.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n {{'loggedOutWarning' | i18n}}\n \n {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • \n {{'policyInEffectUppercase' | i18n}}
  • \n
  • \n {{'policyInEffectLowercase' | i18n}}
  • \n
  • \n {{'policyInEffectNumbers' | i18n}}
  • \n
  • \n {{'policyInEffectSpecial' | 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","import { DeviceType } from '../enums/deviceType';\nimport { PolicyType } from '../enums/policyType';\n\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\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 { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { EmergencyAccessAcceptRequest } from '../models/request/emergencyAccessAcceptRequest';\nimport { EmergencyAccessConfirmRequest } from '../models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessInviteRequest } from '../models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessPasswordRequest } from '../models/request/emergencyAccessPasswordRequest';\nimport { EmergencyAccessUpdateRequest } from '../models/request/emergencyAccessUpdateRequest';\nimport { EventRequest } from '../models/request/eventRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { IapCheckRequest } from '../models/request/iapCheckRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KdfRequest } from '../models/request/kdfRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { PolicyRequest } from '../models/request/policyRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\nimport { SendAccessRequest } from '../models/request/sendAccessRequest';\nimport { SendRequest } from '../models/request/sendRequest';\nimport { SetPasswordRequest } from '../models/request/setPasswordRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { Utils } from '../misc/utils';\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport {\n EmergencyAccessGranteeDetailsResponse,\n EmergencyAccessGrantorDetailsResponse,\n EmergencyAccessTakeoverResponse,\n EmergencyAccessViewResponse\n} from '../models/response/emergencyAccessResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { PaymentResponse } from '../models/response/paymentResponse';\nimport { PlanResponse } from '../models/response/planResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { PreloginResponse } from '../models/response/preloginResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\nimport { SendAccessResponse } from '../models/response/sendAccessResponse';\nimport { SendFileDownloadDataResponse } from '../models/response/sendFileDownloadDataResponse';\nimport { SendResponse } from '../models/response/sendResponse';\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TaxInfoResponse } from '../models/response/taxInfoResponse';\nimport { TaxRateResponse } from '../models/response/taxRateResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nimport { SendAccessView } from '../models/view/sendAccessView';\n\nexport class ApiService implements ApiServiceAbstraction {\n urlsSet: boolean = false;\n apiBaseUrl: string;\n identityBaseUrl: string;\n eventsBaseUrl: string;\n\n private device: DeviceType;\n private deviceType: string;\n private isWebClient = false;\n private isDesktopClient = false;\n private usingBaseUrl = false;\n\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\n private logoutCallback: (expired: boolean) => Promise, private customUserAgent: string = null) {\n this.device = platformUtilsService.getDevice();\n this.deviceType = this.device.toString();\n this.isWebClient = this.device === DeviceType.IEBrowser || this.device === DeviceType.ChromeBrowser ||\n this.device === DeviceType.EdgeBrowser || this.device === DeviceType.FirefoxBrowser ||\n this.device === DeviceType.OperaBrowser || this.device === DeviceType.SafariBrowser ||\n this.device === DeviceType.UnknownBrowser || this.device === DeviceType.VivaldiBrowser;\n this.isDesktopClient = this.device === DeviceType.WindowsDesktop || this.device === DeviceType.MacOsDesktop ||\n this.device === DeviceType.LinuxDesktop;\n }\n\n setUrls(urls: EnvironmentUrls): void {\n this.urlsSet = true;\n\n if (urls.base != null) {\n this.usingBaseUrl = true;\n this.apiBaseUrl = urls.base + '/api';\n this.identityBaseUrl = urls.base + '/identity';\n this.eventsBaseUrl = urls.base + '/events';\n return;\n }\n\n this.apiBaseUrl = urls.api;\n this.identityBaseUrl = urls.identity;\n this.eventsBaseUrl = urls.events;\n\n // Production\n if (this.apiBaseUrl == null) {\n this.apiBaseUrl = 'https://api.bitwarden.com';\n }\n if (this.identityBaseUrl == null) {\n this.identityBaseUrl = 'https://identity.bitwarden.com';\n }\n if (this.eventsBaseUrl == null) {\n this.eventsBaseUrl = 'https://events.bitwarden.com';\n }\n }\n\n // Auth APIs\n\n async postIdentityToken(request: TokenRequest): Promise {\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify(request.toIdentityToken(request.clientId ?? this.platformUtilsService.identityClientId)),\n credentials: this.getCredentials(),\n cache: 'no-store',\n headers: headers,\n method: 'POST',\n }));\n\n let responseJson: any = null;\n if (this.isJsonResponse(response)) {\n responseJson = await response.json();\n }\n\n if (responseJson != null) {\n if (response.status === 200) {\n return new IdentityTokenResponse(responseJson);\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\n Object.keys(responseJson.TwoFactorProviders2).length) {\n await this.tokenService.clearTwoFactorToken(request.email);\n return new IdentityTwoFactorResponse(responseJson);\n }\n }\n\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\n }\n\n async refreshIdentityToken(): Promise {\n try {\n await this.doRefreshToken();\n } catch (e) {\n return Promise.reject(null);\n }\n }\n\n // Account APIs\n\n async getProfile(): Promise {\n const r = await this.send('GET', '/accounts/profile', null, true, true);\n return new ProfileResponse(r);\n }\n\n async getUserBilling(): Promise {\n const r = await this.send('GET', '/accounts/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async getUserSubscription(): Promise {\n const r = await this.send('GET', '/accounts/subscription', null, true, true);\n return new SubscriptionResponse(r);\n }\n\n async getTaxInfo(): Promise {\n const r = await this.send('GET', '/accounts/tax', null, true, true);\n return new TaxInfoResponse(r);\n }\n\n async putProfile(request: UpdateProfileRequest): Promise {\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\n return new ProfileResponse(r);\n }\n\n putTaxInfo(request: TaxInfoUpdateRequest): Promise {\n return this.send('PUT', '/accounts/tax', request, true, false);\n }\n\n async postPrelogin(request: PreloginRequest): Promise {\n const r = await this.send('POST', '/accounts/prelogin', request, false, true);\n return new PreloginResponse(r);\n }\n\n postEmailToken(request: EmailTokenRequest): Promise {\n return this.send('POST', '/accounts/email-token', request, true, false);\n }\n\n postEmail(request: EmailRequest): Promise {\n return this.send('POST', '/accounts/email', request, true, false);\n }\n\n postPassword(request: PasswordRequest): Promise {\n return this.send('POST', '/accounts/password', request, true, false);\n }\n\n setPassword(request: SetPasswordRequest): Promise {\n return this.send('POST', '/accounts/set-password', request, true, false);\n }\n\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/security-stamp', request, true, false);\n }\n\n deleteAccount(request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/accounts', request, true, false);\n }\n\n async getAccountRevisionDate(): Promise {\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\n return r as number;\n }\n\n postPasswordHint(request: PasswordHintRequest): Promise {\n return this.send('POST', '/accounts/password-hint', request, false, false);\n }\n\n postRegister(request: RegisterRequest): Promise {\n return this.send('POST', '/accounts/register', request, false, false);\n }\n\n async postPremium(data: FormData): Promise {\n const r = await this.send('POST', '/accounts/premium', data, true, true);\n return new PaymentResponse(r);\n }\n\n async postIapCheck(request: IapCheckRequest): Promise {\n return this.send('POST', '/accounts/iap-check', request, true, false);\n }\n\n postReinstatePremium(): Promise {\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\n }\n\n postCancelPremium(): Promise {\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\n }\n\n async postAccountStorage(request: StorageRequest): Promise {\n const r = await this.send('POST', '/accounts/storage', request, true, true);\n return new PaymentResponse(r);\n }\n\n postAccountPayment(request: PaymentRequest): Promise {\n return this.send('POST', '/accounts/payment', request, true, false);\n }\n\n postAccountLicense(data: FormData): Promise {\n return this.send('POST', '/accounts/license', data, true, false);\n }\n\n postAccountKeys(request: KeysRequest): Promise {\n return this.send('POST', '/accounts/keys', request, true, false);\n }\n\n postAccountKey(request: UpdateKeyRequest): Promise {\n return this.send('POST', '/accounts/key', request, true, false);\n }\n\n postAccountVerifyEmail(): Promise {\n return this.send('POST', '/accounts/verify-email', null, true, false);\n }\n\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\n }\n\n postAccountVerifyPassword(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/verify-password', request, true, false);\n }\n\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover', request, false, false);\n }\n\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\n }\n\n postAccountKdf(request: KdfRequest): Promise {\n return this.send('POST', '/accounts/kdf', request, true, false);\n }\n\n async getEnterprisePortalSignInToken(): Promise {\n const r = await this.send('GET', '/accounts/enterprise-portal-signin-token', null, true, true);\n return r as string;\n }\n\n async deleteSsoUser(organizationId: string): Promise {\n return this.send('DELETE', '/accounts/sso/' + organizationId, null, true, false);\n }\n\n async getSsoUserIdentifier(): Promise {\n return this.send('GET', '/accounts/sso/user-identifier', null, true, true);\n }\n\n async postUserApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/accounts/api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postUserRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/accounts/rotate-api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n // Folder APIs\n\n async getFolder(id: string): Promise {\n const r = await this.send('GET', '/folders/' + id, null, true, true);\n return new FolderResponse(r);\n }\n\n async postFolder(request: FolderRequest): Promise {\n const r = await this.send('POST', '/folders', request, true, true);\n return new FolderResponse(r);\n }\n\n async putFolder(id: string, request: FolderRequest): Promise {\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\n return new FolderResponse(r);\n }\n\n deleteFolder(id: string): Promise {\n return this.send('DELETE', '/folders/' + id, null, true, false);\n }\n\n // Send APIs\n\n async getSend(id: string): Promise {\n const r = await this.send('GET', '/sends/' + id, null, true, true);\n return new SendResponse(r);\n }\n\n async postSendAccess(id: string, request: SendAccessRequest, apiUrl?: string): Promise {\n const r = await this.send('POST', '/sends/access/' + id, request, false, true, apiUrl);\n return new SendAccessResponse(r);\n }\n\n\n async getSendFileDownloadData(send: SendAccessView, request: SendAccessRequest): Promise {\n const r = await this.send('POST', '/sends/' + send.id + '/access/file/' + send.file.id, request, false, true);\n return new SendFileDownloadDataResponse(r);\n }\n\n async getSends(): Promise> {\n const r = await this.send('GET', '/sends', null, true, true);\n return new ListResponse(r, SendResponse);\n }\n\n async postSend(request: SendRequest): Promise {\n const r = await this.send('POST', '/sends', request, true, true);\n return new SendResponse(r);\n }\n\n async postSendFile(data: FormData): Promise {\n const r = await this.send('POST', '/sends/file', data, true, true);\n return new SendResponse(r);\n }\n\n async putSend(id: string, request: SendRequest): Promise {\n const r = await this.send('PUT', '/sends/' + id, request, true, true);\n return new SendResponse(r);\n }\n\n async putSendRemovePassword(id: string): Promise {\n const r = await this.send('PUT', '/sends/' + id + '/remove-password', null, true, true);\n return new SendResponse(r);\n }\n\n deleteSend(id: string): Promise {\n return this.send('DELETE', '/sends/' + id, null, true, false);\n }\n\n // Cipher APIs\n\n async getCipher(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\n return new CipherResponse(r);\n }\n\n async getCipherAdmin(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async getCiphersOrganization(organizationId: string): Promise> {\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\n null, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n async postCipher(request: CipherRequest): Promise {\n const r = await this.send('POST', '/ciphers', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherCreate(request: CipherCreateRequest): Promise {\n const r = await this.send('POST', '/ciphers/create', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAdmin(request: CipherCreateRequest): Promise {\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipher(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipher(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\n }\n\n deleteCipherAdmin(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\n }\n\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers', request, true, false);\n }\n\n deleteManyCiphersAdmin(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers/admin', request, true, false);\n }\n\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\n return this.send('PUT', '/ciphers/move', request, true, false);\n }\n\n async putShareCipher(id: string, request: CipherShareRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/share', request, true, true);\n return new CipherResponse(r);\n }\n\n putShareCiphers(request: CipherBulkShareRequest): Promise {\n return this.send('PUT', '/ciphers/share', request, true, false);\n }\n\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\n }\n\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\n }\n\n postPurgeCiphers(request: PasswordVerificationRequest, organizationId: string = null): Promise {\n let path = '/ciphers/purge';\n if (organizationId != null) {\n path += '?organizationId=' + organizationId;\n }\n return this.send('POST', path, request, true, false);\n }\n\n postImportCiphers(request: ImportCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import', request, true, false);\n }\n\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\n }\n\n putDeleteCipher(id: string): Promise {\n return this.send('PUT', '/ciphers/' + id + '/delete', null, true, false);\n }\n\n putDeleteCipherAdmin(id: string): Promise {\n return this.send('PUT', '/ciphers/' + id + '/delete-admin', null, true, false);\n }\n\n putDeleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('PUT', '/ciphers/delete', request, true, false);\n }\n\n putDeleteManyCiphersAdmin(request: CipherBulkDeleteRequest): Promise {\n return this.send('PUT', '/ciphers/delete-admin', request, true, false);\n }\n\n async putRestoreCipher(id: string): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/restore', null, true, true);\n return new CipherResponse(r);\n }\n\n async putRestoreCipherAdmin(id: string): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/restore-admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async putRestoreManyCiphers(request: CipherBulkDeleteRequest): Promise> {\n const r = await this.send('PUT', '/ciphers/restore', request, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n // Attachments APIs\n\n async postCipherAttachment(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\n }\n\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\n }\n\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\n organizationId: string): Promise {\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\n }\n\n // Collections APIs\n\n async getCollectionDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\n null, true, true);\n return new CollectionGroupDetailsResponse(r);\n }\n\n async getUserCollections(): Promise> {\n const r = await this.send('GET', '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollections(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollectionUsers(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\n null, true, true);\n return r.map((dr: any) => new SelectionReadOnlyResponse(dr));\n }\n\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\n request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollectionUsers(organizationId: string, id: string, request: SelectionReadOnlyRequest[]): Promise {\n await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id + '/users',\n request, true, false);\n }\n\n deleteCollection(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\n }\n\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\n null, true, false);\n }\n\n // Groups APIs\n\n async getGroupDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\n null, true, true);\n return new GroupDetailsResponse(r);\n }\n\n async getGroups(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\n return new ListResponse(r, GroupResponse);\n }\n\n async getGroupUsers(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\n null, true, true);\n return r;\n }\n\n async postGroup(organizationId: string, request: GroupRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroupUsers(organizationId: string, id: string, request: string[]): Promise {\n await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id + '/users', request, true, false);\n }\n\n deleteGroup(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\n }\n\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\n }\n\n // Policy APIs\n\n async getPolicy(organizationId: string, type: PolicyType): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies/' + type, null, true, true);\n return new PolicyResponse(r);\n }\n\n async getPolicies(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies', null, true, true);\n return new ListResponse(r, PolicyResponse);\n }\n\n async getPoliciesByToken(organizationId: string, token: string, email: string, organizationUserId: string):\n Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies/token?' +\n 'token=' + encodeURIComponent(token) + '&email=' + encodeURIComponent(email) +\n '&organizationUserId=' + organizationUserId, null, false, true);\n return new ListResponse(r, PolicyResponse);\n }\n\n async putPolicy(organizationId: string, type: PolicyType, request: PolicyRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/policies/' + type, request, true, true);\n return new PolicyResponse(r);\n }\n\n // Organization User APIs\n\n async getOrganizationUser(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\n return new OrganizationUserDetailsResponse(r);\n }\n\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\n null, true, true);\n return r;\n }\n\n async getOrganizationUsers(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\n }\n\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\n }\n\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\n }\n\n postOrganizationUserAccept(organizationId: string, id: string,\n request: OrganizationUserAcceptRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\n }\n\n postOrganizationUserConfirm(organizationId: string, id: string,\n request: OrganizationUserConfirmRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\n request, true, false);\n }\n\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\n }\n\n putOrganizationUserGroups(organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\n }\n\n deleteOrganizationUser(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\n }\n\n // Plan APIs\n\n async getPlans(): Promise> {\n const r = await this.send('GET', '/plans/', null, true, true);\n return new ListResponse(r, PlanResponse);\n }\n\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\n }\n\n async getTaxRates(): Promise> {\n const r = await this.send('GET', '/plans/sales-tax-rates/', null, true, true);\n return new ListResponse(r, TaxRateResponse);\n }\n\n // Settings APIs\n\n async getSettingsDomains(): Promise {\n const r = await this.send('GET', '/settings/domains', null, true, true);\n return new DomainsResponse(r);\n }\n\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\n const r = await this.send('PUT', '/settings/domains', request, true, true);\n return new DomainsResponse(r);\n }\n\n // Sync APIs\n\n async getSync(): Promise {\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\n const r = await this.send('GET', path, null, true, true);\n return new SyncResponse(r);\n }\n\n // Two-factor APIs\n\n async getTwoFactorProviders(): Promise> {\n const r = await this.send('GET', '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorOrganizationDuo(organizationId: string,\n request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\n request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async getTwoFactorU2fChallenge(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f-challenge', request, true, true);\n return new ChallengeResponse(r);\n }\n\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\n return new TwoFactorRecoverResponse(r);\n }\n\n async putTwoFactorAuthenticator(\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorOrganizationDuo(organizationId: string,\n request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async deleteTwoFactorU2f(request: UpdateTwoFactorU2fDeleteRequest): Promise {\n const r = await this.send('DELETE', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n async putTwoFactorOrganizationDisable(organizationId: string,\n request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\n request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\n return this.send('POST', '/two-factor/recover', request, false, false);\n }\n\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email', request, true, false);\n }\n\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\n }\n\n // Emergency Access APIs\n\n async getEmergencyAccessTrusted(): Promise> {\n const r = await this.send('GET', '/emergency-access/trusted', null, true, true);\n return new ListResponse(r, EmergencyAccessGranteeDetailsResponse);\n }\n\n async getEmergencyAccessGranted(): Promise> {\n const r = await this.send('GET', '/emergency-access/granted', null, true, true);\n return new ListResponse(r, EmergencyAccessGrantorDetailsResponse);\n }\n\n async getEmergencyAccess(id: string): Promise {\n const r = await this.send('GET', '/emergency-access/' + id, null, true, true);\n return new EmergencyAccessGranteeDetailsResponse(r);\n }\n\n async getEmergencyGrantorPolicies(id: string): Promise> {\n const r = await this.send('GET', '/emergency-access/' + id + '/policies', null, true, true);\n return new ListResponse(r, PolicyResponse);\n }\n\n putEmergencyAccess(id: string, request: EmergencyAccessUpdateRequest): Promise {\n return this.send('PUT', '/emergency-access/' + id, request, true, false);\n }\n\n deleteEmergencyAccess(id: string): Promise {\n return this.send('DELETE', '/emergency-access/' + id, null, true, false);\n }\n\n postEmergencyAccessInvite(request: EmergencyAccessInviteRequest): Promise {\n return this.send('POST', '/emergency-access/invite', request, true, false);\n }\n\n postEmergencyAccessReinvite(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/reinvite', null, true, false);\n }\n\n postEmergencyAccessAccept(id: string, request: EmergencyAccessAcceptRequest): Promise {\n return this.send('POST', '/emergency-access/' + id + '/accept', request, true, false);\n }\n\n postEmergencyAccessConfirm(id: string, request: EmergencyAccessConfirmRequest): Promise {\n return this.send('POST', '/emergency-access/' + id + '/confirm', request, true, false);\n }\n\n postEmergencyAccessInitiate(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/initiate', null, true, false);\n }\n\n postEmergencyAccessApprove(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/approve', null, true, false);\n }\n\n postEmergencyAccessReject(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/reject', null, true, false);\n }\n\n async postEmergencyAccessTakeover(id: string): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/takeover', null, true, true);\n return new EmergencyAccessTakeoverResponse(r);\n }\n\n async postEmergencyAccessPassword(id: string, request: EmergencyAccessPasswordRequest): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/password', request, true, true);\n }\n\n async postEmergencyAccessView(id: string): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/view', null, true, true);\n return new EmergencyAccessViewResponse(r);\n }\n\n // Organization APIs\n\n async getOrganization(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\n return new OrganizationResponse(r);\n }\n\n async getOrganizationBilling(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async getOrganizationSubscription(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/subscription', null, true, true);\n return new OrganizationSubscriptionResponse(r);\n }\n\n async getOrganizationLicense(id: string, installationId: string): Promise {\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\n null, true, true);\n }\n\n async getOrganizationTaxInfo(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/tax', null, true, true);\n return new TaxInfoResponse(r);\n }\n\n async postOrganization(request: OrganizationCreateRequest): Promise {\n const r = await this.send('POST', '/organizations', request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganizationTaxInfo(id: string, request: OrganizationTaxInfoUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + id + '/tax', request, true, false);\n }\n\n postLeaveOrganization(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\n }\n\n async postOrganizationLicense(data: FormData): Promise {\n const r = await this.send('POST', '/organizations/license', data, true, true);\n return new OrganizationResponse(r);\n }\n\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\n }\n\n async postOrganizationApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postOrganizationRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/rotate-api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postOrganizationUpgrade(id: string, request: OrganizationUpgradeRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/upgrade', request, true, true);\n return new PaymentResponse(r);\n }\n\n async postOrganizationSeat(id: string, request: SeatRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/seat', request, true, true);\n return new PaymentResponse(r);\n }\n\n async postOrganizationStorage(id: string, request: StorageRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/storage', request, true, true);\n return new PaymentResponse(r);\n }\n\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\n }\n\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\n }\n\n postOrganizationCancel(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\n }\n\n postOrganizationReinstate(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\n }\n\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/organizations/' + id, request, true, false);\n }\n\n // Event APIs\n\n async getEvents(start: string, end: string, token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsCipher(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganization(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganizationUser(organizationId: string, id: string,\n start: string, end: string, token: string): Promise> {\n const r = await this.send('GET',\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async postEventsCollect(request: EventRequest[]): Promise {\n const authHeader = await this.getActiveBearerToken();\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n 'Authorization': 'Bearer ' + authHeader,\n 'Content-Type': 'application/json; charset=utf-8',\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n const response = await this.fetch(new Request(this.eventsBaseUrl + '/collect', {\n cache: 'no-store',\n credentials: this.getCredentials(),\n method: 'POST',\n body: JSON.stringify(request),\n headers: headers,\n }));\n if (response.status !== 200) {\n return Promise.reject('Event post failed.');\n }\n }\n\n // User APIs\n\n async getUserPublicKey(id: string): Promise {\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\n return new UserKeyResponse(r);\n }\n\n // HIBP APIs\n\n async getHibpBreach(username: string): Promise {\n const r = await this.send('GET', '/hibp/breach?username=' + username, null, true, true);\n return r.map((a: any) => new BreachAccountResponse(a));\n }\n\n // Misc\n\n async postBitPayInvoice(request: BitPayInvoiceRequest): Promise {\n const r = await this.send('POST', '/bitpay-invoice', request, true, true);\n return r as string;\n }\n\n async postSetupPayment(): Promise {\n const r = await this.send('POST', '/setup-payment', null, true, true);\n return r as string;\n }\n\n // Helpers\n\n async getActiveBearerToken(): Promise {\n let accessToken = await this.tokenService.getToken();\n if (this.tokenService.tokenNeedsRefresh()) {\n const tokenResponse = await this.doRefreshToken();\n accessToken = tokenResponse.accessToken;\n }\n return accessToken;\n }\n\n fetch(request: Request): Promise {\n if (request.method === 'GET') {\n request.headers.set('Cache-Control', 'no-store');\n request.headers.set('Pragma', 'no-cache');\n }\n return this.nativeFetch(request);\n }\n\n nativeFetch(request: Request): Promise {\n return fetch(request);\n }\n\n async preValidateSso(identifier: string): Promise {\n if (identifier == null || identifier === '') {\n throw new Error('Organization Identifier was not provided.');\n }\n const headers = new Headers({\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const path = `/account/prevalidate?domainHint=${encodeURIComponent(identifier)}`;\n const response = await this.fetch(new Request(this.identityBaseUrl + path, {\n cache: 'no-store',\n credentials: this.getCredentials(),\n headers: headers,\n method: 'GET',\n }));\n\n if (response.status === 200) {\n return true;\n } else {\n const error = await this.handleError(response, false, true);\n return Promise.reject(error);\n }\n }\n\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\n authed: boolean, hasResponse: boolean, apiUrl?: string): Promise {\n apiUrl = Utils.isNullOrWhitespace(apiUrl) ? this.apiBaseUrl : apiUrl;\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const requestInit: RequestInit = {\n cache: 'no-store',\n credentials: this.getCredentials(),\n method: method,\n };\n\n if (authed) {\n const authHeader = await this.getActiveBearerToken();\n headers.set('Authorization', 'Bearer ' + authHeader);\n }\n if (body != null) {\n if (typeof body === 'string') {\n requestInit.body = body;\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\n } else if (typeof body === 'object') {\n if (body instanceof FormData) {\n requestInit.body = body;\n } else {\n headers.set('Content-Type', 'application/json; charset=utf-8');\n requestInit.body = JSON.stringify(body);\n }\n }\n }\n if (hasResponse) {\n headers.set('Accept', 'application/json');\n }\n\n requestInit.headers = headers;\n const response = await this.fetch(new Request(apiUrl + path, requestInit));\n\n if (hasResponse && response.status === 200) {\n const responseJson = await response.json();\n return responseJson;\n } else if (response.status !== 200) {\n const error = await this.handleError(response, false, authed);\n return Promise.reject(error);\n }\n }\n\n private async handleError(response: Response, tokenError: boolean, authed: boolean): Promise {\n if (authed && ((tokenError && response.status === 400) || response.status === 401 || response.status === 403)) {\n await this.logoutCallback(true);\n return null;\n }\n\n let responseJson: any = null;\n if (this.isJsonResponse(response)) {\n responseJson = await response.json();\n } else if (this.isTextResponse(response)) {\n responseJson = {Message: await response.text()};\n }\n\n return new ErrorResponse(responseJson, response.status, tokenError);\n }\n\n private async doRefreshToken(): Promise {\n const refreshToken = await this.tokenService.getRefreshToken();\n if (refreshToken == null || refreshToken === '') {\n throw new Error();\n }\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const decodedToken = this.tokenService.decodeToken();\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify({\n grant_type: 'refresh_token',\n client_id: decodedToken.client_id,\n refresh_token: refreshToken,\n }),\n cache: 'no-store',\n credentials: this.getCredentials(),\n headers: headers,\n method: 'POST',\n }));\n\n if (response.status === 200) {\n const responseJson = await response.json();\n const tokenResponse = new IdentityTokenResponse(responseJson);\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n return tokenResponse;\n } else {\n const error = await this.handleError(response, true, true);\n return Promise.reject(error);\n }\n }\n\n private qsStringify(params: any): string {\n return Object.keys(params).map(key => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\n }).join('&');\n }\n\n private getCredentials(): RequestCredentials {\n if (!this.isWebClient || this.usingBaseUrl) {\n return 'include';\n }\n return undefined;\n }\n\n private addEventParameters(base: string, start: string, end: string, token: string) {\n if (start != null) {\n base += ('?start=' + start);\n }\n if (end != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('end=' + end);\n }\n if (token != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('continuationToken=' + token);\n }\n return base;\n }\n\n private isJsonResponse(response: Response): boolean {\n const typeHeader = response.headers.get('content-type');\n return typeHeader != null && typeHeader.indexOf('application/json') > -1;\n }\n\n private isTextResponse(response: Response): boolean {\n const typeHeader = response.headers.get('content-type');\n return typeHeader != null && typeHeader.indexOf('text') > -1;\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse extends BaseResponse {\n id: string;\n organizationId: string;\n name: string;\n externalId: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.name = this.getResponseProperty('Name');\n this.externalId = this.getResponseProperty('ExternalId');\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = this.getResponseProperty('ReadOnly') || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const groups = this.getResponseProperty('Groups');\n if (groups != null) {\n this.groups = groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { GlobalDomainResponse } from './globalDomainResponse';\n\nexport class DomainsResponse extends BaseResponse {\n equivalentDomains: string[][];\n globalEquivalentDomains: GlobalDomainResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.equivalentDomains = this.getResponseProperty('EquivalentDomains');\n const globalEquivalentDomains = this.getResponseProperty('GlobalEquivalentDomains');\n if (globalEquivalentDomains != null) {\n this.globalEquivalentDomains = globalEquivalentDomains.map((d: any) => new GlobalDomainResponse(d));\n } else {\n this.globalEquivalentDomains = [];\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class FolderResponse extends BaseResponse {\n id: string;\n name: string;\n revisionDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { PlanResponse } from './planResponse';\n\nimport { PlanType } from '../../enums/planType';\n\nexport class OrganizationResponse extends BaseResponse {\n id: string;\n identifier: 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: PlanResponse;\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 useApi: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.identifier = this.getResponseProperty('Identifier');\n this.name = this.getResponseProperty('Name');\n this.businessName = this.getResponseProperty('BusinessName');\n this.businessAddress1 = this.getResponseProperty('BusinessAddress1');\n this.businessAddress2 = this.getResponseProperty('BusinessAddress2');\n this.businessAddress3 = this.getResponseProperty('BusinessAddress3');\n this.businessCountry = this.getResponseProperty('BusinessCountry');\n this.businessTaxNumber = this.getResponseProperty('BusinessTaxNumber');\n this.billingEmail = this.getResponseProperty('BillingEmail');\n const plan = this.getResponseProperty('Plan');\n this.plan = plan == null ? null : new PlanResponse(plan);\n this.planType = this.getResponseProperty('PlanType');\n this.seats = this.getResponseProperty('Seats');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.useGroups = this.getResponseProperty('UseGroups');\n this.useDirectory = this.getResponseProperty('UseDirectory');\n this.useEvents = this.getResponseProperty('UseEvents');\n this.useTotp = this.getResponseProperty('UseTotp');\n this.use2fa = this.getResponseProperty('Use2fa');\n this.useApi = this.getResponseProperty('UseApi');\n }\n}\n","import { PlanType } from '../../enums/planType';\nimport { ProductType } from '../../enums/productType';\n\nimport { BaseResponse } from './baseResponse';\n\nexport class PlanResponse extends BaseResponse {\n type: PlanType;\n product: ProductType;\n name: string;\n isAnnual: boolean;\n nameLocalizationKey: string;\n descriptionLocalizationKey: string;\n canBeUsedByBusiness: boolean;\n baseSeats: number;\n baseStorageGb: number;\n maxCollections: number;\n maxUsers: number;\n\n hasAdditionalSeatsOption: boolean;\n maxAdditionalSeats: number;\n hasAdditionalStorageOption: boolean;\n maxAdditionalStorage: number;\n hasPremiumAccessOption: boolean;\n trialPeriodDays: number;\n\n hasSelfHost: boolean;\n hasPolicies: boolean;\n hasGroups: boolean;\n hasDirectory: boolean;\n hasEvents: boolean;\n hasTotp: boolean;\n has2fa: boolean;\n hasApi: boolean;\n hasSso: boolean;\n usersGetPremium: boolean;\n\n upgradeSortOrder: number;\n displaySortOrder: number;\n legacyYear: number;\n disabled: boolean;\n\n stripePlanId: string;\n stripeSeatPlanId: string;\n stripeStoragePlanId: string;\n stripePremiumAccessPlanId: string;\n basePrice: number;\n seatPrice: number;\n additionalStoragePricePerGb: number;\n premiumAccessOptionPrice: number;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.product = this.getResponseProperty('Product');\n this.name = this.getResponseProperty('Name');\n this.isAnnual = this.getResponseProperty('IsAnnual');\n this.nameLocalizationKey = this.getResponseProperty('NameLocalizationKey');\n this.descriptionLocalizationKey = this.getResponseProperty('DescriptionLocalizationKey');\n this.canBeUsedByBusiness = this.getResponseProperty('CanBeUsedByBusiness');\n this.baseSeats = this.getResponseProperty('BaseSeats');\n this.baseStorageGb = this.getResponseProperty('BaseStorageGb');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxUsers = this.getResponseProperty('MaxUsers');\n this.hasAdditionalSeatsOption = this.getResponseProperty('HasAdditionalSeatsOption');\n this.maxAdditionalSeats = this.getResponseProperty('MaxAdditionalSeats');\n this.hasAdditionalStorageOption = this.getResponseProperty('HasAdditionalStorageOption');\n this.maxAdditionalStorage = this.getResponseProperty('MaxAdditionalStorage');\n this.hasPremiumAccessOption = this.getResponseProperty('HasPremiumAccessOption');\n this.trialPeriodDays = this.getResponseProperty('TrialPeriodDays');\n this.hasSelfHost = this.getResponseProperty('HasSelfHost');\n this.hasPolicies = this.getResponseProperty('HasPolicies');\n this.hasGroups = this.getResponseProperty('HasGroups');\n this.hasDirectory = this.getResponseProperty('HasDirectory');\n this.hasEvents = this.getResponseProperty('HasEvents');\n this.hasTotp = this.getResponseProperty('HasTotp');\n this.has2fa = this.getResponseProperty('Has2fa');\n this.hasApi = this.getResponseProperty('HasApi');\n this.hasSso = this.getResponseProperty('HasSso');\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\n this.upgradeSortOrder = this.getResponseProperty('UpgradeSortOrder');\n this.displaySortOrder = this.getResponseProperty('SortOrder');\n this.legacyYear = this.getResponseProperty('LegacyYear');\n this.disabled = this.getResponseProperty('Disabled');\n this.stripePlanId = this.getResponseProperty('StripePlanId');\n this.stripeSeatPlanId = this.getResponseProperty('StripeSeatPlanId');\n this.stripeStoragePlanId = this.getResponseProperty('StripeStoragePlanId');\n this.stripePremiumAccessPlanId = this.getResponseProperty('StripePremiumAccessPlanId');\n this.basePrice = this.getResponseProperty('BasePrice');\n this.seatPrice = this.getResponseProperty('SeatPrice');\n this.additionalStoragePricePerGb = this.getResponseProperty('AdditionalStoragePricePerGb');\n this.premiumAccessOptionPrice = this.getResponseProperty('PremiumAccessOptionPrice');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class SubscriptionResponse extends BaseResponse {\n storageName: string;\n storageGb: number;\n maxStorageGb: number;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\n license: any;\n expiration: string;\n usingInAppPurchase: boolean;\n\n constructor(response: any) {\n super(response);\n this.storageName = this.getResponseProperty('StorageName');\n this.storageGb = this.getResponseProperty('StorageGb');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.license = this.getResponseProperty('License');\n this.expiration = this.getResponseProperty('Expiration');\n this.usingInAppPurchase = this.getResponseProperty('UsingInAppPurchase');\n const subscription = this.getResponseProperty('Subscription');\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\n this.upcomingInvoice = upcomingInvoice == null ? null :\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\n }\n}\n\nexport class BillingSubscriptionResponse extends BaseResponse {\n trialStartDate: string;\n trialEndDate: string;\n periodStartDate: string;\n periodEndDate: string;\n cancelledDate: string;\n cancelAtEndDate: boolean;\n status: string;\n cancelled: boolean;\n items: BillingSubscriptionItemResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.trialEndDate = this.getResponseProperty('TrialStartDate');\n this.trialEndDate = this.getResponseProperty('TrialEndDate');\n this.periodStartDate = this.getResponseProperty('PeriodStartDate');\n this.periodEndDate = this.getResponseProperty('PeriodEndDate');\n this.cancelledDate = this.getResponseProperty('CancelledDate');\n this.cancelAtEndDate = this.getResponseProperty('CancelAtEndDate');\n this.status = this.getResponseProperty('Status');\n this.cancelled = this.getResponseProperty('Cancelled');\n const items = this.getResponseProperty('Items');\n if (items != null) {\n this.items = items.map((i: any) => new BillingSubscriptionItemResponse(i));\n }\n }\n}\n\nexport class BillingSubscriptionItemResponse extends BaseResponse {\n name: string;\n amount: number;\n quantity: number;\n interval: string;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.amount = this.getResponseProperty('Amount');\n this.quantity = this.getResponseProperty('Quantity');\n this.interval = this.getResponseProperty('Interval');\n }\n}\n\nexport class BillingSubscriptionUpcomingInvoiceResponse extends BaseResponse {\n date: string;\n amount: number;\n\n constructor(response: any) {\n super(response);\n this.date = this.getResponseProperty('Date');\n this.amount = this.getResponseProperty('Amount');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class PolicyResponse extends BaseResponse {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.type = this.getResponseProperty('Type');\n this.data = this.getResponseProperty('Data');\n this.enabled = this.getResponseProperty('Enabled');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nexport class SendResponse extends BaseResponse {\n id: string;\n accessId: string;\n type: SendType;\n name: string;\n notes: string;\n file: SendFileApi;\n text: SendTextApi;\n key: string;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: string;\n expirationDate: string;\n deletionDate: string;\n password: string;\n disable: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.accessId = this.getResponseProperty('AccessId');\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.notes = this.getResponseProperty('Notes');\n this.key = this.getResponseProperty('Key');\n this.maxAccessCount = this.getResponseProperty('MaxAccessCount');\n this.accessCount = this.getResponseProperty('AccessCount');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n this.expirationDate = this.getResponseProperty('ExpirationDate');\n this.deletionDate = this.getResponseProperty('DeletionDate');\n this.password = this.getResponseProperty('Password');\n this.disable = this.getResponseProperty('Disabled') || false;\n\n const text = this.getResponseProperty('Text');\n if (text != null) {\n this.text = new SendTextApi(text);\n }\n\n const file = this.getResponseProperty('File');\n if (file != null) {\n this.file = new SendFileApi(file);\n }\n }\n}\n","import { Utils } from '../misc/utils';\n\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class AppIdService implements AppIdServiceAbstraction {\n constructor(private storageService: StorageService) {\n }\n\n getAppId(): Promise {\n return this.makeAndGetAppId('appId');\n }\n\n getAnonymousAppId(): Promise {\n return this.makeAndGetAppId('anonymousAppId');\n }\n\n private async makeAndGetAppId(key: string) {\n const existingId = await this.storageService.get(key);\n if (existingId != null) {\n return existingId;\n }\n\n const guid = Utils.newGuid();\n await this.storageService.save(key, guid);\n return guid;\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\n\nimport { throttle } from '../misc/throttle';\nimport { Utils } from '../misc/utils';\n\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\n\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\n\nexport class AuditService implements AuditServiceAbstraction {\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\n\n @throttle(100, () => 'passwordLeaked')\n async passwordLeaked(password: string): Promise {\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\n const hashStart = hash.substr(0, 5);\n const hashEnding = hash.substr(5);\n\n const response = await this.apiService.nativeFetch(new Request(PwnedPasswordsApi + hashStart));\n const leakedHashes = await response.text();\n const match = leakedHashes.split(/\\r?\\n/).find(v => {\n return v.split(':')[0] === hashEnding;\n });\n\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\n }\n\n async breachedAccounts(username: string): Promise {\n try {\n return await this.apiService.getHibpBreach(username);\n } catch (e) {\n const error = e as ErrorResponse;\n if (error.statusCode === 404) {\n return [];\n }\n throw new Error();\n }\n }\n}\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/domainBase';\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 { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\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 { SortedCiphersCache } from '../models/domain/sortedCiphersCache';\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 { SearchService } from '../abstractions/search.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n ciphersPrefix: 'ciphers_',\n localData: 'sitesLocalData',\n neverDomains: 'neverDomains',\n};\n\nconst DomainMatchBlacklist = new Map>([\n ['google.com', new Set(['script.google.com'])],\n]);\n\nexport class CipherService implements CipherServiceAbstraction {\n // tslint:disable-next-line\n _decryptedCipherCache: CipherView[];\n\n private sortedCiphersCache: SortedCiphersCache = new SortedCiphersCache(this.sortCiphersByLastUsed);\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 searchService: () => SearchService) {\n }\n\n get decryptedCipherCache() {\n return this._decryptedCipherCache;\n }\n set decryptedCipherCache(value: CipherView[]) {\n this._decryptedCipherCache = value;\n if (this.searchService != null) {\n if (value == null) {\n this.searchService().clearIndex();\n } else {\n this.searchService().indexCiphers();\n }\n }\n }\n\n clearCache(): void {\n this.decryptedCipherCache = null;\n this.sortedCiphersCache.clear();\n }\n\n async encrypt(model: CipherView, key?: SymmetricCryptoKey, originalCipher: Cipher = null): Promise {\n // Adjust password history\n if (model.id != null) {\n if (originalCipher == null) {\n originalCipher = await this.get(model.id);\n }\n if (originalCipher != null) {\n const existingCipher = await originalCipher.decrypt();\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.find(f => f.name === ef.name);\n if (matchedField == null || matchedField.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 cipher.revisionDate = model.revisionDate;\n\n if (key == null && cipher.organizationId != null) {\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\n if (key == null) {\n throw new Error('Cannot encrypt cipher for organization. No key.');\n }\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: Promise[] = [];\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(async () => {\n if (model.key != null) {\n attachment.key = await this.cryptoService.encrypt(model.key.key, key);\n }\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 // normalize boolean type field values\n if (fieldModel.type === FieldType.Boolean && fieldModel.value !== 'true') {\n fieldModel.value = 'false';\n }\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 @sequentialize(() => 'getAllDecrypted')\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 (cipher.isDeleted) {\n return false;\n }\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[],\n defaultMatch: UriMatchType = null): Promise {\n if (url == null && includeOtherTypes == null) {\n return Promise.resolve([]);\n }\n\n const domain = Utils.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 if (defaultMatch == null) {\n defaultMatch = await this.storageService.get(ConstantsService.defaultUriMatch);\n if (defaultMatch == null) {\n defaultMatch = UriMatchType.Domain;\n }\n }\n\n return ciphers.filter(cipher => {\n if (cipher.deletedDate != null) {\n return false;\n }\n if (includeOtherTypes != null && 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 const match = u.match == null ? defaultMatch : u.match;\n switch (match) {\n case UriMatchType.Domain:\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\n if (DomainMatchBlacklist.has(u.domain)) {\n const domainUrlHost = Utils.getHost(url);\n if (!DomainMatchBlacklist.get(u.domain).has(domainUrlHost)) {\n return true;\n }\n } else {\n return true;\n }\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 getAllFromApiForOrganization(organizationId: string): Promise {\n const ciphers = await this.apiService.getCiphersOrganization(organizationId);\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.getLocaleSortingFunction());\n return decCiphers;\n } else {\n return [];\n }\n }\n\n async getLastUsedForUrl(url: string): Promise {\n return this.getCipherForUrl(url, true, false);\n }\n\n async getLastLaunchedForUrl(url: string): Promise {\n return this.getCipherForUrl(url, false, true);\n }\n\n async getNextCipherForUrl(url: string): Promise {\n return this.getCipherForUrl(url, false, false);\n }\n\n updateLastUsedIndexForUrl(url: string) {\n this.sortedCiphersCache.updateLastUsedIndex(url);\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 updateLastLaunchedDate(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].lastLaunched = 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 let response: CipherResponse;\n if (cipher.id == null) {\n if (cipher.collectionIds != null) {\n const request = new CipherCreateRequest(cipher);\n response = await this.apiService.postCipherCreate(request);\n } else {\n const request = new CipherRequest(cipher);\n response = await this.apiService.postCipher(request);\n }\n cipher.id = response.id;\n } else {\n const request = new CipherRequest(cipher);\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 const attachmentPromises: Promise[] = [];\n if (cipher.attachments != null) {\n cipher.attachments.forEach(attachment => {\n if (attachment.key == null) {\n attachmentPromises.push(this.shareAttachmentWithServer(attachment, cipher.id, organizationId));\n }\n });\n }\n await Promise.all(attachmentPromises);\n\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n const encCipher = await this.encrypt(cipher);\n const request = new CipherShareRequest(encCipher);\n const response = await this.apiService.putShareCipher(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, collectionIds);\n await this.upsert(data);\n }\n\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\n const promises: Promise[] = [];\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 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\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(data, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(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 await 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.clearCache();\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 if (ciphers[id] == null) {\n return;\n }\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 const bothNotNull = aLastUsed != null && bLastUsed != null;\n if (bothNotNull && aLastUsed < bLastUsed) {\n return 1;\n }\n if (aLastUsed != null && bLastUsed == null) {\n return -1;\n }\n\n if (bothNotNull && 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 async softDelete(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 const setDeletedDate = (cipherId: string) => {\n if (ciphers[cipherId] == null) {\n return;\n }\n ciphers[cipherId].deletedDate = new Date().toISOString();\n };\n\n if (typeof id === 'string') {\n setDeletedDate(id);\n } else {\n (id as string[]).forEach(setDeletedDate);\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async softDeleteWithServer(id: string): Promise {\n await this.apiService.putDeleteCipher(id);\n await this.softDelete(id);\n }\n\n async softDeleteManyWithServer(ids: string[]): Promise {\n await this.apiService.putDeleteManyCiphers(new CipherBulkDeleteRequest(ids));\n await this.softDelete(ids);\n }\n\n async restore(cipher: { id: string, revisionDate: string; } | { id: string, revisionDate: string; }[]) {\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 const clearDeletedDate = (c: { id: string, revisionDate: string; }) => {\n if (ciphers[c.id] == null) {\n return;\n }\n ciphers[c.id].deletedDate = null;\n ciphers[c.id].revisionDate = c.revisionDate;\n };\n\n\n if (cipher.constructor.name === 'Array') {\n (cipher as { id: string, revisionDate: string; }[]).forEach(clearDeletedDate);\n } else {\n clearDeletedDate(cipher as { id: string, revisionDate: string; });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async restoreWithServer(id: string): Promise {\n const response = await this.apiService.putRestoreCipher(id);\n await this.restore({ id: id, revisionDate: response.revisionDate });\n }\n\n async restoreManyWithServer(ids: string[]): Promise {\n const response = await this.apiService.putRestoreManyCiphers(new CipherBulkRestoreRequest(ids));\n const restores: { id: string, revisionDate: string; }[] = [];\n for (const cipher of response.data) {\n restores.push({ id: cipher.id, revisionDate: cipher.revisionDate });\n }\n await this.restore(restores);\n }\n\n // Helpers\n\n private async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\n organizationId: string): Promise {\n const attachmentResponse = await this.apiService.nativeFetch(\n new Request(attachmentView.url, { cache: 'no-store' }));\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 encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\n\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(decBuf, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n try {\n await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd, organizationId);\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n }\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 private async getCipherForUrl(url: string, lastUsed: boolean, lastLaunched: boolean): Promise {\n if (!this.sortedCiphersCache.isCached(url)) {\n const ciphers = await this.getAllDecryptedForUrl(url);\n if (!ciphers) {\n return null;\n }\n this.sortedCiphersCache.addCiphers(url, ciphers);\n }\n\n if (lastLaunched) {\n return this.sortedCiphersCache.getLastLaunched(url);\n } else if (lastUsed) {\n return this.sortedCiphersCache.getLastUsed(url);\n } else {\n return this.sortedCiphersCache.getNext(url);\n }\n }\n}\n","/**\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\n *\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\n * be returned, instead of calling the original function again\n *\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\n *\n * Read more at https://github.com/bitwarden/jslib/pull/7\n */\nexport function sequentialize(cacheKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const originalMethod: () => Promise = descriptor.value;\n const caches = new Map>>();\n\n const getCache = (obj: any) => {\n let cache = caches.get(obj);\n if (cache != null) {\n return cache;\n }\n cache = new Map>();\n caches.set(obj, cache);\n return cache;\n };\n\n return {\n value: function(...args: any[]) {\n const cache = getCache(this);\n const argsCacheKey = cacheKey(args);\n let response = cache.get(argsCacheKey);\n if (response != null) {\n return response;\n }\n\n const onFinally = () => {\n cache.delete(argsCacheKey);\n if (cache.size === 0) {\n caches.delete(this);\n }\n };\n response = originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n });\n\n cache.set(argsCacheKey, response);\n return response;\n },\n };\n };\n}\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\nimport { TreeNode } from '../models/domain/treeNode';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ServiceUtils } from '../misc/serviceUtils';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n collectionsPrefix: 'collections_',\n};\nconst NestingDelimiter = '/';\n\nexport class CollectionService implements CollectionServiceAbstraction {\n decryptedCollectionCache: CollectionView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private storageService: StorageService, private i18nService: I18nService) {\n }\n\n clearCache(): void {\n this.decryptedCollectionCache = null;\n }\n\n async encrypt(model: CollectionView): Promise {\n if (model.organizationId == null) {\n throw new Error('Collection has no organization id.');\n }\n const key = await this.cryptoService.getOrgKey(model.organizationId);\n if (key == null) {\n throw new Error('No key for this collection\\'s organization.');\n }\n const collection = new Collection();\n collection.id = model.id;\n collection.organizationId = model.organizationId;\n collection.readOnly = model.readOnly;\n collection.name = await this.cryptoService.encrypt(model.name, key);\n return collection;\n }\n\n async decryptMany(collections: Collection[]): Promise {\n if (collections == null) {\n return [];\n }\n const decCollections: CollectionView[] = [];\n const promises: Promise[] = [];\n collections.forEach(collection => {\n promises.push(collection.decrypt().then(c => decCollections.push(c)));\n });\n await Promise.all(promises);\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null || !collections.hasOwnProperty(id)) {\n return null;\n }\n\n return new Collection(collections[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n const response: Collection[] = [];\n for (const id in collections) {\n if (collections.hasOwnProperty(id)) {\n response.push(new Collection(collections[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedCollectionCache != null) {\n return this.decryptedCollectionCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const collections = await this.getAll();\n this.decryptedCollectionCache = await this.decryptMany(collections);\n return this.decryptedCollectionCache;\n }\n\n async getAllNested(collections: CollectionView[] = null): Promise[]> {\n if (collections == null) {\n collections = await this.getAllDecrypted();\n }\n const nodes: TreeNode[] = [];\n collections.forEach(c => {\n const collectionCopy = new CollectionView();\n collectionCopy.id = c.id;\n collectionCopy.organizationId = c.organizationId;\n const parts = c.name != null ? c.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter) : [];\n ServiceUtils.nestedTraverse(nodes, 0, parts, collectionCopy, null, NestingDelimiter);\n });\n return nodes;\n }\n\n async getNested(id: string): Promise> {\n const collections = await this.getAllNested();\n return ServiceUtils.getTreeNodeObject(collections, id) as TreeNode;\n }\n\n async upsert(collection: CollectionData | CollectionData[]): Promise {\n const userId = await this.userService.getUserId();\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null) {\n collections = {};\n }\n\n if (collection instanceof CollectionData) {\n const c = collection as CollectionData;\n collections[c.id] = c;\n } else {\n (collection as CollectionData[]).forEach(c => {\n collections[c.id] = c;\n });\n }\n\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n\n async replace(collections: { [id: string]: CollectionData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.collectionsPrefix + userId);\n this.decryptedCollectionCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null) {\n return;\n }\n\n if (typeof id === 'string') {\n const i = id as string;\n delete collections[id];\n } else {\n (id as string[]).forEach(i => {\n delete collections[i];\n });\n }\n\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n}\n","import {\n ITreeNodeObject,\n TreeNode,\n} from '../models/domain/treeNode';\n\nexport class ServiceUtils {\n static nestedTraverse(nodeTree: TreeNode[], partIndex: number, parts: string[],\n obj: ITreeNodeObject, parent: ITreeNodeObject, delimiter: string) {\n if (parts.length <= partIndex) {\n return;\n }\n\n const end = partIndex === parts.length - 1;\n const partName = parts[partIndex];\n\n for (let i = 0; i < nodeTree.length; i++) {\n if (nodeTree[i].node.name !== parts[partIndex]) {\n continue;\n }\n if (end && nodeTree[i].node.id !== obj.id) {\n // Another node with the same name.\n nodeTree.push(new TreeNode(obj, partName, parent));\n return;\n }\n ServiceUtils.nestedTraverse(nodeTree[i].children, partIndex + 1, parts,\n obj, nodeTree[i].node, delimiter);\n return;\n }\n\n if (nodeTree.filter(n => n.node.name === partName).length === 0) {\n if (end) {\n nodeTree.push(new TreeNode(obj, partName, parent));\n return;\n }\n const newPartName = parts[partIndex] + delimiter + parts[partIndex + 1];\n ServiceUtils.nestedTraverse(nodeTree, 0, [newPartName, ...parts.slice(partIndex + 2)],\n obj, parent, delimiter);\n }\n }\n\n static getTreeNodeObject(nodeTree: TreeNode[], id: string): TreeNode {\n for (let i = 0; i < nodeTree.length; i++) {\n if (nodeTree[i].node.id === id) {\n return nodeTree[i];\n } else if (nodeTree[i].children != null) {\n const node = ServiceUtils.getTreeNodeObject(nodeTree[i].children, id);\n if (node !== null) {\n return node;\n }\n }\n }\n return null;\n }\n}\n","import { CryptoService } from '../abstractions/crypto.service';\n\nexport class ContainerService {\n constructor(private cryptoService: CryptoService) {\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","import * as bigInt from 'big-integer';\n\nimport { EncryptionType } from '../enums/encryptionType';\nimport { KdfType } from '../enums/kdfType';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { EncryptedObject } from '../models/domain/encryptedObject';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { LogService } from '../abstractions/log.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\nimport { EEFLongWordList } from '../misc/wordlist';\n\nconst Keys = {\n key: 'key', // Master Key\n encOrgKeys: 'encOrgKeys',\n encPrivateKey: 'encPrivateKey',\n encKey: 'encKey', // Generated Symmetric Key\n keyHash: 'keyHash',\n};\n\nexport class CryptoService implements CryptoServiceAbstraction {\n private key: SymmetricCryptoKey;\n private encKey: SymmetricCryptoKey;\n private legacyEtmKey: SymmetricCryptoKey;\n private keyHash: string;\n private publicKey: ArrayBuffer;\n private privateKey: ArrayBuffer;\n private orgKeys: Map;\n\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\n private cryptoFunctionService: CryptoFunctionService, private platformUtilService: PlatformUtilsService,\n private logService: LogService) {\n }\n\n async setKey(key: SymmetricCryptoKey): Promise {\n this.key = key;\n\n const option = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const biometric = await this.storageService.get(ConstantsService.biometricUnlockKey);\n if (option != null && !(biometric && this.platformUtilService.supportsSecureStorage())) {\n // if we have a lock option set, we do not store the key\n return;\n }\n\n return this.secureStorageService.save(Keys.key, key.keyB64);\n }\n\n setKeyHash(keyHash: string): Promise<{}> {\n this.keyHash = keyHash;\n return this.storageService.save(Keys.keyHash, keyHash);\n }\n\n async setEncKey(encKey: string): Promise<{}> {\n if (encKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encKey, encKey);\n this.encKey = null;\n }\n\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\n if (encPrivateKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\n this.privateKey = null;\n }\n\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\n const orgKeys: any = {};\n orgs.forEach(org => {\n orgKeys[org.id] = org.key;\n });\n\n this.orgKeys = null;\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\n }\n\n async getKey(): Promise {\n if (this.key != null) {\n return this.key;\n }\n\n const key = await this.secureStorageService.get(Keys.key);\n if (key != null) {\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\n }\n\n return key == null ? null : this.key;\n }\n\n async getKeyHash(): Promise {\n if (this.keyHash != null) {\n return this.keyHash;\n }\n\n const keyHash = await this.storageService.get(Keys.keyHash);\n if (keyHash != null) {\n this.keyHash = keyHash;\n }\n\n return keyHash == null ? null : this.keyHash;\n }\n\n @sequentialize(() => 'getEncKey')\n async getEncKey(key: SymmetricCryptoKey = null): Promise {\n if (this.encKey != null) {\n return this.encKey;\n }\n\n const encKey = await this.storageService.get(Keys.encKey);\n if (encKey == null) {\n return null;\n }\n\n if (key == null) {\n key = await this.getKey();\n }\n if (key == null) {\n return null;\n }\n\n let decEncKey: ArrayBuffer;\n const encKeyCipher = new CipherString(encKey);\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\n decEncKey = await this.decryptToBytes(encKeyCipher, key);\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\n const newKey = await this.stretchKey(key);\n decEncKey = await this.decryptToBytes(encKeyCipher, newKey);\n } else {\n throw new Error('Unsupported encKey type.');\n }\n\n if (decEncKey == null) {\n return null;\n }\n this.encKey = new SymmetricCryptoKey(decEncKey);\n return this.encKey;\n }\n\n async getPublicKey(): Promise {\n if (this.publicKey != null) {\n return this.publicKey;\n }\n\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n return null;\n }\n\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\n return this.publicKey;\n }\n\n async getPrivateKey(): Promise {\n if (this.privateKey != null) {\n return this.privateKey;\n }\n\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\n if (encPrivateKey == null) {\n return null;\n }\n\n this.privateKey = await this.decryptToBytes(new CipherString(encPrivateKey), null);\n return this.privateKey;\n }\n\n async getFingerprint(userId: string, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey === null) {\n throw new Error('No public key available.');\n }\n const keyFingerprint = await this.cryptoFunctionService.hash(publicKey, 'sha256');\n const userFingerprint = await this.cryptoFunctionService.hkdfExpand(keyFingerprint, userId, 32, 'sha256');\n return this.hashPhrase(userFingerprint);\n }\n\n @sequentialize(() => 'getOrgKeys')\n async getOrgKeys(): Promise> {\n if (this.orgKeys != null && this.orgKeys.size > 0) {\n return this.orgKeys;\n }\n\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\n if (encOrgKeys == null) {\n return null;\n }\n\n const orgKeys: Map = new Map();\n let setKey = false;\n\n for (const orgId in encOrgKeys) {\n if (!encOrgKeys.hasOwnProperty(orgId)) {\n continue;\n }\n\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\n setKey = true;\n }\n\n if (setKey) {\n this.orgKeys = orgKeys;\n }\n\n return this.orgKeys;\n }\n\n async getOrgKey(orgId: string): Promise {\n if (orgId == null) {\n return null;\n }\n\n const orgKeys = await this.getOrgKeys();\n if (orgKeys == null || !orgKeys.has(orgId)) {\n return null;\n }\n\n return orgKeys.get(orgId);\n }\n\n async hasKey(): Promise {\n return (await this.getKey()) != null;\n }\n\n async hasEncKey(): Promise {\n const encKey = await this.storageService.get(Keys.encKey);\n return encKey != null;\n }\n\n clearKey(): Promise {\n this.key = this.legacyEtmKey = null;\n return this.secureStorageService.remove(Keys.key);\n }\n\n clearKeyHash(): Promise {\n this.keyHash = null;\n return this.storageService.remove(Keys.keyHash);\n }\n\n clearEncKey(memoryOnly?: boolean): Promise {\n this.encKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encKey);\n }\n\n clearKeyPair(memoryOnly?: boolean): Promise {\n this.privateKey = null;\n this.publicKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encPrivateKey);\n }\n\n clearOrgKeys(memoryOnly?: boolean): Promise {\n this.orgKeys = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encOrgKeys);\n }\n\n clearPinProtectedKey(): Promise {\n return this.storageService.remove(ConstantsService.pinProtectedKey);\n }\n\n clearKeys(): Promise {\n return Promise.all([\n this.clearKey(),\n this.clearKeyHash(),\n this.clearOrgKeys(),\n this.clearEncKey(),\n this.clearKeyPair(),\n this.clearPinProtectedKey(),\n ]);\n }\n\n async toggleKey(): Promise {\n const key = await this.getKey();\n const option = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const biometric = await this.storageService.get(ConstantsService.biometricUnlockKey);\n if ((!biometric && this.platformUtilService.supportsSecureStorage()) && (option != null || option === 0)) {\n // if we have a lock option set, clear the key\n await this.clearKey();\n this.key = key;\n return;\n }\n\n await this.setKey(key);\n }\n\n async makeKey(password: string, salt: string, kdf: KdfType, kdfIterations: number):\n Promise {\n let key: ArrayBuffer = null;\n if (kdf == null || kdf === KdfType.PBKDF2_SHA256) {\n if (kdfIterations == null) {\n kdfIterations = 5000;\n } else if (kdfIterations < 5000) {\n throw new Error('PBKDF2 iteration minimum is 5000.');\n }\n key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', kdfIterations);\n } else {\n throw new Error('Unknown Kdf.');\n }\n return new SymmetricCryptoKey(key);\n }\n\n async makeKeyFromPin(pin: string, salt: string, kdf: KdfType, kdfIterations: number,\n protectedKeyCs: CipherString = null):\n Promise {\n if (protectedKeyCs == null) {\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\n if (pinProtectedKey == null) {\n throw new Error('No PIN protected key found.');\n }\n protectedKeyCs = new CipherString(pinProtectedKey);\n }\n const pinKey = await this.makePinKey(pin, salt, kdf, kdfIterations);\n const decKey = await this.decryptToBytes(protectedKeyCs, pinKey);\n return new SymmetricCryptoKey(decKey);\n }\n\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\n const publicKey = await this.getPublicKey();\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey);\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\n }\n\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\n const privateEnc = await this.encrypt(keyPair[1], key);\n return [publicB64, privateEnc];\n }\n\n async makePinKey(pin: string, salt: string, kdf: KdfType, kdfIterations: number): Promise {\n const pinKey = await this.makeKey(pin, salt, kdf, kdfIterations);\n return await this.stretchKey(pinKey);\n }\n\n async makeSendKey(keyMaterial: ArrayBuffer): Promise {\n const sendKey = await this.cryptoFunctionService.hkdf(keyMaterial, 'bitwarden-send', 'send', 64, 'sha256');\n return new SymmetricCryptoKey(sendKey);\n }\n\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\n if (key == null) {\n key = await this.getKey();\n }\n if (password == null || key == null) {\n throw new Error('Invalid parameters.');\n }\n\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\n return Utils.fromBufferToB64(hash);\n }\n\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n const theKey = await this.getKeyForEncryption(key);\n const encKey = await this.cryptoFunctionService.randomBytes(64);\n return this.buildEncKey(theKey, encKey);\n }\n\n async remakeEncKey(key: SymmetricCryptoKey, encKey?: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n if (encKey == null) {\n encKey = await this.getEncKey();\n }\n return this.buildEncKey(key, encKey.key);\n }\n\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n if (plainValue == null) {\n return Promise.resolve(null);\n }\n\n let plainBuf: ArrayBuffer;\n if (typeof (plainValue) === 'string') {\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\n } else {\n plainBuf = plainValue;\n }\n\n const encObj = await this.aesEncrypt(plainBuf, key);\n const iv = Utils.fromBufferToB64(encObj.iv);\n const data = Utils.fromBufferToB64(encObj.data);\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\n return new CipherString(encObj.key.encType, data, iv, mac);\n }\n\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n const encValue = await this.aesEncrypt(plainValue, key);\n let macLen = 0;\n if (encValue.mac != null) {\n macLen = encValue.mac.byteLength;\n }\n\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\n encBytes.set([encValue.key.encType]);\n encBytes.set(new Uint8Array(encValue.iv), 1);\n if (encValue.mac != null) {\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\n }\n\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\n return encBytes.buffer;\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey == null) {\n throw new Error('Public key unavailable.');\n }\n\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\n return new CipherString(EncryptionType.Rsa2048_OaepSha1_B64, Utils.fromBufferToB64(encBytes));\n }\n\n async rsaDecrypt(encValue: string): Promise {\n const headerPieces = encValue.split('.');\n let encType: EncryptionType = null;\n let encPieces: string[];\n\n if (headerPieces.length === 1) {\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\n encPieces = [headerPieces[0]];\n } else if (headerPieces.length === 2) {\n try {\n encType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) { }\n }\n\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n // HmacSha256 types are deprecated\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n if (encPieces == null || encPieces.length <= 0) {\n throw new Error('encPieces unavailable.');\n }\n\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n throw new Error('No private key.');\n }\n\n let alg: 'sha1' | 'sha256' = 'sha1';\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n alg = 'sha256';\n break;\n case EncryptionType.Rsa2048_OaepSha1_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\n }\n\n async decryptToBytes(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\n if (decipher == null) {\n return null;\n }\n\n return decipher;\n }\n\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\n cipherString.iv, cipherString.mac, key);\n }\n\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n if (encBuf == null) {\n throw new Error('no encBuf.');\n }\n\n const encBytes = new Uint8Array(encBuf);\n const encType = encBytes[0];\n let ctBytes: Uint8Array = null;\n let ivBytes: Uint8Array = null;\n let macBytes: Uint8Array = null;\n\n switch (encType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n macBytes = encBytes.slice(17, 49);\n ctBytes = encBytes.slice(49);\n break;\n case EncryptionType.AesCbc256_B64:\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n ctBytes = encBytes.slice(17);\n break;\n default:\n return null;\n }\n\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\n macBytes != null ? macBytes.buffer : null, key);\n }\n\n // EFForg/OpenWireless\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\n async randomNumber(min: number, max: number): Promise {\n let rval = 0;\n const range = max - min + 1;\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error('We cannot generate numbers larger than 53 bits.');\n }\n\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\n\n // Fill a byte array with N random numbers\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\n\n let p = (bytesNeeded - 1) * 8;\n for (let i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n // Use & to apply the mask and reduce the number of recursive lookups\n // tslint:disable-next-line\n rval = rval & mask;\n\n if (rval >= range) {\n // Integer out of acceptable range\n return this.randomNumber(min, max);\n }\n\n // Return an integer that falls within the range\n return min + rval;\n }\n\n // Helpers\n\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const obj = new EncryptedObject();\n obj.key = await this.getKeyForEncryption(key);\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\n\n if (obj.key.macKey != null) {\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\n macData.set(new Uint8Array(obj.iv), 0);\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\n }\n\n return obj;\n }\n\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\n key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n this.logService.error('mac required.');\n return null;\n }\n\n if (theKey.encType !== encType) {\n this.logService.error('encType unavailable.');\n return null;\n }\n\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\n if (fastParams.macKey != null && fastParams.mac != null) {\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\n fastParams.macKey, 'sha256');\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\n if (!macsEqual) {\n this.logService.error('mac failed.');\n return null;\n }\n }\n\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\n }\n\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n return null;\n }\n\n if (theKey.encType !== encType) {\n return null;\n }\n\n if (theKey.macKey != null && mac != null) {\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\n macData.set(new Uint8Array(iv), 0);\n macData.set(new Uint8Array(data), iv.byteLength);\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\n if (computedMac === null) {\n return null;\n }\n\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\n if (!macsMatch) {\n this.logService.error('mac failed.');\n return null;\n }\n }\n\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\n }\n\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\n if (key != null) {\n return key;\n }\n\n const encKey = await this.getEncKey();\n if (encKey != null) {\n return encKey;\n }\n\n return await this.getKey();\n }\n\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\n key.encType === EncryptionType.AesCbc256_B64) {\n // Old encrypt-then-mac scheme, make a new key\n if (this.legacyEtmKey == null) {\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\n }\n return this.legacyEtmKey;\n }\n\n return key;\n }\n\n private async stretchKey(key: SymmetricCryptoKey): Promise {\n const newKey = new Uint8Array(64);\n const encKey = await this.cryptoFunctionService.hkdfExpand(key.key, 'enc', 32, 'sha256');\n const macKey = await this.cryptoFunctionService.hkdfExpand(key.key, 'mac', 32, 'sha256');\n newKey.set(new Uint8Array(encKey));\n newKey.set(new Uint8Array(macKey), 32);\n return new SymmetricCryptoKey(newKey.buffer);\n }\n\n private async hashPhrase(hash: ArrayBuffer, minimumEntropy: number = 64) {\n const entropyPerWord = Math.log(EEFLongWordList.length) / Math.log(2);\n let numWords = Math.ceil(minimumEntropy / entropyPerWord);\n\n const hashArr = Array.from(new Uint8Array(hash));\n const entropyAvailable = hashArr.length * 4;\n if (numWords * entropyPerWord > entropyAvailable) {\n throw new Error('Output entropy of hash function is too small');\n }\n\n const phrase: string[] = [];\n let hashNumber = bigInt.fromArray(hashArr, 256);\n while (numWords--) {\n const remainder = hashNumber.mod(EEFLongWordList.length);\n hashNumber = hashNumber.divide(EEFLongWordList.length);\n phrase.push(EEFLongWordList[remainder as any]);\n }\n return phrase;\n }\n\n private async buildEncKey(key: SymmetricCryptoKey, encKey: ArrayBuffer)\n : Promise<[SymmetricCryptoKey, CipherString]> {\n let encKeyEnc: CipherString = null;\n if (key.key.byteLength === 32) {\n const newKey = await this.stretchKey(key);\n encKeyEnc = await this.encrypt(encKey, newKey);\n } else if (key.key.byteLength === 64) {\n encKeyEnc = await this.encrypt(encKey, key);\n } else {\n throw new Error('Invalid key size.');\n }\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\n }\n}\n","// EFF's Long Wordlist from https://www.eff.org/dice\nexport const EEFLongWordList = [\n 'abacus',\n 'abdomen',\n 'abdominal',\n 'abide',\n 'abiding',\n 'ability',\n 'ablaze',\n 'able',\n 'abnormal',\n 'abrasion',\n 'abrasive',\n 'abreast',\n 'abridge',\n 'abroad',\n 'abruptly',\n 'absence',\n 'absentee',\n 'absently',\n 'absinthe',\n 'absolute',\n 'absolve',\n 'abstain',\n 'abstract',\n 'absurd',\n 'accent',\n 'acclaim',\n 'acclimate',\n 'accompany',\n 'account',\n 'accuracy',\n 'accurate',\n 'accustom',\n 'acetone',\n 'achiness',\n 'aching',\n 'acid',\n 'acorn',\n 'acquaint',\n 'acquire',\n 'acre',\n 'acrobat',\n 'acronym',\n 'acting',\n 'action',\n 'activate',\n 'activator',\n 'active',\n 'activism',\n 'activist',\n 'activity',\n 'actress',\n 'acts',\n 'acutely',\n 'acuteness',\n 'aeration',\n 'aerobics',\n 'aerosol',\n 'aerospace',\n 'afar',\n 'affair',\n 'affected',\n 'affecting',\n 'affection',\n 'affidavit',\n 'affiliate',\n 'affirm',\n 'affix',\n 'afflicted',\n 'affluent',\n 'afford',\n 'affront',\n 'aflame',\n 'afloat',\n 'aflutter',\n 'afoot',\n 'afraid',\n 'afterglow',\n 'afterlife',\n 'aftermath',\n 'aftermost',\n 'afternoon',\n 'aged',\n 'ageless',\n 'agency',\n 'agenda',\n 'agent',\n 'aggregate',\n 'aghast',\n 'agile',\n 'agility',\n 'aging',\n 'agnostic',\n 'agonize',\n 'agonizing',\n 'agony',\n 'agreeable',\n 'agreeably',\n 'agreed',\n 'agreeing',\n 'agreement',\n 'aground',\n 'ahead',\n 'ahoy',\n 'aide',\n 'aids',\n 'aim',\n 'ajar',\n 'alabaster',\n 'alarm',\n 'albatross',\n 'album',\n 'alfalfa',\n 'algebra',\n 'algorithm',\n 'alias',\n 'alibi',\n 'alienable',\n 'alienate',\n 'aliens',\n 'alike',\n 'alive',\n 'alkaline',\n 'alkalize',\n 'almanac',\n 'almighty',\n 'almost',\n 'aloe',\n 'aloft',\n 'aloha',\n 'alone',\n 'alongside',\n 'aloof',\n 'alphabet',\n 'alright',\n 'although',\n 'altitude',\n 'alto',\n 'aluminum',\n 'alumni',\n 'always',\n 'amaretto',\n 'amaze',\n 'amazingly',\n 'amber',\n 'ambiance',\n 'ambiguity',\n 'ambiguous',\n 'ambition',\n 'ambitious',\n 'ambulance',\n 'ambush',\n 'amendable',\n 'amendment',\n 'amends',\n 'amenity',\n 'amiable',\n 'amicably',\n 'amid',\n 'amigo',\n 'amino',\n 'amiss',\n 'ammonia',\n 'ammonium',\n 'amnesty',\n 'amniotic',\n 'among',\n 'amount',\n 'amperage',\n 'ample',\n 'amplifier',\n 'amplify',\n 'amply',\n 'amuck',\n 'amulet',\n 'amusable',\n 'amused',\n 'amusement',\n 'amuser',\n 'amusing',\n 'anaconda',\n 'anaerobic',\n 'anagram',\n 'anatomist',\n 'anatomy',\n 'anchor',\n 'anchovy',\n 'ancient',\n 'android',\n 'anemia',\n 'anemic',\n 'aneurism',\n 'anew',\n 'angelfish',\n 'angelic',\n 'anger',\n 'angled',\n 'angler',\n 'angles',\n 'angling',\n 'angrily',\n 'angriness',\n 'anguished',\n 'angular',\n 'animal',\n 'animate',\n 'animating',\n 'animation',\n 'animator',\n 'anime',\n 'animosity',\n 'ankle',\n 'annex',\n 'annotate',\n 'announcer',\n 'annoying',\n 'annually',\n 'annuity',\n 'anointer',\n 'another',\n 'answering',\n 'antacid',\n 'antarctic',\n 'anteater',\n 'antelope',\n 'antennae',\n 'anthem',\n 'anthill',\n 'anthology',\n 'antibody',\n 'antics',\n 'antidote',\n 'antihero',\n 'antiquely',\n 'antiques',\n 'antiquity',\n 'antirust',\n 'antitoxic',\n 'antitrust',\n 'antiviral',\n 'antivirus',\n 'antler',\n 'antonym',\n 'antsy',\n 'anvil',\n 'anybody',\n 'anyhow',\n 'anymore',\n 'anyone',\n 'anyplace',\n 'anything',\n 'anytime',\n 'anyway',\n 'anywhere',\n 'aorta',\n 'apache',\n 'apostle',\n 'appealing',\n 'appear',\n 'appease',\n 'appeasing',\n 'appendage',\n 'appendix',\n 'appetite',\n 'appetizer',\n 'applaud',\n 'applause',\n 'apple',\n 'appliance',\n 'applicant',\n 'applied',\n 'apply',\n 'appointee',\n 'appraisal',\n 'appraiser',\n 'apprehend',\n 'approach',\n 'approval',\n 'approve',\n 'apricot',\n 'april',\n 'apron',\n 'aptitude',\n 'aptly',\n 'aqua',\n 'aqueduct',\n 'arbitrary',\n 'arbitrate',\n 'ardently',\n 'area',\n 'arena',\n 'arguable',\n 'arguably',\n 'argue',\n 'arise',\n 'armadillo',\n 'armband',\n 'armchair',\n 'armed',\n 'armful',\n 'armhole',\n 'arming',\n 'armless',\n 'armoire',\n 'armored',\n 'armory',\n 'armrest',\n 'army',\n 'aroma',\n 'arose',\n 'around',\n 'arousal',\n 'arrange',\n 'array',\n 'arrest',\n 'arrival',\n 'arrive',\n 'arrogance',\n 'arrogant',\n 'arson',\n 'art',\n 'ascend',\n 'ascension',\n 'ascent',\n 'ascertain',\n 'ashamed',\n 'ashen',\n 'ashes',\n 'ashy',\n 'aside',\n 'askew',\n 'asleep',\n 'asparagus',\n 'aspect',\n 'aspirate',\n 'aspire',\n 'aspirin',\n 'astonish',\n 'astound',\n 'astride',\n 'astrology',\n 'astronaut',\n 'astronomy',\n 'astute',\n 'atlantic',\n 'atlas',\n 'atom',\n 'atonable',\n 'atop',\n 'atrium',\n 'atrocious',\n 'atrophy',\n 'attach',\n 'attain',\n 'attempt',\n 'attendant',\n 'attendee',\n 'attention',\n 'attentive',\n 'attest',\n 'attic',\n 'attire',\n 'attitude',\n 'attractor',\n 'attribute',\n 'atypical',\n 'auction',\n 'audacious',\n 'audacity',\n 'audible',\n 'audibly',\n 'audience',\n 'audio',\n 'audition',\n 'augmented',\n 'august',\n 'authentic',\n 'author',\n 'autism',\n 'autistic',\n 'autograph',\n 'automaker',\n 'automated',\n 'automatic',\n 'autopilot',\n 'available',\n 'avalanche',\n 'avatar',\n 'avenge',\n 'avenging',\n 'avenue',\n 'average',\n 'aversion',\n 'avert',\n 'aviation',\n 'aviator',\n 'avid',\n 'avoid',\n 'await',\n 'awaken',\n 'award',\n 'aware',\n 'awhile',\n 'awkward',\n 'awning',\n 'awoke',\n 'awry',\n 'axis',\n 'babble',\n 'babbling',\n 'babied',\n 'baboon',\n 'backache',\n 'backboard',\n 'backboned',\n 'backdrop',\n 'backed',\n 'backer',\n 'backfield',\n 'backfire',\n 'backhand',\n 'backing',\n 'backlands',\n 'backlash',\n 'backless',\n 'backlight',\n 'backlit',\n 'backlog',\n 'backpack',\n 'backpedal',\n 'backrest',\n 'backroom',\n 'backshift',\n 'backside',\n 'backslid',\n 'backspace',\n 'backspin',\n 'backstab',\n 'backstage',\n 'backtalk',\n 'backtrack',\n 'backup',\n 'backward',\n 'backwash',\n 'backwater',\n 'backyard',\n 'bacon',\n 'bacteria',\n 'bacterium',\n 'badass',\n 'badge',\n 'badland',\n 'badly',\n 'badness',\n 'baffle',\n 'baffling',\n 'bagel',\n 'bagful',\n 'baggage',\n 'bagged',\n 'baggie',\n 'bagginess',\n 'bagging',\n 'baggy',\n 'bagpipe',\n 'baguette',\n 'baked',\n 'bakery',\n 'bakeshop',\n 'baking',\n 'balance',\n 'balancing',\n 'balcony',\n 'balmy',\n 'balsamic',\n 'bamboo',\n 'banana',\n 'banish',\n 'banister',\n 'banjo',\n 'bankable',\n 'bankbook',\n 'banked',\n 'banker',\n 'banking',\n 'banknote',\n 'bankroll',\n 'banner',\n 'bannister',\n 'banshee',\n 'banter',\n 'barbecue',\n 'barbed',\n 'barbell',\n 'barber',\n 'barcode',\n 'barge',\n 'bargraph',\n 'barista',\n 'baritone',\n 'barley',\n 'barmaid',\n 'barman',\n 'barn',\n 'barometer',\n 'barrack',\n 'barracuda',\n 'barrel',\n 'barrette',\n 'barricade',\n 'barrier',\n 'barstool',\n 'bartender',\n 'barterer',\n 'bash',\n 'basically',\n 'basics',\n 'basil',\n 'basin',\n 'basis',\n 'basket',\n 'batboy',\n 'batch',\n 'bath',\n 'baton',\n 'bats',\n 'battalion',\n 'battered',\n 'battering',\n 'battery',\n 'batting',\n 'battle',\n 'bauble',\n 'bazooka',\n 'blabber',\n 'bladder',\n 'blade',\n 'blah',\n 'blame',\n 'blaming',\n 'blanching',\n 'blandness',\n 'blank',\n 'blaspheme',\n 'blasphemy',\n 'blast',\n 'blatancy',\n 'blatantly',\n 'blazer',\n 'blazing',\n 'bleach',\n 'bleak',\n 'bleep',\n 'blemish',\n 'blend',\n 'bless',\n 'blighted',\n 'blimp',\n 'bling',\n 'blinked',\n 'blinker',\n 'blinking',\n 'blinks',\n 'blip',\n 'blissful',\n 'blitz',\n 'blizzard',\n 'bloated',\n 'bloating',\n 'blob',\n 'blog',\n 'bloomers',\n 'blooming',\n 'blooper',\n 'blot',\n 'blouse',\n 'blubber',\n 'bluff',\n 'bluish',\n 'blunderer',\n 'blunt',\n 'blurb',\n 'blurred',\n 'blurry',\n 'blurt',\n 'blush',\n 'blustery',\n 'boaster',\n 'boastful',\n 'boasting',\n 'boat',\n 'bobbed',\n 'bobbing',\n 'bobble',\n 'bobcat',\n 'bobsled',\n 'bobtail',\n 'bodacious',\n 'body',\n 'bogged',\n 'boggle',\n 'bogus',\n 'boil',\n 'bok',\n 'bolster',\n 'bolt',\n 'bonanza',\n 'bonded',\n 'bonding',\n 'bondless',\n 'boned',\n 'bonehead',\n 'boneless',\n 'bonelike',\n 'boney',\n 'bonfire',\n 'bonnet',\n 'bonsai',\n 'bonus',\n 'bony',\n 'boogeyman',\n 'boogieman',\n 'book',\n 'boondocks',\n 'booted',\n 'booth',\n 'bootie',\n 'booting',\n 'bootlace',\n 'bootleg',\n 'boots',\n 'boozy',\n 'borax',\n 'boring',\n 'borough',\n 'borrower',\n 'borrowing',\n 'boss',\n 'botanical',\n 'botanist',\n 'botany',\n 'botch',\n 'both',\n 'bottle',\n 'bottling',\n 'bottom',\n 'bounce',\n 'bouncing',\n 'bouncy',\n 'bounding',\n 'boundless',\n 'bountiful',\n 'bovine',\n 'boxcar',\n 'boxer',\n 'boxing',\n 'boxlike',\n 'boxy',\n 'breach',\n 'breath',\n 'breeches',\n 'breeching',\n 'breeder',\n 'breeding',\n 'breeze',\n 'breezy',\n 'brethren',\n 'brewery',\n 'brewing',\n 'briar',\n 'bribe',\n 'brick',\n 'bride',\n 'bridged',\n 'brigade',\n 'bright',\n 'brilliant',\n 'brim',\n 'bring',\n 'brink',\n 'brisket',\n 'briskly',\n 'briskness',\n 'bristle',\n 'brittle',\n 'broadband',\n 'broadcast',\n 'broaden',\n 'broadly',\n 'broadness',\n 'broadside',\n 'broadways',\n 'broiler',\n 'broiling',\n 'broken',\n 'broker',\n 'bronchial',\n 'bronco',\n 'bronze',\n 'bronzing',\n 'brook',\n 'broom',\n 'brought',\n 'browbeat',\n 'brownnose',\n 'browse',\n 'browsing',\n 'bruising',\n 'brunch',\n 'brunette',\n 'brunt',\n 'brush',\n 'brussels',\n 'brute',\n 'brutishly',\n 'bubble',\n 'bubbling',\n 'bubbly',\n 'buccaneer',\n 'bucked',\n 'bucket',\n 'buckle',\n 'buckshot',\n 'buckskin',\n 'bucktooth',\n 'buckwheat',\n 'buddhism',\n 'buddhist',\n 'budding',\n 'buddy',\n 'budget',\n 'buffalo',\n 'buffed',\n 'buffer',\n 'buffing',\n 'buffoon',\n 'buggy',\n 'bulb',\n 'bulge',\n 'bulginess',\n 'bulgur',\n 'bulk',\n 'bulldog',\n 'bulldozer',\n 'bullfight',\n 'bullfrog',\n 'bullhorn',\n 'bullion',\n 'bullish',\n 'bullpen',\n 'bullring',\n 'bullseye',\n 'bullwhip',\n 'bully',\n 'bunch',\n 'bundle',\n 'bungee',\n 'bunion',\n 'bunkbed',\n 'bunkhouse',\n 'bunkmate',\n 'bunny',\n 'bunt',\n 'busboy',\n 'bush',\n 'busily',\n 'busload',\n 'bust',\n 'busybody',\n 'buzz',\n 'cabana',\n 'cabbage',\n 'cabbie',\n 'cabdriver',\n 'cable',\n 'caboose',\n 'cache',\n 'cackle',\n 'cacti',\n 'cactus',\n 'caddie',\n 'caddy',\n 'cadet',\n 'cadillac',\n 'cadmium',\n 'cage',\n 'cahoots',\n 'cake',\n 'calamari',\n 'calamity',\n 'calcium',\n 'calculate',\n 'calculus',\n 'caliber',\n 'calibrate',\n 'calm',\n 'caloric',\n 'calorie',\n 'calzone',\n 'camcorder',\n 'cameo',\n 'camera',\n 'camisole',\n 'camper',\n 'campfire',\n 'camping',\n 'campsite',\n 'campus',\n 'canal',\n 'canary',\n 'cancel',\n 'candied',\n 'candle',\n 'candy',\n 'cane',\n 'canine',\n 'canister',\n 'cannabis',\n 'canned',\n 'canning',\n 'cannon',\n 'cannot',\n 'canola',\n 'canon',\n 'canopener',\n 'canopy',\n 'canteen',\n 'canyon',\n 'capable',\n 'capably',\n 'capacity',\n 'cape',\n 'capillary',\n 'capital',\n 'capitol',\n 'capped',\n 'capricorn',\n 'capsize',\n 'capsule',\n 'caption',\n 'captivate',\n 'captive',\n 'captivity',\n 'capture',\n 'caramel',\n 'carat',\n 'caravan',\n 'carbon',\n 'cardboard',\n 'carded',\n 'cardiac',\n 'cardigan',\n 'cardinal',\n 'cardstock',\n 'carefully',\n 'caregiver',\n 'careless',\n 'caress',\n 'caretaker',\n 'cargo',\n 'caring',\n 'carless',\n 'carload',\n 'carmaker',\n 'carnage',\n 'carnation',\n 'carnival',\n 'carnivore',\n 'carol',\n 'carpenter',\n 'carpentry',\n 'carpool',\n 'carport',\n 'carried',\n 'carrot',\n 'carrousel',\n 'carry',\n 'cartel',\n 'cartload',\n 'carton',\n 'cartoon',\n 'cartridge',\n 'cartwheel',\n 'carve',\n 'carving',\n 'carwash',\n 'cascade',\n 'case',\n 'cash',\n 'casing',\n 'casino',\n 'casket',\n 'cassette',\n 'casually',\n 'casualty',\n 'catacomb',\n 'catalog',\n 'catalyst',\n 'catalyze',\n 'catapult',\n 'cataract',\n 'catatonic',\n 'catcall',\n 'catchable',\n 'catcher',\n 'catching',\n 'catchy',\n 'caterer',\n 'catering',\n 'catfight',\n 'catfish',\n 'cathedral',\n 'cathouse',\n 'catlike',\n 'catnap',\n 'catnip',\n 'catsup',\n 'cattail',\n 'cattishly',\n 'cattle',\n 'catty',\n 'catwalk',\n 'caucasian',\n 'caucus',\n 'causal',\n 'causation',\n 'cause',\n 'causing',\n 'cauterize',\n 'caution',\n 'cautious',\n 'cavalier',\n 'cavalry',\n 'caviar',\n 'cavity',\n 'cedar',\n 'celery',\n 'celestial',\n 'celibacy',\n 'celibate',\n 'celtic',\n 'cement',\n 'census',\n 'ceramics',\n 'ceremony',\n 'certainly',\n 'certainty',\n 'certified',\n 'certify',\n 'cesarean',\n 'cesspool',\n 'chafe',\n 'chaffing',\n 'chain',\n 'chair',\n 'chalice',\n 'challenge',\n 'chamber',\n 'chamomile',\n 'champion',\n 'chance',\n 'change',\n 'channel',\n 'chant',\n 'chaos',\n 'chaperone',\n 'chaplain',\n 'chapped',\n 'chaps',\n 'chapter',\n 'character',\n 'charbroil',\n 'charcoal',\n 'charger',\n 'charging',\n 'chariot',\n 'charity',\n 'charm',\n 'charred',\n 'charter',\n 'charting',\n 'chase',\n 'chasing',\n 'chaste',\n 'chastise',\n 'chastity',\n 'chatroom',\n 'chatter',\n 'chatting',\n 'chatty',\n 'cheating',\n 'cheddar',\n 'cheek',\n 'cheer',\n 'cheese',\n 'cheesy',\n 'chef',\n 'chemicals',\n 'chemist',\n 'chemo',\n 'cherisher',\n 'cherub',\n 'chess',\n 'chest',\n 'chevron',\n 'chevy',\n 'chewable',\n 'chewer',\n 'chewing',\n 'chewy',\n 'chief',\n 'chihuahua',\n 'childcare',\n 'childhood',\n 'childish',\n 'childless',\n 'childlike',\n 'chili',\n 'chill',\n 'chimp',\n 'chip',\n 'chirping',\n 'chirpy',\n 'chitchat',\n 'chivalry',\n 'chive',\n 'chloride',\n 'chlorine',\n 'choice',\n 'chokehold',\n 'choking',\n 'chomp',\n 'chooser',\n 'choosing',\n 'choosy',\n 'chop',\n 'chosen',\n 'chowder',\n 'chowtime',\n 'chrome',\n 'chubby',\n 'chuck',\n 'chug',\n 'chummy',\n 'chump',\n 'chunk',\n 'churn',\n 'chute',\n 'cider',\n 'cilantro',\n 'cinch',\n 'cinema',\n 'cinnamon',\n 'circle',\n 'circling',\n 'circular',\n 'circulate',\n 'circus',\n 'citable',\n 'citadel',\n 'citation',\n 'citizen',\n 'citric',\n 'citrus',\n 'city',\n 'civic',\n 'civil',\n 'clad',\n 'claim',\n 'clambake',\n 'clammy',\n 'clamor',\n 'clamp',\n 'clamshell',\n 'clang',\n 'clanking',\n 'clapped',\n 'clapper',\n 'clapping',\n 'clarify',\n 'clarinet',\n 'clarity',\n 'clash',\n 'clasp',\n 'class',\n 'clatter',\n 'clause',\n 'clavicle',\n 'claw',\n 'clay',\n 'clean',\n 'clear',\n 'cleat',\n 'cleaver',\n 'cleft',\n 'clench',\n 'clergyman',\n 'clerical',\n 'clerk',\n 'clever',\n 'clicker',\n 'client',\n 'climate',\n 'climatic',\n 'cling',\n 'clinic',\n 'clinking',\n 'clip',\n 'clique',\n 'cloak',\n 'clobber',\n 'clock',\n 'clone',\n 'cloning',\n 'closable',\n 'closure',\n 'clothes',\n 'clothing',\n 'cloud',\n 'clover',\n 'clubbed',\n 'clubbing',\n 'clubhouse',\n 'clump',\n 'clumsily',\n 'clumsy',\n 'clunky',\n 'clustered',\n 'clutch',\n 'clutter',\n 'coach',\n 'coagulant',\n 'coastal',\n 'coaster',\n 'coasting',\n 'coastland',\n 'coastline',\n 'coat',\n 'coauthor',\n 'cobalt',\n 'cobbler',\n 'cobweb',\n 'cocoa',\n 'coconut',\n 'cod',\n 'coeditor',\n 'coerce',\n 'coexist',\n 'coffee',\n 'cofounder',\n 'cognition',\n 'cognitive',\n 'cogwheel',\n 'coherence',\n 'coherent',\n 'cohesive',\n 'coil',\n 'coke',\n 'cola',\n 'cold',\n 'coleslaw',\n 'coliseum',\n 'collage',\n 'collapse',\n 'collar',\n 'collected',\n 'collector',\n 'collide',\n 'collie',\n 'collision',\n 'colonial',\n 'colonist',\n 'colonize',\n 'colony',\n 'colossal',\n 'colt',\n 'coma',\n 'come',\n 'comfort',\n 'comfy',\n 'comic',\n 'coming',\n 'comma',\n 'commence',\n 'commend',\n 'comment',\n 'commerce',\n 'commode',\n 'commodity',\n 'commodore',\n 'common',\n 'commotion',\n 'commute',\n 'commuting',\n 'compacted',\n 'compacter',\n 'compactly',\n 'compactor',\n 'companion',\n 'company',\n 'compare',\n 'compel',\n 'compile',\n 'comply',\n 'component',\n 'composed',\n 'composer',\n 'composite',\n 'compost',\n 'composure',\n 'compound',\n 'compress',\n 'comprised',\n 'computer',\n 'computing',\n 'comrade',\n 'concave',\n 'conceal',\n 'conceded',\n 'concept',\n 'concerned',\n 'concert',\n 'conch',\n 'concierge',\n 'concise',\n 'conclude',\n 'concrete',\n 'concur',\n 'condense',\n 'condiment',\n 'condition',\n 'condone',\n 'conducive',\n 'conductor',\n 'conduit',\n 'cone',\n 'confess',\n 'confetti',\n 'confidant',\n 'confident',\n 'confider',\n 'confiding',\n 'configure',\n 'confined',\n 'confining',\n 'confirm',\n 'conflict',\n 'conform',\n 'confound',\n 'confront',\n 'confused',\n 'confusing',\n 'confusion',\n 'congenial',\n 'congested',\n 'congrats',\n 'congress',\n 'conical',\n 'conjoined',\n 'conjure',\n 'conjuror',\n 'connected',\n 'connector',\n 'consensus',\n 'consent',\n 'console',\n 'consoling',\n 'consonant',\n 'constable',\n 'constant',\n 'constrain',\n 'constrict',\n 'construct',\n 'consult',\n 'consumer',\n 'consuming',\n 'contact',\n 'container',\n 'contempt',\n 'contend',\n 'contented',\n 'contently',\n 'contents',\n 'contest',\n 'context',\n 'contort',\n 'contour',\n 'contrite',\n 'control',\n 'contusion',\n 'convene',\n 'convent',\n 'copartner',\n 'cope',\n 'copied',\n 'copier',\n 'copilot',\n 'coping',\n 'copious',\n 'copper',\n 'copy',\n 'coral',\n 'cork',\n 'cornball',\n 'cornbread',\n 'corncob',\n 'cornea',\n 'corned',\n 'corner',\n 'cornfield',\n 'cornflake',\n 'cornhusk',\n 'cornmeal',\n 'cornstalk',\n 'corny',\n 'coronary',\n 'coroner',\n 'corporal',\n 'corporate',\n 'corral',\n 'correct',\n 'corridor',\n 'corrode',\n 'corroding',\n 'corrosive',\n 'corsage',\n 'corset',\n 'cortex',\n 'cosigner',\n 'cosmetics',\n 'cosmic',\n 'cosmos',\n 'cosponsor',\n 'cost',\n 'cottage',\n 'cotton',\n 'couch',\n 'cough',\n 'could',\n 'countable',\n 'countdown',\n 'counting',\n 'countless',\n 'country',\n 'county',\n 'courier',\n 'covenant',\n 'cover',\n 'coveted',\n 'coveting',\n 'coyness',\n 'cozily',\n 'coziness',\n 'cozy',\n 'crabbing',\n 'crabgrass',\n 'crablike',\n 'crabmeat',\n 'cradle',\n 'cradling',\n 'crafter',\n 'craftily',\n 'craftsman',\n 'craftwork',\n 'crafty',\n 'cramp',\n 'cranberry',\n 'crane',\n 'cranial',\n 'cranium',\n 'crank',\n 'crate',\n 'crave',\n 'craving',\n 'crawfish',\n 'crawlers',\n 'crawling',\n 'crayfish',\n 'crayon',\n 'crazed',\n 'crazily',\n 'craziness',\n 'crazy',\n 'creamed',\n 'creamer',\n 'creamlike',\n 'crease',\n 'creasing',\n 'creatable',\n 'create',\n 'creation',\n 'creative',\n 'creature',\n 'credible',\n 'credibly',\n 'credit',\n 'creed',\n 'creme',\n 'creole',\n 'crepe',\n 'crept',\n 'crescent',\n 'crested',\n 'cresting',\n 'crestless',\n 'crevice',\n 'crewless',\n 'crewman',\n 'crewmate',\n 'crib',\n 'cricket',\n 'cried',\n 'crier',\n 'crimp',\n 'crimson',\n 'cringe',\n 'cringing',\n 'crinkle',\n 'crinkly',\n 'crisped',\n 'crisping',\n 'crisply',\n 'crispness',\n 'crispy',\n 'criteria',\n 'critter',\n 'croak',\n 'crock',\n 'crook',\n 'croon',\n 'crop',\n 'cross',\n 'crouch',\n 'crouton',\n 'crowbar',\n 'crowd',\n 'crown',\n 'crucial',\n 'crudely',\n 'crudeness',\n 'cruelly',\n 'cruelness',\n 'cruelty',\n 'crumb',\n 'crummiest',\n 'crummy',\n 'crumpet',\n 'crumpled',\n 'cruncher',\n 'crunching',\n 'crunchy',\n 'crusader',\n 'crushable',\n 'crushed',\n 'crusher',\n 'crushing',\n 'crust',\n 'crux',\n 'crying',\n 'cryptic',\n 'crystal',\n 'cubbyhole',\n 'cube',\n 'cubical',\n 'cubicle',\n 'cucumber',\n 'cuddle',\n 'cuddly',\n 'cufflink',\n 'culinary',\n 'culminate',\n 'culpable',\n 'culprit',\n 'cultivate',\n 'cultural',\n 'culture',\n 'cupbearer',\n 'cupcake',\n 'cupid',\n 'cupped',\n 'cupping',\n 'curable',\n 'curator',\n 'curdle',\n 'cure',\n 'curfew',\n 'curing',\n 'curled',\n 'curler',\n 'curliness',\n 'curling',\n 'curly',\n 'curry',\n 'curse',\n 'cursive',\n 'cursor',\n 'curtain',\n 'curtly',\n 'curtsy',\n 'curvature',\n 'curve',\n 'curvy',\n 'cushy',\n 'cusp',\n 'cussed',\n 'custard',\n 'custodian',\n 'custody',\n 'customary',\n 'customer',\n 'customize',\n 'customs',\n 'cut',\n 'cycle',\n 'cyclic',\n 'cycling',\n 'cyclist',\n 'cylinder',\n 'cymbal',\n 'cytoplasm',\n 'cytoplast',\n 'dab',\n 'dad',\n 'daffodil',\n 'dagger',\n 'daily',\n 'daintily',\n 'dainty',\n 'dairy',\n 'daisy',\n 'dallying',\n 'dance',\n 'dancing',\n 'dandelion',\n 'dander',\n 'dandruff',\n 'dandy',\n 'danger',\n 'dangle',\n 'dangling',\n 'daredevil',\n 'dares',\n 'daringly',\n 'darkened',\n 'darkening',\n 'darkish',\n 'darkness',\n 'darkroom',\n 'darling',\n 'darn',\n 'dart',\n 'darwinism',\n 'dash',\n 'dastardly',\n 'data',\n 'datebook',\n 'dating',\n 'daughter',\n 'daunting',\n 'dawdler',\n 'dawn',\n 'daybed',\n 'daybreak',\n 'daycare',\n 'daydream',\n 'daylight',\n 'daylong',\n 'dayroom',\n 'daytime',\n 'dazzler',\n 'dazzling',\n 'deacon',\n 'deafening',\n 'deafness',\n 'dealer',\n 'dealing',\n 'dealmaker',\n 'dealt',\n 'dean',\n 'debatable',\n 'debate',\n 'debating',\n 'debit',\n 'debrief',\n 'debtless',\n 'debtor',\n 'debug',\n 'debunk',\n 'decade',\n 'decaf',\n 'decal',\n 'decathlon',\n 'decay',\n 'deceased',\n 'deceit',\n 'deceiver',\n 'deceiving',\n 'december',\n 'decency',\n 'decent',\n 'deception',\n 'deceptive',\n 'decibel',\n 'decidable',\n 'decimal',\n 'decimeter',\n 'decipher',\n 'deck',\n 'declared',\n 'decline',\n 'decode',\n 'decompose',\n 'decorated',\n 'decorator',\n 'decoy',\n 'decrease',\n 'decree',\n 'dedicate',\n 'dedicator',\n 'deduce',\n 'deduct',\n 'deed',\n 'deem',\n 'deepen',\n 'deeply',\n 'deepness',\n 'deface',\n 'defacing',\n 'defame',\n 'default',\n 'defeat',\n 'defection',\n 'defective',\n 'defendant',\n 'defender',\n 'defense',\n 'defensive',\n 'deferral',\n 'deferred',\n 'defiance',\n 'defiant',\n 'defile',\n 'defiling',\n 'define',\n 'definite',\n 'deflate',\n 'deflation',\n 'deflator',\n 'deflected',\n 'deflector',\n 'defog',\n 'deforest',\n 'defraud',\n 'defrost',\n 'deftly',\n 'defuse',\n 'defy',\n 'degraded',\n 'degrading',\n 'degrease',\n 'degree',\n 'dehydrate',\n 'deity',\n 'dejected',\n 'delay',\n 'delegate',\n 'delegator',\n 'delete',\n 'deletion',\n 'delicacy',\n 'delicate',\n 'delicious',\n 'delighted',\n 'delirious',\n 'delirium',\n 'deliverer',\n 'delivery',\n 'delouse',\n 'delta',\n 'deluge',\n 'delusion',\n 'deluxe',\n 'demanding',\n 'demeaning',\n 'demeanor',\n 'demise',\n 'democracy',\n 'democrat',\n 'demote',\n 'demotion',\n 'demystify',\n 'denatured',\n 'deniable',\n 'denial',\n 'denim',\n 'denote',\n 'dense',\n 'density',\n 'dental',\n 'dentist',\n 'denture',\n 'deny',\n 'deodorant',\n 'deodorize',\n 'departed',\n 'departure',\n 'depict',\n 'deplete',\n 'depletion',\n 'deplored',\n 'deploy',\n 'deport',\n 'depose',\n 'depraved',\n 'depravity',\n 'deprecate',\n 'depress',\n 'deprive',\n 'depth',\n 'deputize',\n 'deputy',\n 'derail',\n 'deranged',\n 'derby',\n 'derived',\n 'desecrate',\n 'deserve',\n 'deserving',\n 'designate',\n 'designed',\n 'designer',\n 'designing',\n 'deskbound',\n 'desktop',\n 'deskwork',\n 'desolate',\n 'despair',\n 'despise',\n 'despite',\n 'destiny',\n 'destitute',\n 'destruct',\n 'detached',\n 'detail',\n 'detection',\n 'detective',\n 'detector',\n 'detention',\n 'detergent',\n 'detest',\n 'detonate',\n 'detonator',\n 'detoxify',\n 'detract',\n 'deuce',\n 'devalue',\n 'deviancy',\n 'deviant',\n 'deviate',\n 'deviation',\n 'deviator',\n 'device',\n 'devious',\n 'devotedly',\n 'devotee',\n 'devotion',\n 'devourer',\n 'devouring',\n 'devoutly',\n 'dexterity',\n 'dexterous',\n 'diabetes',\n 'diabetic',\n 'diabolic',\n 'diagnoses',\n 'diagnosis',\n 'diagram',\n 'dial',\n 'diameter',\n 'diaper',\n 'diaphragm',\n 'diary',\n 'dice',\n 'dicing',\n 'dictate',\n 'dictation',\n 'dictator',\n 'difficult',\n 'diffused',\n 'diffuser',\n 'diffusion',\n 'diffusive',\n 'dig',\n 'dilation',\n 'diligence',\n 'diligent',\n 'dill',\n 'dilute',\n 'dime',\n 'diminish',\n 'dimly',\n 'dimmed',\n 'dimmer',\n 'dimness',\n 'dimple',\n 'diner',\n 'dingbat',\n 'dinghy',\n 'dinginess',\n 'dingo',\n 'dingy',\n 'dining',\n 'dinner',\n 'diocese',\n 'dioxide',\n 'diploma',\n 'dipped',\n 'dipper',\n 'dipping',\n 'directed',\n 'direction',\n 'directive',\n 'directly',\n 'directory',\n 'direness',\n 'dirtiness',\n 'disabled',\n 'disagree',\n 'disallow',\n 'disarm',\n 'disarray',\n 'disaster',\n 'disband',\n 'disbelief',\n 'disburse',\n 'discard',\n 'discern',\n 'discharge',\n 'disclose',\n 'discolor',\n 'discount',\n 'discourse',\n 'discover',\n 'discuss',\n 'disdain',\n 'disengage',\n 'disfigure',\n 'disgrace',\n 'dish',\n 'disinfect',\n 'disjoin',\n 'disk',\n 'dislike',\n 'disliking',\n 'dislocate',\n 'dislodge',\n 'disloyal',\n 'dismantle',\n 'dismay',\n 'dismiss',\n 'dismount',\n 'disobey',\n 'disorder',\n 'disown',\n 'disparate',\n 'disparity',\n 'dispatch',\n 'dispense',\n 'dispersal',\n 'dispersed',\n 'disperser',\n 'displace',\n 'display',\n 'displease',\n 'disposal',\n 'dispose',\n 'disprove',\n 'dispute',\n 'disregard',\n 'disrupt',\n 'dissuade',\n 'distance',\n 'distant',\n 'distaste',\n 'distill',\n 'distinct',\n 'distort',\n 'distract',\n 'distress',\n 'district',\n 'distrust',\n 'ditch',\n 'ditto',\n 'ditzy',\n 'dividable',\n 'divided',\n 'dividend',\n 'dividers',\n 'dividing',\n 'divinely',\n 'diving',\n 'divinity',\n 'divisible',\n 'divisibly',\n 'division',\n 'divisive',\n 'divorcee',\n 'dizziness',\n 'dizzy',\n 'doable',\n 'docile',\n 'dock',\n 'doctrine',\n 'document',\n 'dodge',\n 'dodgy',\n 'doily',\n 'doing',\n 'dole',\n 'dollar',\n 'dollhouse',\n 'dollop',\n 'dolly',\n 'dolphin',\n 'domain',\n 'domelike',\n 'domestic',\n 'dominion',\n 'dominoes',\n 'donated',\n 'donation',\n 'donator',\n 'donor',\n 'donut',\n 'doodle',\n 'doorbell',\n 'doorframe',\n 'doorknob',\n 'doorman',\n 'doormat',\n 'doornail',\n 'doorpost',\n 'doorstep',\n 'doorstop',\n 'doorway',\n 'doozy',\n 'dork',\n 'dormitory',\n 'dorsal',\n 'dosage',\n 'dose',\n 'dotted',\n 'doubling',\n 'douche',\n 'dove',\n 'down',\n 'dowry',\n 'doze',\n 'drab',\n 'dragging',\n 'dragonfly',\n 'dragonish',\n 'dragster',\n 'drainable',\n 'drainage',\n 'drained',\n 'drainer',\n 'drainpipe',\n 'dramatic',\n 'dramatize',\n 'drank',\n 'drapery',\n 'drastic',\n 'draw',\n 'dreaded',\n 'dreadful',\n 'dreadlock',\n 'dreamboat',\n 'dreamily',\n 'dreamland',\n 'dreamless',\n 'dreamlike',\n 'dreamt',\n 'dreamy',\n 'drearily',\n 'dreary',\n 'drench',\n 'dress',\n 'drew',\n 'dribble',\n 'dried',\n 'drier',\n 'drift',\n 'driller',\n 'drilling',\n 'drinkable',\n 'drinking',\n 'dripping',\n 'drippy',\n 'drivable',\n 'driven',\n 'driver',\n 'driveway',\n 'driving',\n 'drizzle',\n 'drizzly',\n 'drone',\n 'drool',\n 'droop',\n 'drop-down',\n 'dropbox',\n 'dropkick',\n 'droplet',\n 'dropout',\n 'dropper',\n 'drove',\n 'drown',\n 'drowsily',\n 'drudge',\n 'drum',\n 'dry',\n 'dubbed',\n 'dubiously',\n 'duchess',\n 'duckbill',\n 'ducking',\n 'duckling',\n 'ducktail',\n 'ducky',\n 'duct',\n 'dude',\n 'duffel',\n 'dugout',\n 'duh',\n 'duke',\n 'duller',\n 'dullness',\n 'duly',\n 'dumping',\n 'dumpling',\n 'dumpster',\n 'duo',\n 'dupe',\n 'duplex',\n 'duplicate',\n 'duplicity',\n 'durable',\n 'durably',\n 'duration',\n 'duress',\n 'during',\n 'dusk',\n 'dust',\n 'dutiful',\n 'duty',\n 'duvet',\n 'dwarf',\n 'dweeb',\n 'dwelled',\n 'dweller',\n 'dwelling',\n 'dwindle',\n 'dwindling',\n 'dynamic',\n 'dynamite',\n 'dynasty',\n 'dyslexia',\n 'dyslexic',\n 'each',\n 'eagle',\n 'earache',\n 'eardrum',\n 'earflap',\n 'earful',\n 'earlobe',\n 'early',\n 'earmark',\n 'earmuff',\n 'earphone',\n 'earpiece',\n 'earplugs',\n 'earring',\n 'earshot',\n 'earthen',\n 'earthlike',\n 'earthling',\n 'earthly',\n 'earthworm',\n 'earthy',\n 'earwig',\n 'easeful',\n 'easel',\n 'easiest',\n 'easily',\n 'easiness',\n 'easing',\n 'eastbound',\n 'eastcoast',\n 'easter',\n 'eastward',\n 'eatable',\n 'eaten',\n 'eatery',\n 'eating',\n 'eats',\n 'ebay',\n 'ebony',\n 'ebook',\n 'ecard',\n 'eccentric',\n 'echo',\n 'eclair',\n 'eclipse',\n 'ecologist',\n 'ecology',\n 'economic',\n 'economist',\n 'economy',\n 'ecosphere',\n 'ecosystem',\n 'edge',\n 'edginess',\n 'edging',\n 'edgy',\n 'edition',\n 'editor',\n 'educated',\n 'education',\n 'educator',\n 'eel',\n 'effective',\n 'effects',\n 'efficient',\n 'effort',\n 'eggbeater',\n 'egging',\n 'eggnog',\n 'eggplant',\n 'eggshell',\n 'egomaniac',\n 'egotism',\n 'egotistic',\n 'either',\n 'eject',\n 'elaborate',\n 'elastic',\n 'elated',\n 'elbow',\n 'eldercare',\n 'elderly',\n 'eldest',\n 'electable',\n 'election',\n 'elective',\n 'elephant',\n 'elevate',\n 'elevating',\n 'elevation',\n 'elevator',\n 'eleven',\n 'elf',\n 'eligible',\n 'eligibly',\n 'eliminate',\n 'elite',\n 'elitism',\n 'elixir',\n 'elk',\n 'ellipse',\n 'elliptic',\n 'elm',\n 'elongated',\n 'elope',\n 'eloquence',\n 'eloquent',\n 'elsewhere',\n 'elude',\n 'elusive',\n 'elves',\n 'email',\n 'embargo',\n 'embark',\n 'embassy',\n 'embattled',\n 'embellish',\n 'ember',\n 'embezzle',\n 'emblaze',\n 'emblem',\n 'embody',\n 'embolism',\n 'emboss',\n 'embroider',\n 'emcee',\n 'emerald',\n 'emergency',\n 'emission',\n 'emit',\n 'emote',\n 'emoticon',\n 'emotion',\n 'empathic',\n 'empathy',\n 'emperor',\n 'emphases',\n 'emphasis',\n 'emphasize',\n 'emphatic',\n 'empirical',\n 'employed',\n 'employee',\n 'employer',\n 'emporium',\n 'empower',\n 'emptier',\n 'emptiness',\n 'empty',\n 'emu',\n 'enable',\n 'enactment',\n 'enamel',\n 'enchanted',\n 'enchilada',\n 'encircle',\n 'enclose',\n 'enclosure',\n 'encode',\n 'encore',\n 'encounter',\n 'encourage',\n 'encroach',\n 'encrust',\n 'encrypt',\n 'endanger',\n 'endeared',\n 'endearing',\n 'ended',\n 'ending',\n 'endless',\n 'endnote',\n 'endocrine',\n 'endorphin',\n 'endorse',\n 'endowment',\n 'endpoint',\n 'endurable',\n 'endurance',\n 'enduring',\n 'energetic',\n 'energize',\n 'energy',\n 'enforced',\n 'enforcer',\n 'engaged',\n 'engaging',\n 'engine',\n 'engorge',\n 'engraved',\n 'engraver',\n 'engraving',\n 'engross',\n 'engulf',\n 'enhance',\n 'enigmatic',\n 'enjoyable',\n 'enjoyably',\n 'enjoyer',\n 'enjoying',\n 'enjoyment',\n 'enlarged',\n 'enlarging',\n 'enlighten',\n 'enlisted',\n 'enquirer',\n 'enrage',\n 'enrich',\n 'enroll',\n 'enslave',\n 'ensnare',\n 'ensure',\n 'entail',\n 'entangled',\n 'entering',\n 'entertain',\n 'enticing',\n 'entire',\n 'entitle',\n 'entity',\n 'entomb',\n 'entourage',\n 'entrap',\n 'entree',\n 'entrench',\n 'entrust',\n 'entryway',\n 'entwine',\n 'enunciate',\n 'envelope',\n 'enviable',\n 'enviably',\n 'envious',\n 'envision',\n 'envoy',\n 'envy',\n 'enzyme',\n 'epic',\n 'epidemic',\n 'epidermal',\n 'epidermis',\n 'epidural',\n 'epilepsy',\n 'epileptic',\n 'epilogue',\n 'epiphany',\n 'episode',\n 'equal',\n 'equate',\n 'equation',\n 'equator',\n 'equinox',\n 'equipment',\n 'equity',\n 'equivocal',\n 'eradicate',\n 'erasable',\n 'erased',\n 'eraser',\n 'erasure',\n 'ergonomic',\n 'errand',\n 'errant',\n 'erratic',\n 'error',\n 'erupt',\n 'escalate',\n 'escalator',\n 'escapable',\n 'escapade',\n 'escapist',\n 'escargot',\n 'eskimo',\n 'esophagus',\n 'espionage',\n 'espresso',\n 'esquire',\n 'essay',\n 'essence',\n 'essential',\n 'establish',\n 'estate',\n 'esteemed',\n 'estimate',\n 'estimator',\n 'estranged',\n 'estrogen',\n 'etching',\n 'eternal',\n 'eternity',\n 'ethanol',\n 'ether',\n 'ethically',\n 'ethics',\n 'euphemism',\n 'evacuate',\n 'evacuee',\n 'evade',\n 'evaluate',\n 'evaluator',\n 'evaporate',\n 'evasion',\n 'evasive',\n 'even',\n 'everglade',\n 'evergreen',\n 'everybody',\n 'everyday',\n 'everyone',\n 'evict',\n 'evidence',\n 'evident',\n 'evil',\n 'evoke',\n 'evolution',\n 'evolve',\n 'exact',\n 'exalted',\n 'example',\n 'excavate',\n 'excavator',\n 'exceeding',\n 'exception',\n 'excess',\n 'exchange',\n 'excitable',\n 'exciting',\n 'exclaim',\n 'exclude',\n 'excluding',\n 'exclusion',\n 'exclusive',\n 'excretion',\n 'excretory',\n 'excursion',\n 'excusable',\n 'excusably',\n 'excuse',\n 'exemplary',\n 'exemplify',\n 'exemption',\n 'exerciser',\n 'exert',\n 'exes',\n 'exfoliate',\n 'exhale',\n 'exhaust',\n 'exhume',\n 'exile',\n 'existing',\n 'exit',\n 'exodus',\n 'exonerate',\n 'exorcism',\n 'exorcist',\n 'expand',\n 'expanse',\n 'expansion',\n 'expansive',\n 'expectant',\n 'expedited',\n 'expediter',\n 'expel',\n 'expend',\n 'expenses',\n 'expensive',\n 'expert',\n 'expire',\n 'expiring',\n 'explain',\n 'expletive',\n 'explicit',\n 'explode',\n 'exploit',\n 'explore',\n 'exploring',\n 'exponent',\n 'exporter',\n 'exposable',\n 'expose',\n 'exposure',\n 'express',\n 'expulsion',\n 'exquisite',\n 'extended',\n 'extending',\n 'extent',\n 'extenuate',\n 'exterior',\n 'external',\n 'extinct',\n 'extortion',\n 'extradite',\n 'extras',\n 'extrovert',\n 'extrude',\n 'extruding',\n 'exuberant',\n 'fable',\n 'fabric',\n 'fabulous',\n 'facebook',\n 'facecloth',\n 'facedown',\n 'faceless',\n 'facelift',\n 'faceplate',\n 'faceted',\n 'facial',\n 'facility',\n 'facing',\n 'facsimile',\n 'faction',\n 'factoid',\n 'factor',\n 'factsheet',\n 'factual',\n 'faculty',\n 'fade',\n 'fading',\n 'failing',\n 'falcon',\n 'fall',\n 'false',\n 'falsify',\n 'fame',\n 'familiar',\n 'family',\n 'famine',\n 'famished',\n 'fanatic',\n 'fancied',\n 'fanciness',\n 'fancy',\n 'fanfare',\n 'fang',\n 'fanning',\n 'fantasize',\n 'fantastic',\n 'fantasy',\n 'fascism',\n 'fastball',\n 'faster',\n 'fasting',\n 'fastness',\n 'faucet',\n 'favorable',\n 'favorably',\n 'favored',\n 'favoring',\n 'favorite',\n 'fax',\n 'feast',\n 'federal',\n 'fedora',\n 'feeble',\n 'feed',\n 'feel',\n 'feisty',\n 'feline',\n 'felt-tip',\n 'feminine',\n 'feminism',\n 'feminist',\n 'feminize',\n 'femur',\n 'fence',\n 'fencing',\n 'fender',\n 'ferment',\n 'fernlike',\n 'ferocious',\n 'ferocity',\n 'ferret',\n 'ferris',\n 'ferry',\n 'fervor',\n 'fester',\n 'festival',\n 'festive',\n 'festivity',\n 'fetal',\n 'fetch',\n 'fever',\n 'fiber',\n 'fiction',\n 'fiddle',\n 'fiddling',\n 'fidelity',\n 'fidgeting',\n 'fidgety',\n 'fifteen',\n 'fifth',\n 'fiftieth',\n 'fifty',\n 'figment',\n 'figure',\n 'figurine',\n 'filing',\n 'filled',\n 'filler',\n 'filling',\n 'film',\n 'filter',\n 'filth',\n 'filtrate',\n 'finale',\n 'finalist',\n 'finalize',\n 'finally',\n 'finance',\n 'financial',\n 'finch',\n 'fineness',\n 'finer',\n 'finicky',\n 'finished',\n 'finisher',\n 'finishing',\n 'finite',\n 'finless',\n 'finlike',\n 'fiscally',\n 'fit',\n 'five',\n 'flaccid',\n 'flagman',\n 'flagpole',\n 'flagship',\n 'flagstick',\n 'flagstone',\n 'flail',\n 'flakily',\n 'flaky',\n 'flame',\n 'flammable',\n 'flanked',\n 'flanking',\n 'flannels',\n 'flap',\n 'flaring',\n 'flashback',\n 'flashbulb',\n 'flashcard',\n 'flashily',\n 'flashing',\n 'flashy',\n 'flask',\n 'flatbed',\n 'flatfoot',\n 'flatly',\n 'flatness',\n 'flatten',\n 'flattered',\n 'flatterer',\n 'flattery',\n 'flattop',\n 'flatware',\n 'flatworm',\n 'flavored',\n 'flavorful',\n 'flavoring',\n 'flaxseed',\n 'fled',\n 'fleshed',\n 'fleshy',\n 'flick',\n 'flier',\n 'flight',\n 'flinch',\n 'fling',\n 'flint',\n 'flip',\n 'flirt',\n 'float',\n 'flock',\n 'flogging',\n 'flop',\n 'floral',\n 'florist',\n 'floss',\n 'flounder',\n 'flyable',\n 'flyaway',\n 'flyer',\n 'flying',\n 'flyover',\n 'flypaper',\n 'foam',\n 'foe',\n 'fog',\n 'foil',\n 'folic',\n 'folk',\n 'follicle',\n 'follow',\n 'fondling',\n 'fondly',\n 'fondness',\n 'fondue',\n 'font',\n 'food',\n 'fool',\n 'footage',\n 'football',\n 'footbath',\n 'footboard',\n 'footer',\n 'footgear',\n 'foothill',\n 'foothold',\n 'footing',\n 'footless',\n 'footman',\n 'footnote',\n 'footpad',\n 'footpath',\n 'footprint',\n 'footrest',\n 'footsie',\n 'footsore',\n 'footwear',\n 'footwork',\n 'fossil',\n 'foster',\n 'founder',\n 'founding',\n 'fountain',\n 'fox',\n 'foyer',\n 'fraction',\n 'fracture',\n 'fragile',\n 'fragility',\n 'fragment',\n 'fragrance',\n 'fragrant',\n 'frail',\n 'frame',\n 'framing',\n 'frantic',\n 'fraternal',\n 'frayed',\n 'fraying',\n 'frays',\n 'freckled',\n 'freckles',\n 'freebase',\n 'freebee',\n 'freebie',\n 'freedom',\n 'freefall',\n 'freehand',\n 'freeing',\n 'freeload',\n 'freely',\n 'freemason',\n 'freeness',\n 'freestyle',\n 'freeware',\n 'freeway',\n 'freewill',\n 'freezable',\n 'freezing',\n 'freight',\n 'french',\n 'frenzied',\n 'frenzy',\n 'frequency',\n 'frequent',\n 'fresh',\n 'fretful',\n 'fretted',\n 'friction',\n 'friday',\n 'fridge',\n 'fried',\n 'friend',\n 'frighten',\n 'frightful',\n 'frigidity',\n 'frigidly',\n 'frill',\n 'fringe',\n 'frisbee',\n 'frisk',\n 'fritter',\n 'frivolous',\n 'frolic',\n 'from',\n 'front',\n 'frostbite',\n 'frosted',\n 'frostily',\n 'frosting',\n 'frostlike',\n 'frosty',\n 'froth',\n 'frown',\n 'frozen',\n 'fructose',\n 'frugality',\n 'frugally',\n 'fruit',\n 'frustrate',\n 'frying',\n 'gab',\n 'gaffe',\n 'gag',\n 'gainfully',\n 'gaining',\n 'gains',\n 'gala',\n 'gallantly',\n 'galleria',\n 'gallery',\n 'galley',\n 'gallon',\n 'gallows',\n 'gallstone',\n 'galore',\n 'galvanize',\n 'gambling',\n 'game',\n 'gaming',\n 'gamma',\n 'gander',\n 'gangly',\n 'gangrene',\n 'gangway',\n 'gap',\n 'garage',\n 'garbage',\n 'garden',\n 'gargle',\n 'garland',\n 'garlic',\n 'garment',\n 'garnet',\n 'garnish',\n 'garter',\n 'gas',\n 'gatherer',\n 'gathering',\n 'gating',\n 'gauging',\n 'gauntlet',\n 'gauze',\n 'gave',\n 'gawk',\n 'gazing',\n 'gear',\n 'gecko',\n 'geek',\n 'geiger',\n 'gem',\n 'gender',\n 'generic',\n 'generous',\n 'genetics',\n 'genre',\n 'gentile',\n 'gentleman',\n 'gently',\n 'gents',\n 'geography',\n 'geologic',\n 'geologist',\n 'geology',\n 'geometric',\n 'geometry',\n 'geranium',\n 'gerbil',\n 'geriatric',\n 'germicide',\n 'germinate',\n 'germless',\n 'germproof',\n 'gestate',\n 'gestation',\n 'gesture',\n 'getaway',\n 'getting',\n 'getup',\n 'giant',\n 'gibberish',\n 'giblet',\n 'giddily',\n 'giddiness',\n 'giddy',\n 'gift',\n 'gigabyte',\n 'gigahertz',\n 'gigantic',\n 'giggle',\n 'giggling',\n 'giggly',\n 'gigolo',\n 'gilled',\n 'gills',\n 'gimmick',\n 'girdle',\n 'giveaway',\n 'given',\n 'giver',\n 'giving',\n 'gizmo',\n 'gizzard',\n 'glacial',\n 'glacier',\n 'glade',\n 'gladiator',\n 'gladly',\n 'glamorous',\n 'glamour',\n 'glance',\n 'glancing',\n 'glandular',\n 'glare',\n 'glaring',\n 'glass',\n 'glaucoma',\n 'glazing',\n 'gleaming',\n 'gleeful',\n 'glider',\n 'gliding',\n 'glimmer',\n 'glimpse',\n 'glisten',\n 'glitch',\n 'glitter',\n 'glitzy',\n 'gloater',\n 'gloating',\n 'gloomily',\n 'gloomy',\n 'glorified',\n 'glorifier',\n 'glorify',\n 'glorious',\n 'glory',\n 'gloss',\n 'glove',\n 'glowing',\n 'glowworm',\n 'glucose',\n 'glue',\n 'gluten',\n 'glutinous',\n 'glutton',\n 'gnarly',\n 'gnat',\n 'goal',\n 'goatskin',\n 'goes',\n 'goggles',\n 'going',\n 'goldfish',\n 'goldmine',\n 'goldsmith',\n 'golf',\n 'goliath',\n 'gonad',\n 'gondola',\n 'gone',\n 'gong',\n 'good',\n 'gooey',\n 'goofball',\n 'goofiness',\n 'goofy',\n 'google',\n 'goon',\n 'gopher',\n 'gore',\n 'gorged',\n 'gorgeous',\n 'gory',\n 'gosling',\n 'gossip',\n 'gothic',\n 'gotten',\n 'gout',\n 'gown',\n 'grab',\n 'graceful',\n 'graceless',\n 'gracious',\n 'gradation',\n 'graded',\n 'grader',\n 'gradient',\n 'grading',\n 'gradually',\n 'graduate',\n 'graffiti',\n 'grafted',\n 'grafting',\n 'grain',\n 'granddad',\n 'grandkid',\n 'grandly',\n 'grandma',\n 'grandpa',\n 'grandson',\n 'granite',\n 'granny',\n 'granola',\n 'grant',\n 'granular',\n 'grape',\n 'graph',\n 'grapple',\n 'grappling',\n 'grasp',\n 'grass',\n 'gratified',\n 'gratify',\n 'grating',\n 'gratitude',\n 'gratuity',\n 'gravel',\n 'graveness',\n 'graves',\n 'graveyard',\n 'gravitate',\n 'gravity',\n 'gravy',\n 'gray',\n 'grazing',\n 'greasily',\n 'greedily',\n 'greedless',\n 'greedy',\n 'green',\n 'greeter',\n 'greeting',\n 'grew',\n 'greyhound',\n 'grid',\n 'grief',\n 'grievance',\n 'grieving',\n 'grievous',\n 'grill',\n 'grimace',\n 'grimacing',\n 'grime',\n 'griminess',\n 'grimy',\n 'grinch',\n 'grinning',\n 'grip',\n 'gristle',\n 'grit',\n 'groggily',\n 'groggy',\n 'groin',\n 'groom',\n 'groove',\n 'grooving',\n 'groovy',\n 'grope',\n 'ground',\n 'grouped',\n 'grout',\n 'grove',\n 'grower',\n 'growing',\n 'growl',\n 'grub',\n 'grudge',\n 'grudging',\n 'grueling',\n 'gruffly',\n 'grumble',\n 'grumbling',\n 'grumbly',\n 'grumpily',\n 'grunge',\n 'grunt',\n 'guacamole',\n 'guidable',\n 'guidance',\n 'guide',\n 'guiding',\n 'guileless',\n 'guise',\n 'gulf',\n 'gullible',\n 'gully',\n 'gulp',\n 'gumball',\n 'gumdrop',\n 'gumminess',\n 'gumming',\n 'gummy',\n 'gurgle',\n 'gurgling',\n 'guru',\n 'gush',\n 'gusto',\n 'gusty',\n 'gutless',\n 'guts',\n 'gutter',\n 'guy',\n 'guzzler',\n 'gyration',\n 'habitable',\n 'habitant',\n 'habitat',\n 'habitual',\n 'hacked',\n 'hacker',\n 'hacking',\n 'hacksaw',\n 'had',\n 'haggler',\n 'haiku',\n 'half',\n 'halogen',\n 'halt',\n 'halved',\n 'halves',\n 'hamburger',\n 'hamlet',\n 'hammock',\n 'hamper',\n 'hamster',\n 'hamstring',\n 'handbag',\n 'handball',\n 'handbook',\n 'handbrake',\n 'handcart',\n 'handclap',\n 'handclasp',\n 'handcraft',\n 'handcuff',\n 'handed',\n 'handful',\n 'handgrip',\n 'handgun',\n 'handheld',\n 'handiness',\n 'handiwork',\n 'handlebar',\n 'handled',\n 'handler',\n 'handling',\n 'handmade',\n 'handoff',\n 'handpick',\n 'handprint',\n 'handrail',\n 'handsaw',\n 'handset',\n 'handsfree',\n 'handshake',\n 'handstand',\n 'handwash',\n 'handwork',\n 'handwoven',\n 'handwrite',\n 'handyman',\n 'hangnail',\n 'hangout',\n 'hangover',\n 'hangup',\n 'hankering',\n 'hankie',\n 'hanky',\n 'haphazard',\n 'happening',\n 'happier',\n 'happiest',\n 'happily',\n 'happiness',\n 'happy',\n 'harbor',\n 'hardcopy',\n 'hardcore',\n 'hardcover',\n 'harddisk',\n 'hardened',\n 'hardener',\n 'hardening',\n 'hardhat',\n 'hardhead',\n 'hardiness',\n 'hardly',\n 'hardness',\n 'hardship',\n 'hardware',\n 'hardwired',\n 'hardwood',\n 'hardy',\n 'harmful',\n 'harmless',\n 'harmonica',\n 'harmonics',\n 'harmonize',\n 'harmony',\n 'harness',\n 'harpist',\n 'harsh',\n 'harvest',\n 'hash',\n 'hassle',\n 'haste',\n 'hastily',\n 'hastiness',\n 'hasty',\n 'hatbox',\n 'hatchback',\n 'hatchery',\n 'hatchet',\n 'hatching',\n 'hatchling',\n 'hate',\n 'hatless',\n 'hatred',\n 'haunt',\n 'haven',\n 'hazard',\n 'hazelnut',\n 'hazily',\n 'haziness',\n 'hazing',\n 'hazy',\n 'headache',\n 'headband',\n 'headboard',\n 'headcount',\n 'headdress',\n 'headed',\n 'header',\n 'headfirst',\n 'headgear',\n 'heading',\n 'headlamp',\n 'headless',\n 'headlock',\n 'headphone',\n 'headpiece',\n 'headrest',\n 'headroom',\n 'headscarf',\n 'headset',\n 'headsman',\n 'headstand',\n 'headstone',\n 'headway',\n 'headwear',\n 'heap',\n 'heat',\n 'heave',\n 'heavily',\n 'heaviness',\n 'heaving',\n 'hedge',\n 'hedging',\n 'heftiness',\n 'hefty',\n 'helium',\n 'helmet',\n 'helper',\n 'helpful',\n 'helping',\n 'helpless',\n 'helpline',\n 'hemlock',\n 'hemstitch',\n 'hence',\n 'henchman',\n 'henna',\n 'herald',\n 'herbal',\n 'herbicide',\n 'herbs',\n 'heritage',\n 'hermit',\n 'heroics',\n 'heroism',\n 'herring',\n 'herself',\n 'hertz',\n 'hesitancy',\n 'hesitant',\n 'hesitate',\n 'hexagon',\n 'hexagram',\n 'hubcap',\n 'huddle',\n 'huddling',\n 'huff',\n 'hug',\n 'hula',\n 'hulk',\n 'hull',\n 'human',\n 'humble',\n 'humbling',\n 'humbly',\n 'humid',\n 'humiliate',\n 'humility',\n 'humming',\n 'hummus',\n 'humongous',\n 'humorist',\n 'humorless',\n 'humorous',\n 'humpback',\n 'humped',\n 'humvee',\n 'hunchback',\n 'hundredth',\n 'hunger',\n 'hungrily',\n 'hungry',\n 'hunk',\n 'hunter',\n 'hunting',\n 'huntress',\n 'huntsman',\n 'hurdle',\n 'hurled',\n 'hurler',\n 'hurling',\n 'hurray',\n 'hurricane',\n 'hurried',\n 'hurry',\n 'hurt',\n 'husband',\n 'hush',\n 'husked',\n 'huskiness',\n 'hut',\n 'hybrid',\n 'hydrant',\n 'hydrated',\n 'hydration',\n 'hydrogen',\n 'hydroxide',\n 'hyperlink',\n 'hypertext',\n 'hyphen',\n 'hypnoses',\n 'hypnosis',\n 'hypnotic',\n 'hypnotism',\n 'hypnotist',\n 'hypnotize',\n 'hypocrisy',\n 'hypocrite',\n 'ibuprofen',\n 'ice',\n 'iciness',\n 'icing',\n 'icky',\n 'icon',\n 'icy',\n 'idealism',\n 'idealist',\n 'idealize',\n 'ideally',\n 'idealness',\n 'identical',\n 'identify',\n 'identity',\n 'ideology',\n 'idiocy',\n 'idiom',\n 'idly',\n 'igloo',\n 'ignition',\n 'ignore',\n 'iguana',\n 'illicitly',\n 'illusion',\n 'illusive',\n 'image',\n 'imaginary',\n 'imagines',\n 'imaging',\n 'imbecile',\n 'imitate',\n 'imitation',\n 'immature',\n 'immerse',\n 'immersion',\n 'imminent',\n 'immobile',\n 'immodest',\n 'immorally',\n 'immortal',\n 'immovable',\n 'immovably',\n 'immunity',\n 'immunize',\n 'impaired',\n 'impale',\n 'impart',\n 'impatient',\n 'impeach',\n 'impeding',\n 'impending',\n 'imperfect',\n 'imperial',\n 'impish',\n 'implant',\n 'implement',\n 'implicate',\n 'implicit',\n 'implode',\n 'implosion',\n 'implosive',\n 'imply',\n 'impolite',\n 'important',\n 'importer',\n 'impose',\n 'imposing',\n 'impotence',\n 'impotency',\n 'impotent',\n 'impound',\n 'imprecise',\n 'imprint',\n 'imprison',\n 'impromptu',\n 'improper',\n 'improve',\n 'improving',\n 'improvise',\n 'imprudent',\n 'impulse',\n 'impulsive',\n 'impure',\n 'impurity',\n 'iodine',\n 'iodize',\n 'ion',\n 'ipad',\n 'iphone',\n 'ipod',\n 'irate',\n 'irk',\n 'iron',\n 'irregular',\n 'irrigate',\n 'irritable',\n 'irritably',\n 'irritant',\n 'irritate',\n 'islamic',\n 'islamist',\n 'isolated',\n 'isolating',\n 'isolation',\n 'isotope',\n 'issue',\n 'issuing',\n 'italicize',\n 'italics',\n 'item',\n 'itinerary',\n 'itunes',\n 'ivory',\n 'ivy',\n 'jab',\n 'jackal',\n 'jacket',\n 'jackknife',\n 'jackpot',\n 'jailbird',\n 'jailbreak',\n 'jailer',\n 'jailhouse',\n 'jalapeno',\n 'jam',\n 'janitor',\n 'january',\n 'jargon',\n 'jarring',\n 'jasmine',\n 'jaundice',\n 'jaunt',\n 'java',\n 'jawed',\n 'jawless',\n 'jawline',\n 'jaws',\n 'jaybird',\n 'jaywalker',\n 'jazz',\n 'jeep',\n 'jeeringly',\n 'jellied',\n 'jelly',\n 'jersey',\n 'jester',\n 'jet',\n 'jiffy',\n 'jigsaw',\n 'jimmy',\n 'jingle',\n 'jingling',\n 'jinx',\n 'jitters',\n 'jittery',\n 'job',\n 'jockey',\n 'jockstrap',\n 'jogger',\n 'jogging',\n 'john',\n 'joining',\n 'jokester',\n 'jokingly',\n 'jolliness',\n 'jolly',\n 'jolt',\n 'jot',\n 'jovial',\n 'joyfully',\n 'joylessly',\n 'joyous',\n 'joyride',\n 'joystick',\n 'jubilance',\n 'jubilant',\n 'judge',\n 'judgingly',\n 'judicial',\n 'judiciary',\n 'judo',\n 'juggle',\n 'juggling',\n 'jugular',\n 'juice',\n 'juiciness',\n 'juicy',\n 'jujitsu',\n 'jukebox',\n 'july',\n 'jumble',\n 'jumbo',\n 'jump',\n 'junction',\n 'juncture',\n 'june',\n 'junior',\n 'juniper',\n 'junkie',\n 'junkman',\n 'junkyard',\n 'jurist',\n 'juror',\n 'jury',\n 'justice',\n 'justifier',\n 'justify',\n 'justly',\n 'justness',\n 'juvenile',\n 'kabob',\n 'kangaroo',\n 'karaoke',\n 'karate',\n 'karma',\n 'kebab',\n 'keenly',\n 'keenness',\n 'keep',\n 'keg',\n 'kelp',\n 'kennel',\n 'kept',\n 'kerchief',\n 'kerosene',\n 'kettle',\n 'kick',\n 'kiln',\n 'kilobyte',\n 'kilogram',\n 'kilometer',\n 'kilowatt',\n 'kilt',\n 'kimono',\n 'kindle',\n 'kindling',\n 'kindly',\n 'kindness',\n 'kindred',\n 'kinetic',\n 'kinfolk',\n 'king',\n 'kinship',\n 'kinsman',\n 'kinswoman',\n 'kissable',\n 'kisser',\n 'kissing',\n 'kitchen',\n 'kite',\n 'kitten',\n 'kitty',\n 'kiwi',\n 'kleenex',\n 'knapsack',\n 'knee',\n 'knelt',\n 'knickers',\n 'knoll',\n 'koala',\n 'kooky',\n 'kosher',\n 'krypton',\n 'kudos',\n 'kung',\n 'labored',\n 'laborer',\n 'laboring',\n 'laborious',\n 'labrador',\n 'ladder',\n 'ladies',\n 'ladle',\n 'ladybug',\n 'ladylike',\n 'lagged',\n 'lagging',\n 'lagoon',\n 'lair',\n 'lake',\n 'lance',\n 'landed',\n 'landfall',\n 'landfill',\n 'landing',\n 'landlady',\n 'landless',\n 'landline',\n 'landlord',\n 'landmark',\n 'landmass',\n 'landmine',\n 'landowner',\n 'landscape',\n 'landside',\n 'landslide',\n 'language',\n 'lankiness',\n 'lanky',\n 'lantern',\n 'lapdog',\n 'lapel',\n 'lapped',\n 'lapping',\n 'laptop',\n 'lard',\n 'large',\n 'lark',\n 'lash',\n 'lasso',\n 'last',\n 'latch',\n 'late',\n 'lather',\n 'latitude',\n 'latrine',\n 'latter',\n 'latticed',\n 'launch',\n 'launder',\n 'laundry',\n 'laurel',\n 'lavender',\n 'lavish',\n 'laxative',\n 'lazily',\n 'laziness',\n 'lazy',\n 'lecturer',\n 'left',\n 'legacy',\n 'legal',\n 'legend',\n 'legged',\n 'leggings',\n 'legible',\n 'legibly',\n 'legislate',\n 'lego',\n 'legroom',\n 'legume',\n 'legwarmer',\n 'legwork',\n 'lemon',\n 'lend',\n 'length',\n 'lens',\n 'lent',\n 'leotard',\n 'lesser',\n 'letdown',\n 'lethargic',\n 'lethargy',\n 'letter',\n 'lettuce',\n 'level',\n 'leverage',\n 'levers',\n 'levitate',\n 'levitator',\n 'liability',\n 'liable',\n 'liberty',\n 'librarian',\n 'library',\n 'licking',\n 'licorice',\n 'lid',\n 'life',\n 'lifter',\n 'lifting',\n 'liftoff',\n 'ligament',\n 'likely',\n 'likeness',\n 'likewise',\n 'liking',\n 'lilac',\n 'lilly',\n 'lily',\n 'limb',\n 'limeade',\n 'limelight',\n 'limes',\n 'limit',\n 'limping',\n 'limpness',\n 'line',\n 'lingo',\n 'linguini',\n 'linguist',\n 'lining',\n 'linked',\n 'linoleum',\n 'linseed',\n 'lint',\n 'lion',\n 'lip',\n 'liquefy',\n 'liqueur',\n 'liquid',\n 'lisp',\n 'list',\n 'litigate',\n 'litigator',\n 'litmus',\n 'litter',\n 'little',\n 'livable',\n 'lived',\n 'lively',\n 'liver',\n 'livestock',\n 'lividly',\n 'living',\n 'lizard',\n 'lubricant',\n 'lubricate',\n 'lucid',\n 'luckily',\n 'luckiness',\n 'luckless',\n 'lucrative',\n 'ludicrous',\n 'lugged',\n 'lukewarm',\n 'lullaby',\n 'lumber',\n 'luminance',\n 'luminous',\n 'lumpiness',\n 'lumping',\n 'lumpish',\n 'lunacy',\n 'lunar',\n 'lunchbox',\n 'luncheon',\n 'lunchroom',\n 'lunchtime',\n 'lung',\n 'lurch',\n 'lure',\n 'luridness',\n 'lurk',\n 'lushly',\n 'lushness',\n 'luster',\n 'lustfully',\n 'lustily',\n 'lustiness',\n 'lustrous',\n 'lusty',\n 'luxurious',\n 'luxury',\n 'lying',\n 'lyrically',\n 'lyricism',\n 'lyricist',\n 'lyrics',\n 'macarena',\n 'macaroni',\n 'macaw',\n 'mace',\n 'machine',\n 'machinist',\n 'magazine',\n 'magenta',\n 'maggot',\n 'magical',\n 'magician',\n 'magma',\n 'magnesium',\n 'magnetic',\n 'magnetism',\n 'magnetize',\n 'magnifier',\n 'magnify',\n 'magnitude',\n 'magnolia',\n 'mahogany',\n 'maimed',\n 'majestic',\n 'majesty',\n 'majorette',\n 'majority',\n 'makeover',\n 'maker',\n 'makeshift',\n 'making',\n 'malformed',\n 'malt',\n 'mama',\n 'mammal',\n 'mammary',\n 'mammogram',\n 'manager',\n 'managing',\n 'manatee',\n 'mandarin',\n 'mandate',\n 'mandatory',\n 'mandolin',\n 'manger',\n 'mangle',\n 'mango',\n 'mangy',\n 'manhandle',\n 'manhole',\n 'manhood',\n 'manhunt',\n 'manicotti',\n 'manicure',\n 'manifesto',\n 'manila',\n 'mankind',\n 'manlike',\n 'manliness',\n 'manly',\n 'manmade',\n 'manned',\n 'mannish',\n 'manor',\n 'manpower',\n 'mantis',\n 'mantra',\n 'manual',\n 'many',\n 'map',\n 'marathon',\n 'marauding',\n 'marbled',\n 'marbles',\n 'marbling',\n 'march',\n 'mardi',\n 'margarine',\n 'margarita',\n 'margin',\n 'marigold',\n 'marina',\n 'marine',\n 'marital',\n 'maritime',\n 'marlin',\n 'marmalade',\n 'maroon',\n 'married',\n 'marrow',\n 'marry',\n 'marshland',\n 'marshy',\n 'marsupial',\n 'marvelous',\n 'marxism',\n 'mascot',\n 'masculine',\n 'mashed',\n 'mashing',\n 'massager',\n 'masses',\n 'massive',\n 'mastiff',\n 'matador',\n 'matchbook',\n 'matchbox',\n 'matcher',\n 'matching',\n 'matchless',\n 'material',\n 'maternal',\n 'maternity',\n 'math',\n 'mating',\n 'matriarch',\n 'matrimony',\n 'matrix',\n 'matron',\n 'matted',\n 'matter',\n 'maturely',\n 'maturing',\n 'maturity',\n 'mauve',\n 'maverick',\n 'maximize',\n 'maximum',\n 'maybe',\n 'mayday',\n 'mayflower',\n 'moaner',\n 'moaning',\n 'mobile',\n 'mobility',\n 'mobilize',\n 'mobster',\n 'mocha',\n 'mocker',\n 'mockup',\n 'modified',\n 'modify',\n 'modular',\n 'modulator',\n 'module',\n 'moisten',\n 'moistness',\n 'moisture',\n 'molar',\n 'molasses',\n 'mold',\n 'molecular',\n 'molecule',\n 'molehill',\n 'mollusk',\n 'mom',\n 'monastery',\n 'monday',\n 'monetary',\n 'monetize',\n 'moneybags',\n 'moneyless',\n 'moneywise',\n 'mongoose',\n 'mongrel',\n 'monitor',\n 'monkhood',\n 'monogamy',\n 'monogram',\n 'monologue',\n 'monopoly',\n 'monorail',\n 'monotone',\n 'monotype',\n 'monoxide',\n 'monsieur',\n 'monsoon',\n 'monstrous',\n 'monthly',\n 'monument',\n 'moocher',\n 'moodiness',\n 'moody',\n 'mooing',\n 'moonbeam',\n 'mooned',\n 'moonlight',\n 'moonlike',\n 'moonlit',\n 'moonrise',\n 'moonscape',\n 'moonshine',\n 'moonstone',\n 'moonwalk',\n 'mop',\n 'morale',\n 'morality',\n 'morally',\n 'morbidity',\n 'morbidly',\n 'morphine',\n 'morphing',\n 'morse',\n 'mortality',\n 'mortally',\n 'mortician',\n 'mortified',\n 'mortify',\n 'mortuary',\n 'mosaic',\n 'mossy',\n 'most',\n 'mothball',\n 'mothproof',\n 'motion',\n 'motivate',\n 'motivator',\n 'motive',\n 'motocross',\n 'motor',\n 'motto',\n 'mountable',\n 'mountain',\n 'mounted',\n 'mounting',\n 'mourner',\n 'mournful',\n 'mouse',\n 'mousiness',\n 'moustache',\n 'mousy',\n 'mouth',\n 'movable',\n 'move',\n 'movie',\n 'moving',\n 'mower',\n 'mowing',\n 'much',\n 'muck',\n 'mud',\n 'mug',\n 'mulberry',\n 'mulch',\n 'mule',\n 'mulled',\n 'mullets',\n 'multiple',\n 'multiply',\n 'multitask',\n 'multitude',\n 'mumble',\n 'mumbling',\n 'mumbo',\n 'mummified',\n 'mummify',\n 'mummy',\n 'mumps',\n 'munchkin',\n 'mundane',\n 'municipal',\n 'muppet',\n 'mural',\n 'murkiness',\n 'murky',\n 'murmuring',\n 'muscular',\n 'museum',\n 'mushily',\n 'mushiness',\n 'mushroom',\n 'mushy',\n 'music',\n 'musket',\n 'muskiness',\n 'musky',\n 'mustang',\n 'mustard',\n 'muster',\n 'mustiness',\n 'musty',\n 'mutable',\n 'mutate',\n 'mutation',\n 'mute',\n 'mutilated',\n 'mutilator',\n 'mutiny',\n 'mutt',\n 'mutual',\n 'muzzle',\n 'myself',\n 'myspace',\n 'mystified',\n 'mystify',\n 'myth',\n 'nacho',\n 'nag',\n 'nail',\n 'name',\n 'naming',\n 'nanny',\n 'nanometer',\n 'nape',\n 'napkin',\n 'napped',\n 'napping',\n 'nappy',\n 'narrow',\n 'nastily',\n 'nastiness',\n 'national',\n 'native',\n 'nativity',\n 'natural',\n 'nature',\n 'naturist',\n 'nautical',\n 'navigate',\n 'navigator',\n 'navy',\n 'nearby',\n 'nearest',\n 'nearly',\n 'nearness',\n 'neatly',\n 'neatness',\n 'nebula',\n 'nebulizer',\n 'nectar',\n 'negate',\n 'negation',\n 'negative',\n 'neglector',\n 'negligee',\n 'negligent',\n 'negotiate',\n 'nemeses',\n 'nemesis',\n 'neon',\n 'nephew',\n 'nerd',\n 'nervous',\n 'nervy',\n 'nest',\n 'net',\n 'neurology',\n 'neuron',\n 'neurosis',\n 'neurotic',\n 'neuter',\n 'neutron',\n 'never',\n 'next',\n 'nibble',\n 'nickname',\n 'nicotine',\n 'niece',\n 'nifty',\n 'nimble',\n 'nimbly',\n 'nineteen',\n 'ninetieth',\n 'ninja',\n 'nintendo',\n 'ninth',\n 'nuclear',\n 'nuclei',\n 'nucleus',\n 'nugget',\n 'nullify',\n 'number',\n 'numbing',\n 'numbly',\n 'numbness',\n 'numeral',\n 'numerate',\n 'numerator',\n 'numeric',\n 'numerous',\n 'nuptials',\n 'nursery',\n 'nursing',\n 'nurture',\n 'nutcase',\n 'nutlike',\n 'nutmeg',\n 'nutrient',\n 'nutshell',\n 'nuttiness',\n 'nutty',\n 'nuzzle',\n 'nylon',\n 'oaf',\n 'oak',\n 'oasis',\n 'oat',\n 'obedience',\n 'obedient',\n 'obituary',\n 'object',\n 'obligate',\n 'obliged',\n 'oblivion',\n 'oblivious',\n 'oblong',\n 'obnoxious',\n 'oboe',\n 'obscure',\n 'obscurity',\n 'observant',\n 'observer',\n 'observing',\n 'obsessed',\n 'obsession',\n 'obsessive',\n 'obsolete',\n 'obstacle',\n 'obstinate',\n 'obstruct',\n 'obtain',\n 'obtrusive',\n 'obtuse',\n 'obvious',\n 'occultist',\n 'occupancy',\n 'occupant',\n 'occupier',\n 'occupy',\n 'ocean',\n 'ocelot',\n 'octagon',\n 'octane',\n 'october',\n 'octopus',\n 'ogle',\n 'oil',\n 'oink',\n 'ointment',\n 'okay',\n 'old',\n 'olive',\n 'olympics',\n 'omega',\n 'omen',\n 'ominous',\n 'omission',\n 'omit',\n 'omnivore',\n 'onboard',\n 'oncoming',\n 'ongoing',\n 'onion',\n 'online',\n 'onlooker',\n 'only',\n 'onscreen',\n 'onset',\n 'onshore',\n 'onslaught',\n 'onstage',\n 'onto',\n 'onward',\n 'onyx',\n 'oops',\n 'ooze',\n 'oozy',\n 'opacity',\n 'opal',\n 'open',\n 'operable',\n 'operate',\n 'operating',\n 'operation',\n 'operative',\n 'operator',\n 'opium',\n 'opossum',\n 'opponent',\n 'oppose',\n 'opposing',\n 'opposite',\n 'oppressed',\n 'oppressor',\n 'opt',\n 'opulently',\n 'osmosis',\n 'other',\n 'otter',\n 'ouch',\n 'ought',\n 'ounce',\n 'outage',\n 'outback',\n 'outbid',\n 'outboard',\n 'outbound',\n 'outbreak',\n 'outburst',\n 'outcast',\n 'outclass',\n 'outcome',\n 'outdated',\n 'outdoors',\n 'outer',\n 'outfield',\n 'outfit',\n 'outflank',\n 'outgoing',\n 'outgrow',\n 'outhouse',\n 'outing',\n 'outlast',\n 'outlet',\n 'outline',\n 'outlook',\n 'outlying',\n 'outmatch',\n 'outmost',\n 'outnumber',\n 'outplayed',\n 'outpost',\n 'outpour',\n 'output',\n 'outrage',\n 'outrank',\n 'outreach',\n 'outright',\n 'outscore',\n 'outsell',\n 'outshine',\n 'outshoot',\n 'outsider',\n 'outskirts',\n 'outsmart',\n 'outsource',\n 'outspoken',\n 'outtakes',\n 'outthink',\n 'outward',\n 'outweigh',\n 'outwit',\n 'oval',\n 'ovary',\n 'oven',\n 'overact',\n 'overall',\n 'overarch',\n 'overbid',\n 'overbill',\n 'overbite',\n 'overblown',\n 'overboard',\n 'overbook',\n 'overbuilt',\n 'overcast',\n 'overcoat',\n 'overcome',\n 'overcook',\n 'overcrowd',\n 'overdraft',\n 'overdrawn',\n 'overdress',\n 'overdrive',\n 'overdue',\n 'overeager',\n 'overeater',\n 'overexert',\n 'overfed',\n 'overfeed',\n 'overfill',\n 'overflow',\n 'overfull',\n 'overgrown',\n 'overhand',\n 'overhang',\n 'overhaul',\n 'overhead',\n 'overhear',\n 'overheat',\n 'overhung',\n 'overjoyed',\n 'overkill',\n 'overlabor',\n 'overlaid',\n 'overlap',\n 'overlay',\n 'overload',\n 'overlook',\n 'overlord',\n 'overlying',\n 'overnight',\n 'overpass',\n 'overpay',\n 'overplant',\n 'overplay',\n 'overpower',\n 'overprice',\n 'overrate',\n 'overreach',\n 'overreact',\n 'override',\n 'overripe',\n 'overrule',\n 'overrun',\n 'overshoot',\n 'overshot',\n 'oversight',\n 'oversized',\n 'oversleep',\n 'oversold',\n 'overspend',\n 'overstate',\n 'overstay',\n 'overstep',\n 'overstock',\n 'overstuff',\n 'oversweet',\n 'overtake',\n 'overthrow',\n 'overtime',\n 'overtly',\n 'overtone',\n 'overture',\n 'overturn',\n 'overuse',\n 'overvalue',\n 'overview',\n 'overwrite',\n 'owl',\n 'oxford',\n 'oxidant',\n 'oxidation',\n 'oxidize',\n 'oxidizing',\n 'oxygen',\n 'oxymoron',\n 'oyster',\n 'ozone',\n 'paced',\n 'pacemaker',\n 'pacific',\n 'pacifier',\n 'pacifism',\n 'pacifist',\n 'pacify',\n 'padded',\n 'padding',\n 'paddle',\n 'paddling',\n 'padlock',\n 'pagan',\n 'pager',\n 'paging',\n 'pajamas',\n 'palace',\n 'palatable',\n 'palm',\n 'palpable',\n 'palpitate',\n 'paltry',\n 'pampered',\n 'pamperer',\n 'pampers',\n 'pamphlet',\n 'panama',\n 'pancake',\n 'pancreas',\n 'panda',\n 'pandemic',\n 'pang',\n 'panhandle',\n 'panic',\n 'panning',\n 'panorama',\n 'panoramic',\n 'panther',\n 'pantomime',\n 'pantry',\n 'pants',\n 'pantyhose',\n 'paparazzi',\n 'papaya',\n 'paper',\n 'paprika',\n 'papyrus',\n 'parabola',\n 'parachute',\n 'parade',\n 'paradox',\n 'paragraph',\n 'parakeet',\n 'paralegal',\n 'paralyses',\n 'paralysis',\n 'paralyze',\n 'paramedic',\n 'parameter',\n 'paramount',\n 'parasail',\n 'parasite',\n 'parasitic',\n 'parcel',\n 'parched',\n 'parchment',\n 'pardon',\n 'parish',\n 'parka',\n 'parking',\n 'parkway',\n 'parlor',\n 'parmesan',\n 'parole',\n 'parrot',\n 'parsley',\n 'parsnip',\n 'partake',\n 'parted',\n 'parting',\n 'partition',\n 'partly',\n 'partner',\n 'partridge',\n 'party',\n 'passable',\n 'passably',\n 'passage',\n 'passcode',\n 'passenger',\n 'passerby',\n 'passing',\n 'passion',\n 'passive',\n 'passivism',\n 'passover',\n 'passport',\n 'password',\n 'pasta',\n 'pasted',\n 'pastel',\n 'pastime',\n 'pastor',\n 'pastrami',\n 'pasture',\n 'pasty',\n 'patchwork',\n 'patchy',\n 'paternal',\n 'paternity',\n 'path',\n 'patience',\n 'patient',\n 'patio',\n 'patriarch',\n 'patriot',\n 'patrol',\n 'patronage',\n 'patronize',\n 'pauper',\n 'pavement',\n 'paver',\n 'pavestone',\n 'pavilion',\n 'paving',\n 'pawing',\n 'payable',\n 'payback',\n 'paycheck',\n 'payday',\n 'payee',\n 'payer',\n 'paying',\n 'payment',\n 'payphone',\n 'payroll',\n 'pebble',\n 'pebbly',\n 'pecan',\n 'pectin',\n 'peculiar',\n 'peddling',\n 'pediatric',\n 'pedicure',\n 'pedigree',\n 'pedometer',\n 'pegboard',\n 'pelican',\n 'pellet',\n 'pelt',\n 'pelvis',\n 'penalize',\n 'penalty',\n 'pencil',\n 'pendant',\n 'pending',\n 'penholder',\n 'penknife',\n 'pennant',\n 'penniless',\n 'penny',\n 'penpal',\n 'pension',\n 'pentagon',\n 'pentagram',\n 'pep',\n 'perceive',\n 'percent',\n 'perch',\n 'percolate',\n 'perennial',\n 'perfected',\n 'perfectly',\n 'perfume',\n 'periscope',\n 'perish',\n 'perjurer',\n 'perjury',\n 'perkiness',\n 'perky',\n 'perm',\n 'peroxide',\n 'perpetual',\n 'perplexed',\n 'persecute',\n 'persevere',\n 'persuaded',\n 'persuader',\n 'pesky',\n 'peso',\n 'pessimism',\n 'pessimist',\n 'pester',\n 'pesticide',\n 'petal',\n 'petite',\n 'petition',\n 'petri',\n 'petroleum',\n 'petted',\n 'petticoat',\n 'pettiness',\n 'petty',\n 'petunia',\n 'phantom',\n 'phobia',\n 'phoenix',\n 'phonebook',\n 'phoney',\n 'phonics',\n 'phoniness',\n 'phony',\n 'phosphate',\n 'photo',\n 'phrase',\n 'phrasing',\n 'placard',\n 'placate',\n 'placidly',\n 'plank',\n 'planner',\n 'plant',\n 'plasma',\n 'plaster',\n 'plastic',\n 'plated',\n 'platform',\n 'plating',\n 'platinum',\n 'platonic',\n 'platter',\n 'platypus',\n 'plausible',\n 'plausibly',\n 'playable',\n 'playback',\n 'player',\n 'playful',\n 'playgroup',\n 'playhouse',\n 'playing',\n 'playlist',\n 'playmaker',\n 'playmate',\n 'playoff',\n 'playpen',\n 'playroom',\n 'playset',\n 'plaything',\n 'playtime',\n 'plaza',\n 'pleading',\n 'pleat',\n 'pledge',\n 'plentiful',\n 'plenty',\n 'plethora',\n 'plexiglas',\n 'pliable',\n 'plod',\n 'plop',\n 'plot',\n 'plow',\n 'ploy',\n 'pluck',\n 'plug',\n 'plunder',\n 'plunging',\n 'plural',\n 'plus',\n 'plutonium',\n 'plywood',\n 'poach',\n 'pod',\n 'poem',\n 'poet',\n 'pogo',\n 'pointed',\n 'pointer',\n 'pointing',\n 'pointless',\n 'pointy',\n 'poise',\n 'poison',\n 'poker',\n 'poking',\n 'polar',\n 'police',\n 'policy',\n 'polio',\n 'polish',\n 'politely',\n 'polka',\n 'polo',\n 'polyester',\n 'polygon',\n 'polygraph',\n 'polymer',\n 'poncho',\n 'pond',\n 'pony',\n 'popcorn',\n 'pope',\n 'poplar',\n 'popper',\n 'poppy',\n 'popsicle',\n 'populace',\n 'popular',\n 'populate',\n 'porcupine',\n 'pork',\n 'porous',\n 'porridge',\n 'portable',\n 'portal',\n 'portfolio',\n 'porthole',\n 'portion',\n 'portly',\n 'portside',\n 'poser',\n 'posh',\n 'posing',\n 'possible',\n 'possibly',\n 'possum',\n 'postage',\n 'postal',\n 'postbox',\n 'postcard',\n 'posted',\n 'poster',\n 'posting',\n 'postnasal',\n 'posture',\n 'postwar',\n 'pouch',\n 'pounce',\n 'pouncing',\n 'pound',\n 'pouring',\n 'pout',\n 'powdered',\n 'powdering',\n 'powdery',\n 'power',\n 'powwow',\n 'pox',\n 'praising',\n 'prance',\n 'prancing',\n 'pranker',\n 'prankish',\n 'prankster',\n 'prayer',\n 'praying',\n 'preacher',\n 'preaching',\n 'preachy',\n 'preamble',\n 'precinct',\n 'precise',\n 'precision',\n 'precook',\n 'precut',\n 'predator',\n 'predefine',\n 'predict',\n 'preface',\n 'prefix',\n 'preflight',\n 'preformed',\n 'pregame',\n 'pregnancy',\n 'pregnant',\n 'preheated',\n 'prelaunch',\n 'prelaw',\n 'prelude',\n 'premiere',\n 'premises',\n 'premium',\n 'prenatal',\n 'preoccupy',\n 'preorder',\n 'prepaid',\n 'prepay',\n 'preplan',\n 'preppy',\n 'preschool',\n 'prescribe',\n 'preseason',\n 'preset',\n 'preshow',\n 'president',\n 'presoak',\n 'press',\n 'presume',\n 'presuming',\n 'preteen',\n 'pretended',\n 'pretender',\n 'pretense',\n 'pretext',\n 'pretty',\n 'pretzel',\n 'prevail',\n 'prevalent',\n 'prevent',\n 'preview',\n 'previous',\n 'prewar',\n 'prewashed',\n 'prideful',\n 'pried',\n 'primal',\n 'primarily',\n 'primary',\n 'primate',\n 'primer',\n 'primp',\n 'princess',\n 'print',\n 'prior',\n 'prism',\n 'prison',\n 'prissy',\n 'pristine',\n 'privacy',\n 'private',\n 'privatize',\n 'prize',\n 'proactive',\n 'probable',\n 'probably',\n 'probation',\n 'probe',\n 'probing',\n 'probiotic',\n 'problem',\n 'procedure',\n 'process',\n 'proclaim',\n 'procreate',\n 'procurer',\n 'prodigal',\n 'prodigy',\n 'produce',\n 'product',\n 'profane',\n 'profanity',\n 'professed',\n 'professor',\n 'profile',\n 'profound',\n 'profusely',\n 'progeny',\n 'prognosis',\n 'program',\n 'progress',\n 'projector',\n 'prologue',\n 'prolonged',\n 'promenade',\n 'prominent',\n 'promoter',\n 'promotion',\n 'prompter',\n 'promptly',\n 'prone',\n 'prong',\n 'pronounce',\n 'pronto',\n 'proofing',\n 'proofread',\n 'proofs',\n 'propeller',\n 'properly',\n 'property',\n 'proponent',\n 'proposal',\n 'propose',\n 'props',\n 'prorate',\n 'protector',\n 'protegee',\n 'proton',\n 'prototype',\n 'protozoan',\n 'protract',\n 'protrude',\n 'proud',\n 'provable',\n 'proved',\n 'proven',\n 'provided',\n 'provider',\n 'providing',\n 'province',\n 'proving',\n 'provoke',\n 'provoking',\n 'provolone',\n 'prowess',\n 'prowler',\n 'prowling',\n 'proximity',\n 'proxy',\n 'prozac',\n 'prude',\n 'prudishly',\n 'prune',\n 'pruning',\n 'pry',\n 'psychic',\n 'public',\n 'publisher',\n 'pucker',\n 'pueblo',\n 'pug',\n 'pull',\n 'pulmonary',\n 'pulp',\n 'pulsate',\n 'pulse',\n 'pulverize',\n 'puma',\n 'pumice',\n 'pummel',\n 'punch',\n 'punctual',\n 'punctuate',\n 'punctured',\n 'pungent',\n 'punisher',\n 'punk',\n 'pupil',\n 'puppet',\n 'puppy',\n 'purchase',\n 'pureblood',\n 'purebred',\n 'purely',\n 'pureness',\n 'purgatory',\n 'purge',\n 'purging',\n 'purifier',\n 'purify',\n 'purist',\n 'puritan',\n 'purity',\n 'purple',\n 'purplish',\n 'purposely',\n 'purr',\n 'purse',\n 'pursuable',\n 'pursuant',\n 'pursuit',\n 'purveyor',\n 'pushcart',\n 'pushchair',\n 'pusher',\n 'pushiness',\n 'pushing',\n 'pushover',\n 'pushpin',\n 'pushup',\n 'pushy',\n 'putdown',\n 'putt',\n 'puzzle',\n 'puzzling',\n 'pyramid',\n 'pyromania',\n 'python',\n 'quack',\n 'quadrant',\n 'quail',\n 'quaintly',\n 'quake',\n 'quaking',\n 'qualified',\n 'qualifier',\n 'qualify',\n 'quality',\n 'qualm',\n 'quantum',\n 'quarrel',\n 'quarry',\n 'quartered',\n 'quarterly',\n 'quarters',\n 'quartet',\n 'quench',\n 'query',\n 'quicken',\n 'quickly',\n 'quickness',\n 'quicksand',\n 'quickstep',\n 'quiet',\n 'quill',\n 'quilt',\n 'quintet',\n 'quintuple',\n 'quirk',\n 'quit',\n 'quiver',\n 'quizzical',\n 'quotable',\n 'quotation',\n 'quote',\n 'rabid',\n 'race',\n 'racing',\n 'racism',\n 'rack',\n 'racoon',\n 'radar',\n 'radial',\n 'radiance',\n 'radiantly',\n 'radiated',\n 'radiation',\n 'radiator',\n 'radio',\n 'radish',\n 'raffle',\n 'raft',\n 'rage',\n 'ragged',\n 'raging',\n 'ragweed',\n 'raider',\n 'railcar',\n 'railing',\n 'railroad',\n 'railway',\n 'raisin',\n 'rake',\n 'raking',\n 'rally',\n 'ramble',\n 'rambling',\n 'ramp',\n 'ramrod',\n 'ranch',\n 'rancidity',\n 'random',\n 'ranged',\n 'ranger',\n 'ranging',\n 'ranked',\n 'ranking',\n 'ransack',\n 'ranting',\n 'rants',\n 'rare',\n 'rarity',\n 'rascal',\n 'rash',\n 'rasping',\n 'ravage',\n 'raven',\n 'ravine',\n 'raving',\n 'ravioli',\n 'ravishing',\n 'reabsorb',\n 'reach',\n 'reacquire',\n 'reaction',\n 'reactive',\n 'reactor',\n 'reaffirm',\n 'ream',\n 'reanalyze',\n 'reappear',\n 'reapply',\n 'reappoint',\n 'reapprove',\n 'rearrange',\n 'rearview',\n 'reason',\n 'reassign',\n 'reassure',\n 'reattach',\n 'reawake',\n 'rebalance',\n 'rebate',\n 'rebel',\n 'rebirth',\n 'reboot',\n 'reborn',\n 'rebound',\n 'rebuff',\n 'rebuild',\n 'rebuilt',\n 'reburial',\n 'rebuttal',\n 'recall',\n 'recant',\n 'recapture',\n 'recast',\n 'recede',\n 'recent',\n 'recess',\n 'recharger',\n 'recipient',\n 'recital',\n 'recite',\n 'reckless',\n 'reclaim',\n 'recliner',\n 'reclining',\n 'recluse',\n 'reclusive',\n 'recognize',\n 'recoil',\n 'recollect',\n 'recolor',\n 'reconcile',\n 'reconfirm',\n 'reconvene',\n 'recopy',\n 'record',\n 'recount',\n 'recoup',\n 'recovery',\n 'recreate',\n 'rectal',\n 'rectangle',\n 'rectified',\n 'rectify',\n 'recycled',\n 'recycler',\n 'recycling',\n 'reemerge',\n 'reenact',\n 'reenter',\n 'reentry',\n 'reexamine',\n 'referable',\n 'referee',\n 'reference',\n 'refill',\n 'refinance',\n 'refined',\n 'refinery',\n 'refining',\n 'refinish',\n 'reflected',\n 'reflector',\n 'reflex',\n 'reflux',\n 'refocus',\n 'refold',\n 'reforest',\n 'reformat',\n 'reformed',\n 'reformer',\n 'reformist',\n 'refract',\n 'refrain',\n 'refreeze',\n 'refresh',\n 'refried',\n 'refueling',\n 'refund',\n 'refurbish',\n 'refurnish',\n 'refusal',\n 'refuse',\n 'refusing',\n 'refutable',\n 'refute',\n 'regain',\n 'regalia',\n 'regally',\n 'reggae',\n 'regime',\n 'region',\n 'register',\n 'registrar',\n 'registry',\n 'regress',\n 'regretful',\n 'regroup',\n 'regular',\n 'regulate',\n 'regulator',\n 'rehab',\n 'reheat',\n 'rehire',\n 'rehydrate',\n 'reimburse',\n 'reissue',\n 'reiterate',\n 'rejoice',\n 'rejoicing',\n 'rejoin',\n 'rekindle',\n 'relapse',\n 'relapsing',\n 'relatable',\n 'related',\n 'relation',\n 'relative',\n 'relax',\n 'relay',\n 'relearn',\n 'release',\n 'relenting',\n 'reliable',\n 'reliably',\n 'reliance',\n 'reliant',\n 'relic',\n 'relieve',\n 'relieving',\n 'relight',\n 'relish',\n 'relive',\n 'reload',\n 'relocate',\n 'relock',\n 'reluctant',\n 'rely',\n 'remake',\n 'remark',\n 'remarry',\n 'rematch',\n 'remedial',\n 'remedy',\n 'remember',\n 'reminder',\n 'remindful',\n 'remission',\n 'remix',\n 'remnant',\n 'remodeler',\n 'remold',\n 'remorse',\n 'remote',\n 'removable',\n 'removal',\n 'removed',\n 'remover',\n 'removing',\n 'rename',\n 'renderer',\n 'rendering',\n 'rendition',\n 'renegade',\n 'renewable',\n 'renewably',\n 'renewal',\n 'renewed',\n 'renounce',\n 'renovate',\n 'renovator',\n 'rentable',\n 'rental',\n 'rented',\n 'renter',\n 'reoccupy',\n 'reoccur',\n 'reopen',\n 'reorder',\n 'repackage',\n 'repacking',\n 'repaint',\n 'repair',\n 'repave',\n 'repaying',\n 'repayment',\n 'repeal',\n 'repeated',\n 'repeater',\n 'repent',\n 'rephrase',\n 'replace',\n 'replay',\n 'replica',\n 'reply',\n 'reporter',\n 'repose',\n 'repossess',\n 'repost',\n 'repressed',\n 'reprimand',\n 'reprint',\n 'reprise',\n 'reproach',\n 'reprocess',\n 'reproduce',\n 'reprogram',\n 'reps',\n 'reptile',\n 'reptilian',\n 'repugnant',\n 'repulsion',\n 'repulsive',\n 'repurpose',\n 'reputable',\n 'reputably',\n 'request',\n 'require',\n 'requisite',\n 'reroute',\n 'rerun',\n 'resale',\n 'resample',\n 'rescuer',\n 'reseal',\n 'research',\n 'reselect',\n 'reseller',\n 'resemble',\n 'resend',\n 'resent',\n 'reset',\n 'reshape',\n 'reshoot',\n 'reshuffle',\n 'residence',\n 'residency',\n 'resident',\n 'residual',\n 'residue',\n 'resigned',\n 'resilient',\n 'resistant',\n 'resisting',\n 'resize',\n 'resolute',\n 'resolved',\n 'resonant',\n 'resonate',\n 'resort',\n 'resource',\n 'respect',\n 'resubmit',\n 'result',\n 'resume',\n 'resupply',\n 'resurface',\n 'resurrect',\n 'retail',\n 'retainer',\n 'retaining',\n 'retake',\n 'retaliate',\n 'retention',\n 'rethink',\n 'retinal',\n 'retired',\n 'retiree',\n 'retiring',\n 'retold',\n 'retool',\n 'retorted',\n 'retouch',\n 'retrace',\n 'retract',\n 'retrain',\n 'retread',\n 'retreat',\n 'retrial',\n 'retrieval',\n 'retriever',\n 'retry',\n 'return',\n 'retying',\n 'retype',\n 'reunion',\n 'reunite',\n 'reusable',\n 'reuse',\n 'reveal',\n 'reveler',\n 'revenge',\n 'revenue',\n 'reverb',\n 'revered',\n 'reverence',\n 'reverend',\n 'reversal',\n 'reverse',\n 'reversing',\n 'reversion',\n 'revert',\n 'revisable',\n 'revise',\n 'revision',\n 'revisit',\n 'revivable',\n 'revival',\n 'reviver',\n 'reviving',\n 'revocable',\n 'revoke',\n 'revolt',\n 'revolver',\n 'revolving',\n 'reward',\n 'rewash',\n 'rewind',\n 'rewire',\n 'reword',\n 'rework',\n 'rewrap',\n 'rewrite',\n 'rhyme',\n 'ribbon',\n 'ribcage',\n 'rice',\n 'riches',\n 'richly',\n 'richness',\n 'rickety',\n 'ricotta',\n 'riddance',\n 'ridden',\n 'ride',\n 'riding',\n 'rifling',\n 'rift',\n 'rigging',\n 'rigid',\n 'rigor',\n 'rimless',\n 'rimmed',\n 'rind',\n 'rink',\n 'rinse',\n 'rinsing',\n 'riot',\n 'ripcord',\n 'ripeness',\n 'ripening',\n 'ripping',\n 'ripple',\n 'rippling',\n 'riptide',\n 'rise',\n 'rising',\n 'risk',\n 'risotto',\n 'ritalin',\n 'ritzy',\n 'rival',\n 'riverbank',\n 'riverbed',\n 'riverboat',\n 'riverside',\n 'riveter',\n 'riveting',\n 'roamer',\n 'roaming',\n 'roast',\n 'robbing',\n 'robe',\n 'robin',\n 'robotics',\n 'robust',\n 'rockband',\n 'rocker',\n 'rocket',\n 'rockfish',\n 'rockiness',\n 'rocking',\n 'rocklike',\n 'rockslide',\n 'rockstar',\n 'rocky',\n 'rogue',\n 'roman',\n 'romp',\n 'rope',\n 'roping',\n 'roster',\n 'rosy',\n 'rotten',\n 'rotting',\n 'rotunda',\n 'roulette',\n 'rounding',\n 'roundish',\n 'roundness',\n 'roundup',\n 'roundworm',\n 'routine',\n 'routing',\n 'rover',\n 'roving',\n 'royal',\n 'rubbed',\n 'rubber',\n 'rubbing',\n 'rubble',\n 'rubdown',\n 'ruby',\n 'ruckus',\n 'rudder',\n 'rug',\n 'ruined',\n 'rule',\n 'rumble',\n 'rumbling',\n 'rummage',\n 'rumor',\n 'runaround',\n 'rundown',\n 'runner',\n 'running',\n 'runny',\n 'runt',\n 'runway',\n 'rupture',\n 'rural',\n 'ruse',\n 'rush',\n 'rust',\n 'rut',\n 'sabbath',\n 'sabotage',\n 'sacrament',\n 'sacred',\n 'sacrifice',\n 'sadden',\n 'saddlebag',\n 'saddled',\n 'saddling',\n 'sadly',\n 'sadness',\n 'safari',\n 'safeguard',\n 'safehouse',\n 'safely',\n 'safeness',\n 'saffron',\n 'saga',\n 'sage',\n 'sagging',\n 'saggy',\n 'said',\n 'saint',\n 'sake',\n 'salad',\n 'salami',\n 'salaried',\n 'salary',\n 'saline',\n 'salon',\n 'saloon',\n 'salsa',\n 'salt',\n 'salutary',\n 'salute',\n 'salvage',\n 'salvaging',\n 'salvation',\n 'same',\n 'sample',\n 'sampling',\n 'sanction',\n 'sanctity',\n 'sanctuary',\n 'sandal',\n 'sandbag',\n 'sandbank',\n 'sandbar',\n 'sandblast',\n 'sandbox',\n 'sanded',\n 'sandfish',\n 'sanding',\n 'sandlot',\n 'sandpaper',\n 'sandpit',\n 'sandstone',\n 'sandstorm',\n 'sandworm',\n 'sandy',\n 'sanitary',\n 'sanitizer',\n 'sank',\n 'santa',\n 'sapling',\n 'sappiness',\n 'sappy',\n 'sarcasm',\n 'sarcastic',\n 'sardine',\n 'sash',\n 'sasquatch',\n 'sassy',\n 'satchel',\n 'satiable',\n 'satin',\n 'satirical',\n 'satisfied',\n 'satisfy',\n 'saturate',\n 'saturday',\n 'sauciness',\n 'saucy',\n 'sauna',\n 'savage',\n 'savanna',\n 'saved',\n 'savings',\n 'savior',\n 'savor',\n 'saxophone',\n 'say',\n 'scabbed',\n 'scabby',\n 'scalded',\n 'scalding',\n 'scale',\n 'scaling',\n 'scallion',\n 'scallop',\n 'scalping',\n 'scam',\n 'scandal',\n 'scanner',\n 'scanning',\n 'scant',\n 'scapegoat',\n 'scarce',\n 'scarcity',\n 'scarecrow',\n 'scared',\n 'scarf',\n 'scarily',\n 'scariness',\n 'scarring',\n 'scary',\n 'scavenger',\n 'scenic',\n 'schedule',\n 'schematic',\n 'scheme',\n 'scheming',\n 'schilling',\n 'schnapps',\n 'scholar',\n 'science',\n 'scientist',\n 'scion',\n 'scoff',\n 'scolding',\n 'scone',\n 'scoop',\n 'scooter',\n 'scope',\n 'scorch',\n 'scorebook',\n 'scorecard',\n 'scored',\n 'scoreless',\n 'scorer',\n 'scoring',\n 'scorn',\n 'scorpion',\n 'scotch',\n 'scoundrel',\n 'scoured',\n 'scouring',\n 'scouting',\n 'scouts',\n 'scowling',\n 'scrabble',\n 'scraggly',\n 'scrambled',\n 'scrambler',\n 'scrap',\n 'scratch',\n 'scrawny',\n 'screen',\n 'scribble',\n 'scribe',\n 'scribing',\n 'scrimmage',\n 'script',\n 'scroll',\n 'scrooge',\n 'scrounger',\n 'scrubbed',\n 'scrubber',\n 'scruffy',\n 'scrunch',\n 'scrutiny',\n 'scuba',\n 'scuff',\n 'sculptor',\n 'sculpture',\n 'scurvy',\n 'scuttle',\n 'secluded',\n 'secluding',\n 'seclusion',\n 'second',\n 'secrecy',\n 'secret',\n 'sectional',\n 'sector',\n 'secular',\n 'securely',\n 'security',\n 'sedan',\n 'sedate',\n 'sedation',\n 'sedative',\n 'sediment',\n 'seduce',\n 'seducing',\n 'segment',\n 'seismic',\n 'seizing',\n 'seldom',\n 'selected',\n 'selection',\n 'selective',\n 'selector',\n 'self',\n 'seltzer',\n 'semantic',\n 'semester',\n 'semicolon',\n 'semifinal',\n 'seminar',\n 'semisoft',\n 'semisweet',\n 'senate',\n 'senator',\n 'send',\n 'senior',\n 'senorita',\n 'sensation',\n 'sensitive',\n 'sensitize',\n 'sensually',\n 'sensuous',\n 'sepia',\n 'september',\n 'septic',\n 'septum',\n 'sequel',\n 'sequence',\n 'sequester',\n 'series',\n 'sermon',\n 'serotonin',\n 'serpent',\n 'serrated',\n 'serve',\n 'service',\n 'serving',\n 'sesame',\n 'sessions',\n 'setback',\n 'setting',\n 'settle',\n 'settling',\n 'setup',\n 'sevenfold',\n 'seventeen',\n 'seventh',\n 'seventy',\n 'severity',\n 'shabby',\n 'shack',\n 'shaded',\n 'shadily',\n 'shadiness',\n 'shading',\n 'shadow',\n 'shady',\n 'shaft',\n 'shakable',\n 'shakily',\n 'shakiness',\n 'shaking',\n 'shaky',\n 'shale',\n 'shallot',\n 'shallow',\n 'shame',\n 'shampoo',\n 'shamrock',\n 'shank',\n 'shanty',\n 'shape',\n 'shaping',\n 'share',\n 'sharpener',\n 'sharper',\n 'sharpie',\n 'sharply',\n 'sharpness',\n 'shawl',\n 'sheath',\n 'shed',\n 'sheep',\n 'sheet',\n 'shelf',\n 'shell',\n 'shelter',\n 'shelve',\n 'shelving',\n 'sherry',\n 'shield',\n 'shifter',\n 'shifting',\n 'shiftless',\n 'shifty',\n 'shimmer',\n 'shimmy',\n 'shindig',\n 'shine',\n 'shingle',\n 'shininess',\n 'shining',\n 'shiny',\n 'ship',\n 'shirt',\n 'shivering',\n 'shock',\n 'shone',\n 'shoplift',\n 'shopper',\n 'shopping',\n 'shoptalk',\n 'shore',\n 'shortage',\n 'shortcake',\n 'shortcut',\n 'shorten',\n 'shorter',\n 'shorthand',\n 'shortlist',\n 'shortly',\n 'shortness',\n 'shorts',\n 'shortwave',\n 'shorty',\n 'shout',\n 'shove',\n 'showbiz',\n 'showcase',\n 'showdown',\n 'shower',\n 'showgirl',\n 'showing',\n 'showman',\n 'shown',\n 'showoff',\n 'showpiece',\n 'showplace',\n 'showroom',\n 'showy',\n 'shrank',\n 'shrapnel',\n 'shredder',\n 'shredding',\n 'shrewdly',\n 'shriek',\n 'shrill',\n 'shrimp',\n 'shrine',\n 'shrink',\n 'shrivel',\n 'shrouded',\n 'shrubbery',\n 'shrubs',\n 'shrug',\n 'shrunk',\n 'shucking',\n 'shudder',\n 'shuffle',\n 'shuffling',\n 'shun',\n 'shush',\n 'shut',\n 'shy',\n 'siamese',\n 'siberian',\n 'sibling',\n 'siding',\n 'sierra',\n 'siesta',\n 'sift',\n 'sighing',\n 'silenced',\n 'silencer',\n 'silent',\n 'silica',\n 'silicon',\n 'silk',\n 'silliness',\n 'silly',\n 'silo',\n 'silt',\n 'silver',\n 'similarly',\n 'simile',\n 'simmering',\n 'simple',\n 'simplify',\n 'simply',\n 'sincere',\n 'sincerity',\n 'singer',\n 'singing',\n 'single',\n 'singular',\n 'sinister',\n 'sinless',\n 'sinner',\n 'sinuous',\n 'sip',\n 'siren',\n 'sister',\n 'sitcom',\n 'sitter',\n 'sitting',\n 'situated',\n 'situation',\n 'sixfold',\n 'sixteen',\n 'sixth',\n 'sixties',\n 'sixtieth',\n 'sixtyfold',\n 'sizable',\n 'sizably',\n 'size',\n 'sizing',\n 'sizzle',\n 'sizzling',\n 'skater',\n 'skating',\n 'skedaddle',\n 'skeletal',\n 'skeleton',\n 'skeptic',\n 'sketch',\n 'skewed',\n 'skewer',\n 'skid',\n 'skied',\n 'skier',\n 'skies',\n 'skiing',\n 'skilled',\n 'skillet',\n 'skillful',\n 'skimmed',\n 'skimmer',\n 'skimming',\n 'skimpily',\n 'skincare',\n 'skinhead',\n 'skinless',\n 'skinning',\n 'skinny',\n 'skintight',\n 'skipper',\n 'skipping',\n 'skirmish',\n 'skirt',\n 'skittle',\n 'skydiver',\n 'skylight',\n 'skyline',\n 'skype',\n 'skyrocket',\n 'skyward',\n 'slab',\n 'slacked',\n 'slacker',\n 'slacking',\n 'slackness',\n 'slacks',\n 'slain',\n 'slam',\n 'slander',\n 'slang',\n 'slapping',\n 'slapstick',\n 'slashed',\n 'slashing',\n 'slate',\n 'slather',\n 'slaw',\n 'sled',\n 'sleek',\n 'sleep',\n 'sleet',\n 'sleeve',\n 'slept',\n 'sliceable',\n 'sliced',\n 'slicer',\n 'slicing',\n 'slick',\n 'slider',\n 'slideshow',\n 'sliding',\n 'slighted',\n 'slighting',\n 'slightly',\n 'slimness',\n 'slimy',\n 'slinging',\n 'slingshot',\n 'slinky',\n 'slip',\n 'slit',\n 'sliver',\n 'slobbery',\n 'slogan',\n 'sloped',\n 'sloping',\n 'sloppily',\n 'sloppy',\n 'slot',\n 'slouching',\n 'slouchy',\n 'sludge',\n 'slug',\n 'slum',\n 'slurp',\n 'slush',\n 'sly',\n 'small',\n 'smartly',\n 'smartness',\n 'smasher',\n 'smashing',\n 'smashup',\n 'smell',\n 'smelting',\n 'smile',\n 'smilingly',\n 'smirk',\n 'smite',\n 'smith',\n 'smitten',\n 'smock',\n 'smog',\n 'smoked',\n 'smokeless',\n 'smokiness',\n 'smoking',\n 'smoky',\n 'smolder',\n 'smooth',\n 'smother',\n 'smudge',\n 'smudgy',\n 'smuggler',\n 'smuggling',\n 'smugly',\n 'smugness',\n 'snack',\n 'snagged',\n 'snaking',\n 'snap',\n 'snare',\n 'snarl',\n 'snazzy',\n 'sneak',\n 'sneer',\n 'sneeze',\n 'sneezing',\n 'snide',\n 'sniff',\n 'snippet',\n 'snipping',\n 'snitch',\n 'snooper',\n 'snooze',\n 'snore',\n 'snoring',\n 'snorkel',\n 'snort',\n 'snout',\n 'snowbird',\n 'snowboard',\n 'snowbound',\n 'snowcap',\n 'snowdrift',\n 'snowdrop',\n 'snowfall',\n 'snowfield',\n 'snowflake',\n 'snowiness',\n 'snowless',\n 'snowman',\n 'snowplow',\n 'snowshoe',\n 'snowstorm',\n 'snowsuit',\n 'snowy',\n 'snub',\n 'snuff',\n 'snuggle',\n 'snugly',\n 'snugness',\n 'speak',\n 'spearfish',\n 'spearhead',\n 'spearman',\n 'spearmint',\n 'species',\n 'specimen',\n 'specked',\n 'speckled',\n 'specks',\n 'spectacle',\n 'spectator',\n 'spectrum',\n 'speculate',\n 'speech',\n 'speed',\n 'spellbind',\n 'speller',\n 'spelling',\n 'spendable',\n 'spender',\n 'spending',\n 'spent',\n 'spew',\n 'sphere',\n 'spherical',\n 'sphinx',\n 'spider',\n 'spied',\n 'spiffy',\n 'spill',\n 'spilt',\n 'spinach',\n 'spinal',\n 'spindle',\n 'spinner',\n 'spinning',\n 'spinout',\n 'spinster',\n 'spiny',\n 'spiral',\n 'spirited',\n 'spiritism',\n 'spirits',\n 'spiritual',\n 'splashed',\n 'splashing',\n 'splashy',\n 'splatter',\n 'spleen',\n 'splendid',\n 'splendor',\n 'splice',\n 'splicing',\n 'splinter',\n 'splotchy',\n 'splurge',\n 'spoilage',\n 'spoiled',\n 'spoiler',\n 'spoiling',\n 'spoils',\n 'spoken',\n 'spokesman',\n 'sponge',\n 'spongy',\n 'sponsor',\n 'spoof',\n 'spookily',\n 'spooky',\n 'spool',\n 'spoon',\n 'spore',\n 'sporting',\n 'sports',\n 'sporty',\n 'spotless',\n 'spotlight',\n 'spotted',\n 'spotter',\n 'spotting',\n 'spotty',\n 'spousal',\n 'spouse',\n 'spout',\n 'sprain',\n 'sprang',\n 'sprawl',\n 'spray',\n 'spree',\n 'sprig',\n 'spring',\n 'sprinkled',\n 'sprinkler',\n 'sprint',\n 'sprite',\n 'sprout',\n 'spruce',\n 'sprung',\n 'spry',\n 'spud',\n 'spur',\n 'sputter',\n 'spyglass',\n 'squabble',\n 'squad',\n 'squall',\n 'squander',\n 'squash',\n 'squatted',\n 'squatter',\n 'squatting',\n 'squeak',\n 'squealer',\n 'squealing',\n 'squeamish',\n 'squeegee',\n 'squeeze',\n 'squeezing',\n 'squid',\n 'squiggle',\n 'squiggly',\n 'squint',\n 'squire',\n 'squirt',\n 'squishier',\n 'squishy',\n 'stability',\n 'stabilize',\n 'stable',\n 'stack',\n 'stadium',\n 'staff',\n 'stage',\n 'staging',\n 'stagnant',\n 'stagnate',\n 'stainable',\n 'stained',\n 'staining',\n 'stainless',\n 'stalemate',\n 'staleness',\n 'stalling',\n 'stallion',\n 'stamina',\n 'stammer',\n 'stamp',\n 'stand',\n 'stank',\n 'staple',\n 'stapling',\n 'starboard',\n 'starch',\n 'stardom',\n 'stardust',\n 'starfish',\n 'stargazer',\n 'staring',\n 'stark',\n 'starless',\n 'starlet',\n 'starlight',\n 'starlit',\n 'starring',\n 'starry',\n 'starship',\n 'starter',\n 'starting',\n 'startle',\n 'startling',\n 'startup',\n 'starved',\n 'starving',\n 'stash',\n 'state',\n 'static',\n 'statistic',\n 'statue',\n 'stature',\n 'status',\n 'statute',\n 'statutory',\n 'staunch',\n 'stays',\n 'steadfast',\n 'steadier',\n 'steadily',\n 'steadying',\n 'steam',\n 'steed',\n 'steep',\n 'steerable',\n 'steering',\n 'steersman',\n 'stegosaur',\n 'stellar',\n 'stem',\n 'stench',\n 'stencil',\n 'step',\n 'stereo',\n 'sterile',\n 'sterility',\n 'sterilize',\n 'sterling',\n 'sternness',\n 'sternum',\n 'stew',\n 'stick',\n 'stiffen',\n 'stiffly',\n 'stiffness',\n 'stifle',\n 'stifling',\n 'stillness',\n 'stilt',\n 'stimulant',\n 'stimulate',\n 'stimuli',\n 'stimulus',\n 'stinger',\n 'stingily',\n 'stinging',\n 'stingray',\n 'stingy',\n 'stinking',\n 'stinky',\n 'stipend',\n 'stipulate',\n 'stir',\n 'stitch',\n 'stock',\n 'stoic',\n 'stoke',\n 'stole',\n 'stomp',\n 'stonewall',\n 'stoneware',\n 'stonework',\n 'stoning',\n 'stony',\n 'stood',\n 'stooge',\n 'stool',\n 'stoop',\n 'stoplight',\n 'stoppable',\n 'stoppage',\n 'stopped',\n 'stopper',\n 'stopping',\n 'stopwatch',\n 'storable',\n 'storage',\n 'storeroom',\n 'storewide',\n 'storm',\n 'stout',\n 'stove',\n 'stowaway',\n 'stowing',\n 'straddle',\n 'straggler',\n 'strained',\n 'strainer',\n 'straining',\n 'strangely',\n 'stranger',\n 'strangle',\n 'strategic',\n 'strategy',\n 'stratus',\n 'straw',\n 'stray',\n 'streak',\n 'stream',\n 'street',\n 'strength',\n 'strenuous',\n 'strep',\n 'stress',\n 'stretch',\n 'strewn',\n 'stricken',\n 'strict',\n 'stride',\n 'strife',\n 'strike',\n 'striking',\n 'strive',\n 'striving',\n 'strobe',\n 'strode',\n 'stroller',\n 'strongbox',\n 'strongly',\n 'strongman',\n 'struck',\n 'structure',\n 'strudel',\n 'struggle',\n 'strum',\n 'strung',\n 'strut',\n 'stubbed',\n 'stubble',\n 'stubbly',\n 'stubborn',\n 'stucco',\n 'stuck',\n 'student',\n 'studied',\n 'studio',\n 'study',\n 'stuffed',\n 'stuffing',\n 'stuffy',\n 'stumble',\n 'stumbling',\n 'stump',\n 'stung',\n 'stunned',\n 'stunner',\n 'stunning',\n 'stunt',\n 'stupor',\n 'sturdily',\n 'sturdy',\n 'styling',\n 'stylishly',\n 'stylist',\n 'stylized',\n 'stylus',\n 'suave',\n 'subarctic',\n 'subatomic',\n 'subdivide',\n 'subdued',\n 'subduing',\n 'subfloor',\n 'subgroup',\n 'subheader',\n 'subject',\n 'sublease',\n 'sublet',\n 'sublevel',\n 'sublime',\n 'submarine',\n 'submerge',\n 'submersed',\n 'submitter',\n 'subpanel',\n 'subpar',\n 'subplot',\n 'subprime',\n 'subscribe',\n 'subscript',\n 'subsector',\n 'subside',\n 'subsiding',\n 'subsidize',\n 'subsidy',\n 'subsoil',\n 'subsonic',\n 'substance',\n 'subsystem',\n 'subtext',\n 'subtitle',\n 'subtly',\n 'subtotal',\n 'subtract',\n 'subtype',\n 'suburb',\n 'subway',\n 'subwoofer',\n 'subzero',\n 'succulent',\n 'such',\n 'suction',\n 'sudden',\n 'sudoku',\n 'suds',\n 'sufferer',\n 'suffering',\n 'suffice',\n 'suffix',\n 'suffocate',\n 'suffrage',\n 'sugar',\n 'suggest',\n 'suing',\n 'suitable',\n 'suitably',\n 'suitcase',\n 'suitor',\n 'sulfate',\n 'sulfide',\n 'sulfite',\n 'sulfur',\n 'sulk',\n 'sullen',\n 'sulphate',\n 'sulphuric',\n 'sultry',\n 'superbowl',\n 'superglue',\n 'superhero',\n 'superior',\n 'superjet',\n 'superman',\n 'supermom',\n 'supernova',\n 'supervise',\n 'supper',\n 'supplier',\n 'supply',\n 'support',\n 'supremacy',\n 'supreme',\n 'surcharge',\n 'surely',\n 'sureness',\n 'surface',\n 'surfacing',\n 'surfboard',\n 'surfer',\n 'surgery',\n 'surgical',\n 'surging',\n 'surname',\n 'surpass',\n 'surplus',\n 'surprise',\n 'surreal',\n 'surrender',\n 'surrogate',\n 'surround',\n 'survey',\n 'survival',\n 'survive',\n 'surviving',\n 'survivor',\n 'sushi',\n 'suspect',\n 'suspend',\n 'suspense',\n 'sustained',\n 'sustainer',\n 'swab',\n 'swaddling',\n 'swagger',\n 'swampland',\n 'swan',\n 'swapping',\n 'swarm',\n 'sway',\n 'swear',\n 'sweat',\n 'sweep',\n 'swell',\n 'swept',\n 'swerve',\n 'swifter',\n 'swiftly',\n 'swiftness',\n 'swimmable',\n 'swimmer',\n 'swimming',\n 'swimsuit',\n 'swimwear',\n 'swinger',\n 'swinging',\n 'swipe',\n 'swirl',\n 'switch',\n 'swivel',\n 'swizzle',\n 'swooned',\n 'swoop',\n 'swoosh',\n 'swore',\n 'sworn',\n 'swung',\n 'sycamore',\n 'sympathy',\n 'symphonic',\n 'symphony',\n 'symptom',\n 'synapse',\n 'syndrome',\n 'synergy',\n 'synopses',\n 'synopsis',\n 'synthesis',\n 'synthetic',\n 'syrup',\n 'system',\n 't-shirt',\n 'tabasco',\n 'tabby',\n 'tableful',\n 'tables',\n 'tablet',\n 'tableware',\n 'tabloid',\n 'tackiness',\n 'tacking',\n 'tackle',\n 'tackling',\n 'tacky',\n 'taco',\n 'tactful',\n 'tactical',\n 'tactics',\n 'tactile',\n 'tactless',\n 'tadpole',\n 'taekwondo',\n 'tag',\n 'tainted',\n 'take',\n 'taking',\n 'talcum',\n 'talisman',\n 'tall',\n 'talon',\n 'tamale',\n 'tameness',\n 'tamer',\n 'tamper',\n 'tank',\n 'tanned',\n 'tannery',\n 'tanning',\n 'tantrum',\n 'tapeless',\n 'tapered',\n 'tapering',\n 'tapestry',\n 'tapioca',\n 'tapping',\n 'taps',\n 'tarantula',\n 'target',\n 'tarmac',\n 'tarnish',\n 'tarot',\n 'tartar',\n 'tartly',\n 'tartness',\n 'task',\n 'tassel',\n 'taste',\n 'tastiness',\n 'tasting',\n 'tasty',\n 'tattered',\n 'tattle',\n 'tattling',\n 'tattoo',\n 'taunt',\n 'tavern',\n 'thank',\n 'that',\n 'thaw',\n 'theater',\n 'theatrics',\n 'thee',\n 'theft',\n 'theme',\n 'theology',\n 'theorize',\n 'thermal',\n 'thermos',\n 'thesaurus',\n 'these',\n 'thesis',\n 'thespian',\n 'thicken',\n 'thicket',\n 'thickness',\n 'thieving',\n 'thievish',\n 'thigh',\n 'thimble',\n 'thing',\n 'think',\n 'thinly',\n 'thinner',\n 'thinness',\n 'thinning',\n 'thirstily',\n 'thirsting',\n 'thirsty',\n 'thirteen',\n 'thirty',\n 'thong',\n 'thorn',\n 'those',\n 'thousand',\n 'thrash',\n 'thread',\n 'threaten',\n 'threefold',\n 'thrift',\n 'thrill',\n 'thrive',\n 'thriving',\n 'throat',\n 'throbbing',\n 'throng',\n 'throttle',\n 'throwaway',\n 'throwback',\n 'thrower',\n 'throwing',\n 'thud',\n 'thumb',\n 'thumping',\n 'thursday',\n 'thus',\n 'thwarting',\n 'thyself',\n 'tiara',\n 'tibia',\n 'tidal',\n 'tidbit',\n 'tidiness',\n 'tidings',\n 'tidy',\n 'tiger',\n 'tighten',\n 'tightly',\n 'tightness',\n 'tightrope',\n 'tightwad',\n 'tigress',\n 'tile',\n 'tiling',\n 'till',\n 'tilt',\n 'timid',\n 'timing',\n 'timothy',\n 'tinderbox',\n 'tinfoil',\n 'tingle',\n 'tingling',\n 'tingly',\n 'tinker',\n 'tinkling',\n 'tinsel',\n 'tinsmith',\n 'tint',\n 'tinwork',\n 'tiny',\n 'tipoff',\n 'tipped',\n 'tipper',\n 'tipping',\n 'tiptoeing',\n 'tiptop',\n 'tiring',\n 'tissue',\n 'trace',\n 'tracing',\n 'track',\n 'traction',\n 'tractor',\n 'trade',\n 'trading',\n 'tradition',\n 'traffic',\n 'tragedy',\n 'trailing',\n 'trailside',\n 'train',\n 'traitor',\n 'trance',\n 'tranquil',\n 'transfer',\n 'transform',\n 'translate',\n 'transpire',\n 'transport',\n 'transpose',\n 'trapdoor',\n 'trapeze',\n 'trapezoid',\n 'trapped',\n 'trapper',\n 'trapping',\n 'traps',\n 'trash',\n 'travel',\n 'traverse',\n 'travesty',\n 'tray',\n 'treachery',\n 'treading',\n 'treadmill',\n 'treason',\n 'treat',\n 'treble',\n 'tree',\n 'trekker',\n 'tremble',\n 'trembling',\n 'tremor',\n 'trench',\n 'trend',\n 'trespass',\n 'triage',\n 'trial',\n 'triangle',\n 'tribesman',\n 'tribunal',\n 'tribune',\n 'tributary',\n 'tribute',\n 'triceps',\n 'trickery',\n 'trickily',\n 'tricking',\n 'trickle',\n 'trickster',\n 'tricky',\n 'tricolor',\n 'tricycle',\n 'trident',\n 'tried',\n 'trifle',\n 'trifocals',\n 'trillion',\n 'trilogy',\n 'trimester',\n 'trimmer',\n 'trimming',\n 'trimness',\n 'trinity',\n 'trio',\n 'tripod',\n 'tripping',\n 'triumph',\n 'trivial',\n 'trodden',\n 'trolling',\n 'trombone',\n 'trophy',\n 'tropical',\n 'tropics',\n 'trouble',\n 'troubling',\n 'trough',\n 'trousers',\n 'trout',\n 'trowel',\n 'truce',\n 'truck',\n 'truffle',\n 'trump',\n 'trunks',\n 'trustable',\n 'trustee',\n 'trustful',\n 'trusting',\n 'trustless',\n 'truth',\n 'try',\n 'tubby',\n 'tubeless',\n 'tubular',\n 'tucking',\n 'tuesday',\n 'tug',\n 'tuition',\n 'tulip',\n 'tumble',\n 'tumbling',\n 'tummy',\n 'turban',\n 'turbine',\n 'turbofan',\n 'turbojet',\n 'turbulent',\n 'turf',\n 'turkey',\n 'turmoil',\n 'turret',\n 'turtle',\n 'tusk',\n 'tutor',\n 'tutu',\n 'tux',\n 'tweak',\n 'tweed',\n 'tweet',\n 'tweezers',\n 'twelve',\n 'twentieth',\n 'twenty',\n 'twerp',\n 'twice',\n 'twiddle',\n 'twiddling',\n 'twig',\n 'twilight',\n 'twine',\n 'twins',\n 'twirl',\n 'twistable',\n 'twisted',\n 'twister',\n 'twisting',\n 'twisty',\n 'twitch',\n 'twitter',\n 'tycoon',\n 'tying',\n 'tyke',\n 'udder',\n 'ultimate',\n 'ultimatum',\n 'ultra',\n 'umbilical',\n 'umbrella',\n 'umpire',\n 'unabashed',\n 'unable',\n 'unadorned',\n 'unadvised',\n 'unafraid',\n 'unaired',\n 'unaligned',\n 'unaltered',\n 'unarmored',\n 'unashamed',\n 'unaudited',\n 'unawake',\n 'unaware',\n 'unbaked',\n 'unbalance',\n 'unbeaten',\n 'unbend',\n 'unbent',\n 'unbiased',\n 'unbitten',\n 'unblended',\n 'unblessed',\n 'unblock',\n 'unbolted',\n 'unbounded',\n 'unboxed',\n 'unbraided',\n 'unbridle',\n 'unbroken',\n 'unbuckled',\n 'unbundle',\n 'unburned',\n 'unbutton',\n 'uncanny',\n 'uncapped',\n 'uncaring',\n 'uncertain',\n 'unchain',\n 'unchanged',\n 'uncharted',\n 'uncheck',\n 'uncivil',\n 'unclad',\n 'unclaimed',\n 'unclamped',\n 'unclasp',\n 'uncle',\n 'unclip',\n 'uncloak',\n 'unclog',\n 'unclothed',\n 'uncoated',\n 'uncoiled',\n 'uncolored',\n 'uncombed',\n 'uncommon',\n 'uncooked',\n 'uncork',\n 'uncorrupt',\n 'uncounted',\n 'uncouple',\n 'uncouth',\n 'uncover',\n 'uncross',\n 'uncrown',\n 'uncrushed',\n 'uncured',\n 'uncurious',\n 'uncurled',\n 'uncut',\n 'undamaged',\n 'undated',\n 'undaunted',\n 'undead',\n 'undecided',\n 'undefined',\n 'underage',\n 'underarm',\n 'undercoat',\n 'undercook',\n 'undercut',\n 'underdog',\n 'underdone',\n 'underfed',\n 'underfeed',\n 'underfoot',\n 'undergo',\n 'undergrad',\n 'underhand',\n 'underline',\n 'underling',\n 'undermine',\n 'undermost',\n 'underpaid',\n 'underpass',\n 'underpay',\n 'underrate',\n 'undertake',\n 'undertone',\n 'undertook',\n 'undertow',\n 'underuse',\n 'underwear',\n 'underwent',\n 'underwire',\n 'undesired',\n 'undiluted',\n 'undivided',\n 'undocked',\n 'undoing',\n 'undone',\n 'undrafted',\n 'undress',\n 'undrilled',\n 'undusted',\n 'undying',\n 'unearned',\n 'unearth',\n 'unease',\n 'uneasily',\n 'uneasy',\n 'uneatable',\n 'uneaten',\n 'unedited',\n 'unelected',\n 'unending',\n 'unengaged',\n 'unenvied',\n 'unequal',\n 'unethical',\n 'uneven',\n 'unexpired',\n 'unexposed',\n 'unfailing',\n 'unfair',\n 'unfasten',\n 'unfazed',\n 'unfeeling',\n 'unfiled',\n 'unfilled',\n 'unfitted',\n 'unfitting',\n 'unfixable',\n 'unfixed',\n 'unflawed',\n 'unfocused',\n 'unfold',\n 'unfounded',\n 'unframed',\n 'unfreeze',\n 'unfrosted',\n 'unfrozen',\n 'unfunded',\n 'unglazed',\n 'ungloved',\n 'unglue',\n 'ungodly',\n 'ungraded',\n 'ungreased',\n 'unguarded',\n 'unguided',\n 'unhappily',\n 'unhappy',\n 'unharmed',\n 'unhealthy',\n 'unheard',\n 'unhearing',\n 'unheated',\n 'unhelpful',\n 'unhidden',\n 'unhinge',\n 'unhitched',\n 'unholy',\n 'unhook',\n 'unicorn',\n 'unicycle',\n 'unified',\n 'unifier',\n 'uniformed',\n 'uniformly',\n 'unify',\n 'unimpeded',\n 'uninjured',\n 'uninstall',\n 'uninsured',\n 'uninvited',\n 'union',\n 'uniquely',\n 'unisexual',\n 'unison',\n 'unissued',\n 'unit',\n 'universal',\n 'universe',\n 'unjustly',\n 'unkempt',\n 'unkind',\n 'unknotted',\n 'unknowing',\n 'unknown',\n 'unlaced',\n 'unlatch',\n 'unlawful',\n 'unleaded',\n 'unlearned',\n 'unleash',\n 'unless',\n 'unleveled',\n 'unlighted',\n 'unlikable',\n 'unlimited',\n 'unlined',\n 'unlinked',\n 'unlisted',\n 'unlit',\n 'unlivable',\n 'unloaded',\n 'unloader',\n 'unlocked',\n 'unlocking',\n 'unlovable',\n 'unloved',\n 'unlovely',\n 'unloving',\n 'unluckily',\n 'unlucky',\n 'unmade',\n 'unmanaged',\n 'unmanned',\n 'unmapped',\n 'unmarked',\n 'unmasked',\n 'unmasking',\n 'unmatched',\n 'unmindful',\n 'unmixable',\n 'unmixed',\n 'unmolded',\n 'unmoral',\n 'unmovable',\n 'unmoved',\n 'unmoving',\n 'unnamable',\n 'unnamed',\n 'unnatural',\n 'unneeded',\n 'unnerve',\n 'unnerving',\n 'unnoticed',\n 'unopened',\n 'unopposed',\n 'unpack',\n 'unpadded',\n 'unpaid',\n 'unpainted',\n 'unpaired',\n 'unpaved',\n 'unpeeled',\n 'unpicked',\n 'unpiloted',\n 'unpinned',\n 'unplanned',\n 'unplanted',\n 'unpleased',\n 'unpledged',\n 'unplowed',\n 'unplug',\n 'unpopular',\n 'unproven',\n 'unquote',\n 'unranked',\n 'unrated',\n 'unraveled',\n 'unreached',\n 'unread',\n 'unreal',\n 'unreeling',\n 'unrefined',\n 'unrelated',\n 'unrented',\n 'unrest',\n 'unretired',\n 'unrevised',\n 'unrigged',\n 'unripe',\n 'unrivaled',\n 'unroasted',\n 'unrobed',\n 'unroll',\n 'unruffled',\n 'unruly',\n 'unrushed',\n 'unsaddle',\n 'unsafe',\n 'unsaid',\n 'unsalted',\n 'unsaved',\n 'unsavory',\n 'unscathed',\n 'unscented',\n 'unscrew',\n 'unsealed',\n 'unseated',\n 'unsecured',\n 'unseeing',\n 'unseemly',\n 'unseen',\n 'unselect',\n 'unselfish',\n 'unsent',\n 'unsettled',\n 'unshackle',\n 'unshaken',\n 'unshaved',\n 'unshaven',\n 'unsheathe',\n 'unshipped',\n 'unsightly',\n 'unsigned',\n 'unskilled',\n 'unsliced',\n 'unsmooth',\n 'unsnap',\n 'unsocial',\n 'unsoiled',\n 'unsold',\n 'unsolved',\n 'unsorted',\n 'unspoiled',\n 'unspoken',\n 'unstable',\n 'unstaffed',\n 'unstamped',\n 'unsteady',\n 'unsterile',\n 'unstirred',\n 'unstitch',\n 'unstopped',\n 'unstuck',\n 'unstuffed',\n 'unstylish',\n 'unsubtle',\n 'unsubtly',\n 'unsuited',\n 'unsure',\n 'unsworn',\n 'untagged',\n 'untainted',\n 'untaken',\n 'untamed',\n 'untangled',\n 'untapped',\n 'untaxed',\n 'unthawed',\n 'unthread',\n 'untidy',\n 'untie',\n 'until',\n 'untimed',\n 'untimely',\n 'untitled',\n 'untoasted',\n 'untold',\n 'untouched',\n 'untracked',\n 'untrained',\n 'untreated',\n 'untried',\n 'untrimmed',\n 'untrue',\n 'untruth',\n 'unturned',\n 'untwist',\n 'untying',\n 'unusable',\n 'unused',\n 'unusual',\n 'unvalued',\n 'unvaried',\n 'unvarying',\n 'unveiled',\n 'unveiling',\n 'unvented',\n 'unviable',\n 'unvisited',\n 'unvocal',\n 'unwanted',\n 'unwarlike',\n 'unwary',\n 'unwashed',\n 'unwatched',\n 'unweave',\n 'unwed',\n 'unwelcome',\n 'unwell',\n 'unwieldy',\n 'unwilling',\n 'unwind',\n 'unwired',\n 'unwitting',\n 'unwomanly',\n 'unworldly',\n 'unworn',\n 'unworried',\n 'unworthy',\n 'unwound',\n 'unwoven',\n 'unwrapped',\n 'unwritten',\n 'unzip',\n 'upbeat',\n 'upchuck',\n 'upcoming',\n 'upcountry',\n 'update',\n 'upfront',\n 'upgrade',\n 'upheaval',\n 'upheld',\n 'uphill',\n 'uphold',\n 'uplifted',\n 'uplifting',\n 'upload',\n 'upon',\n 'upper',\n 'upright',\n 'uprising',\n 'upriver',\n 'uproar',\n 'uproot',\n 'upscale',\n 'upside',\n 'upstage',\n 'upstairs',\n 'upstart',\n 'upstate',\n 'upstream',\n 'upstroke',\n 'upswing',\n 'uptake',\n 'uptight',\n 'uptown',\n 'upturned',\n 'upward',\n 'upwind',\n 'uranium',\n 'urban',\n 'urchin',\n 'urethane',\n 'urgency',\n 'urgent',\n 'urging',\n 'urologist',\n 'urology',\n 'usable',\n 'usage',\n 'useable',\n 'used',\n 'uselessly',\n 'user',\n 'usher',\n 'usual',\n 'utensil',\n 'utility',\n 'utilize',\n 'utmost',\n 'utopia',\n 'utter',\n 'vacancy',\n 'vacant',\n 'vacate',\n 'vacation',\n 'vagabond',\n 'vagrancy',\n 'vagrantly',\n 'vaguely',\n 'vagueness',\n 'valiant',\n 'valid',\n 'valium',\n 'valley',\n 'valuables',\n 'value',\n 'vanilla',\n 'vanish',\n 'vanity',\n 'vanquish',\n 'vantage',\n 'vaporizer',\n 'variable',\n 'variably',\n 'varied',\n 'variety',\n 'various',\n 'varmint',\n 'varnish',\n 'varsity',\n 'varying',\n 'vascular',\n 'vaseline',\n 'vastly',\n 'vastness',\n 'veal',\n 'vegan',\n 'veggie',\n 'vehicular',\n 'velcro',\n 'velocity',\n 'velvet',\n 'vendetta',\n 'vending',\n 'vendor',\n 'veneering',\n 'vengeful',\n 'venomous',\n 'ventricle',\n 'venture',\n 'venue',\n 'venus',\n 'verbalize',\n 'verbally',\n 'verbose',\n 'verdict',\n 'verify',\n 'verse',\n 'version',\n 'versus',\n 'vertebrae',\n 'vertical',\n 'vertigo',\n 'very',\n 'vessel',\n 'vest',\n 'veteran',\n 'veto',\n 'vexingly',\n 'viability',\n 'viable',\n 'vibes',\n 'vice',\n 'vicinity',\n 'victory',\n 'video',\n 'viewable',\n 'viewer',\n 'viewing',\n 'viewless',\n 'viewpoint',\n 'vigorous',\n 'village',\n 'villain',\n 'vindicate',\n 'vineyard',\n 'vintage',\n 'violate',\n 'violation',\n 'violator',\n 'violet',\n 'violin',\n 'viper',\n 'viral',\n 'virtual',\n 'virtuous',\n 'virus',\n 'visa',\n 'viscosity',\n 'viscous',\n 'viselike',\n 'visible',\n 'visibly',\n 'vision',\n 'visiting',\n 'visitor',\n 'visor',\n 'vista',\n 'vitality',\n 'vitalize',\n 'vitally',\n 'vitamins',\n 'vivacious',\n 'vividly',\n 'vividness',\n 'vixen',\n 'vocalist',\n 'vocalize',\n 'vocally',\n 'vocation',\n 'voice',\n 'voicing',\n 'void',\n 'volatile',\n 'volley',\n 'voltage',\n 'volumes',\n 'voter',\n 'voting',\n 'voucher',\n 'vowed',\n 'vowel',\n 'voyage',\n 'wackiness',\n 'wad',\n 'wafer',\n 'waffle',\n 'waged',\n 'wager',\n 'wages',\n 'waggle',\n 'wagon',\n 'wake',\n 'waking',\n 'walk',\n 'walmart',\n 'walnut',\n 'walrus',\n 'waltz',\n 'wand',\n 'wannabe',\n 'wanted',\n 'wanting',\n 'wasabi',\n 'washable',\n 'washbasin',\n 'washboard',\n 'washbowl',\n 'washcloth',\n 'washday',\n 'washed',\n 'washer',\n 'washhouse',\n 'washing',\n 'washout',\n 'washroom',\n 'washstand',\n 'washtub',\n 'wasp',\n 'wasting',\n 'watch',\n 'water',\n 'waviness',\n 'waving',\n 'wavy',\n 'whacking',\n 'whacky',\n 'wham',\n 'wharf',\n 'wheat',\n 'whenever',\n 'whiff',\n 'whimsical',\n 'whinny',\n 'whiny',\n 'whisking',\n 'whoever',\n 'whole',\n 'whomever',\n 'whoopee',\n 'whooping',\n 'whoops',\n 'why',\n 'wick',\n 'widely',\n 'widen',\n 'widget',\n 'widow',\n 'width',\n 'wieldable',\n 'wielder',\n 'wife',\n 'wifi',\n 'wikipedia',\n 'wildcard',\n 'wildcat',\n 'wilder',\n 'wildfire',\n 'wildfowl',\n 'wildland',\n 'wildlife',\n 'wildly',\n 'wildness',\n 'willed',\n 'willfully',\n 'willing',\n 'willow',\n 'willpower',\n 'wilt',\n 'wimp',\n 'wince',\n 'wincing',\n 'wind',\n 'wing',\n 'winking',\n 'winner',\n 'winnings',\n 'winter',\n 'wipe',\n 'wired',\n 'wireless',\n 'wiring',\n 'wiry',\n 'wisdom',\n 'wise',\n 'wish',\n 'wisplike',\n 'wispy',\n 'wistful',\n 'wizard',\n 'wobble',\n 'wobbling',\n 'wobbly',\n 'wok',\n 'wolf',\n 'wolverine',\n 'womanhood',\n 'womankind',\n 'womanless',\n 'womanlike',\n 'womanly',\n 'womb',\n 'woof',\n 'wooing',\n 'wool',\n 'woozy',\n 'word',\n 'work',\n 'worried',\n 'worrier',\n 'worrisome',\n 'worry',\n 'worsening',\n 'worshiper',\n 'worst',\n 'wound',\n 'woven',\n 'wow',\n 'wrangle',\n 'wrath',\n 'wreath',\n 'wreckage',\n 'wrecker',\n 'wrecking',\n 'wrench',\n 'wriggle',\n 'wriggly',\n 'wrinkle',\n 'wrinkly',\n 'wrist',\n 'writing',\n 'written',\n 'wrongdoer',\n 'wronged',\n 'wrongful',\n 'wrongly',\n 'wrongness',\n 'wrought',\n 'xbox',\n 'xerox',\n 'yahoo',\n 'yam',\n 'yanking',\n 'yapping',\n 'yard',\n 'yarn',\n 'yeah',\n 'yearbook',\n 'yearling',\n 'yearly',\n 'yearning',\n 'yeast',\n 'yelling',\n 'yelp',\n 'yen',\n 'yesterday',\n 'yiddish',\n 'yield',\n 'yin',\n 'yippee',\n 'yo-yo',\n 'yodel',\n 'yoga',\n 'yogurt',\n 'yonder',\n 'yoyo',\n 'yummy',\n 'zap',\n 'zealous',\n 'zebra',\n 'zen',\n 'zeppelin',\n 'zero',\n 'zestfully',\n 'zesty',\n 'zigzagged',\n 'zipfile',\n 'zipping',\n 'zippy',\n 'zips',\n 'zit',\n 'zodiac',\n 'zombie',\n 'zone',\n 'zoning',\n 'zookeeper',\n 'zoologist',\n 'zoology',\n 'zoom',\n];\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 { NotificationsService } from '../abstractions/notifications.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 notificationsUrl: string;\n eventsUrl: string;\n enterpriseUrl: string;\n\n constructor(private apiService: ApiService, private storageService: StorageService,\n private notificationsService: NotificationsService) { }\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 notifications: null,\n events: null,\n webVault: null,\n enterprise: null,\n };\n\n const envUrls = new EnvironmentUrls();\n\n if (urls.base) {\n this.baseUrl = envUrls.base = urls.base;\n 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 this.notificationsUrl = urls.notifications;\n this.eventsUrl = envUrls.events = urls.events;\n this.enterpriseUrl = urls.enterprise;\n 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 urls.notifications = this.formatUrl(urls.notifications);\n urls.events = this.formatUrl(urls.events);\n urls.enterprise = this.formatUrl(urls.enterprise);\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 notifications: urls.notifications,\n events: urls.events,\n enterprise: urls.enterprise,\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 this.notificationsUrl = urls.notifications;\n this.eventsUrl = urls.events;\n this.enterpriseUrl = urls.enterprise;\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 envUrls.events = this.eventsUrl;\n }\n\n this.apiService.setUrls(envUrls);\n if (this.notificationsService != null) {\n this.notificationsService.init(this);\n }\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.trim();\n }\n}\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { TreeNode } from '../models/domain/treeNode';\n\nimport { FolderRequest } from '../models/request/folderRequest';\n\nimport { FolderResponse } from '../models/response/folderResponse';\n\nimport { FolderView } from '../models/view/folderView';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\nimport { CipherData } from '../models/data/cipherData';\n\nimport { ServiceUtils } from '../misc/serviceUtils';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n foldersPrefix: 'folders_',\n ciphersPrefix: 'ciphers_',\n};\nconst NestingDelimiter = '/';\n\nexport class FolderService implements FolderServiceAbstraction {\n decryptedFolderCache: FolderView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private apiService: ApiService, private storageService: StorageService,\n private i18nService: I18nService, private cipherService: CipherService) { }\n\n clearCache(): void {\n this.decryptedFolderCache = null;\n }\n\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\n const folder = new Folder();\n folder.id = model.id;\n folder.name = await this.cryptoService.encrypt(model.name, key);\n return folder;\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null || !folders.hasOwnProperty(id)) {\n return null;\n }\n\n return new Folder(folders[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n const response: Folder[] = [];\n for (const id in folders) {\n if (folders.hasOwnProperty(id)) {\n response.push(new Folder(folders[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedFolderCache != null) {\n return this.decryptedFolderCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const decFolders: FolderView[] = [];\n const promises: Promise[] = [];\n const folders = await this.getAll();\n folders.forEach(folder => {\n promises.push(folder.decrypt().then(f => decFolders.push(f)));\n });\n\n await Promise.all(promises);\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\n\n const noneFolder = new FolderView();\n noneFolder.name = this.i18nService.t('noneFolder');\n decFolders.push(noneFolder);\n\n this.decryptedFolderCache = decFolders;\n return this.decryptedFolderCache;\n }\n\n async getAllNested(): Promise[]> {\n const folders = await this.getAllDecrypted();\n const nodes: TreeNode[] = [];\n folders.forEach(f => {\n const folderCopy = new FolderView();\n folderCopy.id = f.id;\n folderCopy.revisionDate = f.revisionDate;\n const parts = f.name != null ? f.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter) : [];\n ServiceUtils.nestedTraverse(nodes, 0, parts, folderCopy, null, NestingDelimiter);\n });\n return nodes;\n }\n\n async getNested(id: string): Promise> {\n const folders = await this.getAllNested();\n return ServiceUtils.getTreeNodeObject(folders, id) as TreeNode;\n }\n\n async saveWithServer(folder: Folder): Promise {\n const request = new FolderRequest(folder);\n\n let response: FolderResponse;\n if (folder.id == null) {\n response = await this.apiService.postFolder(request);\n folder.id = response.id;\n } else {\n response = await this.apiService.putFolder(folder.id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new FolderData(response, userId);\n await this.upsert(data);\n }\n\n async upsert(folder: FolderData | FolderData[]): Promise {\n const userId = await this.userService.getUserId();\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null) {\n folders = {};\n }\n\n if (folder instanceof FolderData) {\n const f = folder as FolderData;\n folders[f.id] = f;\n } else {\n (folder as FolderData[]).forEach(f => {\n folders[f.id] = f;\n });\n }\n\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n }\n\n async replace(folders: { [id: string]: FolderData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.foldersPrefix + userId);\n this.decryptedFolderCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (folders[id] == null) {\n return;\n }\n delete folders[id];\n } else {\n (id as string[]).forEach(i => {\n delete folders[i];\n });\n }\n\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n\n // Items in a deleted folder are re-assigned to \"No Folder\"\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\n if (ciphers != null) {\n const updates: CipherData[] = [];\n for (const cId in ciphers) {\n if (ciphers[cId].folderId === id) {\n ciphers[cId].folderId = null;\n updates.push(ciphers[cId]);\n }\n }\n if (updates.length > 0) {\n this.cipherService.upsert(updates);\n }\n }\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteFolder(id);\n await this.delete(id);\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 localeNames = new Map([\n ['af', 'Afrikaans'],\n ['be', 'Беларуская'],\n ['bg', 'български'],\n ['ca', 'català'],\n ['cs', 'čeština'],\n ['da', 'dansk'],\n ['de', 'Deutsch'],\n ['el', 'Ελληνικά'],\n ['en', 'English'],\n ['en-GB', 'English (British)'],\n ['eo', 'Esperanto'],\n ['es', 'español'],\n ['et', 'eesti'],\n ['fa', 'فارسی'],\n ['fi', 'suomi'],\n ['fr', 'français'],\n ['he', 'עברית'],\n ['hi', 'हिन्दी'],\n ['hr', 'hrvatski'],\n ['hu', 'magyar'],\n ['id', 'Bahasa Indonesia'],\n ['it', 'italiano'],\n ['ja', '日本語'],\n ['ko', '한국어'],\n ['lv', 'Latvietis'],\n ['ml', 'മലയാളം'],\n ['nb', 'norsk (bokmål)'],\n ['nl', 'Nederlands'],\n ['pl', 'polski'],\n ['pt-BR', 'português do Brasil'],\n ['pt-PT', 'português'],\n ['ro', 'română'],\n ['ru', 'русский'],\n ['sk', 'slovenčina'],\n ['sr', 'Српски'],\n ['sv', 'svenska'],\n ['th', 'ไทย'],\n ['tr', 'Türkçe'],\n ['uk', 'українська'],\n ['vi', 'Tiếng Việt'],\n ['zh-CN', '中文(中国大陆)'],\n ['zh-TW', '中文(台灣)'],\n ]);\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 * as zxcvbn from 'zxcvbn';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\nimport { PasswordGeneratorPolicyOptions } from '../models/domain/passwordGeneratorPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { CryptoService } from '../abstractions/crypto.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from '../abstractions/passwordGeneration.service';\nimport { PolicyService } from '../abstractions/policy.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { EEFLongWordList } from '../misc/wordlist';\n\nimport { PolicyType } from '../enums/policyType';\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 type: 'password',\n numWords: 3,\n wordSeparator: '-',\n capitalize: false,\n includeNumber: false,\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: GeneratedPasswordHistory[];\n\n constructor(private cryptoService: CryptoService, private storageService: StorageService,\n private policyService: PolicyService) { }\n\n async generatePassword(options: any): Promise {\n // overload defaults with given options\n const o = Object.assign({}, DefaultOptions, options);\n\n if (o.type === 'passphrase') {\n return this.generatePassphrase(options);\n }\n\n // sanitize\n this.sanitizePasswordLength(o, true);\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 = 'ABCDEFGHJKLMNPQRSTUVWXYZ';\n if (o.ambiguous) {\n uppercaseCharSet += 'IO';\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 generatePassphrase(options: any): Promise {\n const o = Object.assign({}, DefaultOptions, options);\n\n if (o.numWords == null || o.numWords <= 2) {\n o.numWords = DefaultOptions.numWords;\n }\n if (o.wordSeparator == null || o.wordSeparator.length === 0 || o.wordSeparator.length > 1) {\n o.wordSeparator = ' ';\n }\n if (o.capitalize == null) {\n o.capitalize = false;\n }\n if (o.includeNumber == null) {\n o.includeNumber = false;\n }\n\n const listLength = EEFLongWordList.length - 1;\n const wordList = new Array(o.numWords);\n for (let i = 0; i < o.numWords; i++) {\n const wordIndex = await this.cryptoService.randomNumber(0, listLength);\n if (o.capitalize) {\n wordList[i] = this.capitalize(EEFLongWordList[wordIndex]);\n } else {\n wordList[i] = EEFLongWordList[wordIndex];\n }\n }\n\n if (o.includeNumber) {\n await this.appendRandomNumberToRandomWord(wordList);\n }\n return wordList.join(o.wordSeparator);\n }\n\n async getOptions(): Promise<[any, PasswordGeneratorPolicyOptions]> {\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 = Object.assign({}, DefaultOptions, options);\n }\n }\n const enforcedOptions = await this.enforcePasswordGeneratorPoliciesOnOptions(this.optionsCache);\n this.optionsCache = enforcedOptions[0];\n return [this.optionsCache, enforcedOptions[1]];\n }\n\n async enforcePasswordGeneratorPoliciesOnOptions(options: any): Promise<[any, PasswordGeneratorPolicyOptions]> {\n let enforcedPolicyOptions = await this.getPasswordGeneratorPolicyOptions();\n if (enforcedPolicyOptions != null) {\n if (options.length < enforcedPolicyOptions.minLength) {\n options.length = enforcedPolicyOptions.minLength;\n }\n\n if (enforcedPolicyOptions.useUppercase) {\n options.uppercase = true;\n }\n\n if (enforcedPolicyOptions.useLowercase) {\n options.lowercase = true;\n }\n\n if (enforcedPolicyOptions.useNumbers) {\n options.number = true;\n }\n\n if (options.minNumber < enforcedPolicyOptions.numberCount) {\n options.minNumber = enforcedPolicyOptions.numberCount;\n }\n\n if (enforcedPolicyOptions.useSpecial) {\n options.special = true;\n }\n\n if (options.minSpecial < enforcedPolicyOptions.specialCount) {\n options.minSpecial = enforcedPolicyOptions.specialCount;\n }\n\n // Must normalize these fields because the receiving call expects all options to pass the current rules\n if (options.minSpecial + options.minNumber > options.length) {\n options.minSpecial = options.length - options.minNumber;\n }\n\n if (options.numWords < enforcedPolicyOptions.minNumberWords) {\n options.numWords = enforcedPolicyOptions.minNumberWords;\n }\n\n if (enforcedPolicyOptions.capitalize) {\n options.capitalize = true;\n }\n\n if (enforcedPolicyOptions.includeNumber) {\n options.includeNumber = true;\n }\n\n // Force default type if password/passphrase selected via policy\n if (enforcedPolicyOptions.defaultType === 'password' ||\n enforcedPolicyOptions.defaultType === 'passphrase') {\n options.type = enforcedPolicyOptions.defaultType;\n }\n } else { // UI layer expects an instantiated object to prevent more explicit null checks\n enforcedPolicyOptions = new PasswordGeneratorPolicyOptions();\n }\n return [options, enforcedPolicyOptions];\n }\n\n async getPasswordGeneratorPolicyOptions(): Promise {\n const policies: Policy[] = this.policyService == null ? null :\n await this.policyService.getAll(PolicyType.PasswordGenerator);\n let enforcedOptions: PasswordGeneratorPolicyOptions = null;\n\n if (policies == null || policies.length === 0) {\n return enforcedOptions;\n }\n\n policies.forEach(currentPolicy => {\n if (!currentPolicy.enabled || currentPolicy.data == null) {\n return;\n }\n\n if (enforcedOptions == null) {\n enforcedOptions = new PasswordGeneratorPolicyOptions();\n }\n\n // Password wins in multi-org collisions\n if (currentPolicy.data.defaultType != null && enforcedOptions.defaultType !== 'password') {\n enforcedOptions.defaultType = currentPolicy.data.defaultType;\n }\n\n if (currentPolicy.data.minLength != null\n && currentPolicy.data.minLength > enforcedOptions.minLength) {\n enforcedOptions.minLength = currentPolicy.data.minLength;\n }\n\n if (currentPolicy.data.useUpper) {\n enforcedOptions.useUppercase = true;\n }\n\n if (currentPolicy.data.useLower) {\n enforcedOptions.useLowercase = true;\n }\n\n if (currentPolicy.data.useNumbers) {\n enforcedOptions.useNumbers = true;\n }\n\n if (currentPolicy.data.minNumbers != null\n && currentPolicy.data.minNumbers > enforcedOptions.numberCount) {\n enforcedOptions.numberCount = currentPolicy.data.minNumbers;\n }\n\n if (currentPolicy.data.useSpecial) {\n enforcedOptions.useSpecial = true;\n }\n\n if (currentPolicy.data.minSpecial != null\n && currentPolicy.data.minSpecial > enforcedOptions.specialCount) {\n enforcedOptions.specialCount = currentPolicy.data.minSpecial;\n }\n\n if (currentPolicy.data.minNumberWords != null\n && currentPolicy.data.minNumberWords > enforcedOptions.minNumberWords) {\n enforcedOptions.minNumberWords = currentPolicy.data.minNumberWords;\n }\n\n if (currentPolicy.data.capitalize) {\n enforcedOptions.capitalize = true;\n }\n\n if (currentPolicy.data.includeNumber) {\n enforcedOptions.includeNumber = true;\n }\n });\n\n return enforcedOptions;\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 GeneratedPasswordHistory(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 passwordStrength(password: string, userInputs: string[] = null): zxcvbn.ZXCVBNResult {\n if (password == null || password.length === 0) {\n return null;\n }\n let globalUserInputs = ['bitwarden', 'bit', 'warden'];\n if (userInputs != null && userInputs.length > 0) {\n globalUserInputs = globalUserInputs.concat(userInputs);\n }\n // Use a hash set to get rid of any duplicate user inputs\n const finalUserInputs = Array.from(new Set(globalUserInputs));\n const result = zxcvbn(password, finalUserInputs);\n return result;\n }\n\n normalizeOptions(options: any, enforcedPolicyOptions: PasswordGeneratorPolicyOptions) {\n options.minLowercase = 0;\n options.minUppercase = 0;\n\n if (!options.length || options.length < 5) {\n options.length = 5;\n } else if (options.length > 128) {\n options.length = 128;\n }\n\n if (options.length < enforcedPolicyOptions.minLength) {\n options.length = enforcedPolicyOptions.minLength;\n }\n\n if (!options.minNumber) {\n options.minNumber = 0;\n } else if (options.minNumber > options.length) {\n options.minNumber = options.length;\n } else if (options.minNumber > 9) {\n options.minNumber = 9;\n }\n\n if (options.minNumber < enforcedPolicyOptions.numberCount) {\n options.minNumber = enforcedPolicyOptions.numberCount;\n }\n\n if (!options.minSpecial) {\n options.minSpecial = 0;\n } else if (options.minSpecial > options.length) {\n options.minSpecial = options.length;\n } else if (options.minSpecial > 9) {\n options.minSpecial = 9;\n }\n\n if (options.minSpecial < enforcedPolicyOptions.specialCount) {\n options.minSpecial = enforcedPolicyOptions.specialCount;\n }\n\n if (options.minSpecial + options.minNumber > options.length) {\n options.minSpecial = options.length - options.minNumber;\n }\n\n if (options.numWords == null || options.length < 3) {\n options.numWords = 3;\n } else if (options.numWords > 20) {\n options.numWords = 20;\n }\n\n if (options.numWords < enforcedPolicyOptions.minNumberWords) {\n options.numWords = enforcedPolicyOptions.minNumberWords;\n }\n\n if (options.wordSeparator != null && options.wordSeparator.length > 1) {\n options.wordSeparator = options.wordSeparator[0];\n }\n\n this.sanitizePasswordLength(options, false);\n }\n\n private capitalize(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private async appendRandomNumberToRandomWord(wordList: string[]) {\n if (wordList == null || wordList.length <= 0) {\n return;\n }\n const index = await this.cryptoService.randomNumber(0, wordList.length - 1);\n const num = await this.cryptoService.randomNumber(0, 9);\n wordList[index] = wordList[index] + num;\n }\n\n private async encryptHistory(history: GeneratedPasswordHistory[]): 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 GeneratedPasswordHistory(encrypted.encryptedString, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private async decryptHistory(history: GeneratedPasswordHistory[]): 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 GeneratedPasswordHistory(decrypted, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private matchesPrevious(password: string, history: GeneratedPasswordHistory[]): 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 private sanitizePasswordLength(options: any, forGeneration: boolean) {\n let minUppercaseCalc = 0;\n let minLowercaseCalc = 0;\n let minNumberCalc: number = options.minNumber;\n let minSpecialCalc: number = options.minSpecial;\n\n if (options.uppercase && options.minUppercase <= 0) {\n minUppercaseCalc = 1;\n } else if (!options.uppercase) {\n minUppercaseCalc = 0;\n }\n\n if (options.lowercase && options.minLowercase <= 0) {\n minLowercaseCalc = 1;\n } else if (!options.lowercase) {\n minLowercaseCalc = 0;\n }\n\n if (options.number && options.minNumber <= 0) {\n minNumberCalc = 1;\n } else if (!options.number) {\n minNumberCalc = 0;\n }\n\n if (options.special && options.minSpecial <= 0) {\n minSpecialCalc = 1;\n } else if (!options.special) {\n minSpecialCalc = 0;\n }\n\n // This should never happen but is a final safety net\n if (!options.length || options.length < 1) {\n options.length = 10;\n }\n\n const minLength: number = minUppercaseCalc + minLowercaseCalc + minNumberCalc + minSpecialCalc;\n // Normalize and Generation both require this modification\n if (options.length < minLength) {\n options.length = minLength;\n }\n\n // Apply other changes if the options object passed in is for generation\n if (forGeneration) {\n options.minUppercase = minUppercaseCalc;\n options.minLowercase = minLowercaseCalc;\n options.minNumber = minNumberCalc;\n options.minSpecial = minSpecialCalc;\n }\n }\n}\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nconst Keys = {\n settingsPrefix: 'settings_',\n equivalentDomains: 'equivalentDomains',\n};\n\nexport class SettingsService implements SettingsServiceAbstraction {\n private settingsCache: any;\n\n constructor(private userService: UserService, private storageService: StorageService) {\n }\n\n clearCache(): void {\n this.settingsCache = null;\n }\n\n getEquivalentDomains(): Promise {\n return this.getSettingsKey(Keys.equivalentDomains);\n }\n\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.settingsPrefix + userId);\n this.clearCache();\n }\n\n // Helpers\n\n private async getSettings(): Promise {\n if (this.settingsCache == null) {\n const userId = await this.userService.getUserId();\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\n }\n return this.settingsCache;\n }\n\n private async getSettingsKey(key: string): Promise {\n const settings = await this.getSettings();\n if (settings != null && settings[key]) {\n return settings[key];\n }\n return null;\n }\n\n private async setSettingsKey(key: string, value: any): Promise {\n const userId = await this.userService.getUserId();\n let settings = await this.getSettings();\n if (!settings) {\n settings = {};\n }\n\n settings[key] = value;\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\n this.settingsCache = settings;\n }\n}\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\n\nexport class StateService implements StateServiceAbstraction {\n private state: any = {};\n\n get(key: string): Promise {\n if (this.state.hasOwnProperty(key)) {\n return Promise.resolve(this.state[key]);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n this.state[key] = obj;\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n delete this.state[key];\n return Promise.resolve();\n }\n\n purge(): Promise {\n this.state = {};\n return Promise.resolve();\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 { PolicyService } from '../abstractions/policy.service';\nimport { SendService } from '../abstractions/send.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';\nimport { PolicyData } from '../models/data/policyData';\nimport { SendData } from '../models/data/sendData';\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 {\n SyncCipherNotification,\n SyncFolderNotification,\n SyncSendNotification,\n} from '../models/response/notificationResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SendResponse } from '../models/response/sendResponse';\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 policyService: PolicyService,\n private sendService: SendService, 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 async fullSync(forceSync: boolean, allowThrowOnError = false): Promise {\n this.syncStarted();\n const isAuthenticated = await this.userService.isAuthenticated();\n if (!isAuthenticated) {\n return this.syncCompleted(false);\n }\n\n const now = new Date();\n let needsSync = false;\n try {\n needsSync = await this.needsSyncing(forceSync);\n } catch (e) {\n if (allowThrowOnError) {\n throw e;\n }\n }\n\n if (!needsSync) {\n await this.setLastSync(now);\n return this.syncCompleted(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.syncSends(userId, response.sends);\n await this.syncSettings(userId, response.domains);\n await this.syncPolicies(response.policies);\n\n await this.setLastSync(now);\n return this.syncCompleted(true);\n } catch (e) {\n if (allowThrowOnError) {\n throw e;\n } else {\n return this.syncCompleted(false);\n }\n }\n }\n\n async syncUpsertFolder(notification: SyncFolderNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n const localFolder = await this.folderService.get(notification.id);\n if ((!isEdit && localFolder == null) ||\n (isEdit && localFolder != null && localFolder.revisionDate < notification.revisionDate)) {\n const remoteFolder = await this.apiService.getFolder(notification.id);\n if (remoteFolder != null) {\n const userId = await this.userService.getUserId();\n await this.folderService.upsert(new FolderData(remoteFolder, userId));\n this.messagingService.send('syncedUpsertedFolder', { folderId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch { }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteFolder(notification: SyncFolderNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.folderService.delete(notification.id);\n this.messagingService.send('syncedDeletedFolder', { folderId: notification.id });\n this.syncCompleted(true);\n return true;\n }\n return this.syncCompleted(false);\n }\n\n async syncUpsertCipher(notification: SyncCipherNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n let shouldUpdate = true;\n const localCipher = await this.cipherService.get(notification.id);\n if (localCipher != null && localCipher.revisionDate >= notification.revisionDate) {\n shouldUpdate = false;\n }\n\n let checkCollections = false;\n if (shouldUpdate) {\n if (isEdit) {\n shouldUpdate = localCipher != null;\n checkCollections = true;\n } else {\n if (notification.collectionIds == null || notification.organizationId == null) {\n shouldUpdate = localCipher == null;\n } else {\n shouldUpdate = false;\n checkCollections = true;\n }\n }\n }\n\n if (!shouldUpdate && checkCollections && notification.organizationId != null &&\n notification.collectionIds != null && notification.collectionIds.length > 0) {\n const collections = await this.collectionService.getAll();\n if (collections != null) {\n for (let i = 0; i < collections.length; i++) {\n if (notification.collectionIds.indexOf(collections[i].id) > -1) {\n shouldUpdate = true;\n break;\n }\n }\n }\n }\n\n if (shouldUpdate) {\n const remoteCipher = await this.apiService.getCipher(notification.id);\n if (remoteCipher != null) {\n const userId = await this.userService.getUserId();\n await this.cipherService.upsert(new CipherData(remoteCipher, userId));\n this.messagingService.send('syncedUpsertedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch (e) {\n if (e != null && e.statusCode === 404 && isEdit) {\n await this.cipherService.delete(notification.id);\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteCipher(notification: SyncCipherNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.cipherService.delete(notification.id);\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n return this.syncCompleted(false);\n }\n\n async syncUpsertSend(notification: SyncSendNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n const localSend = await this.sendService.get(notification.id);\n if ((!isEdit && localSend == null) ||\n (isEdit && localSend != null && localSend.revisionDate < notification.revisionDate)) {\n const remoteSend = await this.apiService.getSend(notification.id);\n if (remoteSend != null) {\n const userId = await this.userService.getUserId();\n await this.sendService.upsert(new SendData(remoteSend, userId));\n this.messagingService.send('syncedUpsertedSend', { sendId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch { }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteSend(notification: SyncSendNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.sendService.delete(notification.id);\n this.messagingService.send('syncedDeletedSend', { sendId: notification.id });\n this.syncCompleted(true);\n return true;\n }\n return this.syncCompleted(false);\n }\n\n // Helpers\n\n private syncStarted() {\n this.syncInProgress = true;\n this.messagingService.send('syncStarted');\n }\n\n private syncCompleted(successfully: boolean): boolean {\n this.syncInProgress = false;\n this.messagingService.send('syncCompleted', { successfully: successfully });\n return successfully;\n }\n\n private async needsSyncing(forceSync: boolean) {\n if (forceSync) {\n return true;\n }\n\n const lastSync = await this.getLastSync();\n if (lastSync == null || lastSync.getTime() === 0) {\n return true;\n }\n\n const response = await this.apiService.getAccountRevisionDate();\n if (new Date(response) <= lastSync) {\n return false;\n }\n return true;\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\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 syncSends(userId: string, response: SendResponse[]) {\n const sends: { [id: string]: SendData; } = {};\n response.forEach(s => {\n sends[s.id] = new SendData(s, userId);\n });\n return await this.sendService.replace(sends);\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 private async syncPolicies(response: PolicyResponse[]) {\n const policies: { [id: string]: PolicyData; } = {};\n if (response != null) {\n response.forEach(p => {\n policies[p.id] = new PolicyData(p);\n });\n }\n return await this.policyService.replace(policies);\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendFileData } from './sendFileData';\nimport { SendTextData } from './sendTextData';\n\nimport { SendResponse } from '../response/sendResponse';\n\nexport class SendData {\n id: string;\n accessId: string;\n userId: string;\n type: SendType;\n name: string;\n notes: string;\n file: SendFileData;\n text: SendTextData;\n key: string;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: string;\n expirationDate: string;\n deletionDate: string;\n password: string;\n disabled: boolean;\n\n constructor(response?: SendResponse, userId?: string) {\n if (response == null) {\n return;\n }\n\n this.id = response.id;\n this.accessId = response.accessId;\n this.userId = userId;\n this.type = response.type;\n this.name = response.name;\n this.notes = response.notes;\n this.key = response.key;\n this.maxAccessCount = response.maxAccessCount;\n this.accessCount = response.accessCount;\n this.revisionDate = response.revisionDate;\n this.expirationDate = response.expirationDate;\n this.deletionDate = response.deletionDate;\n this.password = response.password;\n this.disabled = response.disable;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendTextData(response.text);\n break;\n case SendType.File:\n this.file = new SendFileData(response.file);\n break;\n default:\n break;\n }\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 async setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n\n if (await this.skipTokenStorage()) {\n // if we have a vault timeout and the action is log out, don't store token\n return;\n }\n\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 async setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n\n if (await this.skipTokenStorage()) {\n // if we have a vault timeout and the action is log out, don't store token\n return;\n }\n\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 async toggleTokens(): Promise {\n const token = await this.getToken();\n const refreshToken = await this.getRefreshToken();\n const timeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const action = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n if ((timeout != null || timeout === 0) && action === 'logOut') {\n // if we have a vault timeout and the action is log out, reset tokens\n await this.clearToken();\n this.token = token;\n this.refreshToken = refreshToken;\n return;\n }\n\n await this.setToken(token);\n await this.setRefreshToken(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 private async skipTokenStorage(): Promise {\n const timeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const action = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n return timeout != null && action === 'logOut';\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';\nconst SteamChars = '23456789BCDFGHJKMNPQRTVWXY';\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 const isOtpAuth = key.toLowerCase().indexOf('otpauth://') === 0;\n const isSteamAuth = !isOtpAuth && key.toLowerCase().indexOf('steam://') === 0;\n if (isOtpAuth) {\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 } else if (isSteamAuth) {\n keyB32 = key.substr('steam://'.length);\n digits = 5;\n }\n\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const timeHex = this.leftPad(this.decToHex(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\n let otp = '';\n if (isSteamAuth) {\n // tslint:disable-next-line\n let fullCode = binary & 0x7fffffff;\n for (let i = 0; i < digits; i++) {\n otp += SteamChars[fullCode % SteamChars.length];\n fullCode = Math.trunc(fullCode / SteamChars.length);\n }\n } else {\n otp = (binary % Math.pow(10, digits)).toString();\n otp = this.leftPad(otp, digits, '0');\n }\n\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 decToHex(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 { 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\nimport { KdfType } from '../enums/kdfType';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n kdf: 'kdf',\n kdfIterations: 'kdfIterations',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n private userId: string;\n private email: string;\n private stamp: string;\n private kdf: KdfType;\n private kdfIterations: number;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) { }\n\n setInformation(userId: string, email: string, kdf: KdfType, kdfIterations: number): Promise {\n this.email = email;\n this.userId = userId;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n this.storageService.save(Keys.kdf, kdf),\n this.storageService.save(Keys.kdfIterations, kdfIterations),\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 this.userId = await this.storageService.get(Keys.userId);\n }\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email == null) {\n this.email = await this.storageService.get(Keys.userEmail);\n }\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp == null) {\n this.stamp = await this.storageService.get(Keys.stamp);\n }\n return this.stamp;\n }\n\n async getKdf(): Promise {\n if (this.kdf == null) {\n this.kdf = await this.storageService.get(Keys.kdf);\n }\n return this.kdf;\n }\n\n async getKdfIterations(): Promise {\n if (this.kdfIterations == null) {\n this.kdfIterations = await this.storageService.get(Keys.kdfIterations);\n }\n return this.kdfIterations;\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.storageService.remove(Keys.kdf),\n this.storageService.remove(Keys.kdfIterations),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n this.kdf = null;\n this.kdfIterations = 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 canAccessPremium(): Promise {\n const authed = await this.isAuthenticated();\n if (!authed) {\n return false;\n }\n\n const tokenPremium = this.tokenService.getPremium();\n if (tokenPremium) {\n return true;\n }\n\n const orgs = await this.getAllOrganizations();\n for (let i = 0; i < orgs.length; i++) {\n if (orgs[i].usersGetPremium && orgs[i].enabled) {\n return true;\n }\n }\n return false;\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 { 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 { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { SearchService } from '../abstractions/search.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\nimport { VaultTimeoutService as VaultTimeoutServiceAbstraction } from '../abstractions/vaultTimeout.service';\n\nimport { CipherString } from '../models/domain/cipherString';\n\nexport class VaultTimeoutService implements VaultTimeoutServiceAbstraction {\n pinProtectedKey: CipherString = null;\n biometricLocked: boolean = true;\n\n private inited = false;\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private collectionService: CollectionService, private cryptoService: CryptoService,\n protected platformUtilsService: PlatformUtilsService, private storageService: StorageService,\n private messagingService: MessagingService, private searchService: SearchService,\n private userService: UserService, private tokenService: TokenService,\n private lockedCallback: () => Promise = null, private loggedOutCallback: () => Promise = null) {\n }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.startCheck();\n }\n }\n\n startCheck() {\n this.checkVaultTimeout();\n setInterval(() => this.checkVaultTimeout(), 10 * 1000); // check every 10 seconds\n }\n\n // Keys aren't stored for a device that is locked or logged out.\n async isLocked(): Promise {\n const hasKey = await this.cryptoService.hasKey();\n if (hasKey) {\n if (await this.isBiometricLockSet() && this.biometricLocked) {\n return true;\n }\n }\n return !hasKey;\n }\n\n async checkVaultTimeout(): Promise {\n if (await this.platformUtilsService.isViewOpen()) {\n // Do not lock\n return;\n }\n\n // \"is logged out check\" - similar to isLocked, below\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n\n if (await this.isLocked()) {\n return;\n }\n\n // This has the potential to be removed. Evaluate after all platforms complete with auto-logout\n let vaultTimeout = this.platformUtilsService.lockTimeout();\n if (vaultTimeout == null) {\n vaultTimeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n }\n\n if (vaultTimeout == null || vaultTimeout < 0) {\n return;\n }\n\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\n if (lastActive == null) {\n return;\n }\n\n const vaultTimeoutSeconds = vaultTimeout * 60;\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\n if (diffSeconds >= vaultTimeoutSeconds) {\n // Pivot based on the saved vault timeout action\n const timeoutAction = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n timeoutAction === 'logOut' ? await this.logOut() : await this.lock(true);\n }\n }\n\n async lock(allowSoftLock = false): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n\n this.biometricLocked = true;\n if (allowSoftLock) {\n const biometricLocked = await this.isBiometricLockSet();\n if (biometricLocked && this.platformUtilsService.supportsSecureStorage()) {\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n return;\n }\n }\n\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.searchService.clearIndex();\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n }\n\n async logOut(): Promise {\n if (this.loggedOutCallback != null) {\n await this.loggedOutCallback();\n }\n }\n\n async setVaultTimeoutOptions(timeout: number, action: string): Promise {\n await this.storageService.save(ConstantsService.vaultTimeoutKey, timeout);\n await this.storageService.save(ConstantsService.vaultTimeoutActionKey, action);\n await this.cryptoService.toggleKey();\n await this.tokenService.toggleTokens();\n }\n\n async isPinLockSet(): Promise<[boolean, boolean]> {\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\n return [protectedPin != null, pinProtectedKey != null];\n }\n\n async isBiometricLockSet(): Promise {\n return await this.storageService.get(ConstantsService.biometricUnlockKey);\n }\n\n clear(): Promise {\n this.pinProtectedKey = null;\n return this.storageService.remove(ConstantsService.protectedPin);\n }\n}\n","import { LogLevelType } from '../enums/logLevelType';\n\nimport { LogService as LogServiceAbstraction } from '../abstractions/log.service';\n\nimport * as hrtime from 'browser-hrtime';\n\nexport class ConsoleLogService implements LogServiceAbstraction {\n protected timersMap: Map = new Map();\n\n constructor(protected isDev: boolean, protected filter: (level: LogLevelType) => boolean = null) { }\n\n debug(message: string) {\n if (!this.isDev) {\n return;\n }\n this.write(LogLevelType.Debug, message);\n }\n\n info(message: string) {\n this.write(LogLevelType.Info, message);\n }\n\n warning(message: string) {\n this.write(LogLevelType.Warning, message);\n }\n\n error(message: string) {\n this.write(LogLevelType.Error, message);\n }\n\n write(level: LogLevelType, message: string) {\n if (this.filter != null && this.filter(level)) {\n return;\n }\n\n switch (level) {\n case LogLevelType.Debug:\n // tslint:disable-next-line\n console.log(message);\n break;\n case LogLevelType.Info:\n // tslint:disable-next-line\n console.log(message);\n break;\n case LogLevelType.Warning:\n // tslint:disable-next-line\n console.warn(message);\n break;\n case LogLevelType.Error:\n // tslint:disable-next-line\n console.error(message);\n break;\n default:\n break;\n }\n }\n\n time(label: string = 'default') {\n if (!this.timersMap.has(label)) {\n this.timersMap.set(label, hrtime());\n }\n }\n\n timeEnd(label: string = 'default'): [number, number] {\n const elapsed = hrtime(this.timersMap.get(label));\n this.timersMap.delete(label);\n this.write(LogLevelType.Info, `${label}: ${elapsed[0] * 1000 + elapsed[1] / 10e6}ms`);\n return elapsed;\n }\n}\n","import { Cipher } from './cipher';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Cipher as CipherDomain } from '../domain/cipher';\n\nexport class CipherWithIds extends Cipher {\n id: string;\n collectionIds: string[];\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CipherView | CipherDomain) {\n this.id = o.id;\n super.build(o);\n this.collectionIds = o.collectionIds;\n }\n}\n","import { Collection } from './collection';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { Collection as CollectionDomain } from '../domain/collection';\n\nexport class CollectionWithId extends Collection {\n id: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CollectionView | CollectionDomain) {\n this.id = o.id;\n super.build(o);\n }\n}\n","import { Folder } from './folder';\n\nimport { FolderView } from '../view/folderView';\n\nimport { Folder as FolderDomain } from '../domain/folder';\n\nexport class FolderWithId extends Folder {\n id: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: FolderView | FolderDomain) {\n this.id = o.id;\n super.build(o);\n }\n}\n","import { ImportResult } from '../../models/domain/importResult';\nimport { BaseImporter } from '../baseImporter';\nimport { Importer } from '../importer';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { CipherView } from '../../models/view';\nimport { CipherImportContext } from './cipherImportContext';\n\nexport const IgnoredProperties = ['ainfo', 'autosubmit', 'notesplain', 'ps', 'scope', 'tags', 'title', 'uuid', 'notes'];\n\nexport abstract class OnePasswordCsvImporter extends BaseImporter implements Importer {\n protected loginPropertyParsers = [this.setLoginUsername, this.setLoginPassword, this.setLoginUris];\n protected creditCardPropertyParsers = [this.setCreditCardNumber, this.setCreditCardVerification, this.setCreditCardCardholderName, this.setCreditCardExpiry];\n protected identityPropertyParsers = [this.setIdentityFirstName, this.setIdentityInitial, this.setIdentityLastName, this.setIdentityUserName, this.setIdentityEmail, this.setIdentityPhone, this.setIdentityCompany];\n\n abstract setCipherType(value: any, cipher: CipherView): void;\n\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true, {\n quoteChar: '\"',\n escapeChar: '\\\\',\n });\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n if (this.isNullOrWhitespace(this.getProp(value, 'title'))) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.getProp(value, 'title'), '--');\n\n this.setNotes(value, cipher);\n\n this.setCipherType(value, cipher);\n\n let altUsername: string = null;\n for (const property in value) {\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\n continue;\n }\n\n const context = new CipherImportContext(value, property, cipher);\n if (cipher.type === CipherType.Login && this.setKnownLoginValue(context)) {\n continue;\n } else if (cipher.type === CipherType.Card && this.setKnownCreditCardValue(context)) {\n continue;\n } else if (cipher.type === CipherType.Identity && this.setKnownIdentityValue(context)) {\n continue;\n }\n\n altUsername = this.setUnknownValue(context, altUsername);\n }\n\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\n cipher.login.username = altUsername;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n protected getProp(obj: any, name: string): any {\n const lowerObj = Object.entries(obj).reduce((agg: any, entry: [string, any]) => {\n agg[entry[0].toLowerCase()] = entry[1];\n return agg;\n }, {});\n return lowerObj[name.toLowerCase()];\n }\n\n protected getPropByRegexp(obj: any, regexp: RegExp): any {\n const matchingKeys = Object.keys(obj).reduce((agg: string[], key: string) => {\n if (key.match(regexp)) {\n agg.push(key);\n }\n return agg;\n }, []);\n if (matchingKeys.length === 0) {\n return null;\n } else {\n return obj[matchingKeys[0]];\n }\n }\n\n protected getPropIncluding(obj: any, name: string): any {\n const includesMap = Object.keys(obj).reduce((agg: string[], entry: string) => {\n if (entry.toLowerCase().includes(name.toLowerCase())) {\n agg.push(entry);\n }\n return agg;\n }, []);\n if (includesMap.length === 0) {\n return null;\n } else {\n return obj[includesMap[0]];\n }\n }\n\n protected setNotes(importRecord: any, cipher: CipherView) {\n cipher.notes = this.getValueOrDefault(this.getProp(importRecord, 'notesPlain'), '') + '\\n' +\n this.getValueOrDefault(this.getProp(importRecord, 'notes'), '') + '\\n';\n cipher.notes.trim();\n\n }\n\n protected setKnownLoginValue(context: CipherImportContext): boolean {\n return this.loginPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setKnownCreditCardValue(context: CipherImportContext): boolean {\n return this.creditCardPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setKnownIdentityValue(context: CipherImportContext): boolean {\n return this.identityPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setUnknownValue(context: CipherImportContext, altUsername: string): string {\n if (IgnoredProperties.indexOf(context.lowerProperty) === -1 && !context.lowerProperty.startsWith('section:') &&\n !context.lowerProperty.startsWith('section ')) {\n if (altUsername == null && context.lowerProperty === 'email') {\n return context.importRecord[context.property];\n }\n else if (context.lowerProperty === 'created date' || context.lowerProperty === 'modified date') {\n const readableDate = new Date(parseInt(context.importRecord[context.property], 10) * 1000).toUTCString();\n this.processKvp(context.cipher, '1Password ' + context.property, readableDate);\n return null;\n }\n if (context.lowerProperty.includes('password') || context.lowerProperty.includes('key') || context.lowerProperty.includes('secret')) {\n this.processKvp(context.cipher, context.property, context.importRecord[context.property], FieldType.Hidden);\n } else {\n this.processKvp(context.cipher, context.property, context.importRecord[context.property]);\n }\n }\n return null;\n }\n\n protected setIdentityFirstName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.firstName) && context.lowerProperty.includes('first name')) {\n context.cipher.identity.firstName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityInitial(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.middleName) && context.lowerProperty.includes('initial')) {\n context.cipher.identity.middleName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityLastName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.lastName) && context.lowerProperty.includes('last name')) {\n context.cipher.identity.lastName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityUserName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.username) && context.lowerProperty.includes('username')) {\n context.cipher.identity.username = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityCompany(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.company) && context.lowerProperty.includes('company')) {\n context.cipher.identity.company = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityPhone(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.phone) && context.lowerProperty.includes('default phone')) {\n context.cipher.identity.phone = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityEmail(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.email) && context.lowerProperty.includes('email')) {\n context.cipher.identity.email = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardNumber(context: CipherImportContext): boolean {\n if (this.isNullOrWhitespace(context.cipher.card.number) && context.lowerProperty.includes('number')) {\n context.cipher.card.number = context.importRecord[context.property];\n context.cipher.card.brand = this.getCardBrand(context.cipher.card.number);\n return true;\n }\n return false;\n }\n\n protected setCreditCardVerification(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.code) && context.lowerProperty.includes('verification number')) {\n context.cipher.card.code = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardCardholderName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.cardholderName) && context.lowerProperty.includes('cardholder name')) {\n context.cipher.card.cardholderName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardExpiry(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.expiration) && context.lowerProperty.includes('expiry date') &&\n context.importRecord[context.property].length === 7) {\n context.cipher.card.expMonth = (context.importRecord[context.property] as string).substr(0, 2);\n if (context.cipher.card.expMonth[0] === '0') {\n context.cipher.card.expMonth = context.cipher.card.expMonth.substr(1, 1);\n }\n context.cipher.card.expYear = (context.importRecord[context.property] as string).substr(3, 4);\n return true;\n }\n return false;\n }\n\n protected setLoginPassword(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.login.password) && context.lowerProperty === 'password') {\n context.cipher.login.password = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setLoginUsername(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.login.username) && context.lowerProperty === 'username') {\n context.cipher.login.username = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setLoginUris(context: CipherImportContext) {\n if ((context.cipher.login.uris == null || context.cipher.login.uris.length === 0) && context.lowerProperty === 'urls') {\n const urls = context.importRecord[context.property].split(this.newLineRegex);\n context.cipher.login.uris = this.makeUriArray(urls);\n return true;\n } else if ((context.lowerProperty === 'url')) {\n if (context.cipher.login.uris == null) {\n context.cipher.login.uris = [];\n }\n context.cipher.login.uris.concat(this.makeUriArray(context.importRecord[context.property]));\n return true;\n }\n return false;\n }\n}\n","export { AttachmentView } from './attachmentView';\nexport { CardView } from './cardView';\nexport { CipherView } from './cipherView';\nexport { FieldView } from './fieldView';\nexport { IdentityView } from './identityView';\nexport { LoginUriView } from './loginUriView';\nexport { LoginView } from './loginView';\nexport { SecureNoteView } from './secureNoteView';\nexport { View } from './view';\n","export enum NotificationType {\n SyncCipherUpdate = 0,\n SyncCipherCreate = 1,\n SyncLoginDelete = 2,\n SyncFolderDelete = 3,\n SyncCiphers = 4,\n\n SyncVault = 5,\n SyncOrgKeys = 6,\n SyncFolderCreate = 7,\n SyncFolderUpdate = 8,\n SyncCipherDelete = 9,\n SyncSettings = 10,\n\n LogOut = 11,\n\n SyncSendCreate = 12,\n SyncSendUpdate = 13,\n SyncSendDelete = 14,\n}\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, { preserveWhitespaces: true });\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\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 { PasswordStrengthComponent } from './components/password-strength.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 { AcceptEmergencyComponent } from './accounts/accept-emergency.component';\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 { SetPasswordComponent } from './accounts/set-password.component';\nimport { SsoComponent } from './accounts/sso.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 { PoliciesComponent as OrgPoliciesComponent } from './organizations/manage/policies.component';\nimport { PolicyEditComponent as OrgPolicyEditComponent } from './organizations/manage/policy-edit.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserConfirmComponent as OrgUserConfirmComponent } from './organizations/manage/user-confirm.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 { ChangePlanComponent } from './organizations/settings/change-plan.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { DownloadLicenseComponent } from './organizations/settings/download-license.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.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 {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.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 { AccessComponent } from './send/access.component';\nimport { AddEditComponent as SendAddEditComponent } from './send/add-edit.component';\nimport { SendComponent } from './send/send.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AddCreditComponent } from './settings/add-credit.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ApiKeyComponent } from './settings/api-key.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangeKdfComponent } from './settings/change-kdf.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 { EmergencyAccessAddEditComponent } from './settings/emergency-access-add-edit.component';\nimport { EmergencyAccessAttachmentsComponent } from './settings/emergency-access-attachments.component';\nimport { EmergencyAccessConfirmComponent } from './settings/emergency-access-confirm.component';\nimport { EmergencyAccessTakeoverComponent } from './settings/emergency-access-takeover.component';\nimport { EmergencyAccessViewComponent } from './settings/emergency-access-view.component';\nimport { EmergencyAccessComponent } from './settings/emergency-access.component';\nimport { EmergencyAddEditComponent } from './settings/emergency-add-edit.component';\nimport { LinkSsoComponent } from './settings/link-sso.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationPlansComponent } from './settings/organization-plans.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 { TaxInfoComponent } from './settings/tax-info.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 { UserSubscriptionComponent } from './settings/user-subscription.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkActionsComponent } from './vault/bulk-actions.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkRestoreComponent } from './vault/bulk-restore.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 { SendInfoComponent } from './vault/send-info.component';\nimport { ShareComponent } from './vault/share.component';\nimport { VaultComponent } from './vault/vault.component';\n\nimport { CalloutComponent } from 'jslib/angular/components/callout.component';\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { A11yTitleDirective } from 'jslib/angular/directives/a11y-title.directive';\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 { SelectCopyDirective } from 'jslib/angular/directives/select-copy.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 { ColorPasswordPipe } from 'jslib/angular/pipes/color-password.pipe';\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 {\n DatePipe,\n registerLocaleData,\n} from '@angular/common';\nimport localeCa from '@angular/common/locales/ca';\nimport localeCs from '@angular/common/locales/cs';\nimport localeDa from '@angular/common/locales/da';\nimport localeDe from '@angular/common/locales/de';\nimport localeEl from '@angular/common/locales/el';\nimport localeEnGb from '@angular/common/locales/en-GB';\nimport localeEs from '@angular/common/locales/es';\nimport localeEt from '@angular/common/locales/et';\nimport localeFr from '@angular/common/locales/fr';\nimport localeHe from '@angular/common/locales/he';\nimport localeIt from '@angular/common/locales/it';\nimport localeJa from '@angular/common/locales/ja';\nimport localeKo from '@angular/common/locales/ko';\nimport localeLv from '@angular/common/locales/lv';\nimport localeMl from '@angular/common/locales/ml';\nimport localeNb from '@angular/common/locales/nb';\nimport localeNl from '@angular/common/locales/nl';\nimport localePl from '@angular/common/locales/pl';\nimport localePtBr 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';\nimport localeSv from '@angular/common/locales/sv';\nimport localeUk from '@angular/common/locales/uk';\nimport localeZhCn from '@angular/common/locales/zh-Hans';\nimport localeZhTw from '@angular/common/locales/zh-Hant';\n\nregisterLocaleData(localeCa, 'ca');\nregisterLocaleData(localeCs, 'cs');\nregisterLocaleData(localeDa, 'da');\nregisterLocaleData(localeDe, 'de');\nregisterLocaleData(localeEl, 'el');\nregisterLocaleData(localeEnGb, 'en-GB');\nregisterLocaleData(localeEs, 'es');\nregisterLocaleData(localeEt, 'et');\nregisterLocaleData(localeFr, 'fr');\nregisterLocaleData(localeHe, 'he');\nregisterLocaleData(localeIt, 'it');\nregisterLocaleData(localeJa, 'ja');\nregisterLocaleData(localeKo, 'ko');\nregisterLocaleData(localeLv, 'lv');\nregisterLocaleData(localeMl, 'ml');\nregisterLocaleData(localeNb, 'nb');\nregisterLocaleData(localeNl, 'nl');\nregisterLocaleData(localePl, 'pl');\nregisterLocaleData(localePtBr, 'pt-BR');\nregisterLocaleData(localePtPt, 'pt-PT');\nregisterLocaleData(localeRu, 'ru');\nregisterLocaleData(localeSk, 'sk');\nregisterLocaleData(localeSv, 'sv');\nregisterLocaleData(localeUk, 'uk');\nregisterLocaleData(localeZhCn, 'zh-CN');\nregisterLocaleData(localeZhTw, 'zh-TW');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot({\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule.forRoot(),\n InfiniteScrollModule,\n DragDropModule,\n ],\n declarations: [\n A11yTitleDirective,\n AcceptEmergencyComponent,\n AccessComponent,\n AcceptOrganizationComponent,\n AccountComponent,\n SetPasswordComponent,\n AddCreditComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n ApiKeyComponent,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkActionsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkRestoreComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangeKdfComponent,\n ChangePasswordComponent,\n ChangePlanComponent,\n CiphersComponent,\n CollectionsComponent,\n ColorPasswordPipe,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n DownloadLicenseComponent,\n EmergencyAccessAddEditComponent,\n EmergencyAccessAttachmentsComponent,\n EmergencyAccessComponent,\n EmergencyAccessConfirmComponent,\n EmergencyAccessTakeoverComponent,\n EmergencyAccessViewComponent,\n EmergencyAddEditComponent,\n ExportComponent,\n ExposedPasswordsReportComponent,\n FallbackSrcDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n I18nPipe,\n IconComponent,\n ImportComponent,\n InactiveTwoFactorReportComponent,\n InputVerbatimDirective,\n LinkSsoComponent,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrganizationPlansComponent,\n OrganizationSubscriptionComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgExposedPasswordsReportComponent,\n OrgImportComponent,\n OrgInactiveTwoFactorReportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgPolicyEditComponent,\n OrgPoliciesComponent,\n OrgReusedPasswordsReportComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgUnsecuredWebsitesReportComponent,\n OrgVaultComponent,\n OrgWeakPasswordsReportComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PasswordStrengthComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n ReusedPasswordsReportComponent,\n SearchCiphersPipe,\n SearchPipe,\n SelectCopyDirective,\n SendAddEditComponent,\n SendComponent,\n SendInfoComponent,\n SettingsComponent,\n ShareComponent,\n SsoComponent,\n StopClickDirective,\n StopPropDirective,\n TaxInfoComponent,\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 UnsecuredWebsitesReportComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n UserSubscriptionComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n WeakPasswordsReportComponent,\n ],\n entryComponents: [\n AddEditComponent,\n ApiKeyComponent,\n AttachmentsComponent,\n BulkActionsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkRestoreComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n EmergencyAccessAddEditComponent,\n EmergencyAccessAttachmentsComponent,\n EmergencyAccessConfirmComponent,\n EmergencyAccessTakeoverComponent,\n EmergencyAddEditComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgPolicyEditComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n SendAddEditComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [DatePipe],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","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 { AcceptEmergencyComponent } from './accounts/accept-emergency.component';\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 { SetPasswordComponent } from './accounts/set-password.component';\nimport { SsoComponent } from './accounts/sso.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';\nimport { PoliciesComponent as OrgPoliciesComponent } from './organizations/manage/policies.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.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 {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccessComponent } from './send/access.component';\nimport { SendComponent } from './send/send.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';\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.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 { Permissions } from 'jslib/enums/permissions';\n\nimport { EmergencyAccessViewComponent } from './settings/emergency-access-view.component';\nimport { EmergencyAccessComponent } from './settings/emergency-access.component';\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: 'sso', component: SsoComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'enterpriseSingleSignOn' },\n },\n {\n path: 'set-password', component: SetPasswordComponent,\n data: { titleId: 'setMasterPassword' },\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 {\n path: 'accept-emergency',\n component: AcceptEmergencyComponent,\n data: { titleId: 'acceptEmergency' },\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 path: 'send/:sendId/:key',\n component: AccessComponent,\n data: { title: 'Bitwarden Send' },\n },\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n { path: 'sends', component: SendComponent, data: { title: 'Send' } },\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: 'billing' } },\n {\n path: 'subscription',\n component: UserSubscriptionComponent,\n data: { titleId: 'premiumMembership' },\n },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n {\n path: 'emergency-access',\n children: [\n {\n path: '',\n component: EmergencyAccessComponent,\n data: { titleId: 'emergencyAccess'},\n },\n {\n path: ':id',\n component: EmergencyAccessViewComponent,\n data: { titleId: 'emergencyAccess'},\n },\n ],\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 path: 'reused-passwords-report',\n component: ReusedPasswordsReportComponent,\n data: { titleId: 'reusedPasswordsReport' },\n },\n {\n path: 'unsecured-websites-report',\n component: UnsecuredWebsitesReportComponent,\n data: { titleId: 'unsecuredWebsitesReport' },\n },\n {\n path: 'weak-passwords-report',\n component: WeakPasswordsReportComponent,\n data: { titleId: 'weakPasswordsReport' },\n },\n {\n path: 'exposed-passwords-report',\n component: ExposedPasswordsReportComponent,\n data: { titleId: 'exposedPasswordsReport' },\n },\n {\n path: 'inactive-two-factor-report',\n component: InactiveTwoFactorReportComponent,\n data: { titleId: 'inactive2faReport' },\n },\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: { permissions: [Permissions.AccessImportExport, Permissions.AccessReports] },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'import',\n },\n {\n path: 'import',\n component: OrgImportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'importData',\n permissions: [Permissions.AccessImportExport],\n },\n },\n {\n path: 'export',\n component: OrgExportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'exportVault',\n permissions: [Permissions.AccessImportExport],\n },\n },\n {\n path: 'exposed-passwords-report',\n component: OrgExposedPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'exposedPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'inactive-two-factor-report',\n component: OrgInactiveTwoFactorReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'inactive2faReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'reused-passwords-report',\n component: OrgReusedPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'reusedPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'unsecured-websites-report',\n component: OrgUnsecuredWebsitesReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'unsecuredWebsitesReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'weak-passwords-report',\n component: OrgWeakPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'weakPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n permissions: [\n Permissions.ManageAssignedCollections,\n Permissions.ManageAllCollections,\n Permissions.AccessEventLogs,\n Permissions.ManageGroups,\n Permissions.ManageUsers,\n Permissions.ManagePolicies,\n ],\n },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'people',\n },\n {\n path: 'collections',\n component: OrgManageCollectionsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'collections',\n permissions: [Permissions.ManageAssignedCollections, Permissions.ManageAllCollections],\n },\n },\n {\n path: 'events',\n component: OrgEventsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'eventLogs',\n permissions: [Permissions.AccessEventLogs],\n },\n },\n {\n path: 'groups',\n component: OrgGroupsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'groups',\n permissions: [Permissions.ManageGroups],\n },\n },\n {\n path: 'people',\n component: OrgPeopleComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'people',\n permissions: [Permissions.ManageUsers],\n },\n },\n {\n path: 'policies',\n component: OrgPoliciesComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'policies',\n permissions: [Permissions.ManagePolicies],\n },\n },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { permissions: [Permissions.ManageOrganization] },\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: 'billing' },\n },\n {\n path: 'subscription',\n component: OrganizationSubscriptionComponent,\n data: { titleId: 'subscription' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n paramsInheritanceStrategy: 'always',\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","import { BroadcasterService as BroadcasterServiceAbstraction } from '../abstractions/broadcaster.service';\n\nexport class BroadcasterService implements BroadcasterServiceAbstraction {\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);\n }\n return;\n }\n\n this.subscribers.forEach(value => {\n value(message);\n });\n }\n\n subscribe(id: string, messageCallback: (message: any) => any) {\n this.subscribers.set(id, messageCallback);\n }\n\n unsubscribe(id: string) {\n if (this.subscribers.has(id)) {\n this.subscribers.delete(id);\n }\n }\n}\n","export function getDomain(host: string): string | null {\n return null;\n}\n","export class EmergencyAccessAcceptRequest {\n token: string;\n}\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","import { Router } from '@angular/router';\n\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class HintComponent {\n email: string = '';\n formPromise: Promise;\n\n protected successRoute = 'login';\n protected onSuccessfulSubmit: () => void;\n\n constructor(protected router: Router, protected i18nService: I18nService,\n protected apiService: ApiService, protected platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n\n try {\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\n await this.formPromise;\n this.platformUtilsService.eventTrack('Requested Hint');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('masterPassSent'));\n if (this.onSuccessfulSubmit != null) {\n this.onSuccessfulSubmit();\n } else if (this.router != null) {\n this.router.navigate([this.successRoute]);\n }\n } catch { }\n }\n}\n","export class PasswordHintRequest {\n email: string;\n\n constructor(email: string) {\n this.email = email;\n }\n}\n","import { OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\nimport { UserService } from '../../abstractions/user.service';\nimport { VaultTimeoutService } from '../../abstractions/vaultTimeout.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { PasswordVerificationRequest } from '../../models/request/passwordVerificationRequest';\n\nimport { Utils } from '../../misc/utils';\n\nexport class LockComponent implements OnInit {\n masterPassword: string = '';\n pin: string = '';\n showPassword: boolean = false;\n email: string;\n pinLock: boolean = false;\n webVaultHostname: string = '';\n formPromise: Promise;\n supportsBiometric: boolean;\n biometricLock: boolean;\n biometricText: string;\n\n protected successRoute: string = 'vault';\n protected onSuccessfulSubmit: () => void;\n\n private invalidPinAttempts = 0;\n private pinSet: [boolean, boolean];\n\n constructor(protected router: Router, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\n protected userService: UserService, protected cryptoService: CryptoService,\n protected storageService: StorageService, protected vaultTimeoutService: VaultTimeoutService,\n protected environmentService: EnvironmentService, protected stateService: StateService,\n protected apiService: ApiService) { }\n\n async ngOnInit() {\n this.pinSet = await this.vaultTimeoutService.isPinLockSet();\n this.pinLock = (this.pinSet[0] && this.vaultTimeoutService.pinProtectedKey != null) || this.pinSet[1];\n this.supportsBiometric = await this.platformUtilsService.supportsBiometric();\n this.biometricLock = await this.vaultTimeoutService.isBiometricLockSet() && (await this.cryptoService.hasKey() || !this.platformUtilsService.supportsSecureStorage());\n this.biometricText = await this.storageService.get(ConstantsService.biometricText);\n this.email = await this.userService.getEmail();\n let vaultUrl = this.environmentService.getWebVaultUrl();\n if (vaultUrl == null) {\n vaultUrl = 'https://bitwarden.com';\n }\n this.webVaultHostname = Utils.getHostname(vaultUrl);\n }\n\n async submit() {\n if (this.pinLock && (this.pin == null || this.pin === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('pinRequired'));\n return;\n }\n if (!this.pinLock && (this.masterPassword == null || this.masterPassword === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n\n if (this.pinLock) {\n let failed = true;\n try {\n if (this.pinSet[0]) {\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations,\n this.vaultTimeoutService.pinProtectedKey);\n const encKey = await this.cryptoService.getEncKey(key);\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin), encKey);\n failed = decPin !== this.pin;\n if (!failed) {\n await this.setKeyAndContinue(key);\n }\n } else {\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations);\n failed = false;\n await this.setKeyAndContinue(key);\n }\n } catch {\n failed = true;\n }\n\n if (failed) {\n this.invalidPinAttempts++;\n if (this.invalidPinAttempts >= 5) {\n this.messagingService.send('logout');\n return;\n }\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidPin'));\n }\n } else {\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n let passwordValid = false;\n\n if (keyHash != null) {\n const storedKeyHash = await this.cryptoService.getKeyHash();\n if (storedKeyHash != null) {\n passwordValid = storedKeyHash === keyHash;\n } else {\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = keyHash;\n try {\n this.formPromise = this.apiService.postAccountVerifyPassword(request);\n await this.formPromise;\n passwordValid = true;\n await this.cryptoService.setKeyHash(keyHash);\n } catch { }\n }\n }\n\n if (passwordValid) {\n if (this.pinSet[0]) {\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const encKey = await this.cryptoService.getEncKey(key);\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin), encKey);\n const pinKey = await this.cryptoService.makePinKey(decPin, this.email, kdf, kdfIterations);\n this.vaultTimeoutService.pinProtectedKey = await this.cryptoService.encrypt(key.key, pinKey);\n }\n this.setKeyAndContinue(key);\n } else {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n }\n\n async logOut() {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.messagingService.send('logout');\n }\n }\n\n async unlockBiometric() {\n if (!this.biometricLock) {\n return;\n }\n const success = await this.platformUtilsService.authenticateBiometric();\n\n if (success) {\n await this.doContinue();\n }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('Toggled Master Password on Unlock');\n this.showPassword = !this.showPassword;\n document.getElementById(this.pinLock ? 'pin' : 'masterPassword').focus();\n }\n\n private async setKeyAndContinue(key: SymmetricCryptoKey) {\n await this.cryptoService.setKey(key);\n this.doContinue();\n }\n\n private async doContinue() {\n this.vaultTimeoutService.biometricLocked = false;\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n this.messagingService.send('unlocked');\n if (this.onSuccessfulSubmit != null) {\n this.onSuccessfulSubmit();\n } else if (this.router != null) {\n this.router.navigate([this.successRoute]);\n }\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoFunctionService } from '../../abstractions/cryptoFunction.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst Keys = {\n rememberedEmail: 'rememberedEmail',\n rememberEmail: 'rememberEmail',\n};\n\n@Directive()\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 onSuccessfulLoginTwoFactorNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n protected stateService: StateService, protected environmentService: EnvironmentService,\n protected passwordGenerationService: PasswordGenerationService,\n protected cryptoFunctionService: CryptoFunctionService, 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.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Logged In To Two-step');\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\n this.onSuccessfulLoginTwoFactorNavigate();\n } else {\n this.router.navigate([this.twoFactorRoute]);\n }\n } else {\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('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.platformUtilsService.eventTrack('Toggled Master Password on Login');\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n async launchSsoBrowser(clientId: string, ssoRedirectUri: string) {\n // Generate necessary sso params\n const passwordOptions: any = {\n type: 'password',\n length: 64,\n uppercase: true,\n lowercase: true,\n numbers: true,\n special: false,\n };\n const state = await this.passwordGenerationService.generatePassword(passwordOptions);\n const ssoCodeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);\n const codeVerifierHash = await this.cryptoFunctionService.hash(ssoCodeVerifier, 'sha256');\n const codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);\n\n // Save sso params\n await this.storageService.save(ConstantsService.ssoStateKey, state);\n await this.storageService.save(ConstantsService.ssoCodeVerifierKey, ssoCodeVerifier);\n\n // Build URI\n const webUrl = this.environmentService.getWebVaultUrl() == null ? 'https://vault.bitwarden.com' :\n this.environmentService.getWebVaultUrl();\n\n // Launch browser\n this.platformUtilsService.launchUri(webUrl + '/#/sso?clientId=' + clientId +\n '&redirectUri=' + encodeURIComponent(ssoRedirectUri) +\n '&state=' + state + '&codeChallenge=' + codeChallenge);\n }\n}\n","export class DeleteRecoverRequest {\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","import { Router } from '@angular/router';\n\nimport { KeysRequest } from '../../models/request/keysRequest';\nimport { ReferenceEventRequest } from '../../models/request/referenceEventRequest';\nimport { RegisterRequest } from '../../models/request/registerRequest';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class RegisterComponent {\n name: string = '';\n email: string = '';\n masterPassword: string = '';\n confirmMasterPassword: string = '';\n hint: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n masterPasswordScore: number;\n referenceData: ReferenceEventRequest;\n showTerms = true;\n acceptPolicies: boolean = false;\n\n protected successRoute = 'login';\n private masterPasswordStrengthTimeout: any;\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected cryptoService: CryptoService,\n protected apiService: ApiService, protected stateService: StateService,\n protected platformUtilsService: PlatformUtilsService,\n protected passwordGenerationService: PasswordGenerationService) {\n this.showTerms = !platformUtilsService.isSelfHost();\n }\n\n get masterPasswordScoreWidth() {\n return this.masterPasswordScore == null ? 0 : (this.masterPasswordScore + 1) * 20;\n }\n\n get masterPasswordScoreColor() {\n switch (this.masterPasswordScore) {\n case 4:\n return 'success';\n case 3:\n return 'primary';\n case 2:\n return 'warning';\n default:\n return 'danger';\n }\n }\n\n get masterPasswordScoreText() {\n switch (this.masterPasswordScore) {\n case 4:\n return this.i18nService.t('strong');\n case 3:\n return this.i18nService.t('good');\n case 2:\n return this.i18nService.t('weak');\n default:\n return this.masterPasswordScore != null ? this.i18nService.t('weak') : null;\n }\n }\n\n async submit() {\n if (!this.acceptPolicies && this.showTerms) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('acceptPoliciesError'));\n return;\n }\n\n if (this.email == null || this.email === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.masterPassword.length < 8) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.masterPassword !== this.confirmMasterPassword) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n if (strengthResult != null && strengthResult.score < 3) {\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\n 'warning');\n if (!result) {\n return;\n }\n }\n\n if (this.hint === this.masterPassword) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), this.i18nService.t('hintEqualsPassword'));\n return;\n }\n\n this.name = this.name === '' ? null : this.name;\n this.email = this.email.trim().toLowerCase();\n const kdf = KdfType.PBKDF2_SHA256;\n const useLowerKdf = this.platformUtilsService.isIE();\n const kdfIterations = useLowerKdf ? 10000 : 100000;\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\n const encKey = await this.cryptoService.makeEncKey(key);\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\n this.hint, encKey[1].encryptedString, kdf, kdfIterations, this.referenceData);\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\n const orgInvite = await this.stateService.get('orgInvitation');\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\n request.token = orgInvite.token;\n request.organizationUserId = orgInvite.organizationUserId;\n }\n\n try {\n this.formPromise = this.apiService.postRegister(request);\n await this.formPromise;\n this.platformUtilsService.eventTrack('Registered');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('newAccountCreated'));\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\n } catch { }\n }\n\n togglePassword(confirmField: boolean) {\n this.platformUtilsService.eventTrack('Toggled Master Password on Register');\n this.showPassword = !this.showPassword;\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\n }\n\n updatePasswordStrength() {\n if (this.masterPasswordStrengthTimeout != null) {\n clearTimeout(this.masterPasswordStrengthTimeout);\n }\n this.masterPasswordStrengthTimeout = setTimeout(() => {\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\n }, 300);\n }\n\n private getPasswordStrengthUserInput() {\n let userInput: string[] = [];\n const atPosition = this.email.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\n }\n if (this.name != null && this.name !== '') {\n userInput = userInput.concat(this.name.trim().toLowerCase().split(' '));\n }\n return userInput;\n }\n}\n","import { KeysRequest } from './keysRequest';\nimport { ReferenceEventRequest } from './referenceEventRequest';\n\nimport { KdfType } from '../../enums/kdfType';\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 kdf: KdfType;\n kdfIterations: number;\n referenceData: ReferenceEventRequest;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string,\n kdf: KdfType, kdfIterations: number, referenceData: ReferenceEventRequest) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n this.referenceData = referenceData;\n }\n}\n","export class ReferenceEventRequest {\n id: string;\n layout: string;\n flow: string;\n}\n","import {\n ActivatedRoute,\n Router\n} from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { SyncService } from '../../abstractions/sync.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { KeysRequest } from '../../models/request/keysRequest';\nimport { SetPasswordRequest } from '../../models/request/setPasswordRequest';\n\nimport { ChangePasswordComponent as BaseChangePasswordComponent } from './change-password.component';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class SetPasswordComponent extends BaseChangePasswordComponent {\n syncLoading: boolean = true;\n showPassword: boolean = false;\n hint: string = '';\n identifier: string = null;\n\n onSuccessfulChangePassword: () => Promise;\n successRoute = 'vault';\n\n constructor(i18nService: I18nService, cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService, private router: Router,\n private apiService: ApiService, private syncService: SyncService, private route: ActivatedRoute) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n async ngOnInit() {\n await this.syncService.fullSync(true);\n this.syncLoading = false;\n\n const queryParamsSub = this.route.queryParams.subscribe(async qParams => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n super.ngOnInit();\n }\n\n async setupSubmitActions() {\n this.kdf = KdfType.PBKDF2_SHA256;\n const useLowerKdf = this.platformUtilsService.isIE();\n this.kdfIterations = useLowerKdf ? 10000 : 100000;\n return true;\n }\n\n async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,\n encKey: [SymmetricCryptoKey, CipherString]) {\n const request = new SetPasswordRequest();\n request.masterPasswordHash = masterPasswordHash;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHint = this.hint;\n request.kdf = this.kdf;\n request.kdfIterations = this.kdfIterations;\n request.orgIdentifier = this.identifier;\n\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\n\n try {\n this.formPromise = this.apiService.setPassword(request);\n await this.formPromise;\n\n await this.userService.setInformation(await this.userService.getUserId(), await this.userService.getEmail(),\n this.kdf, this.kdfIterations);\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(masterPasswordHash);\n await this.cryptoService.setEncKey(encKey[1].encryptedString);\n await this.cryptoService.setEncPrivateKey(keys[1].encryptedString);\n\n if (this.onSuccessfulChangePassword != null) {\n this.onSuccessfulChangePassword();\n } else {\n this.router.navigate([this.successRoute]);\n }\n } catch {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n }\n\n togglePassword(confirmField: boolean) {\n this.platformUtilsService.eventTrack('Toggled Master Password on Set Password');\n this.showPassword = !this.showPassword;\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\n }\n}\n","import { KeysRequest } from './keysRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class SetPasswordRequest {\n masterPasswordHash: string;\n key: string;\n masterPasswordHint: string;\n keys: KeysRequest;\n kdf: KdfType;\n kdfIterations: number;\n orgIdentifier: string;\n}\n","import {\n Directive,\n EventEmitter,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\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\n@Directive()\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 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.platformUtilsService.eventTrack('Selected Recover');\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\n this.onRecoverSelected.emit();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n OnDestroy,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { MessagingService } from '../../abstractions/messaging.service';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent implements OnDestroy {\n @Output() onClose = new EventEmitter();\n @Output() onClosed = new EventEmitter();\n @Output() onShow = new EventEmitter();\n @Output() onShown = new EventEmitter();\n @ViewChild('container', { read: ViewContainerRef, static: true }) container: ViewContainerRef;\n parentContainer: ViewContainerRef = null;\n fade: boolean = true;\n\n constructor(protected componentFactoryResolver: ComponentFactoryResolver,\n protected messagingService: MessagingService) { }\n\n ngOnDestroy() {\n document.body.classList.remove('modal-open');\n document.body.removeChild(document.querySelector('.modal-backdrop'));\n }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true,\n setComponentParameters: (component: T) => void = null): T {\n this.onShow.emit();\n this.messagingService.send('modalShow');\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n document.body.classList.add('modal-open');\n const backdrop = document.createElement('div');\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\n document.body.appendChild(backdrop);\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n if (setComponentParameters != null) {\n setComponentParameters(componentRef.instance);\n }\n\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\n e.stopPropagation();\n });\n\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\n for (const closeElement of modals) {\n closeElement.addEventListener('click', event => {\n this.close();\n });\n }\n\n this.onShown.emit();\n this.messagingService.send('modalShown');\n return componentRef.instance;\n }\n\n close() {\n this.onClose.emit();\n this.messagingService.send('modalClose');\n this.onClosed.emit();\n this.messagingService.send('modalClosed');\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n }\n}\n","import {\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\n\nimport { AuthResult } from '../../models/domain';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\nimport { ConstantsService } from '../../services/constants.service';\n\nimport * as DuoWebSDK from 'duo_web_sdk';\nimport { U2f } from '../../misc/u2f';\n\nexport class TwoFactorComponent implements OnInit, OnDestroy {\n token: string = '';\n remember: boolean = false;\n u2fReady: boolean = false;\n initU2f: boolean = true;\n providers = TwoFactorProviders;\n providerType = TwoFactorProviderType;\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\n u2fSupported: boolean = false;\n u2f: U2f = null;\n title: string = '';\n twoFactorEmail: string = null;\n formPromise: Promise;\n emailPromise: Promise;\n identifier: string = null;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected loginRoute = 'login';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected apiService: ApiService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\n protected environmentService: EnvironmentService, protected stateService: StateService,\n protected storageService: StorageService, protected route: ActivatedRoute) {\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\n }\n\n async ngOnInit() {\n if (!this.authing || this.authService.twoFactorProvidersData == null) {\n this.router.navigate([this.loginRoute]);\n return;\n }\n\n const queryParamsSub = this.route.queryParams.subscribe(async qParams => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n if (this.needsLock) {\n this.successRoute = 'lock';\n }\n\n if (this.initU2f && this.win != null && this.u2fSupported) {\n let customWebVaultUrl: string = null;\n if (this.environmentService.baseUrl != null) {\n customWebVaultUrl = this.environmentService.baseUrl;\n } else if (this.environmentService.webVaultUrl != null) {\n customWebVaultUrl = this.environmentService.webVaultUrl;\n }\n\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\n this.token = token;\n this.submit();\n }, (error: string) => {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), error);\n }, (info: string) => {\n if (info === 'ready') {\n this.u2fReady = true;\n }\n });\n }\n\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\n await this.init();\n }\n\n ngOnDestroy(): void {\n this.cleanupU2f();\n this.u2f = null;\n }\n\n async init() {\n if (this.selectedProviderType == null) {\n this.title = this.i18nService.t('loginUnavailable');\n return;\n }\n\n this.cleanupU2f();\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\n const providerData = this.authService.twoFactorProvidersData.get(this.selectedProviderType);\n switch (this.selectedProviderType) {\n case TwoFactorProviderType.U2f:\n if (!this.u2fSupported || this.u2f == null) {\n break;\n }\n\n if (providerData.Challenge != null) {\n setTimeout(() => {\n this.u2f.init(JSON.parse(providerData.Challenge));\n }, 500);\n } else {\n // TODO: Deprecated. Remove in future version.\n const challenges = JSON.parse(providerData.Challenges);\n if (challenges != null && challenges.length > 0) {\n this.u2f.init({\n appId: challenges[0].appId,\n challenge: challenges[0].challenge,\n keys: challenges.map((c: any) => {\n return {\n version: c.version,\n keyHandle: c.keyHandle,\n };\n }),\n });\n }\n }\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n setTimeout(() => {\n DuoWebSDK.init({\n iframe: undefined,\n host: providerData.Host,\n sig_request: providerData.Signature,\n submit_callback: async (f: HTMLFormElement) => {\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\n if (sig != null) {\n this.token = sig.value;\n await this.submit();\n }\n },\n });\n }, 0);\n break;\n case TwoFactorProviderType.Email:\n this.twoFactorEmail = providerData.Email;\n if (this.authService.twoFactorProvidersData.size > 1) {\n await this.sendEmail(false);\n }\n break;\n default:\n break;\n }\n }\n\n async submit() {\n if (this.token == null || this.token === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verificationCodeRequired'));\n return;\n }\n\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\n if (this.u2f != null) {\n this.u2f.stop();\n } else {\n return;\n }\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\n this.token = this.token.replace(' ', '').trim();\n }\n\n try {\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\n const response: AuthResult = await this.formPromise;\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('Logged In From Two-step');\n if (response.resetMasterPassword) {\n this.successRoute = 'set-password';\n }\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute], {\n queryParams: {\n identifier: this.identifier,\n },\n });\n }\n } catch {\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\n this.u2f.start();\n }\n }\n }\n\n async sendEmail(doToast: boolean) {\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\n return;\n }\n\n if (this.emailPromise != null) {\n return;\n }\n\n try {\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\n await this.emailPromise;\n if (doToast) {\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\n }\n } catch { }\n\n this.emailPromise = null;\n }\n\n private cleanupU2f() {\n if (this.u2f != null) {\n this.u2f.stop();\n this.u2f.cleanup();\n }\n }\n\n get authing(): boolean {\n return this.authService.authingWithPassword() || this.authService.authingWithSso() || this.authService.authingWithApiKey();\n }\n\n get needsLock(): boolean {\n return this.authService.authingWithSso() || this.authService.authingWithApiKey();\n }\n}\n","import { DeviceType } from '../../enums/deviceType';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class DeviceRequest {\n type: DeviceType;\n name: string;\n identifier: string;\n pushToken?: string;\n\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\n this.type = platformUtilsService.getDevice();\n this.name = platformUtilsService.getDeviceString();\n this.identifier = appId;\n this.pushToken = null;\n }\n}\n","export class PreloginRequest {\n email: string;\n\n constructor(email: string) {\n this.email = email;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\n\nexport class TokenRequest {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n redirectUri: string;\n clientId: string;\n clientSecret: string;\n token: string;\n provider: TwoFactorProviderType;\n remember: boolean;\n device?: DeviceRequest;\n\n constructor(credentials: string[], codes: string[], clientIdClientSecret: string[], provider: TwoFactorProviderType,\n token: string, remember: boolean, device?: DeviceRequest) {\n if (credentials != null && credentials.length > 1) {\n this.email = credentials[0];\n this.masterPasswordHash = credentials[1];\n } else if (codes != null && codes.length > 2) {\n this.code = codes[0];\n this.codeVerifier = codes[1];\n this.redirectUri = codes[2];\n } else if (clientIdClientSecret != null && clientIdClientSecret.length > 1) {\n this.clientId = clientIdClientSecret[0];\n this.clientSecret = clientIdClientSecret[1];\n }\n this.token = token;\n this.provider = provider;\n this.remember = remember;\n this.device = device != null ? device : null;\n }\n\n toIdentityToken(clientId: string) {\n const obj: any = {\n scope: 'api offline_access',\n client_id: clientId,\n };\n\n if (this.clientSecret != null) {\n obj.scope = 'api';\n obj.grant_type = 'client_credentials';\n obj.client_secret = this.clientSecret;\n } else if (this.masterPasswordHash != null && this.email != null) {\n obj.grant_type = 'password';\n obj.username = this.email;\n obj.password = this.masterPasswordHash;\n } else if (this.code != null && this.codeVerifier != null && this.redirectUri != null) {\n obj.grant_type = 'authorization_code';\n obj.code = this.code;\n obj.code_verifier = this.codeVerifier;\n obj.redirect_uri = this.redirectUri;\n } else {\n throw new Error('must provide credentials or codes');\n }\n\n if (this.device) {\n obj.deviceType = this.device.type;\n obj.deviceIdentifier = this.device.identifier;\n obj.deviceName = this.device.name;\n // no push tokens for browser apps yet\n // obj.devicePushToken = this.device.pushToken;\n }\n\n if (this.token && this.provider != null) {\n obj.twoFactorToken = this.token;\n obj.twoFactorProvider = this.provider;\n obj.twoFactorRemember = this.remember ? '1' : '0';\n }\n\n return obj;\n }\n}\n","export class U2f {\n private iframe: HTMLIFrameElement = null;\n private connectorLink: HTMLAnchorElement;\n private parseFunction = this.parseMessage.bind(this);\n\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\n private errorCallback: Function, private infoCallback: Function) {\n this.connectorLink = win.document.createElement('a');\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\n }\n\n init(data: any): void {\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\n '?data=' + this.base64Encode(JSON.stringify(data)) +\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\n '&v=1';\n\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\n this.iframe.src = this.connectorLink.href;\n\n this.win.addEventListener('message', this.parseFunction, false);\n }\n\n stop() {\n this.sendMessage('stop');\n }\n\n start() {\n this.sendMessage('start');\n }\n\n sendMessage(message: any) {\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\n return;\n }\n\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\n }\n\n base64Encode(str: string): string {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\n return String.fromCharCode(('0x' + p1) as any);\n }));\n }\n\n cleanup() {\n this.win.removeEventListener('message', this.parseFunction, false);\n }\n\n private parseMessage(event: MessageEvent) {\n if (!this.validMessage(event)) {\n return;\n }\n\n const parts: string[] = event.data.split('|');\n if (parts[0] === 'success' && this.successCallback) {\n this.successCallback(parts[1]);\n } else if (parts[0] === 'error' && this.errorCallback) {\n this.errorCallback(parts[1]);\n } else if (parts[0] === 'info' && this.infoCallback) {\n this.infoCallback(parts[1]);\n }\n }\n\n private validMessage(event: MessageEvent) {\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\n event.data == null || typeof (event.data) !== 'string') {\n return false;\n }\n\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\n event.data.indexOf('info|') === 0;\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","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","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n permissions: PermissionsApi;\n}\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n permissions: PermissionsApi;\n}\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","export abstract class AppIdService {\n getAppId: () => Promise;\n getAnonymousAppId: () => Promise;\n}\n","import { LogLevelType } from '../enums/logLevelType';\n\nexport abstract class LogService {\n debug: (message: string) => void;\n info: (message: string) => void;\n warning: (message: string) => void;\n error: (message: string) => void;\n write: (level: LogLevelType, message: string) => void;\n time: (label: string) => void;\n timeEnd: (label: string) => [number, number];\n}\n","import { PolicyType } from '../../enums/policyType';\n\nexport class PolicyRequest {\n type: PolicyType;\n enabled: boolean;\n data: any;\n}\n","export class OrganizationUpdateRequest {\n name: string;\n identifier: string;\n businessName: string;\n billingEmail: string;\n}\n","export enum TransactionType {\n Charge = 0,\n Credit = 1,\n PromotionalCredit = 2,\n ReferralCredit = 3,\n Refund = 4,\n}\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","export class BitPayInvoiceRequest {\n userId: string;\n organizationId: string;\n credit: boolean;\n amount: number;\n returnUrl: string;\n name: string;\n email: string;\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { OrganizationTaxInfoUpdateRequest } from '../request/organizationTaxInfoUpdateRequest';\n\nexport class PaymentRequest extends OrganizationTaxInfoUpdateRequest {\n paymentMethodType: PaymentMethodType;\n paymentToken: string;\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { PlanType } from '../../enums/planType';\n\nexport class OrganizationCreateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n planType: PlanType;\n key: string;\n paymentMethodType: PaymentMethodType;\n paymentToken: string;\n additionalSeats: number;\n additionalStorageGb: number;\n premiumAccessAddon: boolean;\n collectionName: string;\n taxIdNumber: string;\n billingAddressLine1: string;\n billingAddressLine2: string;\n billingAddressCity: string;\n billingAddressState: string;\n billingAddressPostalCode: string;\n billingAddressCountry: string;\n}\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationUpgradeRequest {\n businessName: string;\n planType: PlanType;\n additionalSeats: number;\n additionalStorageGb: number;\n premiumAccessAddon: boolean;\n billingAddressCountry: string;\n billingAddressPostalCode: string;\n}\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","export class StorageRequest {\n storageGbAdjustment: number;\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","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 UpdateTwoFactorU2fDeleteRequest extends PasswordVerificationRequest {\n id: number;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n name: string;\n id: number;\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 {\n Directive,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { EventService } from '../../abstractions/event.service';\nimport { ExportService } from '../../abstractions/export.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { EventType } from '../../enums/eventType';\n\n@Directive()\nexport class ExportComponent {\n @Output() onSaved = new EventEmitter();\n\n formPromise: Promise;\n masterPassword: string;\n format: 'json' | 'encrypted_json' | 'csv' = 'json';\n showPassword = false;\n\n constructor(protected cryptoService: CryptoService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected exportService: ExportService,\n protected eventService: EventService, protected win: Window) { }\n\n get encryptedFormat() {\n return this.format === 'encrypted_json';\n }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n return;\n }\n\n const acceptedWarning = await this.warningDialog();\n if (!acceptedWarning) {\n return;\n }\n\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n try {\n this.formPromise = this.getExportData();\n const data = await this.formPromise;\n this.platformUtilsService.eventTrack('Exported Data');\n this.downloadFile(data);\n this.saved();\n await this.collectEvent();\n } catch { }\n } else {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n\n async warningDialog() {\n if (this.encryptedFormat) {\n return await this.platformUtilsService.showDialog(\n '

' + this.i18nService.t('encExportKeyWarningDesc') +\n '

' + this.i18nService.t('encExportAccountWarningDesc'),\n this.i18nService.t('confirmVaultExport'), this.i18nService.t('exportVault'),\n this.i18nService.t('cancel'), 'warning',\n true);\n } else {\n return await this.platformUtilsService.showDialog(\n this.i18nService.t('exportWarningDesc'),\n this.i18nService.t('confirmVaultExport'), this.i18nService.t('exportVault'),\n this.i18nService.t('cancel'), 'warning');\n }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('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(this.format);\n }\n\n protected getFileName(prefix?: string) {\n let extension = this.format;\n if (this.format === 'encrypted_json') {\n if (prefix == null) {\n prefix = 'encrypted';\n } else {\n prefix = 'encrypted_' + prefix;\n }\n extension = 'json';\n }\n return this.exportService.getFileName(prefix, extension);\n }\n\n protected async collectEvent(): Promise {\n await this.eventService.collect(EventType.User_ClientExportedVault);\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","export class AttachmentRequest {\n fileName: string;\n key: string;\n}\n","import {\n CdkDragDrop,\n moveItemInArray,\n} from '@angular/cdk/drag-drop';\nimport {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { EventType } from '../../enums/eventType';\nimport { FieldType } from '../../enums/fieldType';\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { PolicyType } from '../../enums/policyType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nimport { AuditService } from '../../abstractions/audit.service';\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { EventService } from '../../abstractions/event.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { CardView } from '../../models/view/cardView';\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 { IdentityView } from '../../models/view/identityView';\nimport { LoginUriView } from '../../models/view/loginUriView';\nimport { LoginView } from '../../models/view/loginView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive()\nexport class AddEditComponent implements OnInit {\n @Input() cloneMode: boolean = false;\n @Input() folderId: string = null;\n @Input() cipherId: string;\n @Input() type: CipherType;\n @Input() collectionIds: string[];\n @Input() organizationId: string = null;\n @Output() onSavedCipher = new EventEmitter();\n @Output() onDeletedCipher = new EventEmitter();\n @Output() onRestoredCipher = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n @Output() onEditAttachments = new EventEmitter();\n @Output() onShareCipher = new EventEmitter();\n @Output() onEditCollections = new EventEmitter();\n @Output() onGeneratePassword = new EventEmitter();\n\n editMode: boolean = false;\n cipher: CipherView;\n folders: FolderView[];\n collections: CollectionView[] = [];\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n restorePromise: 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 ownershipOptions: any[] = [];\n currentDate = new Date();\n allowPersonal = true;\n\n protected writeableCollections: CollectionView[];\n private previousCipherId: string;\n\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected auditService: AuditService, protected stateService: StateService,\n protected userService: UserService, protected collectionService: CollectionService,\n protected messagingService: MessagingService, protected eventService: EventService,\n protected policyService: PolicyService) {\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 ngOnInit() {\n await this.init();\n }\n\n async init() {\n const policies = await this.policyService.getAll(PolicyType.PersonalOwnership);\n const myEmail = await this.userService.getEmail();\n this.ownershipOptions.push({ name: myEmail, value: null });\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name')).forEach(o => {\n if (o.enabled && o.status === OrganizationUserStatusType.Confirmed) {\n this.ownershipOptions.push({ name: o.name, value: o.id });\n if (policies != null && o.usePolicies && !o.canManagePolicies && this.allowPersonal) {\n for (const policy of policies) {\n if (policy.organizationId === o.id && policy.enabled) {\n this.allowPersonal = false;\n this.ownershipOptions.splice(0, 1);\n // Default to the organization who owns this policy for now (if necessary)\n if (this.organizationId == null) {\n this.organizationId = o.id;\n }\n break;\n }\n }\n }\n }\n });\n this.writeableCollections = await this.loadCollections();\n }\n\n async load() {\n this.editMode = this.cipherId != null;\n if (this.editMode) {\n this.editMode = true;\n if (this.cloneMode) {\n this.cloneMode = true;\n this.title = this.i18nService.t('addItem');\n } else {\n this.title = this.i18nService.t('editItem');\n }\n } else {\n this.title = this.i18nService.t('addItem');\n }\n\n const addEditCipherInfo: any = await this.stateService.get('addEditCipherInfo');\n if (addEditCipherInfo != null) {\n this.cipher = addEditCipherInfo.cipher;\n this.collectionIds = addEditCipherInfo.collectionIds;\n }\n await this.stateService.remove('addEditCipherInfo');\n\n if (this.cipher == null) {\n if (this.editMode) {\n const cipher = await this.loadCipher();\n this.cipher = await cipher.decrypt();\n\n // Adjust Cipher Name if Cloning\n if (this.cloneMode) {\n this.cipher.name += ' - ' + this.i18nService.t('clone');\n // If not allowing personal ownership, update cipher's org Id to prompt downstream changes\n if (this.cipher.organizationId == null && !this.allowPersonal) {\n this.cipher.organizationId = this.organizationId;\n }\n }\n } else {\n this.cipher = new CipherView();\n this.cipher.organizationId = this.organizationId == null ? null : this.organizationId;\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 if (this.cipher != null && (!this.editMode || addEditCipherInfo != null || this.cloneMode)) {\n await this.organizationChanged();\n if (this.collectionIds != null && this.collectionIds.length > 0 && this.collections.length > 0) {\n this.collections.forEach(c => {\n if (this.collectionIds.indexOf(c.id) > -1) {\n (c as any).checked = true;\n }\n });\n }\n }\n\n this.folders = await this.folderService.getAllDecrypted();\n\n if (this.editMode && this.previousCipherId !== this.cipherId) {\n this.eventService.collect(EventType.Cipher_ClientViewed, this.cipherId);\n }\n this.previousCipherId = this.cipherId;\n }\n\n async submit(): Promise {\n if (this.cipher.isDeleted) {\n return this.restore();\n }\n\n if (this.cipher.name == null || this.cipher.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n if ((!this.editMode || this.cloneMode) && !this.allowPersonal && this.cipher.organizationId == null) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('personalOwnershipSubmitError'));\n return false;\n }\n\n if ((!this.editMode || this.cloneMode) && 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 // Allows saving of selected collections during \"Add\" and \"Clone\" flows\n if ((!this.editMode || this.cloneMode) && this.cipher.organizationId != null) {\n this.cipher.collectionIds = this.collections == null ? [] :\n this.collections.filter(c => (c as any).checked).map(c => c.id);\n }\n\n // Clear current Cipher Id to trigger \"Add\" cipher flow\n if (this.cloneMode) {\n this.cipher.id = 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.platformUtilsService.eventTrack(this.editMode && !this.cloneMode ? 'Edited Cipher' : 'Added Cipher');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode && !this.cloneMode ? 'editedItem' : 'addedItem'));\n this.onSavedCipher.emit(this.cipher);\n this.messagingService.send(this.editMode && !this.cloneMode ? 'editedCipher' : 'addedCipher');\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 f.newField = true;\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 trackByFunction(index: number, item: any) {\n return index;\n }\n\n cancel() {\n this.onCancelled.emit(this.cipher);\n }\n\n attachments() {\n this.onEditAttachments.emit(this.cipher);\n }\n\n share() {\n this.onShareCipher.emit(this.cipher);\n }\n\n editCollections() {\n this.onEditCollections.emit(this.cipher);\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeleteItemConfirmation' : 'deleteItemConfirmation'),\n this.i18nService.t('deleteItem'), 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.platformUtilsService.eventTrack((this.cipher.isDeleted ? 'Permanently ' : '') + 'Deleted Cipher');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeletedItem' : 'deletedItem'));\n this.onDeletedCipher.emit(this.cipher);\n this.messagingService.send(this.cipher.isDeleted ? 'permanentlyDeletedCipher' : 'deletedCipher');\n } catch { }\n\n return true;\n }\n\n async restore(): Promise {\n if (!this.cipher.isDeleted) {\n return false;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('restoreItemConfirmation'), this.i18nService.t('restoreItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.restorePromise = this.restoreCipher();\n await this.restorePromise;\n this.platformUtilsService.eventTrack('Restored Cipher');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('restoredItem'));\n this.onRestoredCipher.emit(this.cipher);\n this.messagingService.send('restoredCipher');\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.platformUtilsService.eventTrack('Toggled Password on Edit');\n this.showPassword = !this.showPassword;\n document.getElementById('loginPassword').focus();\n if (this.editMode && this.showPassword) {\n this.eventService.collect(EventType.Cipher_ClientToggledPasswordVisible, this.cipherId);\n }\n }\n\n toggleCardCode() {\n this.platformUtilsService.eventTrack('Toggled CardCode on Edit');\n this.showCardCode = !this.showCardCode;\n document.getElementById('cardCode').focus();\n if (this.editMode && this.showCardCode) {\n this.eventService.collect(EventType.Cipher_ClientToggledCardCodeVisible, this.cipherId);\n }\n }\n\n toggleFieldValue(field: FieldView) {\n const f = (field as any);\n f.showValue = !f.showValue;\n if (this.editMode && f.showValue) {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, this.cipherId);\n }\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 drop(event: CdkDragDrop) {\n moveItemInArray(this.cipher.fields, event.previousIndex, event.currentIndex);\n }\n\n async organizationChanged() {\n if (this.writeableCollections != null) {\n this.writeableCollections.forEach(c => (c as any).checked = false);\n }\n if (this.cipher.organizationId != null) {\n this.collections = this.writeableCollections.filter(c => c.organizationId === this.cipher.organizationId);\n const org = await this.userService.getOrganization(this.cipher.organizationId);\n if (org != null) {\n this.cipher.organizationUseTotp = org.useTotp;\n }\n } else {\n this.collections = [];\n }\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.platformUtilsService.eventTrack('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.platformUtilsService.showToast('warning', null,\n this.i18nService.t('passwordExposed', matches.toString()));\n } else {\n this.platformUtilsService.showToast('success', null, this.i18nService.t('passwordSafe'));\n }\n }\n\n protected async loadCollections() {\n const allCollections = await this.collectionService.getAllDecrypted();\n return allCollections.filter(c => !c.readOnly);\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.cipher.isDeleted ? this.cipherService.deleteWithServer(this.cipher.id)\n : this.cipherService.softDeleteWithServer(this.cipher.id);\n }\n\n protected restoreCipher() {\n return this.cipherService.restoreWithServer(this.cipher.id);\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SearchService } from '../../abstractions/search.service';\n\nimport { CipherView } from '../../models/view/cipherView';\n\n@Directive()\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 pagedCiphers: CipherView[] = [];\n searchText: string;\n searchPlaceholder: string = null;\n filter: (cipher: CipherView) => boolean = null;\n deleted: boolean = false;\n\n protected searchPending = false;\n protected didScroll = false;\n protected pageSize = 100;\n\n private searchTimeout: any = null;\n private pagedCiphersCount = 0;\n private refreshing = false;\n\n constructor(protected searchService: SearchService) { }\n\n async load(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {\n this.deleted = deleted || false;\n await this.applyFilter(filter);\n this.loaded = true;\n }\n\n loadMore() {\n if (this.ciphers.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedCiphers.length;\n let pagedSize = this.pageSize;\n if (this.refreshing && pagedLength === 0 && this.pagedCiphersCount > this.pageSize) {\n pagedSize = this.pagedCiphersCount;\n }\n if (this.ciphers.length > pagedLength) {\n this.pagedCiphers = this.pagedCiphers.concat(this.ciphers.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedCiphersCount = this.pagedCiphers.length;\n this.didScroll = this.pagedCiphers.length > this.pageSize;\n }\n\n async reload(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {\n this.loaded = false;\n this.ciphers = [];\n await this.load(filter, deleted);\n }\n\n async refresh() {\n try {\n this.refreshing = true;\n await this.reload(this.filter, this.deleted);\n } finally {\n this.refreshing = false;\n }\n }\n\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\n this.filter = filter;\n await this.search(null);\n }\n\n async search(timeout: number = null) {\n this.searchPending = false;\n if (this.searchTimeout != null) {\n clearTimeout(this.searchTimeout);\n }\n const deletedFilter: (cipher: CipherView) => boolean = c => c.isDeleted === this.deleted;\n if (timeout == null) {\n this.ciphers = await this.searchService.searchCiphers(this.searchText, [this.filter, deletedFilter], null);\n await this.resetPaging();\n return;\n }\n this.searchPending = true;\n this.searchTimeout = setTimeout(async () => {\n this.ciphers = await this.searchService.searchCiphers(this.searchText, [this.filter, deletedFilter], null);\n await this.resetPaging();\n this.searchPending = false;\n }, timeout);\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 isSearching() {\n return !this.searchPending && this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.ciphers.length > this.pageSize;\n }\n\n async resetPaging() {\n this.pagedCiphers = [];\n this.loadMore();\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { CipherView } from '../../models/view/cipherView';\nimport { CollectionView } from '../../models/view/collectionView';\n\nimport { Cipher } from '../../models/domain/cipher';\n\n@Directive()\nexport class CollectionsComponent implements OnInit {\n @Input() cipherId: string;\n @Input() allowSelectNone = false;\n @Output() onSavedCollections = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collectionIds: string[];\n collections: CollectionView[] = [];\n\n protected cipherDomain: Cipher;\n\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\n protected i18nService: I18nService, protected cipherService: CipherService) { }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n this.cipherDomain = await this.loadCipher();\n this.collectionIds = this.loadCipherCollections();\n this.cipher = await this.cipherDomain.decrypt();\n this.collections = await this.loadCollections();\n\n this.collections.forEach(c => (c as any).checked = false);\n if (this.collectionIds != null) {\n this.collections.forEach(c => {\n (c as any).checked = this.collectionIds != null && this.collectionIds.indexOf(c.id) > -1;\n });\n }\n }\n\n async submit() {\n const selectedCollectionIds = this.collections\n .filter(c => !!(c as any).checked)\n .map(c => c.id);\n if (!this.allowSelectNone && selectedCollectionIds.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectOneCollection'));\n return;\n }\n this.cipherDomain.collectionIds = selectedCollectionIds;\n try {\n this.formPromise = this.saveCollections();\n await this.formPromise;\n this.onSavedCollections.emit();\n this.platformUtilsService.eventTrack('Edited Cipher Collections');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('editedItem'));\n } catch { }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected loadCipherCollections() {\n return this.cipherDomain.collectionIds;\n }\n\n protected async loadCollections() {\n const allCollections = await this.collectionService.getAllDecrypted();\n return allCollections.filter(c => !c.readOnly && c.organizationId === this.cipher.organizationId);\n }\n\n protected saveCollections() {\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\n }\n}\n","import {\n Directive,\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 { TreeNode } from '../../models/domain/treeNode';\n\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { StorageService } from '../../abstractions/storage.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\n@Directive()\nexport class GroupingsComponent {\n @Input() showFolders = true;\n @Input() showCollections = true;\n @Input() showFavorites = true;\n @Input() showTrash = true;\n\n @Output() onAllClicked = new EventEmitter();\n @Output() onFavoritesClicked = new EventEmitter();\n @Output() onTrashClicked = 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 nestedFolders: TreeNode[];\n collections: CollectionView[];\n nestedCollections: TreeNode[];\n loaded: boolean = false;\n cipherType = CipherType;\n selectedAll: boolean = false;\n selectedFavorites: boolean = false;\n selectedTrash: boolean = false;\n selectedType: CipherType = null;\n selectedFolder: boolean = false;\n selectedFolderId: string = null;\n selectedCollectionId: string = null;\n\n private collapsedGroupings: Set;\n private collapsedGroupingsKey: string;\n\n constructor(protected collectionService: CollectionService, protected folderService: FolderService,\n protected storageService: StorageService, protected userService: UserService) { }\n\n async load(setLoaded = true) {\n const userId = await this.userService.getUserId();\n this.collapsedGroupingsKey = ConstantsService.collapsedGroupingsKey + '_' + userId;\n const collapsedGroupings = await this.storageService.get(this.collapsedGroupingsKey);\n if (collapsedGroupings == null) {\n this.collapsedGroupings = new Set();\n } else {\n this.collapsedGroupings = new Set(collapsedGroupings);\n }\n\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 this.nestedCollections = await this.collectionService.getAllNested(this.collections);\n }\n\n async loadFolders() {\n if (!this.showFolders) {\n return;\n }\n this.folders = await this.folderService.getAllDecrypted();\n this.nestedFolders = await this.folderService.getAllNested();\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 selectTrash() {\n this.clearSelections();\n this.selectedTrash = true;\n this.onTrashClicked.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.selectedTrash = false;\n this.selectedType = null;\n this.selectedFolder = false;\n this.selectedFolderId = null;\n this.selectedCollectionId = null;\n }\n\n collapse(grouping: FolderView | CollectionView, idPrefix = '') {\n if (grouping.id == null) {\n return;\n }\n const id = idPrefix + grouping.id;\n if (this.isCollapsed(grouping, idPrefix)) {\n this.collapsedGroupings.delete(id);\n } else {\n this.collapsedGroupings.add(id);\n }\n this.storageService.save(this.collapsedGroupingsKey, this.collapsedGroupings);\n }\n\n isCollapsed(grouping: FolderView | CollectionView, idPrefix = '') {\n return this.collapsedGroupings.has(idPrefix + grouping.id);\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendAccessResponse } from '../response/sendAccessResponse';\n\nimport { SendAccessView } from '../view/sendAccessView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SendFile } from './sendFile';\nimport { SendText } from './sendText';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class SendAccess extends Domain {\n id: string;\n type: SendType;\n name: CipherString;\n file: SendFile;\n text: SendText;\n expirationDate: Date;\n creatorIdentifier: string;\n\n constructor(obj?: SendAccessResponse, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n name: null,\n expirationDate: null,\n creatorIdentifier: null,\n }, alreadyEncrypted, ['id', 'expirationDate', 'creatorIdentifier']);\n\n this.type = obj.type;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendText(obj.text, alreadyEncrypted);\n break;\n case SendType.File:\n this.file = new SendFile(obj.file, alreadyEncrypted);\n break;\n default:\n break;\n }\n }\n\n async decrypt(key: SymmetricCryptoKey): Promise {\n const model = new SendAccessView(this);\n\n await this.decryptObj(model, {\n name: null,\n }, null, key);\n\n switch (this.type) {\n case SendType.File:\n model.file = await this.file.decrypt(key);\n break;\n case SendType.Text:\n model.text = await this.text.decrypt(key);\n break;\n default:\n break;\n }\n\n return model;\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendAccess } from '../domain/sendAccess';\n\nimport { SendFileView } from './sendFileView';\nimport { SendTextView } from './sendTextView';\nimport { View } from './view';\n\nexport class SendAccessView implements View {\n id: string = null;\n name: string = null;\n type: SendType = null;\n text = new SendTextView();\n file = new SendFileView();\n expirationDate: Date = null;\n creatorIdentifier: string = null;\n\n constructor(s?: SendAccess) {\n if (!s) {\n return;\n }\n\n this.id = s.id;\n this.type = s.type;\n this.expirationDate = s.expirationDate;\n this.creatorIdentifier = s.creatorIdentifier;\n }\n}\n","export class SendAccessRequest {\n password: string;\n}\n","import {\n NgZone,\n OnInit,\n} from '@angular/core';\n\nimport { OrganizationUserStatusType } from '../../../enums/organizationUserStatusType';\nimport { PolicyType } from '../../../enums/policyType';\nimport { SendType } from '../../../enums/sendType';\n\nimport { SendView } from '../../../models/view/sendView';\n\nimport { EnvironmentService } from '../../../abstractions/environment.service';\nimport { I18nService } from '../../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../../abstractions/policy.service';\nimport { SearchService } from '../../../abstractions/search.service';\nimport { SendService } from '../../../abstractions/send.service';\nimport { UserService } from '../../../abstractions/user.service';\n\nexport class SendComponent implements OnInit {\n\n disableSend = false;\n sendType = SendType;\n loaded = false;\n loading = true;\n refreshing = false;\n expired: boolean = false;\n type: SendType = null;\n sends: SendView[] = [];\n filteredSends: SendView[] = [];\n searchText: string;\n selectedType: SendType;\n selectedAll: boolean;\n searchPlaceholder: string;\n filter: (cipher: SendView) => boolean;\n searchPending = false;\n hasSearched = false; // search() function called - returns true if text qualifies for search\n\n actionPromise: any;\n onSuccessfulRemovePassword: () => Promise;\n onSuccessfulDelete: () => Promise;\n onSuccessfulLoad: () => Promise;\n\n private searchTimeout: any;\n\n constructor(protected sendService: SendService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected environmentService: EnvironmentService,\n protected ngZone: NgZone, protected searchService: SearchService,\n protected policyService: PolicyService, protected userService: UserService) { }\n\n async ngOnInit() {\n const policies = await this.policyService.getAll(PolicyType.DisableSend);\n const organizations = await this.userService.getAllOrganizations();\n this.disableSend = organizations.some(o => {\n return o.enabled &&\n o.status === OrganizationUserStatusType.Confirmed &&\n o.usePolicies &&\n !o.canManagePolicies &&\n policies.some(p => p.organizationId === o.id && p.enabled);\n });\n }\n\n async load(filter: (send: SendView) => boolean = null) {\n this.loading = true;\n const sends = await this.sendService.getAllDecrypted();\n this.sends = sends;\n if (this.onSuccessfulLoad != null) {\n await this.onSuccessfulLoad();\n } else {\n // Default action\n this.selectAll();\n }\n this.loading = false;\n this.loaded = true;\n }\n\n async reload(filter: (send: SendView) => boolean = null) {\n this.loaded = false;\n this.sends = [];\n await this.load(filter);\n }\n\n async refresh() {\n try {\n this.refreshing = true;\n await this.reload(this.filter);\n } finally {\n this.refreshing = false;\n }\n }\n\n async applyFilter(filter: (send: SendView) => boolean = null) {\n this.filter = filter;\n await this.search(null);\n }\n\n async search(timeout: number = null) {\n this.searchPending = false;\n if (this.searchTimeout != null) {\n clearTimeout(this.searchTimeout);\n }\n if (timeout == null) {\n this.hasSearched = this.searchService.isSearchable(this.searchText);\n this.filteredSends = this.sends.filter(s => this.filter == null || this.filter(s));\n this.applyTextSearch();\n return;\n }\n this.searchPending = true;\n this.searchTimeout = setTimeout(async () => {\n this.hasSearched = this.searchService.isSearchable(this.searchText);\n this.filteredSends = this.sends.filter(s => this.filter == null || this.filter(s));\n this.applyTextSearch();\n this.searchPending = false;\n }, timeout);\n }\n\n async removePassword(s: SendView): Promise {\n if (this.actionPromise != null || s.password == null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('removePasswordConfirmation'),\n this.i18nService.t('removePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.sendService.removePasswordWithServer(s.id);\n await this.actionPromise;\n if (this.onSuccessfulRemovePassword != null) {\n this.onSuccessfulRemovePassword();\n } else {\n // Default actions\n this.platformUtilsService.showToast('success', null, this.i18nService.t('removedPassword'));\n await this.load();\n }\n } catch { }\n this.actionPromise = null;\n }\n\n async delete(s: SendView): Promise {\n if (this.actionPromise != null) {\n return false;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteSendConfirmation'),\n this.i18nService.t('deleteSend'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.sendService.deleteWithServer(s.id);\n await this.actionPromise;\n\n if (this.onSuccessfulDelete != null) {\n this.onSuccessfulDelete();\n } else {\n // Default actions\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));\n await this.refresh();\n }\n } catch { }\n this.actionPromise = null;\n return true;\n }\n\n copy(s: SendView) {\n let sendLinkBaseUrl = 'https://send.bitwarden.com/#';\n const webVaultUrl = this.environmentService.getWebVaultUrl();\n if (webVaultUrl != null) {\n sendLinkBaseUrl = webVaultUrl + '/#/send/';\n }\n const link = sendLinkBaseUrl + s.accessId + '/' + s.urlB64Key;\n this.platformUtilsService.copyToClipboard(link);\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('valueCopied', this.i18nService.t('sendLink')));\n }\n\n searchTextChanged() {\n this.search(200);\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.applyFilter(null);\n }\n\n selectType(type: SendType) {\n this.clearSelections();\n this.selectedType = type;\n this.applyFilter(s => s.type === type);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedType = null;\n }\n\n private applyTextSearch() {\n if (this.searchText != null) {\n this.filteredSends = this.searchService.searchSends(this.filteredSends, this.searchText);\n }\n }\n}\n","import { DatePipe } from '@angular/common';\n\nimport {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { OrganizationUserStatusType } from '../../../enums/organizationUserStatusType';\nimport { PolicyType } from '../../../enums/policyType';\nimport { SendType } from '../../../enums/sendType';\n\nimport { EnvironmentService } from '../../../abstractions/environment.service';\nimport { I18nService } from '../../../abstractions/i18n.service';\nimport { MessagingService } from '../../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../../abstractions/policy.service';\nimport { SendService } from '../../../abstractions/send.service';\nimport { UserService } from '../../../abstractions/user.service';\n\nimport { SendFileView } from '../../../models/view/sendFileView';\nimport { SendTextView } from '../../../models/view/sendTextView';\nimport { SendView } from '../../../models/view/sendView';\n\nimport { Send } from '../../../models/domain/send';\n\n// TimeOption is used for the dropdown implementation of custom times\n// Standard = displayed time; Military = stored time\ninterface TimeOption {\n standard: string;\n military: string;\n}\n\nenum DateField {\n DeletionDate = 'deletion',\n ExpriationDate = 'expiration',\n}\n\nexport class AddEditComponent implements OnInit {\n @Input() sendId: string;\n @Input() type: SendType;\n\n @Output() onSavedSend = new EventEmitter();\n @Output() onDeletedSend = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n\n copyLink = false;\n disableSend = false;\n send: SendView;\n deletionDate: string;\n deletionDateFallback: string;\n deletionTimeFallback: string;\n expirationDate: string = null;\n expirationDateFallback: string;\n expirationTimeFallback: string;\n hasPassword: boolean;\n password: string;\n showPassword = false;\n formPromise: Promise;\n deletePromise: Promise;\n sendType = SendType;\n typeOptions: any[];\n deletionDateOptions: any[];\n expirationDateOptions: any[];\n deletionDateSelect = 168;\n expirationDateSelect: number = null;\n canAccessPremium = true;\n premiumRequiredAlertShown = false;\n showOptions = false;\n\n safariDeletionTime: string;\n safariExpirationTime: string;\n safariDeletionTimeOptions: TimeOption[];\n safariExpirationTimeOptions: TimeOption[];\n\n private sendLinkBaseUrl: string;\n\n constructor(protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected environmentService: EnvironmentService, protected datePipe: DatePipe,\n protected sendService: SendService, protected userService: UserService,\n protected messagingService: MessagingService, protected policyService: PolicyService) {\n this.typeOptions = [\n { name: i18nService.t('sendTypeFile'), value: SendType.File },\n { name: i18nService.t('sendTypeText'), value: SendType.Text },\n ];\n this.deletionDateOptions = this.expirationDateOptions = [\n { name: i18nService.t('oneHour'), value: 1 },\n { name: i18nService.t('oneDay'), value: 24 },\n { name: i18nService.t('days', '2'), value: 48 },\n { name: i18nService.t('days', '3'), value: 72 },\n { name: i18nService.t('days', '7'), value: 168 },\n { name: i18nService.t('days', '30'), value: 720 },\n { name: i18nService.t('custom'), value: 0 },\n ];\n this.expirationDateOptions = [\n { name: i18nService.t('never'), value: null },\n ].concat([...this.deletionDateOptions]);\n\n const webVaultUrl = this.environmentService.getWebVaultUrl();\n if (webVaultUrl == null) {\n this.sendLinkBaseUrl = 'https://send.bitwarden.com/#';\n } else {\n this.sendLinkBaseUrl = webVaultUrl + '/#/send/';\n }\n }\n\n get link(): string {\n if (this.send.id != null && this.send.accessId != null) {\n return this.sendLinkBaseUrl + this.send.accessId + '/' + this.send.urlB64Key;\n }\n return null;\n }\n\n get isSafari() {\n return this.platformUtilsService.isSafari();\n }\n\n get isDateTimeLocalSupported(): boolean {\n return !(this.platformUtilsService.isFirefox() || this.platformUtilsService.isSafari());\n }\n\n async ngOnInit() {\n await this.load();\n }\n\n get editMode(): boolean {\n return this.sendId != null;\n }\n\n get title(): string {\n return this.i18nService.t(\n this.editMode ?\n 'editSend' :\n 'createSend'\n );\n }\n\n get expirationDateTimeFallback() {\n return this.nullOrWhiteSpaceCount([this.expirationDateFallback, this.expirationTimeFallback]) > 0 ?\n null :\n `${this.formatDateFallbacks(this.expirationDateFallback)}T${this.expirationTimeFallback}`;\n }\n\n get deletionDateTimeFallback() {\n return this.nullOrWhiteSpaceCount([this.deletionDateFallback, this.deletionTimeFallback]) > 0 ?\n null :\n `${this.formatDateFallbacks(this.deletionDateFallback)}T${this.deletionTimeFallback}`;\n }\n\n async load() {\n const policies = await this.policyService.getAll(PolicyType.DisableSend);\n const organizations = await this.userService.getAllOrganizations();\n this.disableSend = organizations.some(o => {\n return o.enabled &&\n o.status === OrganizationUserStatusType.Confirmed &&\n o.usePolicies &&\n !o.canManagePolicies &&\n policies.some(p => p.organizationId === o.id && p.enabled);\n });\n\n this.canAccessPremium = await this.userService.canAccessPremium();\n if (!this.canAccessPremium) {\n this.type = SendType.Text;\n }\n\n if (this.send == null) {\n if (this.editMode) {\n const send = await this.loadSend();\n this.send = await send.decrypt();\n } else {\n this.send = new SendView();\n this.send.type = this.type == null ? SendType.File : this.type;\n this.send.file = new SendFileView();\n this.send.text = new SendTextView();\n this.send.deletionDate = new Date();\n this.send.deletionDate.setDate(this.send.deletionDate.getDate() + 7);\n }\n }\n\n this.hasPassword = this.send.password != null && this.send.password.trim() !== '';\n\n // Parse dates\n if (!this.isDateTimeLocalSupported) {\n const deletionDateParts = this.dateToSplitString(this.send.deletionDate);\n if (deletionDateParts !== undefined && deletionDateParts.length > 0) {\n this.deletionDateFallback = deletionDateParts[0];\n this.deletionTimeFallback = deletionDateParts[1];\n if (this.isSafari) {\n this.safariDeletionTime = this.deletionTimeFallback;\n }\n }\n\n const expirationDateParts = this.dateToSplitString(this.send.expirationDate);\n if (expirationDateParts !== undefined && expirationDateParts.length > 0) {\n this.expirationDateFallback = expirationDateParts[0];\n this.expirationTimeFallback = expirationDateParts[1];\n if (this.isSafari) {\n this.safariExpirationTime = this.expirationTimeFallback;\n }\n }\n } else {\n this.deletionDate = this.dateToString(this.send.deletionDate);\n this.expirationDate = this.dateToString(this.send.expirationDate);\n }\n\n if (this.isSafari) {\n this.safariDeletionTimeOptions = this.safariTimeOptions(DateField.DeletionDate);\n this.safariExpirationTimeOptions = this.safariTimeOptions(DateField.ExpriationDate);\n }\n }\n\n async submit(): Promise {\n if (!this.isDateTimeLocalSupported) {\n if (this.isSafari) {\n this.expirationTimeFallback = this.safariExpirationTime ?? this.expirationTimeFallback;\n this.deletionTimeFallback = this.safariDeletionTime ?? this.deletionTimeFallback;\n }\n this.deletionDate = this.deletionDateTimeFallback;\n if (this.expirationDateTimeFallback != null && isNaN(Date.parse(this.expirationDateTimeFallback))) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('expirationDateIsInvalid'));\n return;\n }\n if (isNaN(Date.parse(this.deletionDateTimeFallback))) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('deletionDateIsInvalid'));\n return;\n }\n if (this.nullOrWhiteSpaceCount([this.expirationDateFallback, this.expirationTimeFallback]) === 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('expirationDateAndTimeRequired'));\n return;\n }\n if (this.editMode || this.expirationDateSelect === 0) {\n this.expirationDate = this.expirationDateTimeFallback;\n }\n }\n\n if (this.disableSend) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('sendDisabledWarning'));\n return false;\n }\n\n if (this.send.name == null || this.send.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n let file: File = null;\n if (this.send.type === SendType.File && !this.editMode) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n file = files[0];\n if (file.size > 104857600) { // 100 MB\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n }\n\n if (!this.editMode) {\n const now = new Date();\n if (this.deletionDateSelect > 0) {\n const d = new Date();\n d.setHours(now.getHours() + this.deletionDateSelect);\n this.deletionDate = this.dateToString(d);\n }\n if (this.expirationDateSelect != null && this.expirationDateSelect > 0) {\n const d = new Date();\n d.setHours(now.getHours() + this.expirationDateSelect);\n this.expirationDate = this.dateToString(d);\n }\n }\n\n if (this.password != null && this.password.trim() === '') {\n this.password = null;\n }\n\n const encSend = await this.encryptSend(file);\n try {\n this.formPromise = this.sendService.saveWithServer(encSend);\n await this.formPromise;\n if (this.send.id == null) {\n this.send.id = encSend[0].id;\n }\n if (this.send.accessId == null) {\n this.send.accessId = encSend[0].accessId;\n }\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode ? 'editedSend' : 'createdSend'));\n this.onSavedSend.emit(this.send);\n if (this.copyLink) {\n this.copyLinkToClipboard(this.link);\n }\n return true;\n } catch { }\n\n return false;\n }\n\n clearExpiration() {\n this.expirationDate = null;\n this.expirationDateFallback = null;\n this.expirationTimeFallback = null;\n this.safariExpirationTime = null;\n }\n\n copyLinkToClipboard(link: string) {\n if (link != null) {\n this.platformUtilsService.copyToClipboard(link);\n }\n }\n\n async delete(): Promise {\n if (this.deletePromise != null) {\n return false;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteSendConfirmation'),\n this.i18nService.t('deleteSend'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.sendService.deleteWithServer(this.send.id);\n await this.deletePromise;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));\n await this.load();\n this.onDeletedSend.emit(this.send);\n return true;\n } catch { }\n\n return false;\n }\n\n typeChanged() {\n if (!this.canAccessPremium && this.send.type === SendType.File && !this.premiumRequiredAlertShown) {\n this.premiumRequiredAlertShown = true;\n this.messagingService.send('premiumRequired');\n }\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n expirationDateFallbackChanged() {\n this.isSafari ?\n this.safariExpirationTime = this.safariExpirationTime ?? '00:00' :\n this.expirationTimeFallback = this.expirationTimeFallback ?? this.datePipe.transform(new Date(), 'HH:mm');\n }\n\n protected async loadSend(): Promise {\n return this.sendService.get(this.sendId);\n }\n\n protected async encryptSend(file: File): Promise<[Send, ArrayBuffer]> {\n const sendData = await this.sendService.encrypt(this.send, file, this.password, null);\n\n // Parse dates\n try {\n sendData[0].deletionDate = this.deletionDate == null ? null : new Date(this.deletionDate);\n } catch {\n sendData[0].deletionDate = null;\n }\n try {\n sendData[0].expirationDate = this.expirationDate == null ? null : new Date(this.expirationDate);\n } catch {\n sendData[0].expirationDate = null;\n }\n\n return sendData;\n }\n\n protected dateToString(d: Date) {\n return d == null ? null : this.datePipe.transform(d, 'yyyy-MM-ddTHH:mm');\n }\n\n protected formatDateFallbacks(dateString: string) {\n try {\n // The Firefox date picker doesn't supply a time, safari's polyfill does.\n // Unknown if Safari's native date picker will or not when it releases.\n if (!this.isSafari) {\n dateString += ' 00:00';\n }\n return this.datePipe.transform(new Date(dateString), 'yyyy-MM-dd');\n } catch {\n // this should never happen\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('dateParsingError'));\n }\n }\n\n protected dateToSplitString(d: Date) {\n if (d != null) {\n const date = !this.isSafari ?\n this.datePipe.transform(d, 'yyyy-MM-dd') :\n this.datePipe.transform(d, 'MM/dd/yyyy');\n const time = this.datePipe.transform(d, 'HH:mm');\n return [date, time];\n }\n }\n\n protected togglePasswordVisible() {\n this.showPassword = !this.showPassword;\n document.getElementById('password').focus();\n }\n\n protected nullOrWhiteSpaceCount(strarray: string[]): number {\n return strarray.filter(str => str == null || str.trim() === '').length;\n }\n\n protected safariTimeOptions(field: DateField): TimeOption[] {\n // init individual arrays for major sort groups\n const noon: TimeOption[] = [];\n const midnight: TimeOption[] = [];\n const ams: TimeOption[] = [];\n const pms: TimeOption[] = [];\n\n // determine minute skip (5 min, 10 min, 15 min, etc.)\n const minuteIncrementer = 15;\n\n // loop through each hour on a 12 hour system\n for (let h = 1; h <= 12; h++) {\n // loop through each minute in the hour using the skip to incriment\n for (let m = 0; m < 60; m += minuteIncrementer) {\n // init the final strings that will be added to the lists\n let hour = h.toString();\n let minutes = m.toString();\n\n // add prepending 0s to single digit hours/minutes\n if (h < 10) {\n hour = '0' + hour;\n }\n if (m < 10) {\n minutes = '0' + minutes;\n }\n\n // build time strings and push to relevant sort groups\n if (h === 12) {\n const midnightOption: TimeOption = {\n standard: `${hour}:${minutes} AM`,\n military: `00:${minutes}`,\n };\n midnight.push(midnightOption);\n\n const noonOption: TimeOption = {\n standard: `${hour}:${minutes} PM`,\n military: `${hour}:${minutes}`,\n };\n noon.push(noonOption);\n } else {\n const amOption: TimeOption = {\n standard: `${hour}:${minutes} AM`,\n military: `${hour}:${minutes}`,\n };\n ams.push(amOption);\n\n const pmOption: TimeOption = {\n standard: `${hour}:${minutes} PM`,\n military: `${h + 12}:${minutes}`,\n };\n pms.push(pmOption);\n }\n }\n }\n\n // bring all the arrays together in the right order\n const validTimes = [...midnight, ...ams, ...noon, ...pms];\n\n // determine if an unsupported value already exists on the send & add that to the top of the option list\n // example: if the Send was created with a different client\n if (field === DateField.ExpriationDate && this.expirationDateTimeFallback != null && this.editMode) {\n const previousValue: TimeOption = {\n standard: this.datePipe.transform(this.expirationDateTimeFallback, 'hh:mm a'),\n military: this.datePipe.transform(this.expirationDateTimeFallback, 'HH:mm'),\n };\n return [previousValue, { standard: null, military: null }, ...validTimes];\n } else if (field === DateField.DeletionDate && this.deletionDateTimeFallback != null && this.editMode) {\n const previousValue: TimeOption = {\n standard: this.datePipe.transform(this.deletionDateTimeFallback, 'hh:mm a'),\n military: this.datePipe.transform(this.deletionDateTimeFallback, 'HH:mm'),\n };\n return [previousValue, ...validTimes];\n } else {\n return [{ standard: null, military: null }, ...validTimes];\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","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","import { PasswordRequest } from './passwordRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class KdfRequest extends PasswordRequest {\n kdf: KdfType;\n kdfIterations: number;\n}\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","import {\n Directive,\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\nimport { PasswordGeneratorPolicyOptions } from '../../models/domain/passwordGeneratorPolicyOptions';\n\n@Directive()\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 enforcedPolicyOptions: PasswordGeneratorPolicyOptions;\n\n constructor(protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n private win: Window) { }\n\n async ngOnInit() {\n const optionsResponse = await this.passwordGenerationService.getOptions();\n this.options = optionsResponse[0];\n this.enforcedPolicyOptions = optionsResponse[1];\n this.avoidAmbiguous = !this.options.ambiguous;\n this.options.type = this.options.type === 'passphrase' ? 'passphrase' : 'password';\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.platformUtilsService.eventTrack('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.platformUtilsService.eventTrack('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.platformUtilsService.eventTrack('Regenerated Password');\n }\n\n copy() {\n this.platformUtilsService.eventTrack('Copied Generated Password');\n const copyOptions = this.win != null ? { window: this.win } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.platformUtilsService.eventTrack('Selected Generated Password');\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n // Application level normalize options depedent on class variables\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 if (this.win != null) {\n const lowercase = this.win.document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n }\n\n this.passwordGenerationService.normalizeOptions(this.options, this.enforcedPolicyOptions);\n }\n}\n","import { OnInit } from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { GeneratedPasswordHistory } from '../../models/domain/generatedPasswordHistory';\n\nexport class PasswordGeneratorHistoryComponent implements OnInit {\n history: GeneratedPasswordHistory[] = [];\n\n constructor(protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n private win: Window) { }\n\n async ngOnInit() {\n this.history = await this.passwordGenerationService.getHistory();\n }\n\n clear() {\n this.history = [];\n this.passwordGenerationService.clear();\n }\n\n copy(password: string) {\n this.platformUtilsService.eventTrack('Copied Historical Password');\n const copyOptions = this.win != null ? { window: this.win } : null;\n this.platformUtilsService.copyToClipboard(password, copyOptions);\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\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\n@Directive()\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 platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack(this.editMode ? 'Edited Folder' : 'Added Folder');\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Deleted Folder');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n\n protected async init() {\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","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Organization } from '../../models/domain/organization';\nimport { CipherView } from '../../models/view/cipherView';\nimport { CollectionView } from '../../models/view/collectionView';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive()\nexport class ShareComponent implements OnInit {\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 protected writeableCollections: CollectionView[] = [];\n\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\n protected i18nService: I18nService, protected userService: UserService,\n protected cipherService: CipherService) { }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.map(c => c).filter(c => !c.readOnly);\n const orgs = await this.userService.getAllOrganizations();\n this.organizations = orgs.sort(Utils.getSortFunction(this.i18nService, 'name'))\n .filter(o => o.enabled && o.status === OrganizationUserStatusType.Confirmed);\n\n const cipherDomain = await this.cipherService.get(this.cipherId);\n this.cipher = await cipherDomain.decrypt();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n filterCollections() {\n this.writeableCollections.forEach(c => (c as any).checked = 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(): Promise {\n const selectedCollectionIds = this.collections\n .filter(c => !!(c as any).checked)\n .map(c => c.id);\n if (selectedCollectionIds.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectOneCollection'));\n return;\n }\n\n const cipherDomain = await this.cipherService.get(this.cipherId);\n const cipherView = await cipherDomain.decrypt();\n\n try {\n this.formPromise = this.cipherService.shareWithServer(cipherView, this.organizationId,\n selectedCollectionIds).then(async () => {\n this.onSharedCipher.emit();\n this.platformUtilsService.eventTrack('Shared Cipher');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('sharedItem'));\n });\n await this.formPromise;\n return true;\n } catch { }\n return false;\n }\n\n get canSave() {\n if (this.collections != null) {\n for (let i = 0; i < this.collections.length; i++) {\n if ((this.collections[i] as any).checked) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","export { AttachmentData } from './attachmentData';\nexport { CardData } from './cardData';\nexport { CipherData } from './cipherData';\nexport { CollectionData } from './collectionData';\nexport { FieldData } from './fieldData';\nexport { FolderData } from './folderData';\nexport { IdentityData } from './identityData';\nexport { LoginData } from './loginData';\nexport { LoginUriData } from './loginUriData';\nexport { SecureNoteData } from './secureNoteData';\n","export { Attachment } from './attachment';\nexport { AuthResult } from './authResult';\nexport { Card } from './card';\nexport { Cipher } from './cipher';\nexport { CipherString } from './cipherString';\nexport { Collection } from './collection';\nexport { EncryptedObject } from './encryptedObject';\nexport { EnvironmentUrls } from './environmentUrls';\nexport { Field } from './field';\nexport { Folder } from './folder';\nexport { Identity } from './identity';\nexport { Login } from './login';\nexport { LoginUri } from './loginUri';\nexport { GeneratedPasswordHistory } from './generatedPasswordHistory';\nexport { SecureNote } from './secureNote';\nexport { SymmetricCryptoKey } from './symmetricCryptoKey';\n","export class EmergencyAccessConfirmRequest {\n key: string;\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class AttachmentResponse extends BaseResponse {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.url = this.getResponseProperty('Url');\n this.fileName = this.getResponseProperty('FileName');\n this.key = this.getResponseProperty('Key');\n this.size = this.getResponseProperty('Size');\n this.sizeName = this.getResponseProperty('SizeName');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class PasswordHistoryResponse extends BaseResponse {\n password: string;\n lastUsedDate: string;\n\n constructor(response: any) {\n super(response);\n this.password = this.getResponseProperty('Password');\n this.lastUsedDate = this.getResponseProperty('LastUsedDate');\n }\n}\n","import { EmergencyAccessType } from '../../enums/emergencyAccessType';\n\nexport class EmergencyAccessInviteRequest {\n email: string;\n type: EmergencyAccessType;\n waitTimeDays: number;\n}\n","export class EmergencyAccessPasswordRequest {\n newMasterPasswordHash: string;\n key: string;\n}\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 { ConsoleLogService } from 'jslib/services/consoleLog.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 { EventService as EventLoggingService } from 'jslib/services/event.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { ImportService } from 'jslib/services/import.service';\nimport { NotificationsService } from 'jslib/services/notifications.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { PolicyService } from 'jslib/services/policy.service';\nimport { SearchService } from 'jslib/services/search.service';\nimport { SendService } from 'jslib/services/send.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 { VaultTimeoutService } from 'jslib/services/vaultTimeout.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 { EventService as EventLoggingServiceAbstraction } from 'jslib/abstractions/event.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 { ImportService as ImportServiceAbstraction } from 'jslib/abstractions/import.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport { NotificationsService as NotificationsServiceAbstraction } from 'jslib/abstractions/notifications.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService as PolicyServiceAbstraction } from 'jslib/abstractions/policy.service';\nimport { SearchService as SearchServiceAbstraction } from 'jslib/abstractions/search.service';\nimport { SendService as SendServiceAbstraction } from 'jslib/abstractions/send.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';\nimport { VaultTimeoutService as VaultTimeoutServiceAbstraction } from 'jslib/abstractions/vaultTimeout.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, messagingService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService(platformUtilsService);\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst consoleLogService = new ConsoleLogService(false);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService, platformUtilsService,\n consoleLogService);\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 userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nexport let searchService: SearchService = null;\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, () => searchService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nsearchService = new SearchService(cipherService, consoleLogService);\nconst policyService = new PolicyService(userService, storageService);\nconst sendService = new SendService(cryptoService, userService, apiService, storageService,\n i18nService, cryptoFunctionService);\nconst vaultTimeoutService = new VaultTimeoutService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, searchService, userService, tokenService,\n null, async () => messagingService.send('logout', { expired: false }));\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService, policyService,\n sendService, async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService, policyService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService, vaultTimeoutService,\n consoleLogService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst importService = new ImportService(cipherService, folderService, apiService, i18nService, collectionService,\n platformUtilsService);\nconst notificationsService = new NotificationsService(userService, syncService, appIdService,\n apiService, vaultTimeoutService, async () => messagingService.send('logout', { expired: true }), consoleLogService);\nconst environmentService = new EnvironmentService(apiService, storageService, notificationsService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\nconst eventLoggingService = new EventLoggingService(storageService, apiService, userService, cipherService);\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 } else {\n environmentService.webVaultUrl = isDev ? 'https://localhost:8080' : null;\n environmentService.notificationsUrl = isDev ? 'http://localhost:61840' :\n 'https://notifications.bitwarden.com'; // window.location.origin + '/notifications';\n environmentService.enterpriseUrl = isDev ? 'http://localhost:52313' :\n 'https://portal.bitwarden.com'; // window.location.origin + '/portal';\n }\n apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n events: isDev ? 'http://localhost:46273' : 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 // events: 'https://events.bitwarden.com',\n });\n setTimeout(() => notificationsService.init(environmentService), 3000);\n\n vaultTimeoutService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n eventLoggingService.init(true);\n 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: VaultTimeoutServiceAbstraction, useValue: vaultTimeoutService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n { provide: SearchServiceAbstraction, useValue: searchService },\n { provide: ImportServiceAbstraction, useValue: importService },\n { provide: NotificationsServiceAbstraction, useValue: notificationsService },\n { provide: CryptoFunctionServiceAbstraction, useValue: cryptoFunctionService },\n { provide: EventLoggingServiceAbstraction, useValue: eventLoggingService },\n { provide: PolicyServiceAbstraction, useValue: policyService },\n { provide: SendServiceAbstraction, useValue: sendService },\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","import { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nexport class BroadcasterMessagingService implements MessagingService {\n constructor(private broadcasterService: BroadcasterService) { }\n\n send(subscriber: string, arg: any = {}) {\n const message = Object.assign({}, { command: subscriber }, arg);\n this.broadcasterService.send(message);\n }\n}\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, 'rememberEmail', 'enableGravatars', 'enableFullWidth',\n ConstantsService.localeKey, ConstantsService.autoConfirmFingerprints,\n ConstantsService.vaultTimeoutKey, ConstantsService.vaultTimeoutActionKey, ConstantsService.ssoCodeVerifierKey,\n ConstantsService.ssoStateKey, 'ssoOrgIdentifier']);\n private localStorageStartsWithKeys = ['twoFactorToken_', ConstantsService.collapsedGroupingsKey + '_'];\n private memoryStorageStartsWithKeys = ['ciphers_', 'folders_', 'collections_', 'settings_', 'lastSync_'];\n private memoryStorage = new Map();\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n async init() {\n // LockOption -> VaultTimeout (uses the same legacy string value for backwards compat)\n const vaultTimeout = await this.get(ConstantsService.vaultTimeoutKey);\n if (vaultTimeout == null && !this.platformUtilsService.isDev()) {\n await this.save(ConstantsService.vaultTimeoutKey, 15);\n }\n\n // Default Action to lock\n const vaultTimeoutAction = await this.get(ConstantsService.vaultTimeoutActionKey);\n if (vaultTimeoutAction == null) {\n await this.save(ConstantsService.vaultTimeoutActionKey, 'lock');\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 if (this.isMemoryStorage(key)) {\n json = this.memoryStorage.get(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 if (this.isMemoryStorage(key)) {\n this.memoryStorage.set(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 if (this.isMemoryStorage(key)) {\n this.memoryStorage.delete(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 private isMemoryStorage(key: string): boolean {\n for (const swKey of this.memoryStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\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 { 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';\nexport { VaultTimeoutService } from './vaultTimeout.service';\n","import { BaseResponse } from './baseResponse';\n\nexport class ApiKeyResponse extends BaseResponse {\n apiKey: string;\n\n constructor(response: any) {\n super(response);\n this.apiKey = this.getResponseProperty('ApiKey');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { TransactionType } from '../../enums/transactionType';\n\nexport class BillingResponse extends BaseResponse {\n balance: number;\n paymentSource: BillingSourceResponse;\n invoices: BillingInvoiceResponse[] = [];\n transactions: BillingTransactionResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.balance = this.getResponseProperty('Balance');\n const paymentSource = this.getResponseProperty('PaymentSource');\n const transactions = this.getResponseProperty('Transactions');\n const invoices = this.getResponseProperty('Invoices');\n this.paymentSource = paymentSource == null ? null : new BillingSourceResponse(paymentSource);\n if (transactions != null) {\n this.transactions = transactions.map((t: any) => new BillingTransactionResponse(t));\n }\n if (invoices != null) {\n this.invoices = invoices.map((i: any) => new BillingInvoiceResponse(i));\n }\n }\n}\n\nexport class BillingSourceResponse extends BaseResponse {\n type: PaymentMethodType;\n cardBrand: string;\n description: string;\n needsVerification: boolean;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.cardBrand = this.getResponseProperty('CardBrand');\n this.description = this.getResponseProperty('Description');\n this.needsVerification = this.getResponseProperty('NeedsVerification');\n }\n}\n\nexport class BillingInvoiceResponse extends BaseResponse {\n url: string;\n pdfUrl: string;\n number: string;\n paid: boolean;\n date: string;\n amount: number;\n\n constructor(response: any) {\n super(response);\n this.url = this.getResponseProperty('Url');\n this.pdfUrl = this.getResponseProperty('PdfUrl');\n this.number = this.getResponseProperty('Number');\n this.paid = this.getResponseProperty('Paid');\n this.date = this.getResponseProperty('Date');\n this.amount = this.getResponseProperty('Amount');\n }\n}\n\nexport class BillingTransactionResponse extends BaseResponse {\n createdDate: string;\n amount: number;\n refunded: boolean;\n partiallyRefunded: boolean;\n refundedAmount: number;\n type: TransactionType;\n paymentMethodType: PaymentMethodType;\n details: string;\n\n constructor(response: any) {\n super(response);\n this.createdDate = this.getResponseProperty('CreatedDate');\n this.amount = this.getResponseProperty('Amount');\n this.refunded = this.getResponseProperty('Refunded');\n this.partiallyRefunded = this.getResponseProperty('PartiallyRefunded');\n this.refundedAmount = this.getResponseProperty('RefundedAmount');\n this.type = this.getResponseProperty('Type');\n this.paymentMethodType = this.getResponseProperty('PaymentMethodType');\n this.details = this.getResponseProperty('Details');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class BreachAccountResponse extends BaseResponse {\n addedDate: string;\n breachDate: string;\n dataClasses: string[];\n description: string;\n domain: string;\n isActive: boolean;\n isVerified: boolean;\n logoPath: string;\n modifiedDate: string;\n name: string;\n pwnCount: number;\n title: string;\n\n constructor(response: any) {\n super(response);\n this.addedDate = this.getResponseProperty('AddedDate');\n this.breachDate = this.getResponseProperty('BreachDate');\n this.dataClasses = this.getResponseProperty('DataClasses');\n this.description = this.getResponseProperty('Description');\n this.domain = this.getResponseProperty('Domain');\n this.isActive = this.getResponseProperty('IsActive');\n this.isVerified = this.getResponseProperty('IsVerified');\n this.logoPath = this.getResponseProperty('LogoPath');\n this.modifiedDate = this.getResponseProperty('ModifiedDate');\n this.name = this.getResponseProperty('Name');\n this.pwnCount = this.getResponseProperty('PwnCount');\n this.title = this.getResponseProperty('Title');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class GlobalDomainResponse extends BaseResponse {\n type: number;\n domains: string[];\n excluded: boolean;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.domains = this.getResponseProperty('Domains');\n this.excluded = this.getResponseProperty('Excluded');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { DeviceType } from '../../enums/deviceType';\nimport { EventType } from '../../enums/eventType';\n\nexport class EventResponse extends BaseResponse {\n type: EventType;\n userId: string;\n organizationId: string;\n cipherId: string;\n collectionId: string;\n groupId: string;\n policyId: string;\n organizationUserId: string;\n actingUserId: string;\n date: string;\n deviceType: DeviceType;\n ipAddress: string;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.userId = this.getResponseProperty('UserId');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.cipherId = this.getResponseProperty('CipherId');\n this.collectionId = this.getResponseProperty('CollectionId');\n this.groupId = this.getResponseProperty('GroupId');\n this.policyId = this.getResponseProperty('PolicyId');\n this.organizationUserId = this.getResponseProperty('OrganizationUserId');\n this.actingUserId = this.getResponseProperty('ActingUserId');\n this.date = this.getResponseProperty('Date');\n this.deviceType = this.getResponseProperty('DeviceType');\n this.ipAddress = this.getResponseProperty('IpAddress');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class GroupResponse extends BaseResponse {\n id: string;\n organizationId: string;\n name: string;\n accessAll: boolean;\n externalId: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.name = this.getResponseProperty('Name');\n this.accessAll = this.getResponseProperty('AccessAll');\n this.externalId = this.getResponseProperty('ExternalId');\n }\n}\n\nexport class GroupDetailsResponse extends GroupResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class IdentityTokenResponse extends BaseResponse {\n accessToken: string;\n expiresIn: number;\n refreshToken: string;\n tokenType: string;\n\n resetMasterPassword: boolean;\n privateKey: string;\n key: string;\n twoFactorToken: string;\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n this.accessToken = response.access_token;\n this.expiresIn = response.expires_in;\n this.refreshToken = response.refresh_token;\n this.tokenType = response.token_type;\n\n this.resetMasterPassword = this.getResponseProperty('ResetMasterPassword');\n this.privateKey = this.getResponseProperty('PrivateKey');\n this.key = this.getResponseProperty('Key');\n this.twoFactorToken = this.getResponseProperty('TwoFactorToken');\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class IdentityTwoFactorResponse extends BaseResponse {\n twoFactorProviders: TwoFactorProviderType[];\n twoFactorProviders2 = new Map();\n\n constructor(response: any) {\n super(response);\n this.twoFactorProviders = this.getResponseProperty('TwoFactorProviders');\n const twoFactorProviders2 = this.getResponseProperty('TwoFactorProviders2');\n if (twoFactorProviders2 != null) {\n for (const prop in twoFactorProviders2) {\n if (twoFactorProviders2.hasOwnProperty(prop)) {\n this.twoFactorProviders2.set(parseInt(prop, null), twoFactorProviders2[prop]);\n }\n }\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class ListResponse extends BaseResponse {\n data: T[];\n continuationToken: string;\n\n constructor(response: any, t: new (dataResponse: any) => T) {\n super(response);\n const data = this.getResponseProperty('Data');\n this.data = data == null ? [] : data.map((dr: any) => new t(dr));\n this.continuationToken = this.getResponseProperty('ContinuationToken');\n }\n}\n","import { OrganizationResponse } from './organizationResponse';\nimport {\n BillingSubscriptionResponse,\n BillingSubscriptionUpcomingInvoiceResponse,\n} from './subscriptionResponse';\n\nexport class OrganizationSubscriptionResponse extends OrganizationResponse {\n storageName: string;\n storageGb: number;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\n expiration: string;\n\n constructor(response: any) {\n super(response);\n this.storageName = this.getResponseProperty('StorageName');\n this.storageGb = this.getResponseProperty('StorageGb');\n const subscription = this.getResponseProperty('Subscription');\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\n this.upcomingInvoice = upcomingInvoice == null ? null :\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\n this.expiration = this.getResponseProperty('Expiration');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nimport { PermissionsApi } from '../api/permissionsApi';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class OrganizationUserResponse extends BaseResponse {\n id: string;\n userId: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n accessAll: boolean;\n permissions: PermissionsApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.permissions = new PermissionsApi(this.getResponseProperty('Permissions'));\n this.accessAll = this.getResponseProperty('AccessAll');\n }\n}\n\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\n name: string;\n email: string;\n twoFactorEnabled: boolean;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\n }\n}\n\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { ProfileResponse } from './profileResponse';\n\nexport class PaymentResponse extends BaseResponse {\n userProfile: ProfileResponse;\n paymentIntentClientSecret: string;\n success: boolean;\n\n constructor(response: any) {\n super(response);\n const userProfile = this.getResponseProperty('UserProfile');\n if (userProfile != null) {\n this.userProfile = new ProfileResponse(userProfile);\n }\n this.paymentIntentClientSecret = this.getResponseProperty('PaymentIntentClientSecret');\n this.success = this.getResponseProperty('Success');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class ProfileOrganizationResponse extends BaseResponse {\n id: string;\n name: string;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: 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 ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.usePolicies = this.getResponseProperty('UsePolicies');\n this.useGroups = this.getResponseProperty('UseGroups');\n this.useDirectory = this.getResponseProperty('UseDirectory');\n this.useEvents = this.getResponseProperty('UseEvents');\n this.useTotp = this.getResponseProperty('UseTotp');\n this.use2fa = this.getResponseProperty('Use2fa');\n this.useApi = this.getResponseProperty('UseApi');\n this.useBusinessPortal = this.getResponseProperty('UseBusinessPortal');\n this.useSso = this.getResponseProperty('UseSso');\n this.selfHost = this.getResponseProperty('SelfHost');\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\n this.seats = this.getResponseProperty('Seats');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.key = this.getResponseProperty('Key');\n this.status = this.getResponseProperty('Status');\n this.type = this.getResponseProperty('Type');\n this.enabled = this.getResponseProperty('Enabled');\n this.ssoBound = this.getResponseProperty('SsoBound');\n this.identifier = this.getResponseProperty('Identifier');\n this.permissions = new PermissionsApi(this.getResponseProperty('permissions'));\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class PreloginResponse extends BaseResponse {\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nexport class SendAccessResponse extends BaseResponse {\n id: string;\n type: SendType;\n name: string;\n file: SendFileApi;\n text: SendTextApi;\n expirationDate: Date;\n creatorIdentifier: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n\n const text = this.getResponseProperty('Text');\n if (text != null) {\n this.text = new SendTextApi(text);\n }\n\n const file = this.getResponseProperty('File');\n if (file != null) {\n this.file = new SendFileApi(file);\n }\n\n this.expirationDate = this.getResponseProperty('ExpirationDate');\n this.creatorIdentifier = this.getResponseProperty('CreatorIdentifier');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class SendFileDownloadDataResponse extends BaseResponse {\n\n id: string = null;\n url: string = null;\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.url = this.getResponseProperty('Url');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { CipherResponse } from './cipherResponse';\nimport { CollectionDetailsResponse } from './collectionResponse';\nimport { DomainsResponse } from './domainsResponse';\nimport { FolderResponse } from './folderResponse';\nimport { PolicyResponse } from './policyResponse';\nimport { ProfileResponse } from './profileResponse';\nimport { SendResponse } from './sendResponse';\n\nexport class SyncResponse extends BaseResponse {\n profile?: ProfileResponse;\n folders: FolderResponse[] = [];\n collections: CollectionDetailsResponse[] = [];\n ciphers: CipherResponse[] = [];\n domains?: DomainsResponse;\n policies?: PolicyResponse[] = [];\n sends: SendResponse[] = [];\n\n constructor(response: any) {\n super(response);\n\n const profile = this.getResponseProperty('Profile');\n if (profile != null) {\n this.profile = new ProfileResponse(profile);\n }\n\n const folders = this.getResponseProperty('Folders');\n if (folders != null) {\n this.folders = folders.map((f: any) => new FolderResponse(f));\n }\n\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new CollectionDetailsResponse(c));\n }\n\n const ciphers = this.getResponseProperty('Ciphers');\n if (ciphers != null) {\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\n }\n\n const domains = this.getResponseProperty('Domains');\n if (domains != null) {\n this.domains = new DomainsResponse(domains);\n }\n\n const policies = this.getResponseProperty('Policies');\n if (policies != null) {\n this.policies = policies.map((p: any) => new PolicyResponse(p));\n }\n\n const sends = this.getResponseProperty('Sends');\n if (sends != null) {\n this.sends = sends.map((s: any) => new SendResponse(s));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TaxInfoResponse extends BaseResponse {\n taxId: string;\n taxIdType: string;\n line1: string;\n line2: string;\n city: string;\n state: string;\n country: string;\n postalCode: string;\n\n constructor(response: any) {\n super(response);\n this.taxId = this.getResponseProperty('TaxIdNumber');\n this.taxIdType = this.getResponseProperty('TaxIdType');\n this.line1 = this.getResponseProperty('Line1');\n this.line2 = this.getResponseProperty('Line2');\n this.city = this.getResponseProperty('City');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.country = this.getResponseProperty('Country');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TaxRateResponse extends BaseResponse {\n id: string;\n country: string;\n state: string;\n postalCode: string;\n rate: number;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.country = this.getResponseProperty('Country');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.rate = this.getResponseProperty('Rate');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorAuthenticatorResponse extends BaseResponse {\n enabled: boolean;\n key: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.key = this.getResponseProperty('Key');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorDuoResponse extends BaseResponse {\n enabled: boolean;\n host: string;\n secretKey: string;\n integrationKey: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.host = this.getResponseProperty('Host');\n this.secretKey = this.getResponseProperty('SecretKey');\n this.integrationKey = this.getResponseProperty('IntegrationKey');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorEmailResponse extends BaseResponse {\n enabled: boolean;\n email: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.email = this.getResponseProperty('Email');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderResponse extends BaseResponse {\n enabled: boolean;\n type: TwoFactorProviderType;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.type = this.getResponseProperty('Type');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorRecoverResponse extends BaseResponse {\n code: string;\n\n constructor(response: any) {\n super(response);\n this.code = this.getResponseProperty('Code');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorU2fResponse extends BaseResponse {\n enabled: boolean;\n keys: KeyResponse[];\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n const keys = this.getResponseProperty('Keys');\n this.keys = keys == null ? null : keys.map((k: any) => new KeyResponse(k));\n }\n}\n\nexport class KeyResponse extends BaseResponse {\n name: string;\n id: number;\n compromised: boolean;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.id = this.getResponseProperty('Id');\n this.compromised = this.getResponseProperty('Compromised');\n }\n}\n\nexport class ChallengeResponse extends BaseResponse {\n userId: string;\n appId: string;\n challenge: string;\n version: string;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.appId = this.getResponseProperty('AppId');\n this.challenge = this.getResponseProperty('Challenge');\n this.version = this.getResponseProperty('Version');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorYubiKeyResponse extends BaseResponse {\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 super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.key1 = this.getResponseProperty('Key1');\n this.key2 = this.getResponseProperty('Key2');\n this.key3 = this.getResponseProperty('Key3');\n this.key4 = this.getResponseProperty('Key4');\n this.key5 = this.getResponseProperty('Key5');\n this.nfc = this.getResponseProperty('Nfc');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class UserKeyResponse extends BaseResponse {\n userId: string;\n publicKey: string;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.publicKey = this.getResponseProperty('PublicKey');\n }\n}\n","/**\n * Use as a Decorator on async functions, it will limit how many times the function can be\n * in-flight at a time.\n *\n * Calls beyond the limit will be queued, and run when one of the active calls finishes\n */\nexport function throttle(limit: number, throttleKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise>) => {\n const originalMethod: () => Promise = descriptor.value;\n const allThrottles = new Map void)[]>>();\n\n const getThrottles = (obj: any) => {\n let throttles = allThrottles.get(obj);\n if (throttles != null) {\n return throttles;\n }\n throttles = new Map void)[]>();\n allThrottles.set(obj, throttles);\n return throttles;\n };\n\n return {\n value: function(...args: any[]) {\n const throttles = getThrottles(this);\n const argsThrottleKey = throttleKey(args);\n let queue = throttles.get(argsThrottleKey);\n if (queue == null) {\n queue = [];\n throttles.set(argsThrottleKey, queue);\n }\n\n return new Promise((resolve, reject) => {\n const exec = () => {\n const onFinally = () => {\n queue.splice(queue.indexOf(exec), 1);\n if (queue.length >= limit) {\n queue[limit - 1]();\n } else if (queue.length === 0) {\n throttles.delete(argsThrottleKey);\n if (throttles.size === 0) {\n allThrottles.delete(this);\n }\n }\n };\n originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n }).then(resolve, reject);\n };\n queue.push(exec);\n if (queue.length <= limit) {\n exec();\n }\n });\n },\n };\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 CipherBulkRestoreRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\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","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 { CipherView } from '../view';\n\nconst CacheTTL = 3000;\n\nexport class SortedCiphersCache {\n private readonly sortedCiphersByUrl: Map = new Map();\n private readonly timeouts: Map = new Map();\n\n constructor(private readonly comparator: (a: CipherView, b: CipherView) => number) { }\n\n isCached(url: string) {\n return this.sortedCiphersByUrl.has(url);\n }\n\n addCiphers(url: string, ciphers: CipherView[]) {\n ciphers.sort(this.comparator);\n this.sortedCiphersByUrl.set(url, new Ciphers(ciphers));\n this.resetTimer(url);\n }\n\n getLastUsed(url: string) {\n this.resetTimer(url);\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getLastUsed() : null;\n }\n\n getLastLaunched(url: string) {\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getLastLaunched() : null;\n }\n\n getNext(url: string) {\n this.resetTimer(url);\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getNext() : null;\n }\n\n updateLastUsedIndex(url: string) {\n if (this.isCached(url)) {\n this.sortedCiphersByUrl.get(url).updateLastUsedIndex();\n }\n }\n\n clear() {\n this.sortedCiphersByUrl.clear();\n this.timeouts.clear();\n }\n\n private resetTimer(url: string) {\n clearTimeout(this.timeouts.get(url));\n this.timeouts.set(url, setTimeout(() => {\n this.sortedCiphersByUrl.delete(url);\n this.timeouts.delete(url);\n }, CacheTTL));\n }\n}\n\nclass Ciphers {\n lastUsedIndex = -1;\n\n constructor(private readonly ciphers: CipherView[]) { }\n\n getLastUsed() {\n this.lastUsedIndex = Math.max(this.lastUsedIndex, 0);\n return this.ciphers[this.lastUsedIndex];\n }\n\n getLastLaunched() {\n const usedCiphers = this.ciphers.filter(cipher => cipher.localData?.lastLaunched);\n const sortedCiphers = usedCiphers.sort((x, y) => y.localData.lastLaunched.valueOf() - x.localData.lastLaunched.valueOf());\n return sortedCiphers[0];\n }\n\n getNextIndex() {\n return (this.lastUsedIndex + 1) % this.ciphers.length;\n }\n\n getNext() {\n return this.ciphers[this.getNextIndex()];\n }\n\n updateLastUsedIndex() {\n this.lastUsedIndex = this.getNextIndex();\n }\n}\n","export class TreeNode {\n parent: T;\n node: T;\n children: TreeNode[] = [];\n\n constructor(node: T, name: string, parent: T) {\n this.parent = parent;\n this.node = node;\n this.node.name = name;\n }\n}\n\nexport interface ITreeNodeObject {\n id: string;\n name: string;\n}\n","import Domain from './domainBase';\n\nexport class PasswordGeneratorPolicyOptions extends Domain {\n defaultType: string = '';\n minLength: number = 0;\n useUppercase: boolean = false;\n useLowercase: boolean = false;\n useNumbers: boolean = false;\n numberCount: number = 0;\n useSpecial: boolean = false;\n specialCount: number = 0;\n minNumberWords: number = 0;\n capitalize: boolean = false;\n includeNumber: boolean = false;\n\n inEffect() {\n return this.defaultType !== '' ||\n this.minLength > 0 ||\n this.numberCount > 0 ||\n this.specialCount > 0 ||\n this.useUppercase ||\n this.useLowercase ||\n this.useNumbers ||\n this.useSpecial ||\n this.minNumberWords > 0 ||\n this.capitalize ||\n this.includeNumber;\n }\n}\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationData {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\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.usePolicies = response.usePolicies;\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.useApi = response.useApi;\n this.useBusinessPortal = response.useBusinessPortal;\n this.useSso = response.useSso;\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.ssoBound = response.ssoBound;\n this.identifier = response.identifier;\n this.permissions = response.permissions;\n }\n}\n","import { SendFileApi } from '../api/sendFileApi';\n\nexport class SendFileData {\n id: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(data?: SendFileApi) {\n if (data == null) {\n return;\n }\n\n this.id = data.id;\n this.fileName = data.fileName;\n this.key = data.key;\n this.size = data.size;\n this.sizeName = data.sizeName;\n }\n}\n","import { SendTextApi } from '../api/sendTextApi';\n\nexport class SendTextData {\n text: string;\n hidden: boolean;\n\n constructor(data?: SendTextApi) {\n if (data == null) {\n return;\n }\n\n this.text = data.text;\n this.hidden = data.hidden;\n }\n}\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', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', 'es', 'et', 'fr', 'he', 'it', 'ja', 'ko', 'lv', 'ml', 'nb',\n 'nl', 'pl', 'pt-PT', 'pt-BR', 'ru', 'sk', 'sv', 'uk', 'zh-CN', 'zh-TW',\n ];\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\n\nexport class MemoryStorageService implements StorageService {\n private store = new Map();\n\n get(key: string): Promise {\n if (this.store.has(key)) {\n const obj = this.store.get(key);\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 this.store.set(key, obj);\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n this.store.delete(key);\n return Promise.resolve();\n }\n}\n","import Swal, { SweetAlertIcon } from 'sweetalert2/dist/sweetalert2.js';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService, private messagingService: MessagingService) { }\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(' Edg/') !== -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 isViewOpen(): Promise {\n return Promise.resolve(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 if (options == null || !options.sameWindow) {\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n }\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 let type: string = null;\n const fileNameLower = fileName.toLowerCase();\n let doDownload = true;\n if (fileNameLower.endsWith('.pdf')) {\n type = 'application/pdf';\n doDownload = false;\n } else if (fileNameLower.endsWith('.xlsx')) {\n type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n } else if (fileNameLower.endsWith('.docx')) {\n type = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n } else if (fileNameLower.endsWith('.pptx')) {\n type = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\n } else if (fileNameLower.endsWith('.csv')) {\n type = 'text/csv';\n } else if (fileNameLower.endsWith('.png')) {\n type = 'image/png';\n } else if (fileNameLower.endsWith('.jpg') || fileNameLower.endsWith('.jpeg')) {\n type = 'image/jpeg';\n } else if (fileNameLower.endsWith('.gif')) {\n type = 'image/gif';\n }\n if (type != null) {\n blobOptions = blobOptions || {};\n if (blobOptions.type == null) {\n blobOptions.type = type;\n }\n }\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 if (doDownload) {\n a.download = fileName;\n } else {\n a.target = '_blank';\n }\n a.href = URL.createObjectURL(blob);\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.isEdge() || this.isOpera() || this.isVivaldi()) && !Utils.isMobileBrowser);\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\n options?: any): void {\n this.messagingService.send('showToast', {\n text: text,\n title: title,\n type: type,\n options: options,\n });\n }\n\n async showDialog(body: string, title?: string, confirmText?: string, cancelText?: string, type?: string,\n bodyIsHtml: boolean = false) {\n let iconClasses: string = null;\n if (type != null) {\n // If you add custom types to this part, the type to SweetAlertIcon cast below needs to be changed.\n switch (type) {\n case 'success':\n iconClasses = 'fa-check text-success';\n break;\n case 'warning':\n iconClasses = 'fa-warning text-warning';\n break;\n case 'error':\n iconClasses = 'fa-bolt text-danger';\n break;\n case 'info':\n iconClasses = 'fa-info-circle text-info';\n break;\n default:\n break;\n }\n }\n\n const iconHtmlStr = iconClasses != null ? `` : undefined;\n const confirmed = await Swal.fire({\n heightAuto: false,\n buttonsStyling: false,\n icon: type as SweetAlertIcon, // required to be any of the SweetAlertIcons to output the iconHtml.\n iconHtml: iconHtmlStr,\n text: bodyIsHtml ? null : body,\n html: bodyIsHtml ? body : null,\n title: title,\n showCancelButton: (cancelText != null),\n cancelButtonText: cancelText,\n showConfirmButton: true,\n confirmButtonText: confirmText == null ? this.i18nService.t('ok') : confirmText,\n });\n\n return confirmed.value;\n }\n\n eventTrack(action: string, label?: string, options?: any) {\n this.messagingService.send('analyticsEventTrack', {\n action: action,\n label: label,\n options: options,\n });\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 let win = window;\n let doc = window.document;\n if (options && (options.window || options.win)) {\n win = options.window || options.win;\n doc = win.document;\n } else if (options && options.doc) {\n doc = options.doc;\n }\n if ((win as any).clipboardData && (win as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (win 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 when modal is open if appending to body\n if (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 readFromClipboard(options?: any): Promise {\n throw new Error('Cannot read from clipboard on web.');\n }\n\n supportsBiometric() {\n return Promise.resolve(false);\n }\n\n authenticateBiometric() {\n return Promise.resolve(false);\n }\n\n supportsSecureStorage() {\n return false;\n }\n\n getDefaultSystemTheme() {\n return null as 'light' | 'dark';\n }\n\n onDefaultSystemThemeChange() {\n /* noop */\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 return;\n\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","export enum LogLevelType {\n Debug,\n Info,\n Warning,\n Error,\n}\n","import { EventType } from '../enums/eventType';\n\nimport { EventData } from '../models/data/eventData';\n\nimport { EventRequest } from '../models/request/eventRequest';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { EventService as EventServiceAbstraction } from '../abstractions/event.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ConstantsService } from './constants.service';\n\nexport class EventService implements EventServiceAbstraction {\n private inited = false;\n\n constructor(private storageService: StorageService, private apiService: ApiService,\n private userService: UserService, private cipherService: CipherService) { }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.uploadEvents();\n setInterval(() => this.uploadEvents(), 60 * 1000); // check every 60 seconds\n }\n }\n\n async collect(eventType: EventType, cipherId: string = null, uploadImmediately = false): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n const organizations = await this.userService.getAllOrganizations();\n if (organizations == null) {\n return;\n }\n const orgIds = new Set(organizations.filter(o => o.useEvents).map(o => o.id));\n if (orgIds.size === 0) {\n return;\n }\n if (cipherId != null) {\n const cipher = await this.cipherService.get(cipherId);\n if (cipher == null || cipher.organizationId == null || !orgIds.has(cipher.organizationId)) {\n return;\n }\n }\n let eventCollection = await this.storageService.get(ConstantsService.eventCollectionKey);\n if (eventCollection == null) {\n eventCollection = [];\n }\n const event = new EventData();\n event.type = eventType;\n event.cipherId = cipherId;\n event.date = new Date().toISOString();\n eventCollection.push(event);\n await this.storageService.save(ConstantsService.eventCollectionKey, eventCollection);\n if (uploadImmediately) {\n await this.uploadEvents();\n }\n }\n\n async uploadEvents(): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n const eventCollection = await this.storageService.get(ConstantsService.eventCollectionKey);\n if (eventCollection == null || eventCollection.length === 0) {\n return;\n }\n const request = eventCollection.map(e => {\n const req = new EventRequest();\n req.type = e.type;\n req.cipherId = e.cipherId;\n req.date = e.date;\n return req;\n });\n try {\n await this.apiService.postEventsCollect(request);\n this.clearEvents();\n } catch { }\n }\n\n async clearEvents(): Promise {\n await this.storageService.remove(ConstantsService.eventCollectionKey);\n }\n}\n","import { EventType } from '../../enums/eventType';\n\nexport class EventData {\n type: EventType;\n cipherId: string;\n date: string;\n}\n","import { EventType } from '../../enums/eventType';\n\nexport class EventRequest {\n type: EventType;\n cipherId: string;\n date: string;\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';\nimport { Folder } from '../models/domain/folder';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\n\nimport { CipherWithIds as CipherExport } from '../models/export/cipherWithIds';\nimport { CollectionWithId as CollectionExport } from '../models/export/collectionWithId';\nimport { FolderWithId as FolderExport } from '../models/export/folderWithId';\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' | 'encrypted_json' = 'csv'): Promise {\n if (format === 'encrypted_json') {\n return this.getEncryptedExport();\n } else {\n return this.getDecryptedExport(format);\n }\n }\n\n async getOrganizationExport(organizationId: string,\n format: 'csv' | 'json' | 'encrypted_json' = 'csv'): Promise {\n if (format === 'encrypted_json') {\n return this.getOrganizationEncryptedExport(organizationId);\n } else {\n return this.getOrganizationDecryptedExport(organizationId, format);\n }\n }\n\n getFileName(prefix: string = null, extension: string = 'csv'): 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 + '.' + extension;\n }\n\n private async getDecryptedExport(format: '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.filter(f => f.deletedDate == null);\n }));\n\n await Promise.all(promises);\n\n if (format === 'csv') {\n const foldersMap = new Map();\n decFolders.forEach(f => {\n if (f.id != null) {\n foldersMap.set(f.id, f);\n }\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 if (c.organizationId != null) {\n return;\n }\n\n const cipher: any = {};\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ?\n 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 return papa.unparse(exportCiphers);\n } else {\n const jsonDoc: any = {\n encrypted: false,\n folders: [],\n items: [],\n };\n\n decFolders.forEach(f => {\n if (f.id == null) {\n return;\n }\n const folder = new FolderExport();\n folder.build(f);\n jsonDoc.folders.push(folder);\n });\n\n decCiphers.forEach(c => {\n if (c.organizationId != null) {\n return;\n }\n const cipher = new CipherExport();\n cipher.build(c);\n cipher.collectionIds = null;\n jsonDoc.items.push(cipher);\n });\n\n return JSON.stringify(jsonDoc, null, ' ');\n }\n }\n\n private async getEncryptedExport(): Promise {\n let folders: Folder[] = [];\n let ciphers: Cipher[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAll().then(f => {\n folders = f;\n }));\n\n promises.push(this.cipherService.getAll().then(c => {\n ciphers = c.filter(f => f.deletedDate == null);\n }));\n\n await Promise.all(promises);\n\n const jsonDoc: any = {\n encrypted: true,\n folders: [],\n items: [],\n };\n\n folders.forEach(f => {\n if (f.id == null) {\n return;\n }\n const folder = new FolderExport();\n folder.build(f);\n jsonDoc.folders.push(folder);\n });\n\n ciphers.forEach(c => {\n if (c.organizationId != null) {\n return;\n }\n const cipher = new CipherExport();\n cipher.build(c);\n cipher.collectionIds = null;\n jsonDoc.items.push(cipher);\n });\n\n return JSON.stringify(jsonDoc, null, ' ');\n }\n\n private async getOrganizationDecryptedExport(organizationId: string, format: '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.filter(c => c.deletedDate === null).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 if (format === 'csv') {\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 return papa.unparse(exportCiphers);\n } else {\n const jsonDoc: any = {\n encrypted: false,\n collections: [],\n items: [],\n };\n\n decCollections.forEach(c => {\n const collection = new CollectionExport();\n collection.build(c);\n jsonDoc.collections.push(collection);\n });\n\n decCiphers.forEach(c => {\n const cipher = new CipherExport();\n cipher.build(c);\n jsonDoc.items.push(cipher);\n });\n return JSON.stringify(jsonDoc, null, ' ');\n }\n }\n\n private async getOrganizationEncryptedExport(organizationId: string): Promise {\n const collections: Collection[] = [];\n const ciphers: Cipher[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then(c => {\n const collectionPromises: any = [];\n if (c != null && c.data != null && c.data.length > 0) {\n c.data.forEach(r => {\n const collection = new Collection(new CollectionData(r as CollectionDetailsResponse));\n collections.push(collection);\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then(c => {\n const cipherPromises: any = [];\n if (c != null && c.data != null && c.data.length > 0) {\n c.data.filter(item => item.deletedDate === null).forEach(item => {\n const cipher = new Cipher(new CipherData(item));\n ciphers.push(cipher);\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n const jsonDoc: any = {\n encrypted: true,\n collections: [],\n items: [],\n };\n\n collections.forEach(c => {\n const collection = new CollectionExport();\n collection.build(c);\n jsonDoc.collections.push(collection);\n });\n\n ciphers.forEach(c => {\n const cipher = new CipherExport();\n cipher.build(c);\n jsonDoc.items.push(cipher);\n });\n return JSON.stringify(jsonDoc, null, ' ');\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 { CipherType } from '../../enums/cipherType';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Cipher as CipherDomain } from '../domain/cipher';\nimport { CipherString } from '../domain/cipherString';\n\nimport { Card } from './card';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher {\n static template(): Cipher {\n const req = new Cipher();\n req.organizationId = null;\n req.folderId = null;\n req.type = CipherType.Login;\n req.name = 'Item name';\n req.notes = 'Some notes about this item.';\n req.favorite = false;\n req.fields = [];\n req.login = null;\n req.secureNote = null;\n req.card = null;\n req.identity = null;\n return req;\n }\n\n static toView(req: Cipher, view = new CipherView()) {\n view.type = req.type;\n view.folderId = req.folderId;\n if (view.organizationId == null) {\n view.organizationId = req.organizationId;\n }\n view.name = req.name;\n view.notes = req.notes;\n view.favorite = req.favorite;\n\n if (req.fields != null) {\n view.fields = req.fields.map(f => Field.toView(f));\n }\n\n switch (req.type) {\n case CipherType.Login:\n view.login = Login.toView(req.login);\n break;\n case CipherType.SecureNote:\n view.secureNote = SecureNote.toView(req.secureNote);\n break;\n case CipherType.Card:\n view.card = Card.toView(req.card);\n break;\n case CipherType.Identity:\n view.identity = Identity.toView(req.identity);\n break;\n }\n\n return view;\n }\n\n static toDomain(req: Cipher, domain = new CipherDomain()) {\n domain.type = req.type;\n domain.folderId = req.folderId;\n if (domain.organizationId == null) {\n domain.organizationId = req.organizationId;\n }\n domain.name = req.name != null ? new CipherString(req.name) : null;\n domain.notes = req.notes != null ? new CipherString(req.notes) : null;\n domain.favorite = req.favorite;\n\n if (req.fields != null) {\n domain.fields = req.fields.map(f => Field.toDomain(f));\n }\n\n switch (req.type) {\n case CipherType.Login:\n domain.login = Login.toDomain(req.login);\n break;\n case CipherType.SecureNote:\n domain.secureNote = SecureNote.toDomain(req.secureNote);\n break;\n case CipherType.Card:\n domain.card = Card.toDomain(req.card);\n break;\n case CipherType.Identity:\n domain.identity = Identity.toDomain(req.identity);\n break;\n }\n\n return domain;\n }\n\n type: CipherType;\n folderId: string;\n organizationId: string;\n name: string;\n notes: string;\n favorite: boolean;\n fields: Field[];\n login: Login;\n secureNote: SecureNote;\n card: Card;\n identity: Identity;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CipherView | CipherDomain) {\n this.organizationId = o.organizationId;\n this.folderId = o.folderId;\n this.type = o.type;\n\n if (o instanceof CipherView) {\n this.name = o.name;\n this.notes = o.notes;\n } else {\n this.name = o.name?.encryptedString;\n this.notes = o.notes?.encryptedString;\n }\n\n this.favorite = o.favorite;\n\n if (o.fields != null) {\n if (o instanceof CipherView) {\n this.fields = o.fields.map(f => new Field(f));\n } else {\n this.fields = o.fields.map(f => new Field(f));\n }\n }\n\n switch (o.type) {\n case CipherType.Login:\n this.login = new Login(o.login);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(o.secureNote);\n break;\n case CipherType.Card:\n this.card = new Card(o.card);\n break;\n case CipherType.Identity:\n this.identity = new Identity(o.identity);\n break;\n }\n }\n}\n","import { CardView } from '../view/cardView';\n\nimport { Card as CardDomain } from '../domain/card';\nimport { CipherString } from '../domain/cipherString';\n\nexport class Card {\n static template(): Card {\n const req = new Card();\n req.cardholderName = 'John Doe';\n req.brand = 'visa';\n req.number = '4242424242424242';\n req.expMonth = '04';\n req.expYear = '2023';\n req.code = '123';\n return req;\n }\n\n static toView(req: Card, view = new CardView()) {\n view.cardholderName = req.cardholderName;\n view.brand = req.brand;\n view.number = req.number;\n view.expMonth = req.expMonth;\n view.expYear = req.expYear;\n view.code = req.code;\n return view;\n }\n\n static toDomain(req: Card, domain = new CardDomain()) {\n domain.cardholderName = req.cardholderName != null ? new CipherString(req.cardholderName) : null;\n domain.brand = req.brand != null ? new CipherString(req.brand) : null;\n domain.number = req.number != null ? new CipherString(req.number) : null;\n domain.expMonth = req.expMonth != null ? new CipherString(req.expMonth) : null;\n domain.expYear = req.expYear != null ? new CipherString(req.expYear) : null;\n domain.code = req.code != null ? new CipherString(req.code) : null;\n return domain;\n }\n\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(o?: CardView | CardDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof CardView) {\n this.cardholderName = o.cardholderName;\n this.brand = o.brand;\n this.number = o.number;\n this.expMonth = o.expMonth;\n this.expYear = o.expYear;\n this.code = o.code;\n } else {\n this.cardholderName = o.cardholderName?.encryptedString;\n this.brand = o.brand?.encryptedString;\n this.number = o.number?.encryptedString;\n this.expMonth = o.expMonth?.encryptedString;\n this.expYear = o.expYear?.encryptedString;\n this.code = o.code?.encryptedString;\n }\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldView } from '../view/fieldView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Field as FieldDomain } from '../domain/field';\n\nexport class Field {\n static template(): Field {\n const req = new Field();\n req.name = 'Field name';\n req.value = 'Some value';\n req.type = FieldType.Text;\n return req;\n }\n\n static toView(req: Field, view = new FieldView()) {\n view.type = req.type;\n view.value = req.value;\n view.name = req.name;\n return view;\n }\n\n static toDomain(req: Field, domain = new FieldDomain()) {\n domain.type = req.type;\n domain.value = req.value != null ? new CipherString(req.value) : null;\n domain.name = req.name != null ? new CipherString(req.name) : null;\n return domain;\n }\n\n name: string;\n value: string;\n type: FieldType;\n\n constructor(o?: FieldView | FieldDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof FieldView) {\n this.name = o.name;\n this.value = o.value;\n } else {\n this.name = o.name?.encryptedString;\n this.value = o.value?.encryptedString;\n }\n this.type = o.type;\n }\n}\n","import { IdentityView } from '../view/identityView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Identity as IdentityDomain } from '../domain/identity';\n\nexport class Identity {\n static template(): Identity {\n const req = new Identity();\n req.title = 'Mr';\n req.firstName = 'John';\n req.middleName = 'William';\n req.lastName = 'Doe';\n req.address1 = '123 Any St';\n req.address2 = 'Apt #123';\n req.address3 = null;\n req.city = 'New York';\n req.state = 'NY';\n req.postalCode = '10001';\n req.country = 'US';\n req.company = 'Acme Inc.';\n req.email = 'john@company.com';\n req.phone = '5555551234';\n req.ssn = '000-123-4567';\n req.username = 'jdoe';\n req.passportNumber = 'US-123456789';\n req.licenseNumber = 'D123-12-123-12333';\n return req;\n }\n\n static toView(req: Identity, view = new IdentityView()) {\n view.title = req.title;\n view.firstName = req.firstName;\n view.middleName = req.middleName;\n view.lastName = req.lastName;\n view.address1 = req.address1;\n view.address2 = req.address2;\n view.address3 = req.address3;\n view.city = req.city;\n view.state = req.state;\n view.postalCode = req.postalCode;\n view.country = req.country;\n view.company = req.company;\n view.email = req.email;\n view.phone = req.phone;\n view.ssn = req.ssn;\n view.username = req.username;\n view.passportNumber = req.passportNumber;\n view.licenseNumber = req.licenseNumber;\n return view;\n }\n\n static toDomain(req: Identity, domain = new IdentityDomain()) {\n domain.title = req.title != null ? new CipherString(req.title) : null;\n domain.firstName = req.firstName != null ? new CipherString(req.firstName) : null;\n domain.middleName = req.middleName != null ? new CipherString(req.middleName) : null;\n domain.lastName = req.lastName != null ? new CipherString(req.lastName) : null;\n domain.address1 = req.address1 != null ? new CipherString(req.address1) : null;\n domain.address2 = req.address2 != null ? new CipherString(req.address2) : null;\n domain.address3 = req.address3 != null ? new CipherString(req.address3) : null;\n domain.city = req.city != null ? new CipherString(req.city) : null;\n domain.state = req.state != null ? new CipherString(req.state) : null;\n domain.postalCode = req.postalCode != null ? new CipherString(req.postalCode) : null;\n domain.country = req.country != null ? new CipherString(req.country) : null;\n domain.company = req.company != null ? new CipherString(req.company) : null;\n domain.email = req.email != null ? new CipherString(req.email) : null;\n domain.phone = req.phone != null ? new CipherString(req.phone) : null;\n domain.ssn = req.ssn != null ? new CipherString(req.ssn) : null;\n domain.username = req.username != null ? new CipherString(req.username) : null;\n domain.passportNumber = req.passportNumber != null ? new CipherString(req.passportNumber) : null;\n domain.licenseNumber = req.licenseNumber != null ? new CipherString(req.licenseNumber) : null;\n return domain;\n }\n\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(o?: IdentityView | IdentityDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof IdentityView) {\n this.title = o.title;\n this.firstName = o.firstName;\n this.middleName = o.middleName;\n this.lastName = o.lastName;\n this.address1 = o.address1;\n this.address2 = o.address2;\n this.address3 = o.address3;\n this.city = o.city;\n this.state = o.state;\n this.postalCode = o.postalCode;\n this.country = o.country;\n this.company = o.company;\n this.email = o.email;\n this.phone = o.phone;\n this.ssn = o.ssn;\n this.username = o.username;\n this.passportNumber = o.passportNumber;\n this.licenseNumber = o.licenseNumber;\n } else {\n this.title = o.title?.encryptedString;\n this.firstName = o.firstName?.encryptedString;\n this.middleName = o.middleName?.encryptedString;\n this.lastName = o.lastName?.encryptedString;\n this.address1 = o.address1?.encryptedString;\n this.address2 = o.address2?.encryptedString;\n this.address3 = o.address3?.encryptedString;\n this.city = o.city?.encryptedString;\n this.state = o.state?.encryptedString;\n this.postalCode = o.postalCode?.encryptedString;\n this.country = o.country?.encryptedString;\n this.company = o.company?.encryptedString;\n this.email = o.email?.encryptedString;\n this.phone = o.phone?.encryptedString;\n this.ssn = o.ssn?.encryptedString;\n this.username = o.username?.encryptedString;\n this.passportNumber = o.passportNumber?.encryptedString;\n this.licenseNumber = o.licenseNumber?.encryptedString;\n }\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Login as LoginDomain } from '../domain/login';\n\nexport class Login {\n static template(): Login {\n const req = new Login();\n req.uris = [];\n req.username = 'jdoe';\n req.password = 'myp@ssword123';\n req.totp = 'JBSWY3DPEHPK3PXP';\n return req;\n }\n\n static toView(req: Login, view = new LoginView()) {\n if (req.uris != null) {\n view.uris = req.uris.map(u => LoginUri.toView(u));\n }\n view.username = req.username;\n view.password = req.password;\n view.totp = req.totp;\n return view;\n }\n\n static toDomain(req: Login, domain = new LoginDomain()) {\n if (req.uris != null) {\n domain.uris = req.uris.map(u => LoginUri.toDomain(u));\n }\n domain.username = req.username != null ? new CipherString(req.username) : null;\n domain.password = req.password != null ? new CipherString(req.password) : null;\n domain.totp = req.totp != null ? new CipherString(req.totp) : null;\n return domain;\n }\n\n uris: LoginUri[];\n username: string;\n password: string;\n totp: string;\n\n constructor(o?: LoginView | LoginDomain) {\n if (o == null) {\n return;\n }\n\n if (o.uris != null) {\n if (o instanceof LoginView) {\n this.uris = o.uris.map(u => new LoginUri(u));\n } else {\n this.uris = o.uris.map(u => new LoginUri(u));\n }\n }\n\n if (o instanceof LoginView) {\n this.username = o.username;\n this.password = o.password;\n this.totp = o.totp;\n } else {\n this.username = o.username?.encryptedString;\n this.password = o.password?.encryptedString;\n this.totp = o.totp?.encryptedString;\n }\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { LoginUri as LoginUriDomain } from '../domain/loginUri';\n\nexport class LoginUri {\n static template(): LoginUri {\n const req = new LoginUri();\n req.uri = 'https://google.com';\n req.match = null;\n return req;\n }\n\n static toView(req: LoginUri, view = new LoginUriView()) {\n view.uri = req.uri;\n view.match = req.match;\n return view;\n }\n\n static toDomain(req: LoginUri, domain = new LoginUriDomain()) {\n domain.uri = req.uri != null ? new CipherString(req.uri) : null;\n domain.match = req.match;\n return domain;\n }\n\n uri: string;\n match: UriMatchType = null;\n\n constructor(o?: LoginUriView | LoginUriDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof LoginUriView) {\n this.uri = o.uri;\n } else {\n this.uri = o.uri?.encryptedString;\n }\n this.match = o.match;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nimport { SecureNote as SecureNoteDomain } from '../domain/secureNote';\n\nexport class SecureNote {\n static template(): SecureNote {\n const req = new SecureNote();\n req.type = SecureNoteType.Generic;\n return req;\n }\n\n static toView(req: SecureNote, view = new SecureNoteView()) {\n view.type = req.type;\n return view;\n }\n\n static toDomain(req: SecureNote, view = new SecureNoteDomain()) {\n view.type = req.type;\n return view;\n }\n\n type: SecureNoteType;\n\n constructor(o?: SecureNoteView | SecureNoteDomain) {\n if (o == null) {\n return;\n }\n\n this.type = o.type;\n }\n}\n","import { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Collection as CollectionDomain } from '../domain/collection';\n\nexport class Collection {\n static template(): Collection {\n const req = new Collection();\n req.organizationId = '00000000-0000-0000-0000-000000000000';\n req.name = 'Collection name';\n req.externalId = null;\n return req;\n }\n\n static toView(req: Collection, view = new CollectionView()) {\n view.name = req.name;\n view.externalId = req.externalId;\n if (view.organizationId == null) {\n view.organizationId = req.organizationId;\n }\n return view;\n }\n\n static toDomain(req: Collection, domain = new CollectionDomain()) {\n domain.name = req.name != null ? new CipherString(req.name) : null;\n domain.externalId = req.externalId;\n if (domain.organizationId == null) {\n domain.organizationId = req.organizationId;\n }\n return domain;\n }\n\n organizationId: string;\n name: string;\n externalId: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CollectionView | CollectionDomain) {\n this.organizationId = o.organizationId;\n if (o instanceof CollectionView) {\n this.name = o.name;\n } else {\n this.name = o.name?.encryptedString;\n }\n this.externalId = o.externalId;\n }\n}\n","import { FolderView } from '../view/folderView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Folder as FolderDomain } from '../domain/folder';\n\nexport class Folder {\n static template(): Folder {\n const req = new Folder();\n req.name = 'Folder name';\n return req;\n }\n\n static toView(req: Folder, view = new FolderView()) {\n view.name = req.name;\n return view;\n }\n\n static toDomain(req: Folder, domain = new FolderDomain()) {\n domain.name = req.name != null ? new CipherString(req.name) : null;\n return domain;\n }\n\n name: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: FolderView | FolderDomain) {\n if (o instanceof FolderView) {\n this.name = o.name;\n } else {\n this.name = o.name?.encryptedString;\n }\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport {\n ImportOption,\n ImportService as ImportServiceAbstraction,\n} from '../abstractions/import.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { Utils } from '../misc/utils';\n\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KvpRequest } from '../models/request/kvpRequest';\n\nimport { ErrorResponse } from '../models/response/errorResponse';\nimport { CipherView } from '../models/view/cipherView';\n\nimport { AscendoCsvImporter } from '../importers/ascendoCsvImporter';\nimport { AvastCsvImporter } from '../importers/avastCsvImporter';\nimport { AvastJsonImporter } from '../importers/avastJsonImporter';\nimport { AviraCsvImporter } from '../importers/aviraCsvImporter';\nimport { BitwardenCsvImporter } from '../importers/bitwardenCsvImporter';\nimport { BitwardenJsonImporter } from '../importers/bitwardenJsonImporter';\nimport { BlackBerryCsvImporter } from '../importers/blackBerryCsvImporter';\nimport { BlurCsvImporter } from '../importers/blurCsvImporter';\nimport { ButtercupCsvImporter } from '../importers/buttercupCsvImporter';\nimport { ChromeCsvImporter } from '../importers/chromeCsvImporter';\nimport { ClipperzHtmlImporter } from '../importers/clipperzHtmlImporter';\nimport { CodebookCsvImporter } from '../importers/codebookCsvImporter';\nimport { DashlaneJsonImporter } from '../importers/dashlaneJsonImporter';\nimport { EncryptrCsvImporter } from '../importers/encryptrCsvImporter';\nimport { EnpassCsvImporter } from '../importers/enpassCsvImporter';\nimport { EnpassJsonImporter } from '../importers/enpassJsonImporter';\nimport { FirefoxCsvImporter } from '../importers/firefoxCsvImporter';\nimport { FSecureFskImporter } from '../importers/fsecureFskImporter';\nimport { GnomeJsonImporter } from '../importers/gnomeJsonImporter';\nimport { Importer } from '../importers/importer';\nimport { KasperskyTxtImporter } from '../importers/kasperskyTxtImporter';\nimport { KeePass2XmlImporter } from '../importers/keepass2XmlImporter';\nimport { KeePassXCsvImporter } from '../importers/keepassxCsvImporter';\nimport { KeeperCsvImporter } from '../importers/keeperCsvImporter';\nimport { LastPassCsvImporter } from '../importers/lastpassCsvImporter';\nimport { LogMeOnceCsvImporter } from '../importers/logMeOnceCsvImporter';\nimport { MeldiumCsvImporter } from '../importers/meldiumCsvImporter';\nimport { MSecureCsvImporter } from '../importers/msecureCsvImporter';\nimport { MykiCsvImporter } from '../importers/mykiCsvImporter';\nimport { OnePassword1PifImporter } from '../importers/onepasswordImporters/onepassword1PifImporter';\nimport { OnePasswordMacCsvImporter } from '../importers/onepasswordImporters/onepasswordMacCsvImporter';\nimport { OnePasswordWinCsvImporter } from '../importers/onepasswordImporters/onepasswordWinCsvImporter';\nimport { PadlockCsvImporter } from '../importers/padlockCsvImporter';\nimport { PassKeepCsvImporter } from '../importers/passkeepCsvImporter';\nimport { PassmanJsonImporter } from '../importers/passmanJsonImporter';\nimport { PasspackCsvImporter } from '../importers/passpackCsvImporter';\nimport { PasswordAgentCsvImporter } from '../importers/passwordAgentCsvImporter';\nimport { PasswordBossJsonImporter } from '../importers/passwordBossJsonImporter';\nimport { PasswordDragonXmlImporter } from '../importers/passwordDragonXmlImporter';\nimport { PasswordSafeXmlImporter } from '../importers/passwordSafeXmlImporter';\nimport { PasswordWalletTxtImporter } from '../importers/passwordWalletTxtImporter';\nimport { RememBearCsvImporter } from '../importers/rememBearCsvImporter';\nimport { RoboFormCsvImporter } from '../importers/roboformCsvImporter';\nimport { SafeInCloudXmlImporter } from '../importers/safeInCloudXmlImporter';\nimport { SaferPassCsvImporter } from '../importers/saferpassCsvImport';\nimport { SecureSafeCsvImporter } from '../importers/secureSafeCsvImporter';\nimport { SplashIdCsvImporter } from '../importers/splashIdCsvImporter';\nimport { StickyPasswordXmlImporter } from '../importers/stickyPasswordXmlImporter';\nimport { TrueKeyCsvImporter } from '../importers/truekeyCsvImporter';\nimport { UpmCsvImporter } from '../importers/upmCsvImporter';\nimport { YotiCsvImporter } from '../importers/yotiCsvImporter';\nimport { ZohoVaultCsvImporter } from '../importers/zohoVaultCsvImporter';\n\nexport class ImportService implements ImportServiceAbstraction {\n featuredImportOptions = [\n { id: 'bitwardenjson', name: 'Bitwarden (json)' },\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: 'dashlanejson', name: 'Dashlane (json)' },\n ];\n\n regularImportOptions: ImportOption[] = [\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\n { id: '1passwordmaccsv', name: '1Password 6 and 7 Mac (csv)' },\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\n { id: 'keepercsv', name: 'Keeper (csv)' },\n { id: 'enpasscsv', name: 'Enpass (csv)' },\n { id: 'enpassjson', name: 'Enpass (json)' },\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 { id: 'passpackcsv', name: 'Passpack (csv)' },\n { id: 'passmanjson', name: 'Passman (json)' },\n { id: 'avastcsv', name: 'Avast Passwords (csv)' },\n { id: 'avastjson', name: 'Avast Passwords (json)' },\n { id: 'fsecurefsk', name: 'F-Secure KEY (fsk)' },\n { id: 'kasperskytxt', name: 'Kaspersky Password Manager (txt)' },\n { id: 'remembearcsv', name: 'RememBear (csv)' },\n { id: 'passwordwallettxt', name: 'PasswordWallet (txt)' },\n { id: 'mykicsv', name: 'Myki (csv)' },\n { id: 'securesafecsv', name: 'SecureSafe (csv)' },\n { id: 'logmeoncecsv', name: 'LogMeOnce (csv)' },\n { id: 'blackberrycsv', name: 'BlackBerry Password Keeper (csv)' },\n { id: 'buttercupcsv', name: 'Buttercup (csv)' },\n { id: 'codebookcsv', name: 'Codebook (csv)' },\n { id: 'encryptrcsv', name: 'Encryptr (csv)' },\n { id: 'yoticsv', name: 'Yoti (csv)' },\n ];\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private apiService: ApiService, private i18nService: I18nService,\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\n\n getImportOptions(): ImportOption[] {\n return this.featuredImportOptions.concat(this.regularImportOptions);\n }\n\n async import(importer: Importer, fileContents: string, organizationId: string = null): Promise {\n const importResult = await importer.parse(fileContents);\n if (importResult.success) {\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\n return new Error(this.i18nService.t('importNothingError'));\n } else if (importResult.ciphers.length > 0) {\n const halfway = Math.floor(importResult.ciphers.length / 2);\n const last = importResult.ciphers.length - 1;\n\n if (this.badData(importResult.ciphers[0]) &&\n this.badData(importResult.ciphers[halfway]) &&\n this.badData(importResult.ciphers[last])) {\n return new Error(this.i18nService.t('importFormatError'));\n }\n }\n try {\n await this.postImport(importResult, organizationId);\n } catch (error) {\n const errorResponse = new ErrorResponse(error, 400);\n return this.handleServerError(errorResponse, importResult);\n }\n return null;\n } else {\n return new Error(this.i18nService.t('importFormatError'));\n }\n }\n\n getImporter(format: string, organizationId: string = null): Importer {\n const importer = this.getImporterInstance(format);\n if (importer == null) {\n return null;\n }\n importer.organizationId = organizationId;\n return importer;\n }\n\n private getImporterInstance(format: string) {\n if (format == null || format === '') {\n return null;\n }\n\n switch (format) {\n case 'bitwardencsv':\n return new BitwardenCsvImporter();\n case 'bitwardenjson':\n return new BitwardenJsonImporter();\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 '1passwordmaccsv':\n return new OnePasswordMacCsvImporter();\n case 'keepercsv':\n return new KeeperCsvImporter();\n case 'passworddragonxml':\n return new PasswordDragonXmlImporter();\n case 'enpasscsv':\n return new EnpassCsvImporter();\n case 'enpassjson':\n return new EnpassJsonImporter();\n case 'pwsafexml':\n return new PasswordSafeXmlImporter();\n case 'dashlanejson':\n return new DashlaneJsonImporter();\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 case 'passpackcsv':\n return new PasspackCsvImporter();\n case 'passmanjson':\n return new PassmanJsonImporter();\n case 'avastcsv':\n return new AvastCsvImporter();\n case 'avastjson':\n return new AvastJsonImporter();\n case 'fsecurefsk':\n return new FSecureFskImporter();\n case 'kasperskytxt':\n return new KasperskyTxtImporter();\n case 'remembearcsv':\n return new RememBearCsvImporter();\n case 'passwordwallettxt':\n return new PasswordWalletTxtImporter();\n case 'mykicsv':\n return new MykiCsvImporter();\n case 'securesafecsv':\n return new SecureSafeCsvImporter();\n case 'logmeoncecsv':\n return new LogMeOnceCsvImporter();\n case 'blackberrycsv':\n return new BlackBerryCsvImporter();\n case 'buttercupcsv':\n return new ButtercupCsvImporter();\n case 'codebookcsv':\n return new CodebookCsvImporter();\n case 'encryptrcsv':\n return new EncryptrCsvImporter();\n case 'yoticsv':\n return new YotiCsvImporter();\n default:\n return null;\n }\n }\n\n private async postImport(importResult: ImportResult, organizationId: string = null) {\n if (organizationId == null) {\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 } else {\n const request = new ImportOrganizationCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n importResult.ciphers[i].organizationId = 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 = 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(organizationId, request);\n }\n }\n\n private badData(c: CipherView) {\n return (c.name == null || c.name === '--') &&\n (c.type === CipherType.Login && c.login != null && Utils.isNullOrWhitespace(c.login.password));\n }\n\n private handleServerError(errorResponse: ErrorResponse, importResult: ImportResult): Error {\n if (errorResponse.validationErrors == null) {\n return new Error(errorResponse.message);\n }\n\n let errorMessage = '';\n\n Object.entries(errorResponse.validationErrors).forEach(([key, value], index) => {\n let item;\n let itemType;\n const i = Number(key.match(/[0-9]+/)[0]);\n\n switch (key.match(/^\\w+/)[0]) {\n case 'Ciphers':\n item = importResult.ciphers[i];\n itemType = CipherType[item.type];\n break;\n case 'Folders':\n item = importResult.folders[i];\n itemType = 'Folder';\n break;\n case 'Collections':\n item = importResult.collections[i];\n itemType = 'Collection';\n break;\n default:\n return;\n }\n\n if (index > 0) {\n errorMessage += '\\n\\n';\n }\n\n if (itemType !== 'Folder' && itemType !== 'Collection') {\n errorMessage += '[' + (i + 1) + '] ';\n }\n\n errorMessage += '[' + itemType + '] \"' + item.name + '\": ' + value;\n });\n\n return new Error(errorMessage);\n }\n}\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: KvpRequest[] = [];\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: KvpRequest[] = [];\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","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n if (value.length < 2) {\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.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const val: string = value[i + 2];\n const field: string = value[i + 1];\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\n continue;\n }\n\n const fieldLower = field.toLowerCase();\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = this.getValueOrDefault(val);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = this.getValueOrDefault(val);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n } else {\n this.processKvp(cipher, field, val);\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AvastCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name);\n cipher.login.uris = this.makeUriArray(value.web);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.login);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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\nexport class AvastJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n if (results.logins != null) {\n results.logins.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.custName);\n cipher.notes = this.getValueOrDefault(value.note);\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.password = this.getValueOrDefault(value.pwd);\n cipher.login.username = this.getValueOrDefault(value.loginName);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (results.notes != null) {\n results.notes.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.name = this.getValueOrDefault(value.label);\n cipher.notes = this.getValueOrDefault(value.text);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (results.cards != null) {\n results.cards.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.type = CipherType.Card;\n cipher.name = this.getValueOrDefault(value.custName);\n cipher.notes = this.getValueOrDefault(value.note);\n cipher.card.cardholderName = this.getValueOrDefault(value.holderName);\n cipher.card.number = this.getValueOrDefault(value.cardNumber);\n cipher.card.code = this.getValueOrDefault(value.cvv);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (value.expirationDate != null) {\n if (value.expirationDate.month != null) {\n cipher.card.expMonth = value.expirationDate.month + '';\n }\n if (value.expirationDate.year != null) {\n cipher.card.expYear = value.expirationDate.year + '';\n }\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 'note':\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n break;\n default:\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 }\n\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherWithIds } from '../models/export/cipherWithIds';\nimport { CollectionWithId } from '../models/export/collectionWithId';\nimport { FolderWithId } from '../models/export/folderWithId';\n\nexport class BitwardenJsonImporter extends BaseImporter implements Importer {\n private results: any;\n private result: ImportResult;\n\n async parse(data: string): Promise {\n this.result = new ImportResult();\n this.results = JSON.parse(data);\n if (this.results == null || this.results.items == null || this.results.items.length === 0) {\n this.result.success = false;\n return this.result;\n }\n\n if (this.results.encrypted) {\n await this.parseEncrypted();\n } else {\n this.parseDecrypted();\n }\n\n this.result.success = true;\n return this.result;\n }\n\n private async parseEncrypted() {\n const groupingsMap = new Map();\n\n if (this.organization && this.results.collections != null) {\n for (const c of this.results.collections as CollectionWithId[]) {\n const collection = CollectionWithId.toDomain(c);\n if (collection != null) {\n collection.id = null;\n collection.organizationId = this.organizationId;\n const view = await collection.decrypt();\n groupingsMap.set(c.id, this.result.collections.length);\n this.result.collections.push(view);\n }\n }\n } else if (!this.organization && this.results.folders != null) {\n for (const f of this.results.folders as FolderWithId[]) {\n const folder = FolderWithId.toDomain(f);\n if (folder != null) {\n folder.id = null;\n const view = await folder.decrypt();\n groupingsMap.set(f.id, this.result.folders.length);\n this.result.folders.push(view);\n }\n }\n }\n\n for (const c of this.results.items as CipherWithIds[]) {\n const cipher = CipherWithIds.toDomain(c);\n // reset ids incase they were set for some reason\n cipher.id = null;\n cipher.folderId = null;\n cipher.organizationId = this.organizationId;\n cipher.collectionIds = null;\n\n // make sure password history is limited\n if (cipher.passwordHistory != null && cipher.passwordHistory.length > 5) {\n cipher.passwordHistory = cipher.passwordHistory.slice(0, 5);\n }\n\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\n this.result.folderRelationships.push([this.result.ciphers.length, groupingsMap.get(c.folderId)]);\n } else if (this.organization && c.collectionIds != null) {\n c.collectionIds.forEach(cId => {\n if (groupingsMap.has(cId)) {\n this.result.collectionRelationships.push([this.result.ciphers.length, groupingsMap.get(cId)]);\n }\n });\n }\n\n const view = await cipher.decrypt();\n this.cleanupCipher(view);\n this.result.ciphers.push(view);\n }\n }\n\n private parseDecrypted() {\n const groupingsMap = new Map();\n if (this.organization && this.results.collections != null) {\n this.results.collections.forEach((c: CollectionWithId) => {\n const collection = CollectionWithId.toView(c);\n if (collection != null) {\n collection.id = null;\n collection.organizationId = null;\n groupingsMap.set(c.id, this.result.collections.length);\n this.result.collections.push(collection);\n }\n });\n } else if (!this.organization && this.results.folders != null) {\n this.results.folders.forEach((f: FolderWithId) => {\n const folder = FolderWithId.toView(f);\n if (folder != null) {\n folder.id = null;\n groupingsMap.set(f.id, this.result.folders.length);\n this.result.folders.push(folder);\n }\n });\n }\n\n this.results.items.forEach((c: CipherWithIds) => {\n const cipher = CipherWithIds.toView(c);\n // reset ids incase they were set for some reason\n cipher.id = null;\n cipher.folderId = null;\n cipher.organizationId = null;\n cipher.collectionIds = null;\n\n // make sure password history is limited\n if (cipher.passwordHistory != null && cipher.passwordHistory.length > 5) {\n cipher.passwordHistory = cipher.passwordHistory.slice(0, 5);\n }\n\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\n this.result.folderRelationships.push([this.result.ciphers.length, groupingsMap.get(c.folderId)]);\n } else if (this.organization && c.collectionIds != null) {\n c.collectionIds.forEach(cId => {\n if (groupingsMap.has(cId)) {\n this.result.collectionRelationships.push([this.result.ciphers.length, groupingsMap.get(cId)]);\n }\n });\n }\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlackBerryCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n if (value.grouping === 'list') {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.favorite = value.fav === '1';\n cipher.name = this.getValueOrDefault(value.name);\n cipher.notes = this.getValueOrDefault(value.extra);\n if (value.grouping !== 'note') {\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.username);\n }\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nconst OfficialProps = [\n '!group_id', '!group_name', 'title', 'username', 'password', 'URL', 'id',\n];\n\nexport class ButtercupCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n this.processFolder(result, this.getValueOrDefault(value['!group_name']));\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.title, '--');\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\n let processingCustomFields = false;\n for (const prop in value) {\n if (value.hasOwnProperty(prop)) {\n if (!processingCustomFields && OfficialProps.indexOf(prop) === -1) {\n processingCustomFields = true;\n }\n if (processingCustomFields) {\n this.processKvp(cipher, prop, value[prop]);\n }\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 Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const textarea = doc.querySelector('textarea');\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\n result.errorMessage = 'Missing textarea.';\n result.success = false;\n return Promise.resolve(result);\n }\n\n const entries = JSON.parse(textarea.textContent);\n entries.forEach((entry: any) => {\n const cipher = this.initLoginCipher();\n if (!this.isNullOrWhitespace(entry.label)) {\n cipher.name = entry.label.split(' ')[0];\n }\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\n }\n\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\n for (const property in entry.currentVersion.fields) {\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\n continue;\n }\n\n const field = entry.currentVersion.fields[property];\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\n switch (actionType) {\n case 'password':\n cipher.login.password = this.getValueOrDefault(field.value);\n break;\n case 'email':\n case 'username':\n case 'user':\n case 'name':\n cipher.login.username = this.getValueOrDefault(field.value);\n break;\n case 'url':\n cipher.login.uris = this.makeUriArray(field.value);\n break;\n default:\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\n cipher.login.password = this.getValueOrDefault(field.value);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(labelLower) > -1) {\n cipher.login.username = this.getValueOrDefault(field.value);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(labelLower) > -1) {\n cipher.login.uris = this.makeUriArray(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value);\n }\n break;\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class CodebookCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n this.processFolder(result, this.getValueOrDefault(value.Category));\n\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite) === 'True';\n cipher.name = this.getValueOrDefault(value.Entry, '--');\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.login.username = this.getValueOrDefault(value.Username, value.Email);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.totp = this.getValueOrDefault(value.TOTP);\n cipher.login.uris = this.makeUriArray(value.Website);\n\n if (!this.isNullOrWhitespace(value.Username)) {\n this.processKvp(cipher, 'Email', value.Email);\n }\n this.processKvp(cipher, 'Phone', value.Phone);\n this.processKvp(cipher, 'PIN', value.PIN);\n this.processKvp(cipher, 'Account', value.Account);\n this.processKvp(cipher, 'Date', value.Date);\n\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(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 { CipherView } from '../models/view/cipherView';\nimport { IdentityView } from '../models/view/identityView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst HandledResults = new Set(['ADDRESS', 'AUTHENTIFIANT', 'BANKSTATEMENT', 'IDCARD', 'IDENTITY',\n 'PAYMENTMEANS_CREDITCARD', 'PAYMENTMEAN_PAYPAL', 'EMAIL']);\n\nexport class DashlaneJsonImporter extends BaseImporter implements Importer {\n private result: ImportResult;\n\n parse(data: string): Promise {\n this.result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.length === 0) {\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n if (results.ADDRESS != null) {\n this.processAddress(results.ADDRESS);\n }\n if (results.AUTHENTIFIANT != null) {\n this.processAuth(results.AUTHENTIFIANT);\n }\n if (results.BANKSTATEMENT != null) {\n this.processNote(results.BANKSTATEMENT, 'BankAccountName');\n }\n if (results.IDCARD != null) {\n this.processNote(results.IDCARD, 'Fullname');\n }\n if (results.PAYMENTMEANS_CREDITCARD != null) {\n this.processCard(results.PAYMENTMEANS_CREDITCARD);\n }\n if (results.IDENTITY != null) {\n this.processIdentity(results.IDENTITY);\n }\n\n for (const key in results) {\n if (results.hasOwnProperty(key) && !HandledResults.has(key)) {\n this.processNote(results[key], null, 'Generic Note');\n }\n }\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n private processAuth(results: any[]) {\n results.forEach((credential: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(credential.title);\n\n cipher.login.username = this.getValueOrDefault(credential.login,\n this.getValueOrDefault(credential.secondaryLogin));\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = this.getValueOrDefault(credential.email);\n } else if (!this.isNullOrWhitespace(credential.email)) {\n cipher.notes = ('Email: ' + credential.email + '\\n');\n }\n\n cipher.login.password = this.getValueOrDefault(credential.password);\n cipher.login.uris = this.makeUriArray(credential.domain);\n cipher.notes += this.getValueOrDefault(credential.note, '');\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processIdentity(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.fullName, '');\n const nameParts = cipher.name.split(' ');\n if (nameParts.length > 0) {\n cipher.identity.firstName = this.getValueOrDefault(nameParts[0]);\n }\n if (nameParts.length === 2) {\n cipher.identity.lastName = this.getValueOrDefault(nameParts[1]);\n } else if (nameParts.length === 3) {\n cipher.identity.middleName = this.getValueOrDefault(nameParts[1]);\n cipher.identity.lastName = this.getValueOrDefault(nameParts[2]);\n }\n cipher.identity.username = this.getValueOrDefault(obj.pseudo);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processAddress(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.addressName);\n cipher.identity.address1 = this.getValueOrDefault(obj.addressFull);\n cipher.identity.city = this.getValueOrDefault(obj.city);\n cipher.identity.state = this.getValueOrDefault(obj.state);\n cipher.identity.postalCode = this.getValueOrDefault(obj.zipcode);\n cipher.identity.country = this.getValueOrDefault(obj.country);\n if (cipher.identity.country != null) {\n cipher.identity.country = cipher.identity.country.toUpperCase();\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processCard(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n cipher.name = this.getValueOrDefault(obj.bank);\n cipher.card.number = this.getValueOrDefault(obj.cardNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.cardholderName = this.getValueOrDefault(obj.owner);\n if (!this.isNullOrWhitespace(cipher.card.brand)) {\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = cipher.card.brand;\n } else {\n cipher.name += (' - ' + cipher.card.brand);\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processNote(results: any[], nameProperty: string, name: string = null) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.secureNote = new SecureNoteView();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n if (name != null) {\n cipher.name = name;\n } else {\n cipher.name = this.getValueOrDefault(obj[nameProperty]);\n }\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && key !== nameProperty) {\n this.processKvp(cipher, key, obj[key].toString());\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\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';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class EncryptrCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.Label, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n const text = this.getValueOrDefault(value.Text);\n if (!this.isNullOrWhitespace(text)) {\n if (this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = text;\n } else {\n cipher.notes += ('\\n\\n' + text);\n }\n }\n\n const type = value['Entry Type'];\n if (type === 'Password') {\n cipher.login.username = this.getValueOrDefault(value.Username);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value['Site URL']);\n } else if (type === 'Credit Card') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value['Name on card']);\n cipher.card.number = this.getValueOrDefault(value['Card Number']);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.CVV);\n const expiry = this.getValueOrDefault(value.Expiry);\n if (!this.isNullOrWhitespace(expiry)) {\n const expParts = expiry.split('/');\n if (expParts.length > 1) {\n cipher.card.expMonth = parseInt(expParts[0], null).toString();\n cipher.card.expYear = (2000 + parseInt(expParts[1], null)).toString();\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let firstRow = true;\n results.forEach(value => {\n if (value.length < 2 || (firstRow && (value[0] === 'Title' || 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 || (!this.containsField(value, 'username') &&\n !this.containsField(value, 'password') && !this.containsField(value, 'email') &&\n !this.containsField(value, 'url'))) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (this.containsField(value, 'cardholder') && this.containsField(value, 'number') &&\n this.containsField(value, 'expiry date')) {\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 if (this.setCardExpiration(cipher, fieldValue)) {\n continue;\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 Promise.resolve(result);\n }\n\n private containsField(fields: any[], name: string) {\n if (fields == null || name == null) {\n return false;\n }\n return fields.filter(f => !this.isNullOrWhitespace(f) &&\n f.toLowerCase() === name.toLowerCase()).length > 0;\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 { CipherView } from '../models/view/cipherView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\n\nexport class EnpassJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.items == null || results.items.length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const foldersMap = new Map();\n const foldersIndexMap = new Map();\n const folderTree = this.buildFolderTree(results.folders);\n this.flattenFolderTree(null, folderTree, foldersMap);\n foldersMap.forEach((val, key) => {\n foldersIndexMap.set(key, result.folders.length);\n const f = new FolderView();\n f.name = val;\n result.folders.push(f);\n });\n\n results.items.forEach((item: any) => {\n if (item.folders != null && item.folders.length > 0 && foldersIndexMap.has(item.folders[0])) {\n result.folderRelationships.push([result.ciphers.length, foldersIndexMap.get(item.folders[0])]);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(item.title);\n cipher.favorite = item.favorite > 0;\n\n if (item.template_type != null && item.fields != null && item.fields.length > 0) {\n if (item.template_type.indexOf('login.') === 0 || item.template_type.indexOf('password.') === 0) {\n this.processLogin(cipher, item.fields);\n } else if (item.template_type.indexOf('creditcard.') === 0) {\n this.processCard(cipher, item.fields);\n } else if (item.template_type.indexOf('identity.') < 0 &&\n item.fields.some((f: any) => f.type === 'password' && !this.isNullOrWhitespace(f.value))) {\n this.processLogin(cipher, item.fields);\n } else {\n this.processNote(cipher, item.fields);\n }\n }\n\n cipher.notes += ('\\n' + this.getValueOrDefault(item.note, ''));\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private processLogin(cipher: CipherView, fields: any[]) {\n const urls: string[] = [];\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n\n if ((field.type === 'username' || field.type === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = field.value;\n } else if (field.type === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = field.value;\n } else if (field.type === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = field.value;\n } else if (field.type === 'url') {\n urls.push(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n\n private processCard(cipher: CipherView, fields: any[]) {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section' || field.type === 'ccType') {\n return;\n }\n\n if (field.type === 'ccName' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = field.value;\n } else if (field.type === 'ccNumber' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = field.value;\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n } else if (field.type === 'ccCvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = field.value;\n } else if (field.type === 'ccExpiry' && this.isNullOrWhitespace(cipher.card.expYear)) {\n if (!this.setCardExpiration(cipher, field.value)) {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n } else {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n });\n }\n\n private processNote(cipher: CipherView, fields: any[]) {\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n });\n }\n\n private buildFolderTree(folders: any[]): any[] {\n if (folders == null) {\n return [];\n }\n const folderTree: any[] = [];\n const map = new Map([]);\n folders.forEach((obj: any) => {\n map.set(obj.uuid, obj);\n obj.children = [];\n });\n folders.forEach((obj: any) => {\n if (obj.parent_uuid != null && obj.parent_uuid !== '' && map.has(obj.parent_uuid)) {\n map.get(obj.parent_uuid).children.push(obj);\n } else {\n folderTree.push(obj);\n }\n });\n return folderTree;\n }\n\n private flattenFolderTree(titlePrefix: string, tree: any[], map: Map) {\n if (tree == null) {\n return;\n }\n tree.forEach((f: any) => {\n if (f.title != null && f.title.trim() !== '') {\n let title = f.title.trim();\n if (titlePrefix != null && titlePrefix.trim() !== '') {\n title = titlePrefix + '/' + title;\n }\n map.set(f.uuid, title);\n if (f.children != null && f.children.length !== 0) {\n this.flattenFolderTree(title, f.children, map);\n }\n }\n });\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n const cipher = this.initLoginCipher();\n const url = this.getValueOrDefault(value.url, this.getValueOrDefault(value.hostname));\n cipher.name = this.getValueOrDefault(this.nameFromUrl(url), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class FSecureFskImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.data == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n for (const key in results.data) {\n if (!results.data.hasOwnProperty(key)) {\n continue;\n }\n\n const value = results.data[key];\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.service);\n cipher.notes = this.getValueOrDefault(value.notes);\n\n if (value.style === 'website') {\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 } else if (value.style === 'creditcard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.username);\n cipher.card.number = this.getValueOrDefault(value.creditNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.creditCvv);\n if (!this.isNullOrWhitespace(value.creditExpiry)) {\n if (!this.setCardExpiration(cipher, value.creditExpiry)) {\n this.processKvp(cipher, 'Expiration', value.creditExpiry);\n }\n }\n if (!this.isNullOrWhitespace(value.password)) {\n this.processKvp(cipher, 'PIN', value.password);\n }\n } else {\n continue;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || Object.keys(results).length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n for (const keyRing in results) {\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\n results[keyRing].length === 0) {\n continue;\n }\n\n results[keyRing].forEach((value: any) => {\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\n return;\n }\n\n this.processFolder(result, keyRing);\n const cipher = this.initLoginCipher();\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\n if (cipher.name.length > 30) {\n cipher.name = cipher.name.substring(0, 30);\n }\n cipher.login.password = this.getValueOrDefault(value.secret);\n cipher.login.uris = this.makeUriArray(value.display_name);\n\n if (value.attributes != null) {\n cipher.login.username = value.attributes != null ?\n this.getValueOrDefault(value.attributes.username_value) : null;\n for (const attr in value.attributes) {\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\n attr === 'xdg:schema') {\n continue;\n }\n this.processKvp(cipher, attr, value.attributes[attr]);\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nconst NotesHeader = 'Notes\\n\\n';\nconst ApplicationsHeader = 'Applications\\n\\n';\nconst WebsitesHeader = 'Websites\\n\\n';\nconst Delimiter = '\\n---\\n';\n\nexport class KasperskyTxtImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n\n let notesData: string;\n let applicationsData: string;\n let websitesData: string;\n let workingData = this.splitNewLine(data).join('\\n');\n\n if (workingData.indexOf(NotesHeader) !== -1) {\n const parts = workingData.split(NotesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n notesData = parts[1];\n }\n }\n if (workingData.indexOf(ApplicationsHeader) !== -1) {\n const parts = workingData.split(ApplicationsHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n applicationsData = parts[1];\n }\n }\n if (workingData.indexOf(WebsitesHeader) === 0) {\n const parts = workingData.split(WebsitesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n websitesData = parts[1];\n }\n }\n\n const notes = this.parseDataCategory(notesData);\n const applications = this.parseDataCategory(applicationsData);\n const websites = this.parseDataCategory(websitesData);\n\n notes.forEach(n => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(n.get('Name'));\n cipher.notes = this.getValueOrDefault(n.get('Text'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n websites.concat(applications).forEach(w => {\n const cipher = this.initLoginCipher();\n const nameKey = w.has('Website name') ? 'Website name' : 'Application';\n cipher.name = this.getValueOrDefault(w.get(nameKey), '');\n if (!this.isNullOrWhitespace(w.get('Login name'))) {\n if (!this.isNullOrWhitespace(cipher.name)) {\n cipher.name += ': ';\n }\n cipher.name += w.get('Login name');\n }\n cipher.notes = this.getValueOrDefault(w.get('Comment'));\n if (w.has('Website URL')) {\n cipher.login.uris = this.makeUriArray(w.get('Website URL'));\n }\n cipher.login.username = this.getValueOrDefault(w.get('Login'));\n cipher.login.password = this.getValueOrDefault(w.get('Password'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private parseDataCategory(data: string): Map[] {\n if (this.isNullOrWhitespace(data) || data.indexOf(Delimiter) === -1) {\n return [];\n }\n const items: Map[] = [];\n data.split(Delimiter).forEach(p => {\n if (p.indexOf('\\n') === -1) {\n return;\n }\n const item = new Map();\n let itemComment: string;\n let itemCommentKey: string;\n p.split('\\n').forEach(l => {\n if (itemComment != null) {\n itemComment += ('\\n' + l);\n return;\n }\n const colonIndex = l.indexOf(':');\n let key: string;\n let val: string;\n if (colonIndex === -1) {\n return;\n } else {\n key = l.substring(0, colonIndex);\n if (l.length > colonIndex + 1) {\n val = l.substring(colonIndex + 2);\n }\n }\n if (key != null) {\n item.set(key, val);\n }\n if (key === 'Comment' || key === 'Text') {\n itemComment = val;\n itemCommentKey = key;\n }\n });\n if (itemComment != null && itemCommentKey != null) {\n item.set(itemCommentKey, itemComment);\n }\n if (item.size === 0) {\n return;\n }\n items.push(item);\n });\n return items;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { FieldType } from '../enums/fieldType';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): Promise {\n const doc = this.parseXml(data);\n if (doc == null) {\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\n if (rootGroup == null) {\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n this.traverse(rootGroup, true, '');\n\n if (this.organization) {\n this.moveFoldersToCollections(this.result);\n }\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\n const folderIndex = this.result.folders.length;\n let groupName = groupPrefixName;\n\n if (!isRootNode) {\n if (groupName !== '') {\n groupName += '/';\n }\n const nameEl = this.querySelectorDirectChild(node, 'Name');\n groupName += nameEl == null ? '-' : nameEl.textContent;\n const folder = new FolderView();\n folder.name = groupName;\n this.result.folders.push(folder);\n }\n\n this.querySelectorAllDirectChild(node, 'Entry').forEach(entry => {\n const cipherIndex = this.result.ciphers.length;\n\n const cipher = this.initLoginCipher();\n this.querySelectorAllDirectChild(entry, 'String').forEach(entryString => {\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\n const value = valueEl != null ? valueEl.textContent : null;\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\n const key = keyEl != null ? keyEl.textContent : null;\n\n if (key === 'URL') {\n cipher.login.uris = this.makeUriArray(value);\n } else if (key === 'UserName') {\n cipher.login.username = value;\n } else if (key === 'Password') {\n cipher.login.password = value;\n } else if (key === 'otp') {\n cipher.login.totp = value.replace('key=', '');\n } else if (key === 'Title') {\n cipher.name = value;\n } else if (key === 'Notes') {\n cipher.notes += (value + '\\n');\n } else {\n let type = FieldType.Text;\n const attrs = (valueEl.attributes as any);\n if (attrs.length > 0 && attrs.ProtectInMemory != null &&\n attrs.ProtectInMemory.value === 'True') {\n type = FieldType.Hidden;\n }\n this.processKvp(cipher, key, value, type);\n }\n });\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n\n if (!isRootNode) {\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n this.querySelectorAllDirectChild(node, 'Group').forEach(group => {\n this.traverse(group, false, groupName);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n if (this.isNullOrWhitespace(value.Title)) {\n return;\n }\n\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\n value.Group.replace('Root/', '') : value.Group;\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\n this.processFolder(result, groupName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(value.Title, '--');\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 if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(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';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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 { CipherView } from '../models/view/cipherView';\nimport { FolderView } from '../models/view/folderView';\nimport { IdentityView } from '../models/view/identityView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value, index) => {\n const cipherIndex = result.ciphers.length;\n let folderIndex = result.folders.length;\n let grouping = value.grouping;\n if (grouping != null) {\n grouping = grouping.replace(/\\\\/g, '/').replace(/[\\x00-\\x1F\\x7F-\\x9F]/g, '');\n }\n const hasFolder = this.getValueOrDefault(grouping, '(none)') !== '(none)';\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === grouping) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n const cipher = this.buildBaseCipher(value);\n if (cipher.type === CipherType.Login) {\n cipher.notes = this.getValueOrDefault(value.extra);\n cipher.login = new LoginView();\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n } else if (cipher.type === CipherType.SecureNote) {\n this.parseSecureNote(value, cipher);\n } else if (cipher.type === CipherType.Card) {\n cipher.card = this.parseCard(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n } else if (cipher.type === CipherType.Identity) {\n cipher.identity = this.parseIdentity(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n if (!this.isNullOrWhitespace(value.ccnum)) {\n // there is a card on this identity too\n const cardCipher = this.buildBaseCipher(value);\n cardCipher.identity = null;\n cardCipher.type = CipherType.Card;\n cardCipher.card = this.parseCard(value);\n result.ciphers.push(cardCipher);\n }\n }\n\n result.ciphers.push(cipher);\n\n if (addFolder) {\n const f = new FolderView();\n f.name = grouping;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private buildBaseCipher(value: any) {\n const cipher = new CipherView();\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\n // form fill\n cipher.favorite = false;\n cipher.name = this.getValueOrDefault(value.profilename, '--');\n cipher.type = CipherType.Card;\n\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\n !this.isNullOrWhitespace(value.email)) {\n cipher.type = CipherType.Identity;\n }\n } else {\n // site or secure note\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\n }\n return cipher;\n }\n\n private parseCard(value: any): CardView {\n const card = new CardView();\n card.cardholderName = this.getValueOrDefault(value.ccname);\n card.number = this.getValueOrDefault(value.ccnum);\n card.code = this.getValueOrDefault(value.cccsc);\n card.brand = this.getCardBrand(value.ccnum);\n\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\n const ccexpParts = (value.ccexp as string).split('-');\n if (ccexpParts.length > 1) {\n card.expYear = ccexpParts[0];\n card.expMonth = ccexpParts[1];\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\n card.expMonth = card.expMonth[1];\n }\n }\n }\n\n return card;\n }\n\n private parseIdentity(value: any): IdentityView {\n const identity = new IdentityView();\n identity.title = this.getValueOrDefault(value.title);\n identity.firstName = this.getValueOrDefault(value.firstname);\n identity.middleName = this.getValueOrDefault(value.middlename);\n identity.lastName = this.getValueOrDefault(value.lastname);\n identity.username = this.getValueOrDefault(value.username);\n identity.company = this.getValueOrDefault(value.company);\n identity.ssn = this.getValueOrDefault(value.ssn);\n identity.address1 = this.getValueOrDefault(value.address1);\n identity.address2 = this.getValueOrDefault(value.address2);\n identity.address3 = this.getValueOrDefault(value.address3);\n identity.city = this.getValueOrDefault(value.city);\n identity.state = this.getValueOrDefault(value.state);\n identity.postalCode = this.getValueOrDefault(value.zip);\n identity.country = this.getValueOrDefault(value.country);\n identity.email = this.getValueOrDefault(value.email);\n identity.phone = this.getValueOrDefault(value.phone);\n\n if (!this.isNullOrWhitespace(identity.title)) {\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\n }\n\n return identity;\n }\n\n private parseSecureNote(value: any, cipher: CipherView) {\n const extraParts = this.splitNewLine(value.extra);\n let processedNote = false;\n\n if (extraParts.length) {\n const typeParts = extraParts[0].split(':');\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\n if (typeParts[1] === 'Credit Card') {\n const mappedData = this.parseSecureNoteMapping(cipher, extraParts, {\n 'Number': 'number',\n 'Name on Card': 'cardholderName',\n 'Security Code': 'code',\n // LP provides date in a format like 'June,2020'\n // Store in expMonth, then parse and modify\n 'Expiration Date': 'expMonth',\n });\n\n if (this.isNullOrWhitespace(mappedData.expMonth) || mappedData.expMonth === ',') {\n // No expiration data\n mappedData.expMonth = undefined;\n } else {\n const [monthString, year] = mappedData.expMonth.split(',');\n // Parse month name into number\n if (!this.isNullOrWhitespace(monthString)) {\n const month = new Date(Date.parse(monthString.trim() + ' 1, 2012')).getMonth() + 1;\n if (isNaN(month)) {\n mappedData.expMonth = undefined;\n } else {\n mappedData.expMonth = month.toString();\n }\n } else {\n mappedData.expMonth = undefined;\n }\n if (!this.isNullOrWhitespace(year)) {\n mappedData.expYear = year;\n }\n }\n\n cipher.type = CipherType.Card;\n cipher.card = mappedData;\n } else if (typeParts[1] === 'Address') {\n const mappedData = this.parseSecureNoteMapping(cipher, extraParts, {\n 'Title': 'title',\n 'First Name': 'firstName',\n 'Last Name': 'lastName',\n 'Middle Name': 'middleName',\n 'Company': 'company',\n 'Address 1': 'address1',\n 'Address 2': 'address2',\n 'Address 3': 'address3',\n 'City / Town': 'city',\n 'State': 'state',\n 'Zip / Postal Code': 'postalCode',\n 'Country': 'country',\n 'Email Address': 'email',\n 'Username': 'username',\n });\n cipher.type = CipherType.Identity;\n cipher.identity = mappedData;\n }\n processedNote = true;\n }\n }\n\n if (!processedNote) {\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.notes = this.getValueOrDefault(value.extra);\n }\n }\n\n private parseSecureNoteMapping(cipher: CipherView, extraParts: string[], map: any): T {\n const dataObj: any = {};\n\n let processingNotes = false;\n extraParts.forEach(extraPart => {\n let key: string = null;\n let val: string = null;\n if (!processingNotes) {\n if (this.isNullOrWhitespace(extraPart)) {\n return;\n }\n const colonIndex = extraPart.indexOf(':');\n if (colonIndex === -1) {\n key = extraPart;\n } else {\n key = extraPart.substring(0, colonIndex);\n if (extraPart.length > colonIndex) {\n val = extraPart.substring(colonIndex + 1);\n }\n }\n if (this.isNullOrWhitespace(key) || this.isNullOrWhitespace(val) || key === 'NoteType') {\n return;\n }\n }\n\n if (processingNotes) {\n cipher.notes += ('\\n' + extraPart);\n } else if (key === 'Notes') {\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes += ('\\n' + val);\n } else {\n cipher.notes = val;\n }\n processingNotes = true;\n } else if (map.hasOwnProperty(key)) {\n dataObj[map[key]] = val;\n } else {\n this.processKvp(cipher, key, val);\n }\n });\n\n return dataObj;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class LogMeOnceCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n if (value.length < 4) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[1]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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 { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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' || value[1] === 'Login') {\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { IdentityView } from '../models/view/identityView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MykiCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.nickname, '--');\n cipher.notes = this.getValueOrDefault(value.additionalInfo);\n\n if (value.url !== undefined) {\n // Accounts\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.totp = this.getValueOrDefault(value.twoFactAuthToken);\n } else if (value.cardNumber !== undefined) {\n // Cards\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n cipher.card.cardholderName = this.getValueOrDefault(value.cardName);\n cipher.card.number = this.getValueOrDefault(value.cardNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.expMonth = this.getValueOrDefault(value.exp_month);\n cipher.card.expYear = this.getValueOrDefault(value.exp_year);\n cipher.card.code = this.getValueOrDefault(value.cvv);\n } else if (value.firstName !== undefined) {\n // Identities\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.identity.title = this.getValueOrDefault(value.title);\n cipher.identity.firstName = this.getValueOrDefault(value.firstName);\n cipher.identity.middleName = this.getValueOrDefault(value.middleName);\n cipher.identity.lastName = this.getValueOrDefault(value.lastName);\n cipher.identity.phone = this.getValueOrDefault(value.number);\n cipher.identity.email = this.getValueOrDefault(value.email);\n cipher.identity.address1 = this.getValueOrDefault(value.firstAddressLine);\n cipher.identity.address2 = this.getValueOrDefault(value.secondAddressLine);\n cipher.identity.city = this.getValueOrDefault(value.city);\n cipher.identity.country = this.getValueOrDefault(value.country);\n cipher.identity.postalCode = this.getValueOrDefault(value.zipCode);\n } else if (value.content !== undefined) {\n // Notes\n cipher.secureNote = new SecureNoteView();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.content);\n } else {\n return;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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 { CipherView } from '../../models/view/cipherView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { PasswordHistoryView } from '../../models/view/passwordHistoryView';\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 OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): Promise {\n data.split(this.newLineRegex).forEach(line => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n if (item.trashed === true) {\n return;\n }\n const cipher = this.initLoginCipher();\n\n if (this.isNullOrWhitespace(item.hmac)) {\n this.processStandardItem(item, cipher);\n } else {\n this.processWinOpVaultItem(item, cipher);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n private processWinOpVaultItem(item: any, cipher: CipherView) {\n if (item.overview != null) {\n cipher.name = this.getValueOrDefault(item.overview.title);\n if (item.overview.URLs != null) {\n const urls: string[] = [];\n item.overview.URLs.forEach((url: any) => {\n if (!this.isNullOrWhitespace(url.u)) {\n urls.push(url.u);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n }\n\n if (item.details != null) {\n if (item.details.passwordHistory != null) {\n this.parsePasswordHistory(item.details.passwordHistory, cipher);\n }\n if (!this.isNullOrWhitespace(item.details.ccnum) || !this.isNullOrWhitespace(item.details.cvv)) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else if (!this.isNullOrWhitespace(item.details.firstname) ||\n !this.isNullOrWhitespace(item.details.address1)) {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n }\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(item.details.password)) {\n cipher.login.password = item.details.password;\n }\n if (!this.isNullOrWhitespace(item.details.notesPlain)) {\n cipher.notes = item.details.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.details.fields != null) {\n this.parseFields(item.details.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.details.sections != null) {\n item.details.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n }\n\n private processStandardItem(item: any, cipher: CipherView) {\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 if (item.typeName === 'identities.Identity') {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (item.secureContents.passwordHistory != null) {\n this.parsePasswordHistory(item.secureContents.passwordHistory, cipher);\n }\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (cipher.type === CipherType.Login) {\n if (!this.isNullOrWhitespace(item.secureContents.password)) {\n cipher.login.password = item.secureContents.password;\n }\n if (item.secureContents.URLs != null) {\n const urls: string[] = [];\n item.secureContents.URLs.forEach((u: any) => {\n if (!this.isNullOrWhitespace(u.url)) {\n urls.push(u.url);\n }\n });\n if (urls.length > 0) {\n cipher.login.uris = this.makeUriArray(urls);\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\n private parsePasswordHistory(items: any[], cipher: CipherView) {\n const maxSize = items.length > 5 ? 5 : items.length;\n cipher.passwordHistory = items\n .filter((h: any) => !this.isNullOrWhitespace(h.value) && h.time != null)\n .sort((a, b) => b.time - a.time)\n .slice(0, maxSize)\n .map((h: any) => {\n const ph = new PasswordHistoryView();\n ph.password = h.value;\n ph.lastUsedDate = new Date(('' + h.time).length >= 13 ? h.time : h.time * 1000);\n return ph;\n });\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 } else if (cipher.type === CipherType.Identity) {\n const identity = cipher.identity;\n if (this.isNullOrWhitespace(identity.firstName) && fieldDesignation === 'firstname') {\n identity.firstName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.lastName) && fieldDesignation === 'lastname') {\n identity.lastName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.middleName) && fieldDesignation === 'initial') {\n identity.middleName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.phone) && fieldDesignation === 'defphone') {\n identity.phone = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.company) && fieldDesignation === 'company') {\n identity.company = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.email) && fieldDesignation === 'email') {\n identity.email = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.username) && fieldDesignation === 'username') {\n identity.username = fieldValue;\n return;\n } else if (fieldDesignation === 'address') {\n // fieldValue is an object casted into a string, so access the plain value instead\n const { street, city, country, zip } = field[valueKey];\n identity.address1 = this.getValueOrDefault(street);\n identity.city = this.getValueOrDefault(city);\n if (!this.isNullOrWhitespace(country)) {\n identity.country = country.toUpperCase();\n }\n identity.postalCode = this.getValueOrDefault(zip);\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n if (fieldName === 'password' && cipher.passwordHistory != null &&\n cipher.passwordHistory.some(h => h.password === fieldValue)) {\n return;\n }\n\n const fieldType = field.k === 'concealed' ? FieldType.Hidden : FieldType.Text;\n this.processKvp(cipher, fieldName, fieldValue, fieldType);\n });\n }\n}\n","import { Importer } from '../importer';\nimport { IgnoredProperties, OnePasswordCsvImporter } from './onepasswordCsvImporter';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { CardView, CipherView, IdentityView } from '../../models/view';\n\nexport class OnePasswordMacCsvImporter extends OnePasswordCsvImporter implements Importer {\n setCipherType(value: any, cipher: CipherView) {\n const onePassType = this.getValueOrDefault(this.getProp(value, 'type'), 'Login');\n switch (onePassType) {\n case 'Credit Card':\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n IgnoredProperties.push('type');\n break;\n case 'Identity':\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n IgnoredProperties.push('type');\n break;\n case 'Login':\n case 'Secure Note':\n IgnoredProperties.push('type');\n default:\n break;\n }\n }\n}\n","import { CipherView } from '../../models/view';\n\nexport class CipherImportContext {\n lowerProperty: string;\n constructor(public importRecord: any, public property: string, public cipher: CipherView) {\n this.lowerProperty = property.toLowerCase();\n }\n}\n","export class View {\n}\n","import { Importer } from '../importer';\nimport { CipherImportContext } from './cipherImportContext';\nimport { OnePasswordCsvImporter } from './onepasswordCsvImporter';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { CardView, CipherView, IdentityView, LoginView } from '../../models/view';\n\nexport class OnePasswordWinCsvImporter extends OnePasswordCsvImporter implements Importer {\n constructor() {\n super();\n this.identityPropertyParsers.push(this.setIdentityAddress);\n }\n\n setCipherType(value: any, cipher: CipherView) {\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n\n if (!this.isNullOrWhitespace(this.getPropByRegexp(value, /\\d+: number/i)) &&\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /\\d+: expiry date/i))) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (!this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: first name/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: initial/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: last name/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /internet \\d+: email/i))) {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n }\n }\n\n setIdentityAddress(context: CipherImportContext) {\n if (context.lowerProperty.match(/address \\d+: address/i)) {\n this.processKvp(context.cipher, 'address', context.importRecord[context.property]);\n return true;\n }\n return false;\n }\n\n setCreditCardExpiry(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.expiration) && context.lowerProperty.includes('expiry date')) {\n const expSplit = (context.importRecord[context.property] as string).split('/');\n context.cipher.card.expMonth = expSplit[0];\n if (context.cipher.card.expMonth[0] === '0' && context.cipher.card.expMonth.length === 2) {\n context.cipher.card.expMonth = context.cipher.card.expMonth.substr(1, 1);\n }\n context.cipher.card.expYear = expSplit[2].length > 4 ? expSplit[2].substr(0, 4) : expSplit[2];\n return true;\n }\n return false;\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n this.processFolder(result, this.getValue('category', value));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValue('description', value);\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\n cipher.login.username = this.getValue('username', value);\n cipher.login.password = this.getValue('password', value);\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\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 Promise.resolve(result);\n }\n\n private getValue(key: string, value: any) {\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PassmanJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((credential: any) => {\n if (credential.tags != null && credential.tags.length > 0) {\n const folderName = credential.tags[0].text;\n this.processFolder(result, folderName);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = credential.label;\n\n cipher.login.username = this.getValueOrDefault(credential.username);\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = this.getValueOrDefault(credential.email);\n } else if (!this.isNullOrWhitespace(credential.email)) {\n cipher.notes = ('Email: ' + credential.email + '\\n');\n }\n\n cipher.login.password = this.getValueOrDefault(credential.password);\n cipher.login.uris = this.makeUriArray(credential.url);\n cipher.notes += this.getValueOrDefault(credential.description, '');\n if (credential.otp != null) {\n cipher.login.totp = this.getValueOrDefault(credential.otp.secret);\n }\n\n if (credential.custom_fields != null) {\n credential.custom_fields.forEach((customField: any) => {\n switch (customField.field_type) {\n case 'text':\n case 'password':\n this.processKvp(cipher, customField.label, customField.value);\n break;\n }\n });\n }\n\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport class PasspackCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n const tagsJson = !this.isNullOrWhitespace(value.Tags) ? JSON.parse(value.Tags) : null;\n const tags: string[] = tagsJson != null && tagsJson.tags != null && tagsJson.tags.length > 0 ?\n tagsJson.tags.map((tagJson: string) => {\n try {\n const t = JSON.parse(tagJson);\n return this.getValueOrDefault(t.tag);\n } catch { }\n return null;\n }).filter((t: string) => !this.isNullOrWhitespace(t)) : null;\n\n if (this.organization && tags != null && tags.length > 0) {\n tags.forEach(tag => {\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 if (!this.organization && tags != null && tags.length > 0) {\n this.processFolder(result, tags[0]);\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Notes, '');\n cipher.notes += ('\\n\\n' + this.getValueOrDefault(value['Shared Notes'], '') + '\\n');\n cipher.name = this.getValueOrDefault(value['Entry Name'], '--');\n cipher.login.username = this.getValueOrDefault(value['User ID']);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.URL);\n\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\n value.__parsed_extra.forEach((extra: string) => {\n if (!this.isNullOrWhitespace(extra)) {\n cipher.notes += ('\\n' + extra);\n }\n });\n }\n\n const fieldsJson = !this.isNullOrWhitespace(value['Extra Fields']) ?\n JSON.parse(value['Extra Fields']) : null;\n const fields = fieldsJson != null && fieldsJson.extraFields != null &&\n fieldsJson.extraFields.length > 0 ? fieldsJson.extraFields.map((fieldJson: string) => {\n try {\n return JSON.parse(fieldJson);\n } catch { }\n return null;\n }) : null;\n if (fields != null) {\n fields.forEach((f: any) => {\n if (f != null) {\n this.processKvp(cipher, f.name, f.data);\n }\n });\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let newVersion = true;\n results.forEach(value => {\n if (value.length !== 5 && value.length < 9) {\n return;\n }\n const altFormat = value.length === 10 && value[0] === '0';\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[altFormat ? 1 : 0], '--');\n cipher.login.username = this.getValueOrDefault(value[altFormat ? 2 : 1]);\n cipher.login.password = this.getValueOrDefault(value[altFormat ? 3 : 2]);\n if (value.length === 5) {\n newVersion = false;\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.uris = this.makeUriArray(value[3]);\n } else {\n const folder = this.getValueOrDefault(value[altFormat ? 9 : 8], '(None)');\n let folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\n if (folderName != null) {\n folderName = folder.split(' > ').join('/');\n folderName = folder.split('>').join('/');\n }\n this.processFolder(result, folderName);\n cipher.notes = this.getValueOrDefault(value[altFormat ? 5 : 3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n }\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (newVersion && this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(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 { FolderView } from '../models/view/folderView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.items == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const foldersMap = new Map();\n results.folders.forEach((value: any) => {\n foldersMap.set(value.id, value.name);\n });\n const foldersIndexMap = new Map();\n foldersMap.forEach((val, key) => {\n foldersIndexMap.set(key, result.folders.length);\n const f = new FolderView();\n f.name = val;\n result.folders.push(f);\n });\n\n results.items.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.uris = this.makeUriArray(value.login_url);\n\n if (value.folder != null && foldersIndexMap.has(value.folder)) {\n result.folderRelationships.push([result.ciphers.length, foldersIndexMap.get(value.folder)]);\n }\n\n if (value.identifiers == null) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\n }\n\n if (value.type === 'CreditCard') {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n }\n\n for (const property in value.identifiers) {\n if (!value.identifiers.hasOwnProperty(property)) {\n continue;\n }\n const valObj = value.identifiers[property];\n const val = valObj != null ? valObj.toString() : null;\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\n continue;\n }\n\n if (property === 'custom_fields') {\n valObj.forEach((cf: any) => {\n this.processKvp(cipher, cf.name, cf.value);\n });\n continue;\n }\n\n if (cipher.type === CipherType.Card) {\n if (property === 'cardNumber') {\n cipher.card.number = val;\n cipher.card.brand = this.getCardBrand(val);\n continue;\n } else if (property === 'nameOnCard') {\n cipher.card.cardholderName = val;\n continue;\n } else if (property === 'security_code') {\n cipher.card.code = val;\n continue;\n } else if (property === 'expires') {\n try {\n const expDate = new Date(val);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n continue;\n } else if (property === 'cardType') {\n continue;\n }\n } else {\n if ((property === 'username' || property === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = val;\n continue;\n } else if (property === 'password') {\n cipher.login.password = val;\n continue;\n } else if (property === 'totp') {\n cipher.login.totp = val;\n continue;\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(property) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n continue;\n }\n }\n\n this.processKvp(cipher, property, val);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const passwordSafe = doc.querySelector('passwordsafe');\n if (passwordSafe == null) {\n result.errorMessage = 'Missing `passwordsafe` node.';\n result.success = false;\n return Promise.resolve(result);\n }\n\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\n const entries = doc.querySelectorAll('passwordsafe > entry');\n Array.from(entries).forEach(entry => {\n const group = this.querySelectorDirectChild(entry, 'group');\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\n group.textContent.split('.').join('/') : null;\n this.processFolder(result, groupText);\n\n const title = this.querySelectorDirectChild(entry, 'title');\n const username = this.querySelectorDirectChild(entry, 'username');\n const email = this.querySelectorDirectChild(entry, 'email');\n const password = this.querySelectorDirectChild(entry, 'password');\n const url = this.querySelectorDirectChild(entry, 'url');\n const notes = this.querySelectorDirectChild(entry, 'notes');\n const cipher = this.initLoginCipher();\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\n cipher.notes = notes != null ?\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\n cipher.login.username = username != null ? this.getValueOrDefault(username.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 if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\n cipher.login.username = this.getValueOrDefault(email.textContent);\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\n : (cipher.notes + '\\n' + 'Email: ' + email.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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordWalletTxtImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n if (value.length < 1) {\n return;\n }\n if (value.length > 5) {\n this.processFolder(result, value[5]);\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n if (value.length > 4) {\n cipher.notes = this.getValueOrDefault(value[4], '').split('¬').join('\\n');\n }\n if (value.length > 2) {\n cipher.login.username = this.getValueOrDefault(value[2]);\n }\n if (value.length > 3) {\n cipher.login.password = this.getValueOrDefault(value[3]);\n }\n if (value.length > 1) {\n cipher.login.uris = this.makeUriArray(value[1]);\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\n\nexport class RememBearCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n if (value.trash === 'true') {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name);\n cipher.notes = this.getValueOrDefault(value.notes);\n if (value.type === 'LoginItem') {\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.username);\n } else if (value.type === 'CreditCardItem') {\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 cipher.card.code = this.getValueOrDefault(value.verification);\n\n try {\n const expMonth = this.getValueOrDefault(value.expiryMonth);\n if (expMonth != null) {\n const expMonthNumber = parseInt(expMonth, null);\n if (expMonthNumber != null && expMonthNumber >= 1 && expMonthNumber <= 12) {\n cipher.card.expMonth = expMonthNumber.toString();\n }\n }\n } catch { }\n try {\n const expYear = this.getValueOrDefault(value.expiryYear);\n if (expYear != null) {\n const expYearNumber = parseInt(expYear, null);\n if (expYearNumber != null) {\n cipher.card.expYear = expYearNumber.toString();\n }\n }\n } catch { }\n\n const pin = this.getValueOrDefault(value.pin);\n if (pin != null) {\n this.processKvp(cipher, 'PIN', pin);\n }\n const zip = this.getValueOrDefault(value.zipCode);\n if (zip != null) {\n this.processKvp(cipher, 'Zip Code', zip);\n }\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let i = 1;\n results.forEach(value => {\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\n value.Folder.replace('/', '') : value.Folder;\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.name = this.getValueOrDefault(value.Name, '--');\n cipher.login.username = this.getValueOrDefault(value.Login);\n cipher.login.password = this.getValueOrDefault(value.Pwd);\n cipher.login.uris = this.makeUriArray(value.Url);\n\n if (!this.isNullOrWhitespace(value.Rf_fields)) {\n let fields: string[] = [value.Rf_fields];\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\n fields = fields.concat(value.__parsed_extra);\n }\n fields.forEach((field: string) => {\n const parts = field.split(':');\n if (parts.length < 3) {\n return;\n }\n const key = parts[0] === '-no-name-' ? null : parts[0];\n const val = parts.length === 4 && parts[2] === 'rck' ? parts[1] : parts[2];\n this.processKvp(cipher, key, val);\n });\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\n return;\n }\n\n result.ciphers.push(cipher);\n i++;\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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 === 'one_time_password') {\n cipher.login.totp = 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 Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SecureSafeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.Title);\n cipher.notes = this.getValueOrDefault(value.Comment);\n cipher.login.uris = this.makeUriArray(value.Url);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.username = this.getValueOrDefault(value.Username);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view/cipherView';\n\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n if (value.length < 3) {\n return;\n }\n\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\n cipher.name = this.getValueOrDefault(value[1], '--');\n\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\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 this.parseFieldsToNotes(cipher, 5, value);\n } else {\n this.parseFieldsToNotes(cipher, 2, value);\n }\n\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(result);\n }\n\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\n // last 3 rows do not get parsed\n for (let i = startIndex; i < value.length - 3; i++) {\n if (this.isNullOrWhitespace(value[i])) {\n continue;\n }\n cipher.notes += (value[i] + '\\n');\n }\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\n Array.from(loginNodes).forEach(loginNode => {\n const accountId = loginNode.getAttribute('ID');\n if (this.isNullOrWhitespace(accountId)) {\n return;\n }\n\n const usernameText = loginNode.getAttribute('Name');\n const passwordText = loginNode.getAttribute('Password');\n let titleText: string = null;\n let linkText: string = null;\n let notesText: string = null;\n let groupId: string = null;\n let groupText: string = null;\n\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\n if (accountLogin != null) {\n const account = accountLogin.parentElement.parentElement;\n if (account != null) {\n titleText = account.getAttribute('Name');\n linkText = account.getAttribute('Link');\n groupId = account.getAttribute('ParentID');\n notesText = account.getAttribute('Comments');\n if (!this.isNullOrWhitespace(notesText)) {\n notesText = notesText.split('/n').join('\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(groupId)) {\n groupText = this.buildGroupText(doc, groupId, '');\n this.processFolder(result, groupText);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(titleText, '--');\n cipher.notes = this.getValueOrDefault(notesText);\n cipher.login.username = this.getValueOrDefault(usernameText);\n cipher.login.password = this.getValueOrDefault(passwordText);\n cipher.login.uris = this.makeUriArray(linkText);\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 Promise.resolve(result);\n }\n\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\n if (group == null) {\n return groupText;\n }\n if (!this.isNullOrWhitespace(groupText)) {\n groupText = '/' + groupText;\n }\n groupText = group.getAttribute('Name') + groupText;\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class YotiCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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['User name']);\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view';\n\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach(value => {\n if (this.isNullOrWhitespace(value['Password Name']) && this.isNullOrWhitespace(value['Secret Name'])) {\n return;\n }\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(\n value['Password Name'], this.getValueOrDefault(value['Secret Name'], '--'));\n cipher.login.uris = this.makeUriArray(\n this.getValueOrDefault(value['Password URL'], this.getValueOrDefault(value['Secret URL'])));\n this.parseData(cipher, value.SecretData);\n this.parseData(cipher, value.CustomData);\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(result);\n }\n\n private parseData(cipher: CipherView, data: string) {\n if (this.isNullOrWhitespace(data)) {\n return;\n }\n const dataLines = this.splitNewLine(data);\n dataLines.forEach(line => {\n const delimPosition = line.indexOf(':');\n if (delimPosition < 0) {\n return;\n }\n const field = line.substring(0, delimPosition);\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\n return;\n }\n const fieldLower = field.toLowerCase();\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = value;\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = value;\n } else {\n this.processKvp(cipher, field, value);\n }\n });\n }\n}\n","import * as signalR from '@microsoft/signalr';\nimport * as signalRMsgPack from '@microsoft/signalr-protocol-msgpack';\n\nimport { NotificationType } from '../enums/notificationType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { EnvironmentService } from '../abstractions/environment.service';\nimport { LogService } from '../abstractions/log.service';\nimport { NotificationsService as NotificationsServiceAbstraction } from '../abstractions/notifications.service';\nimport { SyncService } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\nimport { VaultTimeoutService } from '../abstractions/vaultTimeout.service';\n\nimport {\n NotificationResponse,\n SyncCipherNotification,\n SyncFolderNotification,\n SyncSendNotification,\n} from '../models/response/notificationResponse';\n\nexport class NotificationsService implements NotificationsServiceAbstraction {\n private signalrConnection: signalR.HubConnection;\n private url: string;\n private connected = false;\n private inited = false;\n private inactive = false;\n private reconnectTimer: any = null;\n\n constructor(private userService: UserService, private syncService: SyncService,\n private appIdService: AppIdService, private apiService: ApiService,\n private vaultTimeoutService: VaultTimeoutService,\n private logoutCallback: () => Promise, private logService: LogService) {\n }\n\n async init(environmentService: EnvironmentService): Promise {\n this.inited = false;\n this.url = 'https://notifications.bitwarden.com';\n if (environmentService.notificationsUrl != null) {\n this.url = environmentService.notificationsUrl;\n } else if (environmentService.baseUrl != null) {\n this.url = environmentService.baseUrl + '/notifications';\n }\n\n // Set notifications server URL to `https://-` to effectively disable communication\n // with the notifications server from the client app\n if (this.url === 'https://-') {\n return;\n }\n\n if (this.signalrConnection != null) {\n this.signalrConnection.off('ReceiveMessage');\n this.signalrConnection.off('Heartbeat');\n await this.signalrConnection.stop();\n this.connected = false;\n this.signalrConnection = null;\n }\n\n this.signalrConnection = new signalR.HubConnectionBuilder()\n .withUrl(this.url + '/hub', {\n accessTokenFactory: () => this.apiService.getActiveBearerToken(),\n skipNegotiation: true,\n transport: signalR.HttpTransportType.WebSockets,\n })\n .withHubProtocol(new signalRMsgPack.MessagePackHubProtocol())\n // .configureLogging(signalR.LogLevel.Trace)\n .build();\n\n this.signalrConnection.on('ReceiveMessage',\n (data: any) => this.processNotification(new NotificationResponse(data)));\n this.signalrConnection.on('Heartbeat',\n (data: any) => { /*console.log('Heartbeat!');*/ });\n this.signalrConnection.onclose(() => {\n this.connected = false;\n this.reconnect(true);\n });\n this.inited = true;\n if (await this.isAuthedAndUnlocked()) {\n await this.reconnect(false);\n }\n }\n\n async updateConnection(sync = false): Promise {\n if (!this.inited) {\n return;\n }\n try {\n if (await this.isAuthedAndUnlocked()) {\n await this.reconnect(sync);\n } else {\n await this.signalrConnection.stop();\n }\n } catch (e) {\n this.logService.error(e.toString());\n }\n }\n\n async reconnectFromActivity(): Promise {\n this.inactive = false;\n if (this.inited && !this.connected) {\n await this.reconnect(true);\n }\n }\n\n async disconnectFromInactivity(): Promise {\n this.inactive = true;\n if (this.inited && this.connected) {\n await this.signalrConnection.stop();\n }\n }\n\n private async processNotification(notification: NotificationResponse) {\n const appId = await this.appIdService.getAppId();\n if (notification == null || notification.contextId === appId) {\n return;\n }\n\n const isAuthenticated = await this.userService.isAuthenticated();\n const payloadUserId = notification.payload.userId || notification.payload.UserId;\n const myUserId = await this.userService.getUserId();\n if (isAuthenticated && payloadUserId != null && payloadUserId !== myUserId) {\n return;\n }\n\n switch (notification.type) {\n case NotificationType.SyncCipherCreate:\n case NotificationType.SyncCipherUpdate:\n await this.syncService.syncUpsertCipher(notification.payload as SyncCipherNotification,\n notification.type === NotificationType.SyncCipherUpdate);\n break;\n case NotificationType.SyncCipherDelete:\n case NotificationType.SyncLoginDelete:\n await this.syncService.syncDeleteCipher(notification.payload as SyncCipherNotification);\n break;\n case NotificationType.SyncFolderCreate:\n case NotificationType.SyncFolderUpdate:\n await this.syncService.syncUpsertFolder(notification.payload as SyncFolderNotification,\n notification.type === NotificationType.SyncFolderUpdate);\n break;\n case NotificationType.SyncFolderDelete:\n await this.syncService.syncDeleteFolder(notification.payload as SyncFolderNotification);\n break;\n case NotificationType.SyncVault:\n case NotificationType.SyncCiphers:\n case NotificationType.SyncSettings:\n if (isAuthenticated) {\n await this.syncService.fullSync(false);\n }\n break;\n case NotificationType.SyncOrgKeys:\n if (isAuthenticated) {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n // Stop so a reconnect can be made\n await this.signalrConnection.stop();\n }\n break;\n case NotificationType.LogOut:\n if (isAuthenticated) {\n this.logoutCallback();\n }\n break;\n case NotificationType.SyncSendCreate:\n case NotificationType.SyncSendUpdate:\n await this.syncService.syncUpsertSend(notification.payload as SyncSendNotification,\n notification.type === NotificationType.SyncSendUpdate);\n break;\n case NotificationType.SyncSendDelete:\n await this.syncService.syncDeleteSend(notification.payload as SyncSendNotification);\n default:\n break;\n }\n }\n\n private async reconnect(sync: boolean) {\n if (this.reconnectTimer != null) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n if (this.connected || !this.inited || this.inactive) {\n return;\n }\n const authedAndUnlocked = await this.isAuthedAndUnlocked();\n if (!authedAndUnlocked) {\n return;\n }\n\n try {\n await this.signalrConnection.start();\n this.connected = true;\n if (sync) {\n await this.syncService.fullSync(false);\n }\n } catch { }\n\n if (!this.connected) {\n this.reconnectTimer = setTimeout(() => this.reconnect(sync), this.random(120000, 300000));\n }\n }\n\n private async isAuthedAndUnlocked() {\n if (await this.userService.isAuthenticated()) {\n const locked = await this.vaultTimeoutService.isLocked();\n return !locked;\n }\n return false;\n }\n\n private random(min: number, max: number) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { NotificationType } from '../../enums/notificationType';\n\nexport class NotificationResponse extends BaseResponse {\n contextId: string;\n type: NotificationType;\n payload: any;\n\n constructor(response: any) {\n super(response);\n this.contextId = this.getResponseProperty('ContextId');\n this.type = this.getResponseProperty('Type');\n\n const payload = this.getResponseProperty('Payload');\n switch (this.type) {\n case NotificationType.SyncCipherCreate:\n case NotificationType.SyncCipherDelete:\n case NotificationType.SyncCipherUpdate:\n case NotificationType.SyncLoginDelete:\n this.payload = new SyncCipherNotification(payload);\n break;\n case NotificationType.SyncFolderCreate:\n case NotificationType.SyncFolderDelete:\n case NotificationType.SyncFolderUpdate:\n this.payload = new SyncFolderNotification(payload);\n break;\n case NotificationType.SyncVault:\n case NotificationType.SyncCiphers:\n case NotificationType.SyncOrgKeys:\n case NotificationType.SyncSettings:\n case NotificationType.LogOut:\n this.payload = new UserNotification(payload);\n break;\n case NotificationType.SyncSendCreate:\n case NotificationType.SyncSendUpdate:\n case NotificationType.SyncSendDelete:\n this.payload = new SyncSendNotification(payload);\n default:\n break;\n }\n }\n}\n\nexport class SyncCipherNotification extends BaseResponse {\n id: string;\n userId: string;\n organizationId: string;\n collectionIds: string[];\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.collectionIds = this.getResponseProperty('CollectionIds');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n\nexport class SyncFolderNotification extends BaseResponse {\n id: string;\n userId: string;\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n\nexport class UserNotification extends BaseResponse {\n userId: string;\n date: Date;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.date = new Date(this.getResponseProperty('Date'));\n }\n}\n\nexport class SyncSendNotification extends BaseResponse {\n id: string;\n userId: string;\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n","import { PolicyService as PolicyServiceAbstraction } from '../abstractions/policy.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { PolicyData } from '../models/data/policyData';\n\nimport { MasterPasswordPolicyOptions } from '../models/domain/masterPasswordPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { PolicyType } from '../enums/policyType';\n\nconst Keys = {\n policiesPrefix: 'policies_',\n};\n\nexport class PolicyService implements PolicyServiceAbstraction {\n policyCache: Policy[];\n\n constructor(private userService: UserService, private storageService: StorageService) {\n }\n\n clearCache(): void {\n this.policyCache = null;\n }\n\n async getAll(type?: PolicyType): Promise {\n if (this.policyCache == null) {\n const userId = await this.userService.getUserId();\n const policies = await this.storageService.get<{ [id: string]: PolicyData; }>(\n Keys.policiesPrefix + userId);\n const response: Policy[] = [];\n for (const id in policies) {\n if (policies.hasOwnProperty(id)) {\n response.push(new Policy(policies[id]));\n }\n }\n this.policyCache = response;\n }\n if (type != null) {\n return this.policyCache.filter(p => p.type === type);\n } else {\n return this.policyCache;\n }\n }\n\n async replace(policies: { [id: string]: PolicyData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.policiesPrefix + userId, policies);\n this.policyCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.policiesPrefix + userId);\n this.policyCache = null;\n }\n\n async getMasterPasswordPolicyOptions(policies?: Policy[]): Promise {\n let enforcedOptions: MasterPasswordPolicyOptions = null;\n\n if (policies == null) {\n policies = await this.getAll(PolicyType.MasterPassword);\n } else {\n policies = policies.filter(p => p.type === PolicyType.MasterPassword);\n }\n\n if (policies == null || policies.length === 0) {\n return enforcedOptions;\n }\n\n policies.forEach(currentPolicy => {\n if (!currentPolicy.enabled || currentPolicy.data == null) {\n return;\n }\n\n if (enforcedOptions == null) {\n enforcedOptions = new MasterPasswordPolicyOptions();\n }\n\n if (currentPolicy.data.minComplexity != null\n && currentPolicy.data.minComplexity > enforcedOptions.minComplexity) {\n enforcedOptions.minComplexity = currentPolicy.data.minComplexity;\n }\n\n if (currentPolicy.data.minLength != null\n && currentPolicy.data.minLength > enforcedOptions.minLength) {\n enforcedOptions.minLength = currentPolicy.data.minLength;\n }\n\n if (currentPolicy.data.requireUpper) {\n enforcedOptions.requireUpper = true;\n }\n\n if (currentPolicy.data.requireLower) {\n enforcedOptions.requireLower = true;\n }\n\n if (currentPolicy.data.requireNumbers) {\n enforcedOptions.requireNumbers = true;\n }\n\n if (currentPolicy.data.requireSpecial) {\n enforcedOptions.requireSpecial = true;\n }\n });\n\n return enforcedOptions;\n }\n\n evaluateMasterPassword(passwordStrength: number, newPassword: string,\n enforcedPolicyOptions: MasterPasswordPolicyOptions): boolean {\n if (enforcedPolicyOptions == null) {\n return true;\n }\n\n if (enforcedPolicyOptions.minComplexity > 0 && enforcedPolicyOptions.minComplexity > passwordStrength) {\n return false;\n }\n\n if (enforcedPolicyOptions.minLength > 0 && enforcedPolicyOptions.minLength > newPassword.length) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireUpper && newPassword.toLocaleLowerCase() === newPassword) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireLower && newPassword.toLocaleUpperCase() === newPassword) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireNumbers && !(/[0-9]/.test(newPassword))) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireSpecial && !(/[!@#$%\\^&*]/g.test(newPassword))) {\n return false;\n }\n\n return true;\n }\n}\n","import Domain from './domainBase';\n\nexport class MasterPasswordPolicyOptions extends Domain {\n minComplexity: number = 0;\n minLength: number = 0;\n requireUpper: boolean = false;\n requireLower: boolean = false;\n requireNumbers: boolean = false;\n requireSpecial: boolean = false;\n}\n","import * as lunr from 'lunr';\n\nimport { CipherView } from '../models/view/cipherView';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { LogService } from '../abstractions/log.service';\nimport { SearchService as SearchServiceAbstraction } from '../abstractions/search.service';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\nimport { SendView } from '../models/view/sendView';\n\nexport class SearchService implements SearchServiceAbstraction {\n private indexing = false;\n private index: lunr.Index = null;\n\n constructor(private cipherService: CipherService, private logService: LogService) {\n }\n\n clearIndex(): void {\n this.index = null;\n }\n\n isSearchable(query: string): boolean {\n const notSearchable = query == null || (this.index == null && query.length < 2) ||\n (this.index != null && query.length < 2 && query.indexOf('>') !== 0);\n return !notSearchable;\n }\n\n async indexCiphers(): Promise {\n if (this.indexing) {\n return;\n }\n\n this.logService.time('search indexing');\n this.indexing = true;\n this.index = null;\n const builder = new lunr.Builder();\n builder.ref('id');\n builder.field('shortid', { boost: 100, extractor: (c: CipherView) => c.id.substr(0, 8) });\n builder.field('name', { boost: 10 });\n builder.field('subtitle', {\n boost: 5,\n extractor: (c: CipherView) => {\n if (c.subTitle != null && c.type === CipherType.Card) {\n return c.subTitle.replace(/\\*/g, '');\n }\n return c.subTitle;\n },\n });\n builder.field('notes');\n builder.field('login.username', {\n extractor: (c: CipherView) => c.type === CipherType.Login && c.login != null ? c.login.username : null,\n });\n builder.field('login.uris', { boost: 2, extractor: (c: CipherView) => this.uriExtractor(c) });\n builder.field('fields', { extractor: (c: CipherView) => this.fieldExtractor(c, false) });\n builder.field('fields_joined', { extractor: (c: CipherView) => this.fieldExtractor(c, true) });\n builder.field('attachments', { extractor: (c: CipherView) => this.attachmentExtractor(c, false) });\n builder.field('attachments_joined',\n { extractor: (c: CipherView) => this.attachmentExtractor(c, true) });\n builder.field('organizationid', { extractor: (c: CipherView) => c.organizationId });\n const ciphers = await this.cipherService.getAllDecrypted();\n ciphers.forEach(c => builder.add(c));\n this.index = builder.build();\n this.indexing = false;\n\n this.logService.timeEnd('search indexing');\n }\n\n async searchCiphers(query: string,\n filter: (((cipher: CipherView) => boolean) | (((cipher: CipherView) => boolean)[])) = null,\n ciphers: CipherView[] = null):\n Promise {\n const results: CipherView[] = [];\n if (query != null) {\n query = query.trim().toLowerCase();\n }\n if (query === '') {\n query = null;\n }\n\n if (ciphers == null) {\n ciphers = await this.cipherService.getAllDecrypted();\n }\n\n if (filter != null && Array.isArray(filter) && filter.length > 0) {\n ciphers = ciphers.filter(c => filter.every(f => f == null || f(c)));\n } else if (filter != null) {\n ciphers = ciphers.filter(filter as (cipher: CipherView) => boolean);\n }\n\n if (!this.isSearchable(query)) {\n return ciphers;\n }\n\n if (this.indexing) {\n await new Promise(r => setTimeout(r, 250));\n if (this.indexing) {\n await new Promise(r => setTimeout(r, 500));\n }\n }\n\n const index = this.getIndexForSearch();\n if (index == null) {\n // Fall back to basic search if index is not available\n return this.searchCiphersBasic(ciphers, query);\n }\n\n const ciphersMap = new Map();\n ciphers.forEach(c => ciphersMap.set(c.id, c));\n\n let searchResults: lunr.Index.Result[] = null;\n const isQueryString = query != null && query.length > 1 && query.indexOf('>') === 0;\n if (isQueryString) {\n try {\n searchResults = index.search(query.substr(1).trim());\n } catch { }\n } else {\n // tslint:disable-next-line\n const soWild = lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING;\n searchResults = index.query(q => {\n lunr.tokenizer(query).forEach(token => {\n const t = token.toString();\n q.term(t, { fields: ['name'], wildcard: soWild });\n q.term(t, { fields: ['subtitle'], wildcard: soWild });\n q.term(t, { fields: ['login.uris'], wildcard: soWild });\n q.term(t, {});\n });\n });\n }\n\n if (searchResults != null) {\n searchResults.forEach(r => {\n if (ciphersMap.has(r.ref)) {\n results.push(ciphersMap.get(r.ref));\n }\n });\n }\n return results;\n }\n\n searchCiphersBasic(ciphers: CipherView[], query: string, deleted: boolean = false) {\n query = query.trim().toLowerCase();\n return ciphers.filter(c => {\n if (deleted !== c.isDeleted) {\n return false;\n }\n if (c.name != null && c.name.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (query.length >= 8 && c.id.startsWith(query)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n return false;\n });\n }\n\n searchSends(sends: SendView[], query: string) {\n query = query.trim().toLocaleLowerCase();\n\n return sends.filter(s => {\n if (s.name != null && s.name.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (query.length >= 8 && (s.id.startsWith(query) || s.accessId.toLocaleLowerCase().startsWith(query) || (s.file?.id != null && s.file.id.startsWith(query)))) {\n return true;\n }\n if (s.notes != null && s.notes.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (s.text?.text != null && s.text.text.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (s.file?.fileName != null && s.file.fileName.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n });\n }\n\n getIndexForSearch(): lunr.Index {\n return this.index;\n }\n\n private fieldExtractor(c: CipherView, joined: boolean) {\n if (!c.hasFields) {\n return null;\n }\n let fields: string[] = [];\n c.fields.forEach(f => {\n if (f.name != null) {\n fields.push(f.name);\n }\n if (f.type === FieldType.Text && f.value != null) {\n fields.push(f.value);\n }\n });\n fields = fields.filter(f => f.trim() !== '');\n if (fields.length === 0) {\n return null;\n }\n return joined ? fields.join(' ') : fields;\n }\n\n private attachmentExtractor(c: CipherView, joined: boolean) {\n if (!c.hasAttachments) {\n return null;\n }\n let attachments: string[] = [];\n c.attachments.forEach(a => {\n if (a != null && a.fileName != null) {\n if (joined && a.fileName.indexOf('.') > -1) {\n attachments.push(a.fileName.substr(0, a.fileName.lastIndexOf('.')));\n } else {\n attachments.push(a.fileName);\n }\n }\n });\n attachments = attachments.filter(f => f.trim() !== '');\n if (attachments.length === 0) {\n return null;\n }\n return joined ? attachments.join(' ') : attachments;\n }\n\n private uriExtractor(c: CipherView) {\n if (c.type !== CipherType.Login || c.login == null || !c.login.hasUris) {\n return null;\n }\n const uris: string[] = [];\n c.login.uris.forEach(u => {\n if (u.uri == null || u.uri === '') {\n return;\n }\n if (u.hostname != null) {\n uris.push(u.hostname);\n return;\n }\n let uri = u.uri;\n if (u.match !== UriMatchType.RegularExpression) {\n const protocolIndex = uri.indexOf('://');\n if (protocolIndex > -1) {\n uri = uri.substr(protocolIndex + 3);\n }\n const queryIndex = uri.search(/\\?|&|#/);\n if (queryIndex > -1) {\n uri = uri.substring(0, queryIndex);\n }\n }\n uris.push(uri);\n });\n return uris.length > 0 ? uris : null;\n }\n}\n","import { SendData } from '../models/data/sendData';\n\nimport { SendRequest } from '../models/request/sendRequest';\n\nimport { SendResponse } from '../models/response/sendResponse';\n\nimport { Send } from '../models/domain/send';\nimport { SendFile } from '../models/domain/sendFile';\nimport { SendText } from '../models/domain/sendText';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { SendType } from '../enums/sendType';\n\nimport { SendView } from '../models/view/sendView';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { SendService as SendServiceAbstraction } from '../abstractions/send.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { Utils } from '../misc/utils';\nimport { CipherString } from '../models/domain';\n\nconst Keys = {\n sendsPrefix: 'sends_',\n};\n\nexport class SendService implements SendServiceAbstraction {\n decryptedSendCache: SendView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private apiService: ApiService, private storageService: StorageService,\n private i18nService: I18nService, private cryptoFunctionService: CryptoFunctionService) { }\n\n clearCache(): void {\n this.decryptedSendCache = null;\n }\n\n async encrypt(model: SendView, file: File | ArrayBuffer, password: string,\n key?: SymmetricCryptoKey): Promise<[Send, ArrayBuffer]> {\n let fileData: ArrayBuffer = null;\n const send = new Send();\n send.id = model.id;\n send.type = model.type;\n send.disabled = model.disabled;\n send.maxAccessCount = model.maxAccessCount;\n if (model.key == null) {\n model.key = await this.cryptoFunctionService.randomBytes(16);\n model.cryptoKey = await this.cryptoService.makeSendKey(model.key);\n }\n if (password != null) {\n const passwordHash = await this.cryptoFunctionService.pbkdf2(password, model.key, 'sha256', 100000);\n send.password = Utils.fromBufferToB64(passwordHash);\n }\n send.key = await this.cryptoService.encrypt(model.key, key);\n send.name = await this.cryptoService.encrypt(model.name, model.cryptoKey);\n send.notes = await this.cryptoService.encrypt(model.notes, model.cryptoKey);\n if (send.type === SendType.Text) {\n send.text = new SendText();\n send.text.text = await this.cryptoService.encrypt(model.text.text, model.cryptoKey);\n send.text.hidden = model.text.hidden;\n } else if (send.type === SendType.File) {\n send.file = new SendFile();\n if (file != null) {\n if (file instanceof ArrayBuffer) {\n const [name, data] = await this.encryptFileData(model.file.fileName, file, model.cryptoKey);\n send.file.fileName = name;\n fileData = data;\n } else {\n fileData = await this.parseFile(send, file, model.cryptoKey);\n }\n }\n }\n\n return [send, fileData];\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null || !sends.hasOwnProperty(id)) {\n return null;\n }\n\n return new Send(sends[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n const response: Send[] = [];\n for (const id in sends) {\n if (sends.hasOwnProperty(id)) {\n response.push(new Send(sends[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedSendCache != null) {\n return this.decryptedSendCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const decSends: SendView[] = [];\n const promises: Promise[] = [];\n const sends = await this.getAll();\n sends.forEach(send => {\n promises.push(send.decrypt().then(f => decSends.push(f)));\n });\n\n await Promise.all(promises);\n decSends.sort(Utils.getSortFunction(this.i18nService, 'name'));\n\n this.decryptedSendCache = decSends;\n return this.decryptedSendCache;\n }\n\n async saveWithServer(sendData: [Send, ArrayBuffer]): Promise {\n const request = new SendRequest(sendData[0], sendData[1]?.byteLength);\n let response: SendResponse;\n if (sendData[0].id == null) {\n if (sendData[0].type === SendType.Text) {\n response = await this.apiService.postSend(request);\n } else {\n const fd = new FormData();\n try {\n const blob = new Blob([sendData[1]], { type: 'application/octet-stream' });\n fd.append('model', JSON.stringify(request));\n fd.append('data', blob, sendData[0].file.fileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('model', JSON.stringify(request));\n fd.append('data', Buffer.from(sendData[1]) as any, {\n filepath: sendData[0].file.fileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n response = await this.apiService.postSendFile(fd);\n }\n sendData[0].id = response.id;\n sendData[0].accessId = response.accessId;\n } else {\n response = await this.apiService.putSend(sendData[0].id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new SendData(response, userId);\n await this.upsert(data);\n }\n\n async upsert(send: SendData | SendData[]): Promise {\n const userId = await this.userService.getUserId();\n let sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null) {\n sends = {};\n }\n\n if (send instanceof SendData) {\n const s = send as SendData;\n sends[s.id] = s;\n } else {\n (send as SendData[]).forEach(s => {\n sends[s.id] = s;\n });\n }\n\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async replace(sends: { [id: string]: SendData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.sendsPrefix + userId);\n this.decryptedSendCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (sends[id] == null) {\n return;\n }\n delete sends[id];\n } else {\n (id as string[]).forEach(i => {\n delete sends[i];\n });\n }\n\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteSend(id);\n await this.delete(id);\n }\n\n async removePasswordWithServer(id: string): Promise {\n const response = await this.apiService.putSendRemovePassword(id);\n const userId = await this.userService.getUserId();\n const data = new SendData(response, userId);\n await this.upsert(data);\n }\n\n private parseFile(send: Send, file: File, key: SymmetricCryptoKey): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(file);\n reader.onload = async evt => {\n try {\n const [name, data] = await this.encryptFileData(file.name, evt.target.result as ArrayBuffer, key);\n send.file.fileName = name;\n resolve(data);\n } catch (e) {\n reject(e);\n }\n };\n reader.onerror = evt => {\n reject('Error reading file.');\n };\n });\n }\n\n private async encryptFileData(fileName: string, data: ArrayBuffer,\n key: SymmetricCryptoKey): Promise<[CipherString, ArrayBuffer]> {\n const encFileName = await this.cryptoService.encrypt(fileName, key);\n const encFileData = await this.cryptoService.encryptToBytes(data, key);\n return [encFileName, encFileData];\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nimport { Send } from '../domain/send';\n\nexport class SendRequest {\n type: SendType;\n fileLength?: number;\n name: string;\n notes: string;\n key: string;\n maxAccessCount?: number;\n expirationDate: string;\n deletionDate: string;\n text: SendTextApi;\n file: SendFileApi;\n password: string;\n disabled: boolean;\n\n constructor(send: Send, fileLength?: number) {\n this.type = send.type;\n this.fileLength = fileLength;\n this.name = send.name ? send.name.encryptedString : null;\n this.notes = send.notes ? send.notes.encryptedString : null;\n this.maxAccessCount = send.maxAccessCount;\n this.expirationDate = send.expirationDate != null ? send.expirationDate.toISOString() : null;\n this.deletionDate = send.deletionDate != null ? send.deletionDate.toISOString() : null;\n this.key = send.key != null ? send.key.encryptedString : null;\n this.password = send.password;\n this.disabled = send.disabled;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendTextApi();\n this.text.text = send.text.text != null ? send.text.text.encryptedString : null;\n this.text.hidden = send.text.hidden;\n break;\n case SendType.File:\n this.file = new SendFileApi();\n this.file.fileName = send.file.fileName != null ? send.file.fileName.encryptedString : null;\n break;\n default:\n break;\n }\n }\n}\n","import { CryptoService } from '../../abstractions/crypto.service';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { Utils } from '../../misc/utils';\n\nimport { SendData } from '../data/sendData';\n\nimport { SendView } from '../view/sendView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SendFile } from './sendFile';\nimport { SendText } from './sendText';\n\nexport class Send extends Domain {\n id: string;\n accessId: string;\n userId: string;\n type: SendType;\n name: CipherString;\n notes: CipherString;\n file: SendFile;\n text: SendText;\n key: CipherString;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: Date;\n expirationDate: Date;\n deletionDate: Date;\n password: string;\n disabled: boolean;\n\n constructor(obj?: SendData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n accessId: null,\n userId: null,\n name: null,\n notes: null,\n key: null,\n }, alreadyEncrypted, ['id', 'accessId', 'userId']);\n\n this.type = obj.type;\n this.maxAccessCount = obj.maxAccessCount;\n this.accessCount = obj.accessCount;\n this.password = obj.password;\n this.disabled = obj.disabled;\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n this.deletionDate = obj.deletionDate != null ? new Date(obj.deletionDate) : null;\n this.expirationDate = obj.expirationDate != null ? new Date(obj.expirationDate) : null;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendText(obj.text, alreadyEncrypted);\n break;\n case SendType.File:\n this.file = new SendFile(obj.file, alreadyEncrypted);\n break;\n default:\n break;\n }\n }\n\n async decrypt(): Promise {\n const model = new SendView(this);\n\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n model.key = await cryptoService.decryptToBytes(this.key, null);\n model.cryptoKey = await cryptoService.makeSendKey(model.key);\n } catch (e) {\n // TODO: error?\n }\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, null, model.cryptoKey);\n\n switch (this.type) {\n case SendType.File:\n model.file = await this.file.decrypt(model.cryptoKey);\n break;\n case SendType.Text:\n model.text = await this.text.decrypt(model.cryptoKey);\n break;\n default:\n break;\n }\n\n return model;\n }\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 { DecryptParameters } from '../models/domain/decryptParameters';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport class WebCryptoFunctionService implements CryptoFunctionService {\n private crypto: Crypto;\n private subtle: SubtleCrypto;\n private isIE: boolean;\n private isOldSafari: 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.isIE = platformUtilsService.isIE();\n const ua = win.navigator.userAgent;\n this.isOldSafari = platformUtilsService.isSafari() &&\n (ua.indexOf(' Version/10.') > -1 || ua.indexOf(' Version/9.') > -1);\n }\n\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number): Promise {\n if (this.isIE || this.isOldSafari) {\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 hkdf(ikm: ArrayBuffer, salt: string | ArrayBuffer, info: string | ArrayBuffer,\n outputByteSize: number, algorithm: 'sha256' | 'sha512'): Promise {\n const saltBuf = this.toBuf(salt);\n const infoBuf = this.toBuf(info);\n\n const hkdfParams: HkdfParams = {\n name: 'HKDF',\n salt: saltBuf,\n info: infoBuf,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', ikm, { name: 'HKDF' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(hkdfParams as any, impKey, outputByteSize * 8);\n }\n\n // ref: https://tools.ietf.org/html/rfc5869\n async hkdfExpand(prk: ArrayBuffer, info: string | ArrayBuffer, outputByteSize: number,\n algorithm: 'sha256' | 'sha512'): Promise {\n const hashLen = algorithm === 'sha256' ? 32 : 64;\n if (outputByteSize > 255 * hashLen) {\n throw new Error('outputByteSize is too large.');\n }\n const prkArr = new Uint8Array(prk);\n if (prkArr.length < hashLen) {\n throw new Error('prk is too small.');\n }\n const infoBuf = this.toBuf(info);\n const infoArr = new Uint8Array(infoBuf);\n let runningOkmLength = 0;\n let previousT = new Uint8Array(0);\n const n = Math.ceil(outputByteSize / hashLen);\n const okm = new Uint8Array(n * hashLen);\n for (let i = 0; i < n; i++) {\n const t = new Uint8Array(previousT.length + infoArr.length + 1);\n t.set(previousT);\n t.set(infoArr, previousT.length);\n t.set([i + 1], t.length - 1);\n previousT = new Uint8Array(await this.hmac(t.buffer, prk, algorithm));\n okm.set(previousT, runningOkmLength);\n runningOkmLength += previousT.length;\n if (runningOkmLength >= outputByteSize) {\n break;\n }\n }\n return okm.slice(0, outputByteSize).buffer;\n }\n\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): Promise {\n if ((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 if (this.isIE && algorithm === 'sha512') {\n const hmac = (forge as any).hmac.create();\n const keyBytes = this.toByteString(key);\n const valueBytes = this.toByteString(value);\n hmac.start(algorithm, keyBytes);\n hmac.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(hmac.digest().data).buffer;\n }\n\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","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 jq from 'jquery';\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\n\nimport {\n BodyOutputType,\n Toast,\n ToasterConfig,\n ToasterContainerComponent,\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 SecurityContext,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\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 { EventService } from 'jslib/abstractions/event.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { NotificationsService } from 'jslib/abstractions/notifications.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { SettingsService } from 'jslib/abstractions/settings.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { RouterService } from './services/router.service';\n\nconst BroadcasterSubscriptionId = 'AppComponent';\nconst IdleTimeout = 60000 * 10; // 10 minutes\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 private idleTimer: number = null;\n private isIdle = false;\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 vaultTimeoutService: VaultTimeoutService, private storageService: StorageService,\n private cryptoService: CryptoService, private collectionService: CollectionService,\n private sanitizer: DomSanitizer, private searchService: SearchService,\n private notificationsService: NotificationsService, private routerService: RouterService,\n private stateService: StateService, private eventService: EventService,\n private policyService: PolicyService) { }\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 'loggedOut':\n case 'unlocked':\n this.notificationsService.updateConnection(false);\n break;\n case 'authBlocked':\n this.router.navigate(['/']);\n break;\n case 'logout':\n this.logOut(!!message.expired);\n break;\n case 'lockVault':\n await this.vaultTimeoutService.lock();\n break;\n case 'locked':\n this.notificationsService.updateConnection(false);\n this.router.navigate(['lock']);\n break;\n case 'lockedUrl':\n window.setTimeout(() => this.routerService.setPreviousUrl(message.url), 500);\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 case 'showToast':\n this.showToast(message);\n break;\n case 'analyticsEventTrack':\n this.analytics.eventTrack.next({\n action: message.action,\n properties: { label: message.label },\n });\n break;\n case 'setFullWidth':\n this.setFullWidth();\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 this.setFullWidth();\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n private async logOut(expired: boolean) {\n await this.eventService.uploadEvents();\n const userId = await this.userService.getUserId();\n\n await Promise.all([\n this.eventService.clearEvents(),\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.policyService.clear(userId),\n this.passwordGenerationService.clear(),\n this.stateService.purge(),\n ]);\n\n this.searchService.clearIndex();\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\n Swal.close();\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 // Idle states\n if (this.isIdle) {\n this.isIdle = false;\n this.idleStateChanged();\n }\n if (this.idleTimer != null) {\n window.clearTimeout(this.idleTimer);\n this.idleTimer = null;\n }\n this.idleTimer = window.setTimeout(() => {\n if (!this.isIdle) {\n this.isIdle = true;\n this.idleStateChanged();\n }\n }, IdleTimeout);\n }\n\n private showToast(msg: any) {\n const toast: Toast = {\n type: msg.type,\n title: msg.title,\n };\n if (typeof (msg.text) === 'string') {\n toast.body = msg.text;\n } else if (msg.text.length === 1) {\n toast.body = msg.text[0];\n } else {\n let message = '';\n msg.text.forEach((t: string) =>\n message += ('

' + this.sanitizer.sanitize(SecurityContext.HTML, t) + '

'));\n toast.body = message;\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\n }\n if (msg.options != null) {\n if (msg.options.trustedHtml === true) {\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\n }\n if (msg.options.timeout != null && msg.options.timeout > 0) {\n toast.timeout = msg.options.timeout;\n }\n }\n this.toasterService.popAsync(toast);\n }\n\n private idleStateChanged() {\n if (this.isIdle) {\n this.notificationsService.disconnectFromInactivity();\n } else {\n this.notificationsService.reconnectFromActivity();\n }\n }\n\n private async setFullWidth() {\n const enableFullWidth = await this.storageService.get('enableFullWidth');\n if (enableFullWidth) {\n document.body.classList.add('full-width');\n } else {\n document.body.classList.remove('full-width');\n }\n }\n}\n","\n\n","import {\n Directive,\n ElementRef,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appBlurClick]',\n})\nexport class BlurClickDirective {\n constructor(private el: ElementRef) {\n }\n\n @HostListener('click') onClick() {\n this.el.nativeElement.blur();\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n OnInit,\n} from '@angular/core';\n\n@Directive({\n selector: '[appBoxRow]',\n})\nexport class BoxRowDirective implements OnInit {\n el: HTMLElement = null;\n formEls: Element[];\n\n constructor(private elRef: ElementRef) {\n this.el = elRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\n this.formEls.forEach(formEl => {\n formEl.addEventListener('focus', (event: Event) => {\n this.el.classList.add('active');\n }, false);\n\n formEl.addEventListener('blur', (event: Event) => {\n this.el.classList.remove('active');\n }, false);\n });\n }\n\n @HostListener('click', ['$event']) onClick(event: Event) {\n const target = event.target as HTMLElement;\n if (target !== this.el && !target.classList.contains('progress') &&\n !target.classList.contains('progress-bar')) {\n return;\n }\n\n if (this.formEls.length > 0) {\n const formEl = (this.formEls[0] as HTMLElement);\n if (formEl.tagName.toLowerCase() === 'input') {\n const inputEl = (formEl as HTMLInputElement);\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\n inputEl.click();\n return;\n }\n }\n formEl.focus();\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { CipherView } from '../../models/view/cipherView';\n\n@Pipe({\n name: 'searchCiphers',\n})\nexport class SearchCiphersPipe implements PipeTransform {\n transform(ciphers: CipherView[], searchText: string, deleted: boolean = false): CipherView[] {\n if (ciphers == null || ciphers.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return ciphers.filter(c => {\n return deleted !== c.isDeleted;\n });\n }\n\n searchText = searchText.trim().toLowerCase();\n return ciphers.filter(c => {\n if (deleted !== c.isDeleted) {\n return false;\n }\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\n return true;\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"],"sourceRoot":""} \ No newline at end of file diff --git a/app/polyfills.164bd5060b8279190884.js b/app/polyfills.164bd5060b8279190884.js deleted file mode 100644 index 22c25a2c..00000000 --- a/app/polyfills.164bd5060b8279190884.js +++ /dev/null @@ -1,152 +0,0 @@ -!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=733)}([,,function(t,e,n){var r=n(21),o=n(55),i=n(56),a=n(52),u=n(64),c=function(t,e,n){var s,f,l,h,p=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=!p&&b&&void 0!==b[s])?b:n)[s],h=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,h),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(23);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},,,,,function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,,,,function(t,e,n){var r=n(132)("wks"),o=n(90),i=n(21).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(65),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},,function(t,e,n){var r=n(16),o=n(218),i=n(76),a=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(u){}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(22)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,,,,,,function(t,e,n){var r=n(77);t.exports=function(t){return Object(r(t))}},,,,function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},,function(t,e,n){var r=n(2),o=n(22),i=n(77),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){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(21),o=n(56),i=n(51),a=n(90)("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(115),o=n(77);t.exports=function(t){return r(o(t))}},,function(t,e){var n=t.exports={version:"2.6.2"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(33),o=n(85);t.exports=n(35)?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(51),o=n(43),i=n(173)("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,n){var r=n(124),o=n(85),i=n(53),a=n(76),u=n(51),c=n(218),s=Object.getOwnPropertyDescriptor;e.f=n(35)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(n){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){"use strict";var r=n(22);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(47);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){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(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(2),o=n(55),i=n(22);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,n){var r=n(64),o=n(115),i=n(43),a=n(31),u=n(232);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,h=5==t||l,p=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,S=n?p(e,_):c?p(e,0):void 0;_>w;w++)if((h||w in b)&&(y=m(d=b[w],w,g),t))if(n)S[w]=y;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:S.push(d)}else if(f)return!1;return l?-1:s||f?f:S}}},,,,,,function(t,e,n){var r=n(23);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";if(n(35)){var r=n(86),o=n(21),i=n(22),a=n(2),u=n(139),c=n(188),s=n(64),f=n(98),l=n(85),h=n(56),p=n(100),v=n(65),d=n(31),y=n(243),g=n(92),b=n(76),m=n(51),_=n(95),w=n(23),S=n(43),k=n(184),E=n(83),x=n(58),T=n(93).f,O=n(134),P=n(90),A=n(28),j=n(70),M=n(151),I=n(126),C=n(204),R=n(108),D=n(135),F=n(97),N=n(185),Z=n(234),L=n(33),B=n(60),U=L.f,z=B.f,H=o.RangeError,W=o.TypeError,K=o.Uint8Array,G=Array.prototype,q=c.ArrayBuffer,V=c.DataView,X=j(0),Y=j(2),J=j(3),$=j(4),Q=j(5),tt=j(6),et=M(!0),nt=M(!1),rt=C.values,ot=C.keys,it=C.entries,at=G.lastIndexOf,ut=G.reduce,ct=G.reduceRight,st=G.join,ft=G.sort,lt=G.slice,ht=G.toString,pt=G.toLocaleString,vt=A("iterator"),dt=A("toStringTag"),yt=P("typed_constructor"),gt=P("def_constructor"),bt=u.CONSTR,mt=u.TYPED,_t=u.VIEW,wt=j(1,function(t,e){return Tt(I(t,t[gt]),e)}),St=i(function(){return 1===new K(new Uint16Array([1]).buffer)[0]}),kt=!!K&&!!K.prototype.set&&i(function(){new K(1).set({})}),Et=function(t,e){var n=v(t);if(n<0||n%e)throw H("Wrong offset!");return n},xt=function(t){if(w(t)&&mt in t)return t;throw W(t+" is not a typed array!")},Tt=function(t,e){if(!(w(t)&&yt in t))throw W("It is not a typed array constructor!");return new t(e)},Ot=function(t,e){return Pt(I(t,t[gt]),e)},Pt=function(t,e){for(var n=0,r=e.length,o=Tt(t,r);r>n;)o[n]=e[n++];return o},At=function(t,e,n){U(t,e,{get:function(){return this._d[n]}})},jt=function(t){var e,n,r,o,i,a,u=S(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=O(u);if(null!=h&&!k(h)){for(a=h.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=Tt(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},Mt=function(){for(var t=0,e=arguments.length,n=Tt(this,e);e>t;)n[t]=arguments[t++];return n},It=!!K&&i(function(){pt.call(new K(1))}),Ct=function(){return pt.apply(It?lt.call(xt(this)):xt(this),arguments)},Rt={copyWithin:function(t,e){return Z.call(xt(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(xt(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return N.apply(xt(this),arguments)},filter:function(t){return Ot(this,Y(xt(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(xt(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(xt(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){X(xt(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(xt(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(xt(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(xt(this),arguments)},lastIndexOf:function(t){return at.apply(xt(this),arguments)},map:function(t){return wt(xt(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(xt(this),arguments)},reduceRight:function(t){return ct.apply(xt(this),arguments)},reverse:function(){for(var t,e=xt(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return ft.call(xt(this),t)},subarray:function(t,e){var n=xt(this),r=n.length,o=g(t,r);return new(I(n,n[gt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,d((void 0===e?r:g(e,r))-o))}},Dt=function(t,e){return Ot(this,lt.call(xt(this),t,e))},Ft=function(t){xt(this);var e=Et(arguments[1],1),n=this.length,r=S(t),o=d(r.length),i=0;if(o+e>n)throw H("Wrong length!");for(;i255?255:255&r),o.v[p](n*e+o.o,r,St)}(this,n,t)},enumerable:!0})};m?(v=n(function(t,n,r,o){f(t,v,s,"_d");var i,a,u,c,l=0,p=0;if(w(n)){if(!(n instanceof q||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return mt in n?Pt(v,n):jt.call(v,n);i=n,p=Et(r,e);var g=n.byteLength;if(void 0===o){if(g%e)throw H("Wrong length!");if((a=g-p)<0)throw H("Wrong length!")}else if((a=d(o)*e)+p>g)throw H("Wrong length!");u=a/e}else u=y(n),i=new q(a=u*e);for(h(t,"_d",{b:i,o:p,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){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports=!1},,,,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(221),o=n(174);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(65),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(221),o=n(174).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},,function(t,e,n){var r=n(68),o=n(28)("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(n){}}(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(28)("unscopables"),o=Array.prototype;null==o[r]&&n(56)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){"use strict";var r=n(21),o=n(33),i=n(35),a=n(28)("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=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){var r=n(64),o=n(231),i=n(184),a=n(16),u=n(31),c=n(134),s={},f={};(e=t.exports=function(t,e,n,l,h){var p,v,d,y,g=h?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(p=u(t.length);p>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,n){var r=n(52);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},,,,,,,function(t,e,n){var r=n(33).f,o=n(51),i=n(28)("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){t.exports={}},function(t,e,n){var r=n(23);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}t.exports=n},,,,,function(t,e,n){var r=n(68);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(2),o=n(77),i=n(22),a=n(177),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){e.f={}.propertyIsEnumerable},function(t,e,n){"use strict";var r=n(16);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(16),o=n(47),i=n(28)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||null==(n=r(a)[i])?e:o(n)}},,,,,,function(t,e,n){var r=n(55),o=n(21),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(86)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(95),o=n(28)("iterator"),i=n(108);t.exports=n(55).getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r=n(28)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(a){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],u=i[r]();u.next=function(){return{done:n=!0}},i[r]=function(){return u},t(i)}catch(a){}return n}},function(t,e,n){"use strict";var r=n(95),o=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},function(t,e,n){"use strict";n(235);var r=n(52),o=n(56),i=n(22),a=n(77),u=n(28),c=n(186),s=u("species"),f=!i(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var h=u(t),p=!i(function(){var e={};return e[h]=function(){return 7},7!=""[t](e)}),v=p?!i(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[h](""),!e}):void 0;if(!p||!v||"replace"===t&&!f||"split"===t&&!l){var d=/./[h],y=n(a,h,""[t],function(t,e,n,r,o){return e.exec===c?p&&!o?{done:!0,value:d.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=y[0],b=y[1];r(String.prototype,t,g),o(RegExp.prototype,h,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},function(t,e,n){"use strict";var r=n(21),o=n(2),i=n(52),a=n(100),u=n(82),c=n(99),s=n(98),f=n(23),l=n(22),h=n(135),p=n(107),v=n(178);t.exports=function(t,e,n,d,y,g){var b=r[t],m=b,_=y?"set":"add",w=m&&m.prototype,S={},k=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=h(function(t){new m(t)}),P=!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 null!=n&&c(n,y,r[_],r),r})).prototype=w,w.constructor=m),(T||P)&&(k("delete"),k("has"),y&&k("get")),(P||x)&&k(_),g&&w.clear&&delete w.clear}else m=d.getConstructor(e,t,y,_),a(m.prototype,n),u.NEED=!0;return p(m,t),S[t]=m,o(o.G+o.W+o.F*(m!=b),S),g||d.setStrong(m,t,y),m}},function(t,e,n){for(var r,o=n(21),i=n(56),a=n(90),u=a("typed_array"),c=a("view"),s=!(!o.ArrayBuffer||!o.DataView),f=s,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=o[h[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){var r=n(53),o=n(31),i=n(92);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){var r=n(68);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(65),o=n(77);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(86),o=n(2),i=n(52),a=n(56),u=n(108),c=n(181),s=n(107),f=n(58),l=n(28)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,n,v,d,y,g){c(n,e,v);var b,m,_,w=function(t){if(!h&&t in x)return x[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",k="values"==d,E=!1,x=t.prototype,T=x[l]||x["@@iterator"]||d&&x[d],O=T||w(d),P=d?k?w("entries"):O:void 0,A="Array"==e&&x.entries||T;if(A&&(_=f(A.call(new t)))!==Object.prototype&&_.next&&(s(_,S,!0),r||"function"==typeof _[l]||a(_,l,p)),k&&T&&"values"!==T.name&&(E=!0,O=function(){return T.call(this)}),r&&!g||!h&&!E&&x[l]||a(x,l,O),u[e]=O,u[S]=p,d)if(b={values:k?O:w("values"),keys:y?O:w("keys"),entries:P},g)for(m in b)m in x||i(x,m,b[m]);else o(o.P+o.F*(h||E),e,b);return b}},function(t,e,n){var r=n(23),o=n(68),i=n(28)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},,,,,,,,,,,,,,,,,function(t,e,n){var r=n(23),o=n(21).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(132)("keys"),o=n(90);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(21).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(23),o=n(16),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(64)(Function.call,n(60).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(o){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){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(23),o=n(176).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=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},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,n){"use strict";var r=n(83),o=n(85),i=n(107),a={};n(56)(a,n(28)("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,n){var r=n(155),o=n(77);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){var r=n(28)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(o){}}return!0}},function(t,e,n){var r=n(108),o=n(28)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){"use strict";var r=n(43),o=n(92),i=n(31);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){"use strict";var r,o,i=n(125),a=RegExp.prototype.exec,u=String.prototype.replace,c=a,s=(r=/a/,o=/b*/g,a.call(r,"a"),a.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=void 0!==/()??/.exec("")[1];(s||f)&&(c=function(t){var e,n,r,o,c=this;return f&&(n=new RegExp("^"+c.source+"$(?!\\s)",i.call(c))),s&&(e=c.lastIndex),r=a.call(c,t),s&&r&&(c.lastIndex=c.global?r.index+r[0].length:e),f&&r&&r.length>1&&u.call(r[0],n,function(){for(o=1;o>1,f=23===e?O(2,-24)-O(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=T(t))!=t||t===E?(o=t!=t?1:0,r=c):(r=P(A(t)/j),t*(i=O(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?f/i:f*O(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*O(2,e),r+=s):(o=t*O(2,s-1)*O(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*h,a}function D(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?-E:E;r+=O(2,e),f-=a}return(s?-1:1)*r*O(2,f-e)}function F(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function N(t){return[255&t]}function Z(t){return[255&t,t>>8&255]}function L(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function B(t){return R(t,52,8)}function U(t){return R(t,23,4)}function z(t,e,n){d(t[b],e,{get:function(){return this[n]}})}function H(t,e,n,r){var o=p(+n);if(o+e>t[I])throw k(m);var i=t[M]._b,a=o+t[C],u=i.slice(a,a+e);return r?u:u.reverse()}function W(t,e,n,r,o,i){var a=p(+n);if(a+e>t[I])throw k(m);for(var u=t[M]._b,c=a+t[C],s=r(+o),f=0;fV;)(K=q[V++])in _||u(_,K,x[K]);i||(G.constructor=_)}var X=new w(new _(2)),Y=w[b].setInt8;X.setInt8(0,2147483648),X.setInt8(1,2147483649),!X.getInt8(0)&&X.getInt8(1)||c(w[b],{setInt8:function(t,e){Y.call(this,t,e<<24>>24)},setUint8:function(t,e){Y.call(this,t,e<<24>>24)}},!0)}else _=function(t){f(this,_,"ArrayBuffer");var e=p(t);this._b=y.call(new Array(e),0),this[I]=e},w=function(t,e,n){f(this,w,"DataView"),f(t,_,"DataView");var r=t[I],o=l(e);if(o<0||o>r)throw k("Wrong offset!");if(o+(n=void 0===n?r-o:h(n))>r)throw k("Wrong length!");this[M]=t,this[C]=o,this[I]=n},o&&(z(_,"byteLength","_l"),z(w,"buffer","_b"),z(w,"byteLength","_l"),z(w,"byteOffset","_o")),c(w[b],{getInt8:function(t){return H(this,1,t)[0]<<24>>24},getUint8:function(t){return H(this,1,t)[0]},getInt16:function(t){var e=H(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=H(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return F(H(this,4,t,arguments[1]))},getUint32:function(t){return F(H(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return D(H(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return D(H(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){W(this,1,t,N,e)},setUint8:function(t,e){W(this,1,t,N,e)},setInt16:function(t,e){W(this,2,t,Z,e,arguments[2])},setUint16:function(t,e){W(this,2,t,Z,e,arguments[2])},setInt32:function(t,e){W(this,4,t,L,e,arguments[2])},setUint32:function(t,e){W(this,4,t,L,e,arguments[2])},setFloat32:function(t,e){W(this,4,t,U,e,arguments[2])},setFloat64:function(t,e){W(this,8,t,B,e,arguments[2])}});g(_,"ArrayBuffer"),g(w,"DataView"),u(w[b],a.VIEW,!0),e.ArrayBuffer=_,e.DataView=w},,,,,,,,,,,,function(t,e,n){"use strict";var r=n(91),o=n(133),i=n(124),a=n(43),u=n(115),c=Object.assign;t.exports=!c||n(22)(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 h,p=u(arguments[s++]),v=f?r(p).concat(f(p)):r(p),d=v.length,y=0;d>y;)l.call(p,h=v[y++])&&(n[h]=p[h]);return n}:c},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){"use strict";var r=n(65),o=n(77);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(33),o=n(85);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){"use strict";var r=n(96),o=n(205),i=n(108),a=n(53);t.exports=n(154)(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){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r,o,i,a=n(64),u=n(201),c=n(175),s=n(172),f=n(21),l=f.process,h=f.setImmediate,p=f.clearImmediate,v=f.MessageChannel,d=f.Dispatch,y=0,g={},b=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},m=function(t){b.call(t.data)};h&&p||(h=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++y]=function(){u("function"==typeof t?t:Function(t),e)},r(y),y},p=function(t){delete g[t]},"process"==n(68)(l)?r=function(t){l.nextTick(a(b,t,1))}:d&&d.now?r=function(t){d.now(a(b,t,1))}:v?(i=(o=new v).port2,o.port1.onmessage=m,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",m,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),b.call(t)}}:function(t){setTimeout(a(b,t,1),0)}),t.exports={set:h,clear:p}},function(t,e,n){"use strict";var r=n(47);function o(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new o(t)}},function(t,e,n){var r=n(21).navigator;t.exports=r&&r.userAgent||""},,,,,,,,,,function(t,e,n){t.exports=!n(35)&&!n(22)(function(){return 7!=Object.defineProperty(n(172)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){e.f=n(28)},function(t,e,n){var r=n(21),o=n(55),i=n(86),a=n(219),u=n(33).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){var r=n(51),o=n(53),i=n(151)(!1),a=n(173)("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(33),o=n(16),i=n(91);t.exports=n(35)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(53),o=n(93).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(e){return a.slice()}}(t):o(r(t))}},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){"use strict";var r=n(47),o=n(23),i=n(201),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;o>>0||(a.test(n)?16:10))}:r},function(t,e,n){var r=n(21).parseFloat,o=n(116).trim;t.exports=1/r(n(177)+"-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(68);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){var r=n(23),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},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(16);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t.return;throw void 0!==i&&r(i.call(t)),a}}},function(t,e,n){var r=n(399);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(47),o=n(43),i=n(115),a=n(31);t.exports=function(t,e,n,u,c){r(e);var s=o(t),f=i(s),l=a(s.length),h=c?l-1:0,p=c?-1:1;if(n<2)for(;;){if(h in f){u=f[h],h+=p;break}if(h+=p,c?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;c?h>=0:l>h;h+=p)h in f&&(u=e(u,f[h],h,s));return u}},function(t,e,n){"use strict";var r=n(43),o=n(92),i=n(31);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){"use strict";var r=n(186);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(t,e,n){n(35)&&"g"!=/./g.flags&&n(33).f(RegExp.prototype,"flags",{configurable:!0,get:n(125)})},function(t,e,n){var r=n(21),o=n(206).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,c="process"==n(68)(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(i){throw t?n():e=void 0,i}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(s)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var f=u.resolve(void 0);n=function(){f.then(s)}}else n=function(){o.call(r,s)};else{var l=!0,h=document.createTextNode("");new i(s).observe(h,{characterData:!0}),n=function(){h.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){"use strict";var r=n(239),o=n(109);t.exports=n(138)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(33).f,o=n(83),i=n(100),a=n(64),u=n(98),c=n(99),s=n(154),f=n(205),l=n(97),h=n(35),p=n(82).fastKey,v=n(109),d=h?"_s":"size",y=function(t,e){var n,r=p(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,s){var f=t(function(t,r){u(t,f,e,"_i"),t._t=e,t._i=o(null),t._f=void 0,t._l=void 0,t[d]=0,null!=r&&c(r,n,t[s],t)});return i(f.prototype,{clear:function(){for(var t=v(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var n=v(this,e),r=y(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(t){v(this,e);for(var n,r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(v(this,e),t)}}),h&&r(f.prototype,"size",{get:function(){return v(this,e)[d]}}),f},def:function(t,e,n){var r,o,i=y(t,e);return i?i.v=n:(t._l=i={i:o=p(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){s(t,e,function(t,n){this._t=v(t,e),this._k=n,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)?f(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,f(1))},n?"entries":"values",!n,!0),l(e)}}},function(t,e,n){"use strict";var r=n(239),o=n(109);t.exports=n(138)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r,o=n(70)(0),i=n(52),a=n(82),u=n(200),c=n(242),s=n(23),f=n(22),l=n(109),h=a.getWeak,p=Object.isExtensible,v=c.ufstore,d={},y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(t){if(s(t)){var e=h(t);return!0===e?v(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return c.def(l(this,"WeakMap"),t,e)}},b=t.exports=n(138)("WeakMap",y,g,c,!0,!0);f(function(){return 7!=(new b).set((Object.freeze||Object)(d),7).get(d)})&&(u((r=c.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=b.prototype,n=e[t];i(e,t,function(e,o){if(s(e)&&!p(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(100),o=n(82).getWeak,i=n(16),a=n(23),u=n(98),c=n(99),s=n(70),f=n(51),l=n(109),h=s(5),p=s(6),v=0,d=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},g=function(t,e){return h(t.a,function(t){return t[0]===e})};y.prototype={get:function(t){var e=g(this,t);if(e)return e[1]},has:function(t){return!!g(this,t)},set:function(t,e){var n=g(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._t=e,t._i=v++,t._l=void 0,null!=r&&c(r,n,t[i],t)});return r(s.prototype,{delete:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).has(t):n&&f(n,this._i)}}),s},def:function(t,e,n){var r=o(i(e),!0);return!0===r?d(t).set(e,n):r[t._i]=n,t},ufstore:d}},function(t,e,n){var r=n(65),o=n(31);t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=o(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){var r=n(93),o=n(133),i=n(16),a=n(21).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){var r=n(179),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),c=o(2,-126);t.exports=Math.fround||function(t){var e,n,o=Math.abs(t),s=r(t);return ou||n!=n?s*(1/0):s*n}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},function(t,e,n){var r=n(16),o=n(23),i=n(207);t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(99);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(21),o=n(51),i=n(35),a=n(2),u=n(52),c=n(82).KEY,s=n(22),f=n(132),l=n(107),h=n(90),p=n(28),v=n(219),d=n(220),y=n(311),g=n(152),b=n(16),m=n(23),_=n(53),w=n(76),S=n(85),k=n(83),E=n(223),x=n(60),T=n(33),O=n(91),P=x.f,A=T.f,j=E.f,M=r.Symbol,I=r.JSON,C=I&&I.stringify,R=p("_hidden"),D=p("toPrimitive"),F={}.propertyIsEnumerable,N=f("symbol-registry"),Z=f("symbols"),L=f("op-symbols"),B=Object.prototype,U="function"==typeof M,z=r.QObject,H=!z||!z.prototype||!z.prototype.findChild,W=i&&s(function(){return 7!=k(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=P(B,e);r&&delete B[e],A(t,e,n),r&&t!==B&&A(B,e,r)}:A,K=function(t){var e=Z[t]=k(M.prototype);return e._k=t,e},G=U&&"symbol"==typeof M.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof M},q=function(t,e,n){return t===B&&q(L,e,n),b(t),e=w(e,!0),b(n),o(Z,e)?(n.enumerable?(o(t,R)&&t[R][e]&&(t[R][e]=!1),n=k(n,{enumerable:S(0,!1)})):(o(t,R)||A(t,R,S(1,{})),t[R][e]=!0),W(t,e,n)):A(t,e,n)},V=function(t,e){b(t);for(var n,r=y(e=_(e)),o=0,i=r.length;i>o;)q(t,n=r[o++],e[n]);return t},X=function(t){var e=F.call(this,t=w(t,!0));return!(this===B&&o(Z,t)&&!o(L,t))&&(!(e||!o(this,t)||!o(Z,t)||o(this,R)&&this[R][t])||e)},Y=function(t,e){if(t=_(t),e=w(e,!0),t!==B||!o(Z,e)||o(L,e)){var n=P(t,e);return!n||!o(Z,e)||o(t,R)&&t[R][e]||(n.enumerable=!0),n}},J=function(t){for(var e,n=j(_(t)),r=[],i=0;n.length>i;)o(Z,e=n[i++])||e==R||e==c||r.push(e);return r},$=function(t){for(var e,n=t===B,r=j(n?L:_(t)),i=[],a=0;r.length>a;)!o(Z,e=r[a++])||n&&!o(B,e)||i.push(Z[e]);return i};U||(u((M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),e=function(n){this===B&&e.call(L,n),o(this,R)&&o(this[R],t)&&(this[R][t]=!1),W(this,t,S(1,n))};return i&&H&&W(B,t,{configurable:!0,set:e}),K(t)}).prototype,"toString",function(){return this._k}),x.f=Y,T.f=q,n(93).f=E.f=J,n(124).f=X,n(133).f=$,i&&!n(86)&&u(B,"propertyIsEnumerable",X,!0),v.f=function(t){return K(p(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;)p(Q[tt++]);for(var et=O(p.store),nt=0;et.length>nt;)d(et[nt++]);a(a.S+a.F*!U,"Symbol",{for:function(t){return o(N,t+="")?N[t]:N[t]=M(t)},keyFor:function(t){if(!G(t))throw TypeError(t+" is not a symbol!");for(var e in N)if(N[e]===t)return e},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!U,"Object",{create:function(t,e){return void 0===e?k(t):V(k(t),e)},defineProperty:q,defineProperties:V,getOwnPropertyDescriptor:Y,getOwnPropertyNames:J,getOwnPropertySymbols:$}),I&&a(a.S+a.F*(!U||s(function(){var t=M();return"[null]"!=C([t])||"{}"!=C({a:t})||"{}"!=C(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(m(e)||void 0!==t)&&!G(t))return g(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),r[1]=e,C.apply(I,r)}}),M.prototype[D]||n(56)(M.prototype,D,M.prototype.valueOf),l(M,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(91),o=n(133),i=n(124);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){var r=n(2);r(r.S,"Object",{create:n(83)})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(35),"Object",{defineProperty:n(33).f})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(35),"Object",{defineProperties:n(222)})},function(t,e,n){var r=n(53),o=n(60).f;n(69)("getOwnPropertyDescriptor",function(){return function(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(43),o=n(58);n(69)("getPrototypeOf",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(43),o=n(91);n(69)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){n(69)("getOwnPropertyNames",function(){return n(223).f})},function(t,e,n){var r=n(23),o=n(82).onFreeze;n(69)("freeze",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23),o=n(82).onFreeze;n(69)("seal",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23),o=n(82).onFreeze;n(69)("preventExtensions",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23);n(69)("isFrozen",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(23);n(69)("isSealed",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(23);n(69)("isExtensible",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(2);r(r.S+r.F,"Object",{assign:n(200)})},function(t,e,n){var r=n(2);r(r.S,"Object",{is:n(224)})},function(t,e,n){var r=n(2);r(r.S,"Object",{setPrototypeOf:n(176).set})},function(t,e,n){"use strict";var r=n(95),o={};o[n(28)("toStringTag")]="z",o+""!="[object z]"&&n(52)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(2);r(r.P,"Function",{bind:n(225)})},function(t,e,n){var r=n(33).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(35)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},function(t,e,n){"use strict";var r=n(23),o=n(58),i=n(28)("hasInstance"),a=Function.prototype;i in a||n(33).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(2),o=n(226);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){var r=n(2),o=n(227);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){"use strict";var r=n(21),o=n(51),i=n(68),a=n(178),u=n(76),c=n(22),s=n(93).f,f=n(60).f,l=n(33).f,h=n(116).trim,p=r.Number,v=p,d=p.prototype,y="Number"==i(n(83)(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():h(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(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(y?c(function(){d.valueOf.call(n)}):"Number"!=i(n))?a(new v(b(e)),n,p):b(e)};for(var m,_=n(35)?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(p,m)&&l(p,m,f(v,m));p.prototype=d,d.constructor=p,n(52)(r,"Number",p)}},function(t,e,n){"use strict";var r=n(2),o=n(65),i=n(228),a=n(202),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)},h=function(t){for(var e=6,n=0;--e>=0;)n+=s[e],s[e]=c(n/t),n=n%t*1e7},p=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(22)(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;)h(1<<23),r-=23;h(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(2),o=n(22),i=n(228),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){var r=n(2);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(2),o=n(21).isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{isInteger:n(229)})},function(t,e,n){var r=n(2);r(r.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var r=n(2),o=n(229),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(2);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(2);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(2),o=n(227);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(2),o=n(226);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(2),o=n(230),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(2),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(2),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(2),o=n(179);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(2);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(2),o=Math.exp;r(r.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(2),o=n(180);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(2);r(r.S,"Math",{fround:n(266)})},function(t,e,n){var r=n(2),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(2),o=Math.imul;r(r.S+r.F*n(22)(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(2);r(r.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log1p:n(230)})},function(t,e,n){var r=n(2);r(r.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(2);r(r.S,"Math",{sign:n(179)})},function(t,e,n){var r=n(2),o=n(180),i=Math.exp;r(r.S+r.F*n(22)(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(2),o=n(180),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(2);r(r.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(2),o=n(92),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,a=0;r>a;){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(2),o=n(53),i=n(31);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++])),u=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";var r=n(2),o=n(153)(!1);r(r.P,"String",{codePointAt:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(2),o=n(31),i=n(182),a="".endsWith;r(r.P+r.F*n(183)("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(2),o=n(182);r(r.P+r.F*n(183)("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(2);r(r.P,"String",{repeat:n(202)})},function(t,e,n){"use strict";var r=n(2),o=n(31),i=n(182),a="".startsWith;r(r.P+r.F*n(183)("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){"use strict";n(49)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";n(49)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(49)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(49)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(49)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(49)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(49)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(49)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(49)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(49)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(49)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(49)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(49)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){var r=n(2);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";var r=n(2),o=n(43),i=n(76);r(r.P+r.F*n(22)(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(2),o=n(388);r(r.P+r.F*(Date.prototype.toISOString!==o),"Date",{toISOString:o})},function(t,e,n){"use strict";var r=n(22),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(t){return t>9?t:"0"+t};t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.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"}:i},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(52)(r,"toString",function(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"})},function(t,e,n){var r=n(28)("toPrimitive"),o=Date.prototype;r in o||n(56)(o,r,n(391))},function(t,e,n){"use strict";var r=n(16),o=n(76);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(2);r(r.S,"Array",{isArray:n(152)})},function(t,e,n){"use strict";var r=n(64),o=n(2),i=n(43),a=n(231),u=n(184),c=n(31),s=n(203),f=n(134);o(o.S+o.F*!n(135)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,l,h=i(t),p="function"==typeof this?this:Array,v=arguments.length,d=v>1?arguments[1]:void 0,y=void 0!==d,g=0,b=f(h);if(y&&(d=r(d,v>2?arguments[2]:void 0,2)),null==b||p==Array&&u(b))for(n=new p(e=c(h.length));e>g;g++)s(n,g,y?d(h[g],g):h[g]);else for(l=b.call(h),n=new p;!(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){"use strict";var r=n(2),o=n(203);r(r.S+r.F*n(22)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var r=n(2),o=n(53),i=[].join;r(r.P+r.F*(n(115)!=Object||!n(61)(i)),"Array",{join:function(t){return i.call(o(this),void 0===t?",":t)}})},function(t,e,n){"use strict";var r=n(2),o=n(175),i=n(68),a=n(92),u=n(31),c=[].slice;r(r.P+r.F*n(22)(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=new Array(f),h=0;h1&&(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){var r=n(2);r(r.P,"Array",{copyWithin:n(234)}),n(96)("copyWithin")},function(t,e,n){var r=n(2);r(r.P,"Array",{fill:n(185)}),n(96)("fill")},function(t,e,n){"use strict";var r=n(2),o=n(70)(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(96)("find")},function(t,e,n){"use strict";var r=n(2),o=n(70)(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(96)(i)},function(t,e,n){n(97)("Array")},function(t,e,n){var r=n(21),o=n(178),i=n(33).f,a=n(93).f,u=n(155),c=n(125),s=r.RegExp,f=s,l=s.prototype,h=/a/g,p=/a/g,v=new s(h)!==h;if(n(35)&&(!v||n(22)(function(){return p[n(28)("match")]=!1,s(h)!=h||s(p)==p||"/a/i"!=s(h,"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(52)(r,"RegExp",s)}n(97)("RegExp")},function(t,e,n){"use strict";n(236);var r=n(16),o=n(125),i=n(35),a=/./.toString,u=function(t){n(52)(RegExp.prototype,"toString",t,!0)};n(22)(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){"use strict";var r=n(16),o=n(31),i=n(187),a=n(136);n(137)("match",1,function(t,e,n,u){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=u(n,t,this);if(e.done)return e.value;var c=r(t),s=String(this);if(!c.global)return a(c,s);var f=c.unicode;c.lastIndex=0;for(var l,h=[],p=0;null!==(l=a(c,s));){var v=String(l[0]);h[p]=v,""===v&&(c.lastIndex=i(s,o(c.lastIndex),f)),p++}return 0===p?null:h}]})},function(t,e,n){"use strict";var r=n(16),o=n(43),i=n(31),a=n(65),u=n(187),c=n(136),s=Math.max,f=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g;n(137)("replace",2,function(t,e,n,v){return[function(r,o){var i=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(t,e){var o=v(n,t,this,e);if(o.done)return o.value;var l=r(t),h=String(this),p="function"==typeof e;p||(e=String(e));var y=l.global;if(y){var g=l.unicode;l.lastIndex=0}for(var b=[];;){var m=c(l,h);if(null===m)break;if(b.push(m),!y)break;""===String(m[0])&&(l.lastIndex=u(h,i(l.lastIndex),g))}for(var _,w="",S=0,k=0;k=S&&(w+=h.slice(S,x)+j,S=x+E.length)}return w+h.slice(S)}];function d(t,e,r,i,a,u){var c=r+t.length,s=i.length,f=p;return void 0!==a&&(a=o(a),f=h),n.call(u,f,function(n,o){var u;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[o.slice(1,-1)];break;default:var f=+o;if(0===f)return n;if(f>s){var h=l(f/10);return 0===h?n:h<=s?void 0===i[h-1]?o.charAt(1):i[h-1]+o.charAt(1):n}u=i[f-1]}return void 0===u?"":u})}})},function(t,e,n){"use strict";var r=n(16),o=n(224),i=n(136);n(137)("search",1,function(t,e,n,a){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=a(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this),s=u.lastIndex;o(s,0)||(u.lastIndex=0);var f=i(u,c);return o(u.lastIndex,s)||(u.lastIndex=s),null===f?-1:f.index}]})},function(t,e,n){"use strict";var r=n(155),o=n(16),i=n(126),a=n(187),u=n(31),c=n(136),s=n(186),f=Math.min,l=[].push,h=!!function(){try{return new RegExp("x","y")}catch(t){}}();n(137)("split",2,function(t,e,n,p){var v;return v="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var o=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(o,t,e);for(var i,a,u,c=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,p=void 0===e?4294967295:e>>>0,v=new RegExp(t.source,f+"g");(i=s.call(v,o))&&!((a=v.lastIndex)>h&&(c.push(o.slice(h,i.index)),i.length>1&&i.index=p));)v.lastIndex===i.index&&v.lastIndex++;return h===o.length?!u&&v.test("")||c.push(""):c.push(o.slice(h)),c.length>p?c.slice(0,p):c}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var o=t(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,o,r):v.call(String(o),n,r)},function(t,e){var r=p(v,t,this,e,v!==n);if(r.done)return r.value;var s=o(t),l=String(this),d=i(s,RegExp),y=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new d(h?s:"^(?:"+s.source+")",g),m=void 0===e?4294967295:e>>>0;if(0===m)return[];if(0===l.length)return null===c(b,l)?[l]:[];for(var _=0,w=0,S=[];wi;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&R(t)})}},R=function(t){g.call(c,function(){var e,n,r,o=t._v,i=D(t);if(i&&(e=_(function(){P?E.emit("unhandledRejection",o,t):(n=c.onunhandledrejection)?n({promise:t,reason:o}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=P||D(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},D=function(t){return 1!==t._h&&0===(t._a||t._c).length},F=function(t){g.call(c,function(){var e;P?E.emit("rejectionHandled",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},N=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()),C(e,!0))},Z=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw k("Promise can't be resolved itself");(e=I(t))?b(function(){var r={_w:n,_d:!1};try{e.call(t,s(Z,r,1),s(N,r,1))}catch(o){N.call(r,o)}}):(n._v=t,n._s=1,C(n,!1))}catch(r){N.call({_w:n,_d:!1},r)}}};M||(O=function(t){v(this,O,"Promise","_h"),p(t),r.call(this);try{t(s(Z,this,1),s(N,this,1))}catch(e){N.call(this,e)}},(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(100)(O.prototype,{then:function(t,e){var n=j(y(this,O));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=P?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&C(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=s(Z,t,1),this.reject=s(N,t,1)},m.f=j=function(t){return t===O||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!M,{Promise:O}),n(107)(O,"Promise"),n(97)("Promise"),a=n(55).Promise,l(l.S+l.F*!M,"Promise",{reject:function(t){var e=j(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(u||!M),"Promise",{resolve:function(t){return S(u&&this===a?O:this,t)}}),l(l.S+l.F*!(M&&n(135)(function(t){O.all(t).catch(A)})),"Promise",{all:function(t){var e=this,n=j(e),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;d(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.e&&o(i.v),n.promise},race:function(t){var e=this,n=j(e),r=n.reject,o=_(function(){d(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){"use strict";var r=n(242),o=n(109);n(138)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"WeakSet"),t,!0)}},r,!1,!0)},function(t,e,n){"use strict";var r=n(2),o=n(139),i=n(188),a=n(16),u=n(92),c=n(31),s=n(23),f=n(21).ArrayBuffer,l=n(126),h=i.ArrayBuffer,p=i.DataView,v=o.ABV&&f.isView,d=h.prototype.slice,y=o.VIEW;r(r.G+r.W+r.F*(f!==h),{ArrayBuffer:h}),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(22)(function(){return!new h(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,h))(c(o-r)),s=new p(this),f=new p(i),v=0;r=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(60),o=n(58),i=n(51),a=n(2),u=n(23),c=n(16);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){var r=n(60),o=n(2),i=n(16);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(2),o=n(58),i=n(16);r(r.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var r=n(2),o=n(16),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{ownKeys:n(244)})},function(t,e,n){var r=n(2),o=n(16),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(e){return!1}}})},function(t,e,n){var r=n(33),o=n(60),i=n(58),a=n(51),u=n(2),c=n(85),s=n(16),f=n(23);u(u.S,"Reflect",{set:function t(e,n,u){var l,h,p=arguments.length<4?e:arguments[3],v=o.f(s(e),n);if(!v){if(f(h=i(e)))return t(h,n,u,p);v=c(0)}if(a(v,"value")){if(!1===v.writable||!f(p))return!1;if(l=o.f(p,n)){if(l.get||l.set||!1===l.writable)return!1;l.value=u,r.f(p,n,l)}else r.f(p,n,c(0,u));return!0}return void 0!==v.set&&(v.set.call(p,u),!0)}})},function(t,e,n){var r=n(2),o=n(176);o&&r(r.S,"Reflect",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(n){return!1}}})},function(t,e,n){var r=n(79),o=n(16),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(79),o=n(16),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(79),o=n(16),i=n(58),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(240),o=n(269),i=n(79),a=n(16),u=n(58),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(79),o=n(16),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(79),o=n(16),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(79),o=n(16),i=n(58),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(79),o=n(16),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(79),o=n(16),i=n(47),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){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(734),n(735),n(736),!Element.prototype.matches&&Element.prototype.msMatchesSelector&&(Element.prototype.matches=Element.prototype.msMatchesSelector),n(737),n(738)},function(t,e,n){n(310),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385),n(386),n(387),n(389),n(390),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(400),n(401),n(402),n(403),n(404),n(405),n(406),n(407),n(408),n(409),n(410),n(411),n(412),n(204),n(413),n(235),n(414),n(236),n(415),n(416),n(417),n(418),n(419),n(238),n(240),n(241),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434),n(435),n(436),n(437),n(438),n(439),n(440),n(441),n(442),n(443),n(444),n(445),t.exports=n(55)},function(t,e,n){n(446),n(447),n(448),n(449),n(450),n(451),n(452),n(453),n(454),t.exports=n(55).Reflect},function(t,e,n){(function(r){var o,i; -/** -* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes -* (c) 2010-2020 Google LLC. https://angular.io/ -* License: MIT -*/void 0===(i="function"==typeof(o=function(){"use strict"; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * 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 - */!function(t){var e=t.performance;function n(t){e&&e.mark&&e.mark(t)}function r(t,n){e&&e.measure&&e.measure(t,n)}n("Zone");var o=t.__Zone_symbol_prefix||"__zone_symbol__";function i(t){return o+t}var a=!0===t[i("forceDuplicateZoneCheck")];if(t.Zone){if(a||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}var u=function(){function e(t,e){this._parent=t,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,e)}return e.assertZonePatched=function(){if(t.Promise!==A.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(e,"root",{get:function(){for(var t=e.current;t.parent;)t=t.parent;return t},enumerable:!0,configurable:!0}),Object.defineProperty(e,"current",{get:function(){return M.zone},enumerable:!0,configurable:!0}),Object.defineProperty(e,"currentTask",{get:function(){return I},enumerable:!0,configurable:!0}),e.__load_patch=function(o,i){if(A.hasOwnProperty(o)){if(a)throw Error("Already loaded patch: "+o)}else if(!t["__Zone_disable_"+o]){var u="Zone:"+o;n(u),A[o]=i(t,e,j),r(u,u)}},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),e.prototype.get=function(t){var e=this.getZoneWith(t);if(e)return e._properties[t]},e.prototype.getZoneWith=function(t){for(var e=this;e;){if(e._properties.hasOwnProperty(t))return e;e=e._parent}return null},e.prototype.fork=function(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)},e.prototype.wrap=function(t,e){if("function"!=typeof t)throw new Error("Expecting function got: "+t);var n=this._zoneDelegate.intercept(this,t,e),r=this;return function(){return r.runGuarded(n,this,arguments,e)}},e.prototype.run=function(t,e,n,r){M={parent:M,zone:this};try{return this._zoneDelegate.invoke(this,t,e,n,r)}finally{M=M.parent}},e.prototype.runGuarded=function(t,e,n,r){void 0===e&&(e=null),M={parent:M,zone:this};try{try{return this._zoneDelegate.invoke(this,t,e,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{M=M.parent}},e.prototype.runTask=function(t,e,n){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||m).name+"; Execution: "+this.name+")");if(t.state!==_||t.type!==P&&t.type!==O){var r=t.state!=k;r&&t._transitionTo(k,S),t.runCount++;var o=I;I=t,M={parent:M,zone:this};try{t.type==O&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,e,n)}catch(i){if(this._zoneDelegate.handleError(this,i))throw i}}finally{t.state!==_&&t.state!==x&&(t.type==P||t.data&&t.data.isPeriodic?r&&t._transitionTo(S,k):(t.runCount=0,this._updateTaskCount(t,-1),r&&t._transitionTo(_,k,_))),M=M.parent,I=o}}},e.prototype.scheduleTask=function(t){if(t.zone&&t.zone!==this)for(var e=this;e;){if(e===t.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+t.zone.name);e=e.parent}t._transitionTo(w,_);var n=[];t._zoneDelegates=n,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(r){throw t._transitionTo(x,w,_),this._zoneDelegate.handleError(this,r),r}return t._zoneDelegates===n&&this._updateTaskCount(t,1),t.state==w&&t._transitionTo(S,w),t},e.prototype.scheduleMicroTask=function(t,e,n,r){return this.scheduleTask(new l(T,t,e,n,r,void 0))},e.prototype.scheduleMacroTask=function(t,e,n,r,o){return this.scheduleTask(new l(O,t,e,n,r,o))},e.prototype.scheduleEventTask=function(t,e,n,r,o){return this.scheduleTask(new l(P,t,e,n,r,o))},e.prototype.cancelTask=function(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||m).name+"; Execution: "+this.name+")");t._transitionTo(E,S,k);try{this._zoneDelegate.cancelTask(this,t)}catch(e){throw t._transitionTo(x,E),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(t,-1),t._transitionTo(_,E),t.runCount=0,t},e.prototype._updateTaskCount=function(t,e){var n=t._zoneDelegates;-1==e&&(t._zoneDelegates=null);for(var r=0;r0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:t};this.hasTask(this.zone,i)}},t}(),l=function(){function e(n,r,o,i,a,u){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=u,!o)throw new Error("callback is not defined");this.callback=o;var c=this;n===P&&i&&i.useG?this.invoke=e.invokeTask:this.invoke=function(){return e.invokeTask.call(t,c,this,arguments)}}return e.invokeTask=function(t,e,n){t||(t=this),C++;try{return t.runCount++,t.zone.runTask(t,e,n)}finally{1==C&&b(),C--}},Object.defineProperty(e.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancelScheduleRequest=function(){this._transitionTo(_,w)},e.prototype._transitionTo=function(t,e,n){if(this._state!==e&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+t+"', expecting state '"+e+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=t,t==_&&(this._zoneDelegates=null)},e.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},e.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},e}(),h=i("setTimeout"),p=i("Promise"),v=i("then"),d=[],y=!1;function g(e){if(0===C&&0===d.length)if(c||t[p]&&(c=t[p].resolve(0)),c){var n=c[v];n||(n=c.then),n.call(c,b)}else t[h](b,0);e&&d.push(e)}function b(){if(!y){for(y=!0;d.length;){var t=d;d=[];for(var e=0;e=0;n--)"function"==typeof t[n]&&(t[n]=p(t[n],e+"_"+n));return t}function S(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}var k="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in b)&&void 0!==b.process&&"[object process]"==={}.toString.call(b.process),x=!E&&!k&&!(!y||!g.HTMLElement),T=void 0!==b.process&&"[object process]"==={}.toString.call(b.process)&&!k&&!(!y||!g.HTMLElement),O={},P=function(t){if(t=t||b.event){var e=O[t.type];e||(e=O[t.type]=d("ON_PROPERTY"+t.type));var n,r=this||t.target||b,o=r[e];if(x&&r===g&&"error"===t.type){var i=t;!0===(n=o&&o.call(this,i.message,i.filename,i.lineno,i.colno,i.error))&&t.preventDefault()}else null==(n=o&&o.apply(this,arguments))||n||t.preventDefault();return n}};function A(n,r,o){var i=t(n,r);if(!i&&o){var a=t(o,r);a&&(i={enumerable:!0,configurable:!0})}if(i&&i.configurable){var u=d("on"+r+"patched");if(!n.hasOwnProperty(u)||!n[u]){delete i.writable,delete i.value;var c=i.get,s=i.set,f=r.substr(2),l=O[f];l||(l=O[f]=d("ON_PROPERTY"+f)),i.set=function(t){var e=this;if(e||n!==b||(e=b),e){var r=e[l];r&&e.removeEventListener(f,P),s&&s.apply(e,_),"function"==typeof t?(e[l]=t,e.addEventListener(f,P,!1)):e[l]=null}},i.get=function(){var t=this;if(t||n!==b||(t=b),!t)return null;var e=t[l];if(e)return e;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t[m]&&t.removeAttribute(r),o}return null},e(n,r,i),n[u]=!0}}}function j(t,e,n){if(e)for(var r=0;r=0&&"function"==typeof r[i.cbIdx]?v(i.name,r[i.cbIdx],i,o):t.apply(e,r)}})}function F(t,e){t[d("OriginalDelegate")]=e}var N=!1,Z=!1;function L(){if(N)return Z;N=!0;try{var t=g.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(Z=!0)}catch(e){}return Z} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * 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("toString",function(t){var e=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?e.call(i):Object.prototype.toString.call(i);if(this===Promise){var a=t[r];if(a)return e.call(a)}if(this===Error){var u=t[o];if(u)return e.call(u)}}return e.call(this)};i[n]=e,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.call(this)}}); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * 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 - */ -var B=!1;if("undefined"!=typeof window)try{var U=Object.defineProperty({},"passive",{get:function(){B=!0}});window.addEventListener("test",U,U),window.removeEventListener("test",U,U)}catch(Tt){B=!1}var z={useG:!0},H={},W={},K=new RegExp("^"+h+"(\\w+)(true|false)$"),G=d("propagationStopped");function q(t,e){var n=(e?e(t):t)+l,r=(e?e(t):t)+f,o=h+n,i=h+r;H[t]={},H[t][l]=o,H[t][f]=i}function V(t,e,r){var o=r&&r.add||a,i=r&&r.rm||u,c=r&&r.listeners||"eventListeners",s=r&&r.rmAll||"removeAllListeners",p=d(o),v="."+o+":",y="prependListener",g="."+y+":",b=function(t,e,n){if(!t.isRemoved){var r=t.callback;"object"==typeof r&&r.handleEvent&&(t.callback=function(t){return r.handleEvent(t)},t.originalDelegate=r),t.invoke(t,e,[n]);var o=t.options;if(o&&"object"==typeof o&&o.once){var a=t.originalDelegate?t.originalDelegate:t.callback;e[i].call(e,n.type,a,o)}}},m=function(e){if(e=e||t.event){var n=this||e.target||t,r=n[H[e.type][l]];if(r)if(1===r.length)b(r[0],n,e);else for(var o=r.slice(),i=0;i1?new i(e,n):new i(e),s=t.ObjectGetOwnPropertyDescriptor(c,"onmessage");return s&&!1===s.configurable?(a=t.ObjectCreate(c),u=c,[r,o,"send","close"].forEach(function(e){a[e]=function(){var n=t.ArraySlice.call(arguments);if(e===r||e===o){var i=n.length>0?n[0]:void 0;if(i){var u=Zone.__symbol__("ON_PROPERTY"+i);c[u]=a[u]}}return c[e].apply(c,n)}})):a=c,t.patchOnProperties(a,["close","error","message","open"],u),a};var a=e.WebSocket;for(var u in i)a[u]=i[u]}(t,e),Zone[t.symbol("patchEvents")]=!0}}Zone.__load_patch("util",function(n,r,c){c.patchOnProperties=j,c.patchMethod=R,c.bindArguments=w,c.patchMacroTask=D;var s=r.__symbol__("BLACK_LISTED_EVENTS"),v=r.__symbol__("UNPATCHED_EVENTS");n[v]&&(n[s]=n[v]),n[s]&&(r[s]=r[v]=n[s]),c.patchEventPrototype=Y,c.patchEventTarget=V,c.isIEOrEdge=L,c.ObjectDefineProperty=e,c.ObjectGetOwnPropertyDescriptor=t,c.ObjectCreate=o,c.ArraySlice=i,c.patchClass=I,c.wrapWithCurrentZone=p,c.filterProperties=pt,c.attachOriginToPatched=F,c._redefineProperty=Object.defineProperty,c.patchCallbacks=J,c.getGlobalObjects=function(){return{globalSources:W,zoneSymbolEventNames:H,eventNames:ht,isBrowser:x,isMix:T,isNode:E,TRUE_STR:f,FALSE_STR:l,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:u}}}), -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * 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 - */ -function(t){var e,n=t.__Zone_symbol_prefix||"__zone_symbol__";t[(e="legacyPatch",n+e)]=function(){var e=t.Zone;e.__load_patch("defineProperty",function(t,e,n){n._redefineProperty=gt,yt()}),e.__load_patch("registerElement",function(t,e,n){!function(t,e){var n=e.getGlobalObjects(),r=n.isBrowser,o=n.isMix;(r||o)&&"registerElement"in t.document&&e.patchCallbacks(e,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * 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 - */(t,n)}),e.__load_patch("EventTargetLegacy",function(t,e,n){wt(t,n),St(n,t)})}}("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:{}); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * 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 - */ -var kt=d("zoneTask");function Et(t,e,n,r){var o=null,i=null;n+=r;var a={};function u(e){var n=e.data;return n.args[0]=function(){try{e.invoke.apply(this,arguments)}finally{e.data&&e.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[kt]=null))}},n.handleId=o.apply(t,n.args),e}function c(t){return i(t.data.handleId)}o=R(t,e+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},f=v(e,i[0],s,u,c);if(!f)return f;var l=f.data.handleId;return"number"==typeof l?a[l]=f:l&&(l[kt]=f),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(f.ref=l.ref.bind(l),f.unref=l.unref.bind(l)),"number"==typeof l||l?l:f}return n.apply(t,i)}}),i=R(t,n,function(e){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[kt])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[kt]=null),o.zone.cancelTask(o)):e.apply(t,r)}})} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * 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 - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * 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 - */ -function xt(t,e){if(!Zone[e.symbol("patchEventTarget")]){for(var n=e.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,i=n.TRUE_STR,a=n.FALSE_STR,u=n.ZONE_SYMBOL_PREFIX,c=0;c0){var o=t.invoke;t.invoke=function(){for(var n=a[e.__symbol__("loadfalse")],i=0;i-1};function a(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function c(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r.iterable&&(e[Symbol.iterator]=function(){return e}),e}function s(t){this.map={},t instanceof s?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function f(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function l(t){return new Promise(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function h(t){var e=new FileReader,n=l(e);return e.readAsArrayBuffer(t),n}function p(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:r.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:r.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():r.arrayBuffer&&r.blob&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=p(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||i(t))?this._bodyArrayBuffer=p(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},r.blob&&(this.blob=function(){var t=f(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var t,e,n,r=f(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,n=l(e),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}}),e}function b(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new s(e.headers),this.url=e.url||"",this._initBody(t)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},v.call(y.prototype),v.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new s(this.headers),url:this.url})},b.error=function(){var t=new b(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];b.redirect=function(t,e){if(-1===m.indexOf(e))throw new RangeError("Invalid status code");return new b(null,{status:e,headers:{location:t}})};var _=self.DOMException;try{new _}catch(S){(_=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack}).prototype=Object.create(Error.prototype),_.prototype.constructor=_}function w(t,e){return new Promise(function(n,o){var i=new y(t,e);if(i.signal&&i.signal.aborted)return o(new _("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new s,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var n=t.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();e.append(r,o)}}),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new b(o,r))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new _("Aborted","AbortError"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&r.blob&&(a.responseType="blob"),i.headers.forEach(function(t,e){a.setRequestHeader(e,t)}),i.signal&&(i.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&i.signal.removeEventListener("abort",u)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})}w.polyfill=!0,self.fetch||(self.fetch=w,self.Headers=s,self.Request=y,self.Response=b)},function(t,e,n){var r,o; -/** - * @file Web Cryptography API shim - * @author Artem S Vybornov - * @license MIT - */ -/** - * @file Web Cryptography API shim - * @author Artem S Vybornov - * @license MIT - */ -o="undefined"!=typeof self?self:this,void 0===(r=function(){return function(t){"use strict";if("function"!=typeof Promise)throw"Promise support required";var e=t.crypto||t.msCrypto;if(e){var n=e.subtle||e.webkitSubtle;if(n){var r=t.Crypto||e.constructor||Object,o=t.SubtleCrypto||n.constructor||Object,i=(t.CryptoKey||t.Key||Object,t.navigator.userAgent.indexOf("Edge/")>-1),a=!!t.msCrypto&&!i,u=!e.subtle&&!!e.webkitSubtle;if(a||u){var c={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},s={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach(function(t){var r=n[t];n[t]=function(o,i,c){var s,f,m,k,E,x=[].slice.call(arguments);switch(t){case"generateKey":s=d(o),f=i,m=c;break;case"importKey":s=d(c),f=x[3],m=x[4],"jwk"===o&&((i=g(i)).alg||(i.alg=y(s)),i.key_ops||(i.key_ops="oct"!==i.kty?"d"in i?m.filter(S):m.filter(w):m.slice()),x[1]=(E=g(i),a&&(E.extractable=E.ext,delete E.ext),p(unescape(encodeURIComponent(JSON.stringify(E)))).buffer));break;case"unwrapKey":s=x[4],f=x[5],m=x[6],x[2]=c._key}if("generateKey"===t&&"HMAC"===s.name&&s.hash)return s.length=s.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[s.hash.name],n.importKey("raw",e.getRandomValues(new Uint8Array(s.length+7>>3)),s,f,m);if(u&&"generateKey"===t&&"RSASSA-PKCS1-v1_5"===s.name&&(!s.modulusLength||s.modulusLength>=2048))return(o=d(o)).name="RSAES-PKCS1-v1_5",delete o.hash,n.generateKey(o,!0,["encrypt","decrypt"]).then(function(t){return Promise.all([n.exportKey("jwk",t.publicKey),n.exportKey("jwk",t.privateKey)])}).then(function(t){return t[0].alg=t[1].alg=y(s),t[0].key_ops=m.filter(w),t[1].key_ops=m.filter(S),Promise.all([n.importKey("jwk",t[0],s,!0,t[0].key_ops),n.importKey("jwk",t[1],s,f,t[1].key_ops)])}).then(function(t){return{publicKey:t[0],privateKey:t[1]}});if((u||a&&"SHA-1"===(s.hash||{}).name)&&"importKey"===t&&"jwk"===o&&"HMAC"===s.name&&"oct"===i.kty)return n.importKey("raw",p(h(i.k)),c,x[3],x[4]);if(u&&"importKey"===t&&("spki"===o||"pkcs8"===o))return n.importKey("jwk",function(t){var e=b(t),n=!1;e.length>2&&(n=!0,e.shift());var r={ext:!0};switch(e[0][0]){case"1.2.840.113549.1.1.1":var o=["n","e","d","p","q","dp","dq","qi"],i=b(e[1]);n&&i.shift();for(var a=0;a2&&(r=!0,i.unshift(new Uint8Array([0]))),n[0][0]="1.2.840.113549.1.1.1",e=i;break;default:throw new TypeError("Unsupported key type")}return n.push(new Uint8Array(m(e)).buffer),r?n.unshift(new Uint8Array([0])):n[1]={tag:3,value:n[1]},new Uint8Array(m(n)).buffer}(g(t))})),c}}),["encrypt","decrypt","sign","verify"].forEach(function(t){var e=n[t];n[t]=function(r,o,i,u){if(a&&(!i.byteLength||u&&!u.byteLength))throw new Error("Empy input is not allowed");var c,s=[].slice.call(arguments),f=d(r);if(a&&"decrypt"===t&&"AES-GCM"===f.name){var l=r.tagLength>>3;s[2]=(i.buffer||i).slice(0,i.byteLength-l),r.tag=(i.buffer||i).slice(i.byteLength-l)}s[1]=o._key;try{c=e.apply(n,s)}catch(h){return Promise.reject(h)}return a&&(c=new Promise(function(e,n){c.onabort=c.onerror=function(t){n(t)},c.oncomplete=function(n){if(n=n.target.result,"encrypt"===t&&n instanceof AesGcmEncryptResult){var r=n.ciphertext,o=n.tag;(n=new Uint8Array(r.byteLength+o.byteLength)).set(new Uint8Array(r),0),n.set(new Uint8Array(o),r.byteLength),n=n.buffer}e(n)}})),c}}),a){var f=n.digest;n.digest=function(t,e){if(!e.byteLength)throw new Error("Empy input is not allowed");var r;try{r=f.call(n,t,e)}catch(o){return Promise.reject(o)}return r=new Promise(function(t,e){r.onabort=r.onerror=function(t){e(t)},r.oncomplete=function(e){t(e.target.result)}})},t.crypto=Object.create(e,{getRandomValues:{value:function(t){return e.getRandomValues(t)}},subtle:{value:n}}),t.CryptoKey=_}u&&(e.subtle=n,t.Crypto=r,t.SubtleCrypto=o,t.CryptoKey=_)}}}function l(t){return btoa(t).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function h(t){return t=(t+="===").slice(0,-t.length%4),atob(t.replace(/-/g,"+").replace(/_/g,"/"))}function p(t){for(var e=new Uint8Array(t.length),n=0;nt.length)throw new RangeError("Malformed DER");var n,r=t[e.pos++],o=t[e.pos++];if(o>=128){if(o&=127,e.end-e.pos=128){var u=r,r=4;for(e.splice(o,0,u>>24&255,u>>16&255,u>>8&255,255&u);r>1&&!(u>>24);)u<<=8,r--;r<4&&e.splice(o,4-r),r|=128}return e.splice(o-2,2,n,r),e}function _(t,e,n,r){Object.defineProperties(this,{_key:{value:t},type:{value:t.type,enumerable:!0},extractable:{value:void 0===n?t.extractable:n,enumerable:!0},algorithm:{value:void 0===e?t.algorithm:e,enumerable:!0},usages:{value:void 0===r?t.usages:r,enumerable:!0}})}function w(t){return"verify"===t||"encrypt"===t||"wrapKey"===t}function S(t){return"sign"===t||"decrypt"===t||"unwrapKey"===t}}(o)}.apply(e,[]))||(t.exports=r)}]); -//# sourceMappingURL=polyfills.164bd5060b8279190884.js.map \ No newline at end of file diff --git a/app/polyfills.164bd5060b8279190884.js.map b/app/polyfills.164bd5060b8279190884.js.map deleted file mode 100644 index 4fc9fe21..00000000 --- a/app/polyfills.164bd5060b8279190884.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/_global.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_to-length.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-object.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./src/app/polyfills.ts","webpack:///./node_modules/core-js/es6/index.js","webpack:///./node_modules/core-js/es7/reflect.js","webpack:///./node_modules/zone.js/dist/zone.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/webcrypto-shim/webcrypto-shim.js"],"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","window","Math","self","__g","exec","e","store","uid","USE_SYMBOL","toInteger","min","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","a","defined","fails","quot","createHTML","string","tag","attribute","String","p1","replace","NAME","test","toLowerCase","split","length","has","SRC","$toString","TPL","inspectSource","val","safe","isFunction","join","this","IObject","version","__e","createDesc","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","pIE","toIObject","gOPD","getOwnPropertyDescriptor","method","arg","aFunction","fn","that","b","apply","arguments","ceil","floor","isNaN","toString","slice","KEY","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","res","index","result","push","valueOf","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","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","keys","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","set","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","forEach","indexOf","searchElement","includes","separator","map","reverse","middle","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","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","of","from","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","MetadataKey","metadataMap","MetadataValue","_","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","bitmap","px","random","$keys","max","hiddenKeys","getOwnPropertyNames","cof","ARG","T","tryGet","callee","UNSCOPABLES","DESCRIPTORS","SPECIES","Constructor","forbiddenField","BREAK","RETURN","iterable","def","stat","_t","g","propertyIsEnumerable","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","ignoreCase","multiline","unicode","sticky","D","copyright","getOwnPropertySymbols","getIteratorMethod","SAFE_CLOSING","riter","skipClosing","arr","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","Typed","TypedArrayConstructors","IS_INCLUDES","el","fromIndex","isArray","TO_STRING","pos","charCodeAt","charAt","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","MATCH","isRegExp","is","createElement","documentElement","check","setPrototypeOf","buggy","__proto__","sign","x","$expm1","expm1","descriptor","searchString","endPos","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","lastIndex","reCopy","match","at","PROTOTYPE","WRONG_INDEX","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","intIndex","_b","pack","conversion","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","getKeys","gOPS","$assign","assign","A","K","k","getSymbols","isEnum","args","un","count","$defineProperty","addToUnscopables","iterated","_i","_k","Arguments","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","navigator","userAgent","wksExt","$Symbol","names","defineProperties","windowNames","getWindowNames","y","factories","partArgs","bound","construct","$parseInt","parseInt","$trim","ws","hex","radix","$parseFloat","parseFloat","msg","isFinite","log1p","ret","original","memo","isRight","to","inc","forced","flags","macrotask","Observer","MutationObserver","WebKitMutationObserver","Promise","isNode","head","last","notify","flush","parent","domain","exit","enter","standalone","then","toggle","node","createTextNode","observe","characterData","task","strong","entry","getEntry","$iterDefine","SIZE","_f","_l","delete","prev","add","InternalMap","each","weak","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","$has","UncaughtFrozenStore","findUncaughtFrozen","splice","number","Reflect","ownKeys","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","newPromiseCapability","promiseCapability","$fails","wksDefine","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","replacer","$replacer","symbols","$getPrototypeOf","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","FProto","nameRE","HAS_INSTANCE","FunctionProto","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","aNumberValue","repeat","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$toPrecision","toPrecision","precision","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","sqrt","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","point","codePointAt","context","$endsWith","endsWith","endPosition","search","$startsWith","startsWith","color","size","url","Date","getTime","toJSON","toISOString","pv","$toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","hint","createProperty","upTo","cloned","$sort","$forEach","STRICT","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","define","advanceStringIndex","regExpExec","$match","maybeCallNative","rx","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","ch","capture","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","output","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","empty","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","catch","capability","all","remaining","$index","alreadyCalled","race","$isView","isView","fin","viewS","viewT","init","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","V","existingDescriptor","ownDesc","setProto","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryHasOwnMetadata","ordinaryGetOwnMetadata","ordinaryGetMetadata","getMetadata","Set","ordinaryOwnMetadataKeys","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","Element","matches","msMatchesSelector","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","performance","mark","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Error","Zone","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","zone","current","_currentZoneFrame","_currentTask","__load_patch","perfName","_api","getZoneWith","fork","callback","_callback","intercept","runGuarded","applyThis","applyArgs","handleError","runTask","NO_ZONE","state","notScheduled","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","isPeriodic","cancelFn","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","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","options","_state","useG","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","handleId","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeThen","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","setNativePromise","NativePromise","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","api","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","rejection","message","stack","_loop_1","uncaughtPromiseError","shift","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handleUnhandledRejection","forwardResolution","forwardRejection","ZoneAwarePromise","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","resolvePromise","once","wasCalled","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","clearRejectedNoCatch","trace","currentTask","scheduleResolveOrReject","obj","className","readableObjectToString","REJECTION_HANDLED_HANDLER","chainPromise","promiseState","parentPromiseValue","isFinallyPromise","rej","onResolve","onReject","values_1","allWithCallback","allSettled","thenCallback","status","errorCallback","unresolvedCount","valueIndex","resolvedValues","_loop_2","this_1","curValueIndex","thenErr","values_2","species","finally","onFinally","ZONE_AWARE_PROMISE","NewNativePromise","symbolThenPatched","Ctor","prop","originalThen","_this","wrapped","fetch_1","resultPromise","ctor","ObjectGetPrototypeOf","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","NULL_ON_PROP_VALUE","isPropertyWritable","isWebWorker","WorkerGlobalScope","isBrowser","isMix","zoneSymbolEventNames","wrapFn","eventNameSymbol","errorEvent","filename","lineno","colno","preventDefault","patchProperty","prototypeDesc","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","substr","newValue","previousValue","removeEventListener","removeAttribute","onProperties","originalInstanceKey","OriginalClass","shouldCopySymbolProperties","patchFn","dest","delegateName","patchDelegate_1","funcName","metaCreator","setNative","cbIdx","patched","isDetectedIEOrEdge","ieOrEdge","ua","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","delegate_1","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","nativePrependEventListener","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","prepend","isExisting","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","compare","diff","typeOfDelegate","blackListedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","passive","buildEventListenerOptions","constructorName","targetSource","unshift","onPropertySymbol","findEventTasks","symbolCaptureEventName","captureTasks","removeTasks","evtName","foundTasks","captureFalseTasks","captureTrueTasks","Event","targetName","callbacks","nativeDelegate","opts","zoneSymbol$1","_defineProperty","_getOwnPropertyDescriptor","unconfigurablesKey","windowEventNames","mediaElementEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","ignoreProperties","tip","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","propertyDescriptorPatch","supportsWebSocket","WebSocket","internalWindow_1","ignoreErrorProperties","Document","HTMLElement","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement_1","Worker_1","XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","propertyPatch","isUnconfigurable","originalConfigurableFlag","rewriteDescriptor","_tryDefineProperty","props","isFrozen","descJson","eventTargetLegacyPatch","NO_EVENT_TARGET","isWtf","WTF_ISSUE_555_ARRAY","isDisableIECheck","isEnableCrossContextCheck","BROWSER_TOOLS","pointerEventsMap","MSPointerCancel","MSPointerDown","MSPointerEnter","MSPointerHover","MSPointerLeave","MSPointerMove","MSPointerOut","MSPointerOver","MSPointerUp","targets","apiTypes","testString","pointerEventName","propertyDescriptorLegacyPatch","onclick","XMLHttpRequestPrototype","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","canPatchViaPropertyDescriptor","unboundKey","_loop_4","onproperty","elt","parentElement","patchViaCapturingAllTheEvents","WS","EventTarget","proxySocket","proxySocketProto","socket","onmessageDesc","propName","propertySymbol","globalWebSocket","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","registerElementPatch","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","delay","handle","ref","unref","eventTargetPatch","EVENT_TARGET","legacyPatch","blockingMethods","name_2","patchEvent","customElements","patchCustomElements","oriAddListener","oriRemoveListener","XMLHttpRequestEventTarget_1","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","openNative","XHR_SYNC","XHR_URL","fetchTaskAborting","fetchTaskScheduling","sendNative","aborted","placeholderCallback","XHR_ERROR_BEFORE_SCHEDULED","abortNative","XHR_TASK","XHR_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","loadTasks","oriInvoke_1","storedTask","patchXHR","geolocation","fnNames","_loop_3","name_1","patchPrototype","findPromiseRejectionHandler","eventTasks","evt","__webpack_exports__","Headers","Request","Response","DOMException","fetch","support","searchParams","blob","Blob","formData","arrayBuffer","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","items","headers","append","header","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","bufferClone","buf","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","text","readAsText","chars","readArrayBufferAsText","decode","json","parse","oldValue","thisArg","input","upcased","credentials","signal","toUpperCase","referrer","form","decodeURIComponent","bodyInit","statusText","clone","response","redirectStatuses","redirect","location","request","xhr","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","send","polyfill","_crypto","crypto","msCrypto","_subtle","subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","isIE","isWebkit","oid2str","KoZIhvcNAQEB","str2oid","1.2.840.113549.1.1.1","_fn","ka","kx","ku","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","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","oncomplete","algorithm","publicExponent","encrypt","usages","der2b","jwk2pkcs","tl","tagLength","AesGcmEncryptResult","ciphertext","_digest","digest","btoa","atob","SyntaxError","HMAC","RSASSA-PKCS1-v1_5","RSAES-PKCS1-v1_5","","RSA-OAEP","AES-KW","128","192","256","AES-GCM","AES-CBC","escape","extractable","rv","xlen","oid","use","u","factory"],"mappings":"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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,SAoHAjkC,OAbA,wEACA,qCACA,WAvGA,CACA,0FACA,sFACA,oFACA,6BA8GAwjC,GA5EA,CACA,kFACA,iFACA,yEAGA,CACA,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,kBAgBA,SAAApO,GAAAnlC,EAAAysC,EAAAwH,GACA,IAAAA,GAAA,IAAAA,EAAAtxC,OACA,OAAA8pC,EAEA,IAAAyH,EAAAD,EAAAxnC,OAAA,SAAA0nC,GAAyD,OAAAA,EAAAn0C,aACzD,IAAAk0C,GAAA,IAAAA,EAAAvxC,OACA,OAAA8pC,EAEA,IAAA2H,EAAAF,EAAA,GAAAD,iBACA,OAAAxH,EAAAhgC,OAAA,SAAA4nC,GAAkD,WAAAD,EAAAtnC,QAAAunC,KAElD,SAAAC,GAAAt0C,EAAAysC,EAAAwH,EAAA11C,GAGA,GAAAyB,EAAA,CAGA,IAAAu0C,EAAApP,GAAAnlC,EAAAysC,EAAAwH,GACA9P,EAAAnkC,EAAAu0C,EAAAh2C,IAEA,SAAAi2C,GAAAjP,EAAAuF,GACA,KAAA5mB,GAAAmnB,KAGApP,KAAAsJ,EAAAzB,OAAA,iBAIA,IAAA2Q,EAAA,oBA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","file":"app/polyfills.164bd5060b8279190884.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 = 733);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var 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;\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","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar 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};\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});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar 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 var 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};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar 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 if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\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});\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var core = module.exports = { version: '2.6.2' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var dP = require('./_object-dp');\nvar 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};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar 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};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\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};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 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');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var 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};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 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};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var 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 // eslint-disable-next-line no-undef\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 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 var length = list.length;\n var 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 var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var 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 var length = arguments.length;\n var 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 var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var 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 var length = O.length;\n var $begin = toAbsoluteIndex(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 : toAbsoluteIndex(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 var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var 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 } 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 // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var 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 var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\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 (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // 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(toIndex(data));\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 var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $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 });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\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 if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.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 */ };\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar 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 var 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};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar 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};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = false;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar 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};\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};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","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};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar 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};\n","module.exports = {};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar 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;\n","exports.f = {}.propertyIsEnumerable;\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 var 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};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar 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};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\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};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var 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 var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var 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};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar 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};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf 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};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var toInteger = require('./_to-integer');\nvar 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 var i = toInteger(pos);\n var l = s.length;\n var 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};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar 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 var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') 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};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar 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};\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';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\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;\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar 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};\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};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\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}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var 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\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new 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 var 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 $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(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 var $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;\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 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};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var 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};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar 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};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar 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 var kind = this._k;\n var 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');\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(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}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar 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};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar 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","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar 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 // eslint-disable-next-line no-new-func\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 var 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};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar 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;\n","var $parseFloat = require('./_global').parseFloat;\nvar $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 var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\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};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\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};\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};\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};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var 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};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var 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};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\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});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\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(validate(this, MAP), 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(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var 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._t = NAME; // collection type\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 = validate(this, NAME), 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 = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var 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 validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var 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(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var 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 = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var 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};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\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(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar 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(validate(this, WEAK_MAP)).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(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var 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}\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar 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._t = NAME; // collection type\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(validate(this, NAME))['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(validate(this, NAME)).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};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var 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 // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\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","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar 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 var i = 0;\n var l = keys.length;\n var 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 var result = [];\n var i = 0;\n var 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 var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var 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 es6Symbols = (\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(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\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(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\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 var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') 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","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","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') });\n","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 });\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') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $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});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar 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});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar 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});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar 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});\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});\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});\n","// 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});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar 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}\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') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar 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} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar 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 var 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 var 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}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var 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 var 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 var 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 var 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.0.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 var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\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});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.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});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $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 });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $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});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $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 });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $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});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar 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});\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});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar 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 var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var 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});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $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 var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 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.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 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});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar 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});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\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});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $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 var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(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});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar 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 var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var 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});\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});\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 var index = this._i;\n var 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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $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 var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar 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});\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});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $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 var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\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});\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});\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});\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});\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});\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});\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});\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});\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});\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});\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});\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});\n","'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});\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(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var 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} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar 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};\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') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar 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 var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var 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","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\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 var aLen = arguments.length;\n var 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});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar 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});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar 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 var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var 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});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar 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});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar 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});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar 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};\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar 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});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar 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 var length = toLength(O.length);\n var 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});\n","// 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');\n","// 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');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar 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);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar 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);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar 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 var piRE = isRegExp(p);\n var 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');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $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}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\n\n// eslint-disable-next-line no-empty\nvar SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })();\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\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 // based on es5-shim implementation, need to rework it\n internalSplit = 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 match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\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 internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? 0xffffffff : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, 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(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar 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 var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\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});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\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);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\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});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\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});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\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});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar 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() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\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 var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar 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 // eslint-disable-next-line no-undef\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});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar 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});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar 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 var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var 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});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var 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 });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar 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});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\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});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $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});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $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});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var 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 if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\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 });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar 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});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var 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} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar 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} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var 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} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar 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} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar 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} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar 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} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.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} });\n","/* tslint:disable */\nimport 'core-js/es6';\nimport 'core-js/es7/reflect';\nrequire('zone.js/dist/zone');\n\n// IE11 fix, ref: https://github.com/angular/angular/issues/24769\nif (!Element.prototype.matches && (Element.prototype as any).msMatchesSelector) {\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector;\n}\n\nif (process.env.ENV === 'production') {\n // Production\n} else {\n // Development and test\n Error['stackTraceLimit'] = Infinity;\n require('zone.js/dist/long-stack-trace-zone');\n}\n\n// Other polyfills\nrequire('whatwg-fetch');\nrequire('webcrypto-shim');\n/* tslint:enable */\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.exec');\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');\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","/**\n* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes\n* (c) 2010-2020 Google LLC. https://angular.io/\n* License: MIT\n*/\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () {\n 'use strict';\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 var Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) { performance && performance['mark'] && performance['mark'](name); }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n var symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n var checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\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 () { return _currentZoneFrame.zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () { return _currentTask; },\n enumerable: true,\n configurable: true\n });\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\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 () { return this._parent; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () { return this._name; },\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 _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 _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 if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\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 = undefined;\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.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, undefined));\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 // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) { return delegate.scheduleTask(target, task); },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (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 =\n zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\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._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec &&\n (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone = zoneSpec &&\n (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\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._invokeTaskCurrZone);\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._cancelTaskCurrZone);\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 ?\n 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 // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\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 this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n // tslint:disable-next-line:require-internal-with-underscore\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 = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\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 if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(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 () { return this._zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () { return this._state; },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () { this._transitionTo(notScheduled, scheduling); };\n // tslint:disable-next-line:require-internal-with-underscore\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 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\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 var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, 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 _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 bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n patchMacroTask: 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 patchEventPrototype: function () { return noop; },\n isIEOrEdge: function () { return false; },\n getGlobalObjects: function () { return undefined; },\n ObjectDefineProperty: function () { return noop; },\n ObjectGetOwnPropertyDescriptor: function () { return undefined; },\n ObjectCreate: function () { return undefined; },\n ArraySlice: function () { return []; },\n patchClass: function () { return noop; },\n wrapWithCurrentZone: function () { return noop; },\n filterProperties: function () { return []; },\n attachOriginToPatched: function () { return noop; },\n _redefineProperty: function () { return noop; },\n patchCallbacks: function () { return noop; }\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n })(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\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 Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\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 isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\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 var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\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 (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) { return value && value.then; }\n function forwardResolution(value) { return value; }\n function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\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 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 () { resolvePromise(promise, false, err); })();\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.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\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 ObjectDefineProperty(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 var uncaughtPromiseError = value;\n if (!isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // and the rejected value is an Error object,\n // use the value instead of wrapping it.\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\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.call(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 promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var noop = function () { };\n var ZoneAwarePromise = /** @class */ (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 () { return ZONE_AWARE_PROMISE_TO_STRING; };\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) { resolve(value); }\n function onReject(error) { reject(error); }\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value = values_1[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) { return ZoneAwarePromise.allWithCallback(values); };\n ZoneAwarePromise.allSettled = function (values) {\n var P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: function (value) { return ({ status: 'fulfilled', value: value }); },\n errorCallback: function (err) { return ({ status: 'rejected', reason: err }); }\n });\n };\n ZoneAwarePromise.allWithCallback = function (values, callback) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n try {\n value.then(function (value) {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, function (err) {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n _loop_2(value);\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.toStringTag, {\n get: function () { return 'Promise'; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.species, {\n get: function () { return ZoneAwarePromise; },\n enumerable: true,\n configurable: true\n });\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\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 ZoneAwarePromise.prototype.finally = function (onFinally) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\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 = ObjectGetOwnPropertyDescriptor(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 ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) { originalThen.call(_this, resolve, reject); });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\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[api.symbol('fetch')] = fetch_1;\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 * @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 */\n /// \n // issue #989, to reduce bundle size, use short name\n /** Object.getOwnPropertyDescriptor */\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n /** Object.defineProperty */\n var ObjectDefineProperty = Object.defineProperty;\n /** Object.getPrototypeOf */\n var ObjectGetPrototypeOf = Object.getPrototypeOf;\n /** Object.create */\n var ObjectCreate = Object.create;\n /** Array.prototype.slice */\n var ArraySlice = Array.prototype.slice;\n /** addEventListener string const */\n var ADD_EVENT_LISTENER_STR = 'addEventListener';\n /** removeEventListener string const */\n var REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n /** zoneSymbol addEventListener */\n var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n /** zoneSymbol removeEventListener */\n var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n /** true string const */\n var TRUE_STR = 'true';\n /** false string const */\n var FALSE_STR = 'false';\n /** Zone symbol prefix string const. */\n var ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\n function wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n }\n function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n }\n var zoneSymbol = Zone.__symbol__;\n var isWindowExists = typeof window !== 'undefined';\n var internalWindow = isWindowExists ? window : undefined;\n var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\n var REMOVE_ATTRIBUTE = 'removeAttribute';\n var NULL_ON_PROP_VALUE = [null];\n function bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n }\n function patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_3 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(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_3(i);\n }\n }\n function isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n }\n var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\n var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['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 accidentally browserify\n // this code.\n var isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\n var zoneSymbolEventNames = {};\n var 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;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n };\n function patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(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 var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\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.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n }\n function 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 }\n var originalInstanceKey = zoneSymbol('originalInstance');\n // wrap some native API on `window`\n function 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 ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(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 () { return this[originalInstanceKey][prop]; }\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 }\n function copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () { return src[symbol]; },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n }\n var shouldCopySymbolProperties = false;\n function patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(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 = null;\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 && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () { return patchDelegate_1(this, arguments); };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n }\n // TODO: @JiaLiPassion, support cancel task later if necessary\n function patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () { task.invoke.apply(this, arguments); };\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.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n }\n function attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n }\n var isDetectedIEOrEdge = false;\n var ieOrEdge = false;\n function isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n }\n function isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\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\n Zone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\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.call(nativePromise);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\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.call(this);\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 var passiveSupported = false;\n if (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', { get: function () { passiveSupported = true; } });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n }\n // an identifier to tell ZoneTask do not create a new invoke closure\n var OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n };\n var zoneSymbolEventNames$1 = {};\n var globalSources = {};\n var EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\n var IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\n function prepareEventNames(eventName, eventNameToString) {\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : 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 function patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || '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' && 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].call(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 Samsung 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 Samsung 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.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(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 var eventNameToString = patchOptions && patchOptions.eventNameToString;\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.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\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.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\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.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(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 return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[zoneSymbol('BLACK_LISTED_EVENTS')];\n var passiveEvents = _global[zoneSymbol('PASSIVE_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 eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\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') {\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 passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n var options = buildEventListenerOptions(arguments[2], passive);\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var once = options && typeof options === 'object' ? options.once : false;\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames$1[eventName];\n }\n var symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\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['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : 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 : undefined;\n // keep taskData into data to allow onScheduleEventTask to access 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 if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\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 if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var options = arguments[2];\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\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 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 // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n var onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\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 if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : 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].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\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].call(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].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\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 }\n function findEventTasks(target, eventName) {\n if (!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 }\n var symbolEventName = zoneSymbolEventNames$1[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames$1[eventName];\n }\n var captureFalseTasks = target[symbolEventName[FALSE_STR]];\n var captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n }\n function 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 * @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 patchCallbacks(api, target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\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 var 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 ];\n var documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n ];\n var 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 'vrdisplayconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n ];\n var htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n ];\n var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\n var 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 ];\n var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\n var formEventNames = ['autocomplete', 'autocompleteerror'];\n var detailEventNames = ['toggle'];\n var frameEventNames = ['load'];\n var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\n var marqueeEventNames = ['bounce', 'finish', 'start'];\n var XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n ];\n var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\n var websocketEventNames = ['close', 'error', 'open', 'message'];\n var workerEventNames = ['error', 'message'];\n var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\n function filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\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 }\n function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n }\n function propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow_1 = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow_1, ignoreProperties: ['error'] }] : [];\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(internalWindow_1, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow_1));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow_1['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow_1['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 = internalWindow_1['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow_1['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\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 /**\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 Zone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = function () { return ({ globalSources: globalSources, zoneSymbolEventNames: zoneSymbolEventNames$1, eventNames: eventNames, isBrowser: isBrowser, isMix: isMix, isNode: isNode, TRUE_STR: TRUE_STR,\n FALSE_STR: FALSE_STR, ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX, ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR }); };\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 */\n var zoneSymbol$1;\n var _defineProperty;\n var _getOwnPropertyDescriptor;\n var _create;\n var unconfigurablesKey;\n function propertyPatch() {\n zoneSymbol$1 = Zone.__symbol__;\n _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;\n _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\n _create = Object.create;\n unconfigurablesKey = zoneSymbol$1('unconfigurables');\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) { Object.defineProperty(obj, prop, props[prop]); });\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 (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n }\n function _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n }\n function isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n }\n function 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 }\n function _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') {\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 * @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 eventTargetLegacyPatch(_global, api) {\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, globalSources = _a.globalSources, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\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 = api.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 var pointerEventsMap = {\n 'MSPointerCancel': 'pointercancel',\n 'MSPointerDown': 'pointerdown',\n 'MSPointerEnter': 'pointerenter',\n 'MSPointerHover': 'pointerhover',\n 'MSPointerLeave': 'pointerleave',\n 'MSPointerMove': 'pointermove',\n 'MSPointerOut': 'pointerout',\n 'MSPointerOver': 'pointerover',\n 'MSPointerUp': 'pointerup'\n };\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[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555_ARRAY.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 // vh is validateHandler to check event handler\n // is valid or not(for security check)\n api.patchEventTarget(_global, apiTypes, {\n vh: checkIEAndCrossContext,\n transferEventName: function (eventName) {\n var pointerEventName = pointerEventsMap[eventName];\n return pointerEventName || eventName;\n }\n });\n Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];\n return true;\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\n function apply(api, _global) {\n var _a = api.getGlobalObjects(), ADD_EVENT_LISTENER_STR = _a.ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR = _a.REMOVE_EVENT_LISTENER_STR;\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 api.patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\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 = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = api.ObjectCreate(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 [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = api.ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\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 api.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 * @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 propertyDescriptorLegacyPatch(api, _global) {\n var _a = api.getGlobalObjects(), isNode = _a.isNode, isMix = _a.isMix;\n if (isNode && !isMix) {\n return;\n }\n if (!canPatchViaPropertyDescriptor(api, _global)) {\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents(api);\n api.patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n Zone[api.symbol('patchEvents')] = true;\n }\n }\n function canPatchViaPropertyDescriptor(api, _global) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((isBrowser || isMix) &&\n !api.ObjectGetOwnPropertyDescriptor(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 = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n // try to use onclick to detect whether we can patch via propertyDescriptor\n // because XMLHttpRequest is not available in service worker\n if (desc) {\n api.ObjectDefineProperty(Element.prototype, 'onclick', { enumerable: true, configurable: true, get: function () { return true; } });\n var div = document.createElement('div');\n var result = !!div.onclick;\n api.ObjectDefineProperty(Element.prototype, 'onclick', desc);\n return result;\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\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 api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { enumerable: true, configurable: true, get: function () { return true; } });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () { return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1]; },\n set: function (value) { this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value; }\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 }\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)\n function patchViaCapturingAllTheEvents(api) {\n var eventNames = api.getGlobalObjects().eventNames;\n var unboundKey = api.symbol('unbound');\n var _loop_4 = 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 = api.wrapWithCurrentZone(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_4(i);\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 function registerElementPatch(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);\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 (function (_global) {\n var symbolPrefix = _global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n _global[__symbol__('legacyPatch')] = function () {\n var Zone = _global['Zone'];\n Zone.__load_patch('defineProperty', function (global, Zone, api) {\n api._redefineProperty = _redefineProperty;\n propertyPatch();\n });\n Zone.__load_patch('registerElement', function (global, Zone, api) {\n registerElementPatch(global, api);\n });\n Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {\n eventTargetLegacyPatch(global, api);\n propertyDescriptorLegacyPatch(api, global);\n });\n };\n })(typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {});\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 var taskSymbol = zoneSymbol('zoneTask');\n function patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\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 }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) { return clearNative(task.data.handleId); }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(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 !== 'notScheduled' &&\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 * @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 patchCustomElements(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\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 function eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\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[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n var EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n }\n function patchEvent(global, api) {\n api.patchEventPrototype(global, api);\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 Zone.__load_patch('legacy', function (global) {\n var legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('timers', function (global) {\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 });\n Zone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_2 = blockingMethods[i];\n patchMethod(global, name_2, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', function (global, Zone, api) {\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 });\n Zone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', function (global, Zone, api) {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', function (global, Zone) {\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 var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) { return target[XHR_TASK]; }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(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 && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(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 target[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(XMLHttpRequestPrototype, '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 fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\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 = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\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 else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\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 });\n Zone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\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","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (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\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (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 isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction 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\nfunction 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\nfunction 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\nexport 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\nHeaders.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\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.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\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction 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\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction 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\nfunction 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\nfunction 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 this._bodyText = body = Object.prototype.toString.call(body)\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\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport 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 this.signal = input.signal\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 || 'same-origin'\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.signal = options.signal || this.signal\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\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .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\nfunction 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\nBody.call(Request.prototype)\n\nexport 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\nBody.call(Response.prototype)\n\nResponse.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\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.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\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\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.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\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 if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","/**\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"],"sourceRoot":""} \ No newline at end of file diff --git a/app/polyfills.d8139e017ad9a069b29d.js b/app/polyfills.d8139e017ad9a069b29d.js new file mode 100644 index 00000000..cc71abd5 --- /dev/null +++ b/app/polyfills.d8139e017ad9a069b29d.js @@ -0,0 +1,152 @@ +!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=737)}([,,function(t,e,n){var r=n(21),o=n(55),i=n(56),a=n(52),u=n(63),c=function(t,e,n){var s,f,l,p,h=t&c.F,d=t&c.G,v=t&c.S,y=t&c.P,g=t&c.B,m=d?r:v?r[e]||(r[e]={}):(r[e]||{}).prototype,b=d?o:o[e]||(o[e]={}),_=b.prototype||(b.prototype={});for(s in d&&(n=e),n)l=((f=!h&&m&&void 0!==m[s])?m:n)[s],p=g&&f?u(l,r):y&&"function"==typeof l?u(Function.call,l):l,m&&a(m,s,l,t&c.U),b[s]!=l&&i(b,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(23);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},,,,,function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,,,,,function(t,e,n){var r=n(132)("wks"),o=n(90),i=n(21).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(64),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},,,function(t,e,n){var r=n(16),o=n(220),i=n(76),a=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(u){}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(22)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,,,,,,function(t,e,n){var r=n(77);t.exports=function(t){return Object(r(t))}},,,,,function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},,function(t,e,n){var r=n(2),o=n(22),i=n(77),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){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(21),o=n(56),i=n(51),a=n(90)("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(116),o=n(77);t.exports=function(t){return r(o(t))}},,function(t,e){var n=t.exports={version:"2.6.2"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(34),o=n(86);t.exports=n(35)?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(51),o=n(43),i=n(175)("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,n){var r=n(124),o=n(86),i=n(53),a=n(76),u=n(51),c=n(220),s=Object.getOwnPropertyDescriptor;e.f=n(35)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(n){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){"use strict";var r=n(22);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(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){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(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(2),o=n(55),i=n(22);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,n){var r=n(63),o=n(116),i=n(43),a=n(31),u=n(234);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,d){for(var v,y,g=i(e),m=o(g),b=r(u,d,3),_=a(m.length),w=0,S=n?h(e,_):c?h(e,0):void 0;_>w;w++)if((p||w in m)&&(y=b(v=m[w],w,g),t))if(n)S[w]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return w;case 2:S.push(v)}else if(f)return!1;return l?-1:s||f?f:S}}},,,,,function(t,e,n){var r=n(23);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";if(n(35)){var r=n(87),o=n(21),i=n(22),a=n(2),u=n(139),c=n(190),s=n(63),f=n(98),l=n(86),p=n(56),h=n(100),d=n(64),v=n(31),y=n(245),g=n(92),m=n(76),b=n(51),_=n(95),w=n(23),S=n(43),k=n(186),E=n(84),x=n(58),T=n(93).f,O=n(134),A=n(90),P=n(29),M=n(71),j=n(152),D=n(126),C=n(206),F=n(108),I=n(135),R=n(97),N=n(187),L=n(236),Z=n(34),U=n(60),z=Z.f,B=U.f,H=o.RangeError,W=o.TypeError,K=o.Uint8Array,G=Array.prototype,J=c.ArrayBuffer,V=c.DataView,q=M(0),Y=M(2),X=M(3),$=M(4),Q=M(5),tt=M(6),et=j(!0),nt=j(!1),rt=C.values,ot=C.keys,it=C.entries,at=G.lastIndexOf,ut=G.reduce,ct=G.reduceRight,st=G.join,ft=G.sort,lt=G.slice,pt=G.toString,ht=G.toLocaleString,dt=P("iterator"),vt=P("toStringTag"),yt=A("typed_constructor"),gt=A("def_constructor"),mt=u.CONSTR,bt=u.TYPED,_t=u.VIEW,wt=M(1,function(t,e){return Tt(D(t,t[gt]),e)}),St=i(function(){return 1===new K(new Uint16Array([1]).buffer)[0]}),kt=!!K&&!!K.prototype.set&&i(function(){new K(1).set({})}),Et=function(t,e){var n=d(t);if(n<0||n%e)throw H("Wrong offset!");return n},xt=function(t){if(w(t)&&bt in t)return t;throw W(t+" is not a typed array!")},Tt=function(t,e){if(!(w(t)&&yt in t))throw W("It is not a typed array constructor!");return new t(e)},Ot=function(t,e){return At(D(t,t[gt]),e)},At=function(t,e){for(var n=0,r=e.length,o=Tt(t,r);r>n;)o[n]=e[n++];return o},Pt=function(t,e,n){z(t,e,{get:function(){return this._d[n]}})},Mt=function(t){var e,n,r,o,i,a,u=S(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,p=O(u);if(null!=p&&!k(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=v(u.length),o=Tt(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},jt=function(){for(var t=0,e=arguments.length,n=Tt(this,e);e>t;)n[t]=arguments[t++];return n},Dt=!!K&&i(function(){ht.call(new K(1))}),Ct=function(){return ht.apply(Dt?lt.call(xt(this)):xt(this),arguments)},Ft={copyWithin:function(t,e){return L.call(xt(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(xt(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return N.apply(xt(this),arguments)},filter:function(t){return Ot(this,Y(xt(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(xt(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(xt(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){q(xt(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(xt(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(xt(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(xt(this),arguments)},lastIndexOf:function(t){return at.apply(xt(this),arguments)},map:function(t){return wt(xt(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(xt(this),arguments)},reduceRight:function(t){return ct.apply(xt(this),arguments)},reverse:function(){for(var t,e=xt(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return ft.call(xt(this),t)},subarray:function(t,e){var n=xt(this),r=n.length,o=g(t,r);return new(D(n,n[gt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,v((void 0===e?r:g(e,r))-o))}},It=function(t,e){return Ot(this,lt.call(xt(this),t,e))},Rt=function(t){xt(this);var e=Et(arguments[1],1),n=this.length,r=S(t),o=v(r.length),i=0;if(o+e>n)throw H("Wrong length!");for(;i255?255:255&r),o.v[h](n*e+o.o,r,St)}(this,n,t)},enumerable:!0})};b?(d=n(function(t,n,r,o){f(t,d,s,"_d");var i,a,u,c,l=0,h=0;if(w(n)){if(!(n instanceof J||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return bt in n?At(d,n):Mt.call(d,n);i=n,h=Et(r,e);var g=n.byteLength;if(void 0===o){if(g%e)throw H("Wrong length!");if((a=g-h)<0)throw H("Wrong length!")}else if((a=v(o)*e)+h>g)throw H("Wrong length!");u=a/e}else u=y(n),i=new J(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){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports=!1},,,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(223),o=n(176);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(64),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(223),o=n(176).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},,function(t,e,n){var r=n(69),o=n(29)("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(n){}}(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(29)("unscopables"),o=Array.prototype;null==o[r]&&n(56)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){"use strict";var r=n(21),o=n(34),i=n(35),a=n(29)("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=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){var r=n(63),o=n(233),i=n(186),a=n(16),u=n(31),c=n(134),s={},f={};(e=t.exports=function(t,e,n,l,p){var h,d,v,y,g=p?function(){return t}:c(t),m=r(n,l,e?2:1),b=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(h=u(t.length);h>b;b++)if((y=e?m(a(d=t[b])[0],d[1]):m(t[b]))===s||y===f)return y}else for(v=g.call(t);!(d=v.next()).done;)if((y=o(v,m,d.value,e))===s||y===f)return y}).BREAK=s,e.RETURN=f},function(t,e,n){var r=n(52);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},,,,,,,function(t,e,n){var r=n(34).f,o=n(51),i=n(29)("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){t.exports={}},function(t,e,n){var r=n(23);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}t.exports=n},,,,,,function(t,e,n){var r=n(69);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(2),o=n(77),i=n(22),a=n(179),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){e.f={}.propertyIsEnumerable},function(t,e,n){"use strict";var r=n(16);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(16),o=n(48),i=n(29)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||null==(n=r(a)[i])?e:o(n)}},,,,,,function(t,e,n){var r=n(55),o=n(21),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(87)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(95),o=n(29)("iterator"),i=n(108);t.exports=n(55).getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r=n(29)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(a){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],u=i[r]();u.next=function(){return{done:n=!0}},i[r]=function(){return u},t(i)}catch(a){}return n}},function(t,e,n){"use strict";var r=n(95),o=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},function(t,e,n){"use strict";n(237);var r=n(52),o=n(56),i=n(22),a=n(77),u=n(29),c=n(188),s=u("species"),f=!i(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var p=u(t),h=!i(function(){var e={};return e[p]=function(){return 7},7!=""[t](e)}),d=h?!i(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[p](""),!e}):void 0;if(!h||!d||"replace"===t&&!f||"split"===t&&!l){var v=/./[p],y=n(a,p,""[t],function(t,e,n,r,o){return e.exec===c?h&&!o?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=y[0],m=y[1];r(String.prototype,t,g),o(RegExp.prototype,p,2==e?function(t,e){return m.call(t,this,e)}:function(t){return m.call(t,this)})}}},function(t,e,n){"use strict";var r=n(21),o=n(2),i=n(52),a=n(100),u=n(83),c=n(99),s=n(98),f=n(23),l=n(22),p=n(135),h=n(107),d=n(180);t.exports=function(t,e,n,v,y,g){var m=r[t],b=m,_=y?"set":"add",w=b&&b.prototype,S={},k=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 b&&(g||w.forEach&&!l(function(){(new b).entries().next()}))){var E=new b,x=E[_](g?{}:-0,1)!=E,T=l(function(){E.has(1)}),O=p(function(t){new b(t)}),A=!g&&l(function(){for(var t=new b,e=5;e--;)t[_](e,e);return!t.has(-0)});O||((b=e(function(e,n){s(e,b,t);var r=d(new m,e,b);return null!=n&&c(n,y,r[_],r),r})).prototype=w,w.constructor=b),(T||A)&&(k("delete"),k("has"),y&&k("get")),(A||x)&&k(_),g&&w.clear&&delete w.clear}else b=v.getConstructor(e,t,y,_),a(b.prototype,n),u.NEED=!0;return h(b,t),S[t]=b,o(o.G+o.W+o.F*(b!=m),S),g||v.setStrong(b,t,y),b}},function(t,e,n){for(var r,o=n(21),i=n(56),a=n(90),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){var r=n(53),o=n(31),i=n(92);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){var r=n(69);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(64),o=n(77);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(87),o=n(2),i=n(52),a=n(56),u=n(108),c=n(183),s=n(107),f=n(58),l=n(29)("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,d,v,y,g){c(n,e,d);var m,b,_,w=function(t){if(!p&&t in x)return x[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",k="values"==v,E=!1,x=t.prototype,T=x[l]||x["@@iterator"]||v&&x[v],O=T||w(v),A=v?k?w("entries"):O:void 0,P="Array"==e&&x.entries||T;if(P&&(_=f(P.call(new t)))!==Object.prototype&&_.next&&(s(_,S,!0),r||"function"==typeof _[l]||a(_,l,h)),k&&T&&"values"!==T.name&&(E=!0,O=function(){return T.call(this)}),r&&!g||!p&&!E&&x[l]||a(x,l,O),u[e]=O,u[S]=h,v)if(m={values:k?O:w("values"),keys:y?O:w("keys"),entries:A},g)for(b in m)b in x||i(x,b,m[b]);else o(o.P+o.F*(p||E),e,m);return m}},function(t,e,n){var r=n(23),o=n(69),i=n(29)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},,,,,,,,,,,,,,,,,,function(t,e,n){var r=n(23),o=n(21).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(132)("keys"),o=n(90);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(21).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(23),o=n(16),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(63)(Function.call,n(60).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(o){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){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(23),o=n(178).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=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},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,n){"use strict";var r=n(84),o=n(86),i=n(107),a={};n(56)(a,n(29)("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,n){var r=n(156),o=n(77);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){var r=n(29)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(o){}}return!0}},function(t,e,n){var r=n(108),o=n(29)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){"use strict";var r=n(43),o=n(92),i=n(31);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){"use strict";var r,o,i=n(125),a=RegExp.prototype.exec,u=String.prototype.replace,c=a,s=(r=/a/,o=/b*/g,a.call(r,"a"),a.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=void 0!==/()??/.exec("")[1];(s||f)&&(c=function(t){var e,n,r,o,c=this;return f&&(n=new RegExp("^"+c.source+"$(?!\\s)",i.call(c))),s&&(e=c.lastIndex),r=a.call(c,t),s&&r&&(c.lastIndex=c.global?r.index+r[0].length:e),f&&r&&r.length>1&&u.call(r[0],n,function(){for(o=1;o>1,f=23===e?O(2,-24)-O(2,-77):0,l=0,p=t<0||0===t&&1/t<0?1:0;for((t=T(t))!=t||t===E?(o=t!=t?1:0,r=c):(r=A(P(t)/M),t*(i=O(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?f/i:f*O(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*O(2,e),r+=s):(o=t*O(2,s-1)*O(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}function I(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?-E:E;r+=O(2,e),f-=a}return(s?-1:1)*r*O(2,f-e)}function R(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function N(t){return[255&t]}function L(t){return[255&t,t>>8&255]}function Z(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function U(t){return F(t,52,8)}function z(t){return F(t,23,4)}function B(t,e,n){v(t[m],e,{get:function(){return this[n]}})}function H(t,e,n,r){var o=h(+n);if(o+e>t[D])throw k(b);var i=t[j]._b,a=o+t[C],u=i.slice(a,a+e);return r?u:u.reverse()}function W(t,e,n,r,o,i){var a=h(+n);if(a+e>t[D])throw k(b);for(var u=t[j]._b,c=a+t[C],s=r(+o),f=0;fV;)(K=J[V++])in _||u(_,K,x[K]);i||(G.constructor=_)}var q=new w(new _(2)),Y=w[m].setInt8;q.setInt8(0,2147483648),q.setInt8(1,2147483649),!q.getInt8(0)&&q.getInt8(1)||c(w[m],{setInt8:function(t,e){Y.call(this,t,e<<24>>24)},setUint8:function(t,e){Y.call(this,t,e<<24>>24)}},!0)}else _=function(t){f(this,_,"ArrayBuffer");var e=h(t);this._b=y.call(new Array(e),0),this[D]=e},w=function(t,e,n){f(this,w,"DataView"),f(t,_,"DataView");var r=t[D],o=l(e);if(o<0||o>r)throw k("Wrong offset!");if(o+(n=void 0===n?r-o:p(n))>r)throw k("Wrong length!");this[j]=t,this[C]=o,this[D]=n},o&&(B(_,"byteLength","_l"),B(w,"buffer","_b"),B(w,"byteLength","_l"),B(w,"byteOffset","_o")),c(w[m],{getInt8:function(t){return H(this,1,t)[0]<<24>>24},getUint8:function(t){return H(this,1,t)[0]},getInt16:function(t){var e=H(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=H(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return R(H(this,4,t,arguments[1]))},getUint32:function(t){return R(H(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return I(H(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return I(H(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){W(this,1,t,N,e)},setUint8:function(t,e){W(this,1,t,N,e)},setInt16:function(t,e){W(this,2,t,L,e,arguments[2])},setUint16:function(t,e){W(this,2,t,L,e,arguments[2])},setInt32:function(t,e){W(this,4,t,Z,e,arguments[2])},setUint32:function(t,e){W(this,4,t,Z,e,arguments[2])},setFloat32:function(t,e){W(this,4,t,z,e,arguments[2])},setFloat64:function(t,e){W(this,8,t,U,e,arguments[2])}});g(_,"ArrayBuffer"),g(w,"DataView"),u(w[m],a.VIEW,!0),e.ArrayBuffer=_,e.DataView=w},,,,,,,,,,,,function(t,e,n){"use strict";var r=n(91),o=n(133),i=n(124),a=n(43),u=n(116),c=Object.assign;t.exports=!c||n(22)(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++]),d=f?r(h).concat(f(h)):r(h),v=d.length,y=0;v>y;)l.call(h,p=d[y++])&&(n[p]=h[p]);return n}:c},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){"use strict";var r=n(64),o=n(77);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(34),o=n(86);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){"use strict";var r=n(96),o=n(207),i=n(108),a=n(53);t.exports=n(155)(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){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r,o,i,a=n(63),u=n(203),c=n(177),s=n(174),f=n(21),l=f.process,p=f.setImmediate,h=f.clearImmediate,d=f.MessageChannel,v=f.Dispatch,y=0,g={},m=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},b=function(t){m.call(t.data)};p&&h||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++y]=function(){u("function"==typeof t?t:Function(t),e)},r(y),y},h=function(t){delete g[t]},"process"==n(69)(l)?r=function(t){l.nextTick(a(m,t,1))}:v&&v.now?r=function(t){v.now(a(m,t,1))}:d?(i=(o=new d).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),m.call(t)}}:function(t){setTimeout(a(m,t,1),0)}),t.exports={set:p,clear:h}},function(t,e,n){"use strict";var r=n(48);function o(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new o(t)}},function(t,e,n){var r=n(21).navigator;t.exports=r&&r.userAgent||""},,,,,,,,,,function(t,e,n){t.exports=!n(35)&&!n(22)(function(){return 7!=Object.defineProperty(n(174)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){e.f=n(29)},function(t,e,n){var r=n(21),o=n(55),i=n(87),a=n(221),u=n(34).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){var r=n(51),o=n(53),i=n(152)(!1),a=n(175)("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(34),o=n(16),i=n(91);t.exports=n(35)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(53),o=n(93).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(e){return a.slice()}}(t):o(r(t))}},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){"use strict";var r=n(48),o=n(23),i=n(203),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;o>>0||(a.test(n)?16:10))}:r},function(t,e,n){var r=n(21).parseFloat,o=n(117).trim;t.exports=1/r(n(179)+"-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(69);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){var r=n(23),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},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(16);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t.return;throw void 0!==i&&r(i.call(t)),a}}},function(t,e,n){var r=n(399);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(48),o=n(43),i=n(116),a=n(31);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){"use strict";var r=n(43),o=n(92),i=n(31);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){"use strict";var r=n(188);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(t,e,n){n(35)&&"g"!=/./g.flags&&n(34).f(RegExp.prototype,"flags",{configurable:!0,get:n(125)})},function(t,e,n){var r=n(21),o=n(208).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,c="process"==n(69)(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(i){throw t?n():e=void 0,i}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(s)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var f=u.resolve(void 0);n=function(){f.then(s)}}else n=function(){o.call(r,s)};else{var l=!0,p=document.createTextNode("");new i(s).observe(p,{characterData:!0}),n=function(){p.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){"use strict";var r=n(241),o=n(109);t.exports=n(138)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(34).f,o=n(84),i=n(100),a=n(63),u=n(98),c=n(99),s=n(155),f=n(207),l=n(97),p=n(35),h=n(83).fastKey,d=n(109),v=p?"_s":"size",y=function(t,e){var n,r=h(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,s){var f=t(function(t,r){u(t,f,e,"_i"),t._t=e,t._i=o(null),t._f=void 0,t._l=void 0,t[v]=0,null!=r&&c(r,n,t[s],t)});return i(f.prototype,{clear:function(){for(var t=d(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[v]=0},delete:function(t){var n=d(this,e),r=y(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[v]--}return!!r},forEach:function(t){d(this,e);for(var n,r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(d(this,e),t)}}),p&&r(f.prototype,"size",{get:function(){return d(this,e)[v]}}),f},def:function(t,e,n){var r,o,i=y(t,e);return i?i.v=n:(t._l=i={i:o=h(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[v]++,"F"!==o&&(t._i[o]=i)),t},getEntry:y,setStrong:function(t,e,n){s(t,e,function(t,n){this._t=d(t,e),this._k=n,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)?f(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,f(1))},n?"entries":"values",!n,!0),l(e)}}},function(t,e,n){"use strict";var r=n(241),o=n(109);t.exports=n(138)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r,o=n(71)(0),i=n(52),a=n(83),u=n(202),c=n(244),s=n(23),f=n(22),l=n(109),p=a.getWeak,h=Object.isExtensible,d=c.ufstore,v={},y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(t){if(s(t)){var e=p(t);return!0===e?d(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return c.def(l(this,"WeakMap"),t,e)}},m=t.exports=n(138)("WeakMap",y,g,c,!0,!0);f(function(){return 7!=(new m).set((Object.freeze||Object)(v),7).get(v)})&&(u((r=c.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=m.prototype,n=e[t];i(e,t,function(e,o){if(s(e)&&!h(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(100),o=n(83).getWeak,i=n(16),a=n(23),u=n(98),c=n(99),s=n(71),f=n(51),l=n(109),p=s(5),h=s(6),d=0,v=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},g=function(t,e){return p(t.a,function(t){return t[0]===e})};y.prototype={get:function(t){var e=g(this,t);if(e)return e[1]},has:function(t){return!!g(this,t)},set:function(t,e){var n=g(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=h(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._t=e,t._i=d++,t._l=void 0,null!=r&&c(r,n,t[i],t)});return r(s.prototype,{delete:function(t){if(!a(t))return!1;var n=o(t);return!0===n?v(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=o(t);return!0===n?v(l(this,e)).has(t):n&&f(n,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){var r=n(64),o=n(31);t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=o(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){var r=n(93),o=n(133),i=n(16),a=n(21).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){var r=n(181),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),c=o(2,-126);t.exports=Math.fround||function(t){var e,n,o=Math.abs(t),s=r(t);return ou||n!=n?s*(1/0):s*n}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},function(t,e,n){var r=n(16),o=n(23),i=n(209);t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(99);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(21),o=n(51),i=n(35),a=n(2),u=n(52),c=n(83).KEY,s=n(22),f=n(132),l=n(107),p=n(90),h=n(29),d=n(221),v=n(222),y=n(311),g=n(153),m=n(16),b=n(23),_=n(53),w=n(76),S=n(86),k=n(84),E=n(225),x=n(60),T=n(34),O=n(91),A=x.f,P=T.f,M=E.f,j=r.Symbol,D=r.JSON,C=D&&D.stringify,F=h("_hidden"),I=h("toPrimitive"),R={}.propertyIsEnumerable,N=f("symbol-registry"),L=f("symbols"),Z=f("op-symbols"),U=Object.prototype,z="function"==typeof j,B=r.QObject,H=!B||!B.prototype||!B.prototype.findChild,W=i&&s(function(){return 7!=k(P({},"a",{get:function(){return P(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=A(U,e);r&&delete U[e],P(t,e,n),r&&t!==U&&P(U,e,r)}:P,K=function(t){var e=L[t]=k(j.prototype);return e._k=t,e},G=z&&"symbol"==typeof j.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof j},J=function(t,e,n){return t===U&&J(Z,e,n),m(t),e=w(e,!0),m(n),o(L,e)?(n.enumerable?(o(t,F)&&t[F][e]&&(t[F][e]=!1),n=k(n,{enumerable:S(0,!1)})):(o(t,F)||P(t,F,S(1,{})),t[F][e]=!0),W(t,e,n)):P(t,e,n)},V=function(t,e){m(t);for(var n,r=y(e=_(e)),o=0,i=r.length;i>o;)J(t,n=r[o++],e[n]);return t},q=function(t){var e=R.call(this,t=w(t,!0));return!(this===U&&o(L,t)&&!o(Z,t))&&(!(e||!o(this,t)||!o(L,t)||o(this,F)&&this[F][t])||e)},Y=function(t,e){if(t=_(t),e=w(e,!0),t!==U||!o(L,e)||o(Z,e)){var n=A(t,e);return!n||!o(L,e)||o(t,F)&&t[F][e]||(n.enumerable=!0),n}},X=function(t){for(var e,n=M(_(t)),r=[],i=0;n.length>i;)o(L,e=n[i++])||e==F||e==c||r.push(e);return r},$=function(t){for(var e,n=t===U,r=M(n?Z:_(t)),i=[],a=0;r.length>a;)!o(L,e=r[a++])||n&&!o(U,e)||i.push(L[e]);return i};z||(u((j=function(){if(this instanceof j)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===U&&e.call(Z,n),o(this,F)&&o(this[F],t)&&(this[F][t]=!1),W(this,t,S(1,n))};return i&&H&&W(U,t,{configurable:!0,set:e}),K(t)}).prototype,"toString",function(){return this._k}),x.f=Y,T.f=J,n(93).f=E.f=X,n(124).f=q,n(133).f=$,i&&!n(87)&&u(U,"propertyIsEnumerable",q,!0),d.f=function(t){return K(h(t))}),a(a.G+a.W+a.F*!z,{Symbol:j});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)h(Q[tt++]);for(var et=O(h.store),nt=0;et.length>nt;)v(et[nt++]);a(a.S+a.F*!z,"Symbol",{for:function(t){return o(N,t+="")?N[t]:N[t]=j(t)},keyFor:function(t){if(!G(t))throw TypeError(t+" is not a symbol!");for(var e in N)if(N[e]===t)return e},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!z,"Object",{create:function(t,e){return void 0===e?k(t):V(k(t),e)},defineProperty:J,defineProperties:V,getOwnPropertyDescriptor:Y,getOwnPropertyNames:X,getOwnPropertySymbols:$}),D&&a(a.S+a.F*(!z||s(function(){var t=j();return"[null]"!=C([t])||"{}"!=C({a:t})||"{}"!=C(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(b(e)||void 0!==t)&&!G(t))return g(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),r[1]=e,C.apply(D,r)}}),j.prototype[I]||n(56)(j.prototype,I,j.prototype.valueOf),l(j,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(91),o=n(133),i=n(124);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){var r=n(2);r(r.S,"Object",{create:n(84)})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(35),"Object",{defineProperty:n(34).f})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(35),"Object",{defineProperties:n(224)})},function(t,e,n){var r=n(53),o=n(60).f;n(70)("getOwnPropertyDescriptor",function(){return function(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(43),o=n(58);n(70)("getPrototypeOf",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(43),o=n(91);n(70)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){n(70)("getOwnPropertyNames",function(){return n(225).f})},function(t,e,n){var r=n(23),o=n(83).onFreeze;n(70)("freeze",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23),o=n(83).onFreeze;n(70)("seal",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23),o=n(83).onFreeze;n(70)("preventExtensions",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23);n(70)("isFrozen",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(23);n(70)("isSealed",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(23);n(70)("isExtensible",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(2);r(r.S+r.F,"Object",{assign:n(202)})},function(t,e,n){var r=n(2);r(r.S,"Object",{is:n(226)})},function(t,e,n){var r=n(2);r(r.S,"Object",{setPrototypeOf:n(178).set})},function(t,e,n){"use strict";var r=n(95),o={};o[n(29)("toStringTag")]="z",o+""!="[object z]"&&n(52)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(2);r(r.P,"Function",{bind:n(227)})},function(t,e,n){var r=n(34).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(35)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},function(t,e,n){"use strict";var r=n(23),o=n(58),i=n(29)("hasInstance"),a=Function.prototype;i in a||n(34).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(2),o=n(228);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){var r=n(2),o=n(229);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){"use strict";var r=n(21),o=n(51),i=n(69),a=n(180),u=n(76),c=n(22),s=n(93).f,f=n(60).f,l=n(34).f,p=n(117).trim,h=r.Number,d=h,v=h.prototype,y="Number"==i(n(84)(v)),g="trim"in String.prototype,m=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(){v.valueOf.call(n)}):"Number"!=i(n))?a(new d(m(e)),n,h):m(e)};for(var b,_=n(35)?s(d):"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(d,b=_[w])&&!o(h,b)&&l(h,b,f(d,b));h.prototype=v,v.constructor=h,n(52)(r,"Number",h)}},function(t,e,n){"use strict";var r=n(2),o=n(64),i=n(230),a=n(204),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},d=function(t,e,n){return 0===e?n:e%2==1?d(t,e-1,n*t):d(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(22)(function(){u.call({})})),"Number",{toFixed:function(t){var e,n,r,u,c=i(this,f),s=o(t),v="",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&&(v="-",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*d(2,69,1))-69)<0?c*d(2,-e,1):c/d(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=s;r>=7;)l(1e7,0),r-=7;for(l(d(10,r,1),0),r=e-1;r>=23;)p(1<<23),r-=23;p(1<0?v+((u=y.length)<=s?"0."+a.call("0",s-u)+y:y.slice(0,u-s)+"."+y.slice(u-s)):v+y}})},function(t,e,n){"use strict";var r=n(2),o=n(22),i=n(230),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){var r=n(2);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(2),o=n(21).isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{isInteger:n(231)})},function(t,e,n){var r=n(2);r(r.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var r=n(2),o=n(231),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(2);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(2);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(2),o=n(229);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(2),o=n(228);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(2),o=n(232),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(2),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(2),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(2),o=n(181);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(2);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(2),o=Math.exp;r(r.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(2),o=n(182);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(2);r(r.S,"Math",{fround:n(267)})},function(t,e,n){var r=n(2),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(2),o=Math.imul;r(r.S+r.F*n(22)(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(2);r(r.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log1p:n(232)})},function(t,e,n){var r=n(2);r(r.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(2);r(r.S,"Math",{sign:n(181)})},function(t,e,n){var r=n(2),o=n(182),i=Math.exp;r(r.S+r.F*n(22)(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(2),o=n(182),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(2);r(r.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(2),o=n(92),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,a=0;r>a;){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(2),o=n(53),i=n(31);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++])),u=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";var r=n(2),o=n(154)(!1);r(r.P,"String",{codePointAt:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(2),o=n(31),i=n(184),a="".endsWith;r(r.P+r.F*n(185)("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(2),o=n(184);r(r.P+r.F*n(185)("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(2);r(r.P,"String",{repeat:n(204)})},function(t,e,n){"use strict";var r=n(2),o=n(31),i=n(184),a="".startsWith;r(r.P+r.F*n(185)("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){"use strict";n(50)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";n(50)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(50)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(50)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(50)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(50)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(50)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(50)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(50)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(50)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(50)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(50)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(50)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){var r=n(2);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";var r=n(2),o=n(43),i=n(76);r(r.P+r.F*n(22)(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(2),o=n(388);r(r.P+r.F*(Date.prototype.toISOString!==o),"Date",{toISOString:o})},function(t,e,n){"use strict";var r=n(22),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(t){return t>9?t:"0"+t};t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.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"}:i},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(52)(r,"toString",function(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"})},function(t,e,n){var r=n(29)("toPrimitive"),o=Date.prototype;r in o||n(56)(o,r,n(391))},function(t,e,n){"use strict";var r=n(16),o=n(76);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(2);r(r.S,"Array",{isArray:n(153)})},function(t,e,n){"use strict";var r=n(63),o=n(2),i=n(43),a=n(233),u=n(186),c=n(31),s=n(205),f=n(134);o(o.S+o.F*!n(135)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,l,p=i(t),h="function"==typeof this?this:Array,d=arguments.length,v=d>1?arguments[1]:void 0,y=void 0!==v,g=0,m=f(p);if(y&&(v=r(v,d>2?arguments[2]:void 0,2)),null==m||h==Array&&u(m))for(n=new h(e=c(p.length));e>g;g++)s(n,g,y?v(p[g],g):p[g]);else for(l=m.call(p),n=new h;!(o=l.next()).done;g++)s(n,g,y?a(l,v,[o.value,g],!0):o.value);return n.length=g,n}})},function(t,e,n){"use strict";var r=n(2),o=n(205);r(r.S+r.F*n(22)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var r=n(2),o=n(53),i=[].join;r(r.P+r.F*(n(116)!=Object||!n(61)(i)),"Array",{join:function(t){return i.call(o(this),void 0===t?",":t)}})},function(t,e,n){"use strict";var r=n(2),o=n(177),i=n(69),a=n(92),u=n(31),c=[].slice;r(r.P+r.F*n(22)(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=new Array(f),p=0;p1&&(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){var r=n(2);r(r.P,"Array",{copyWithin:n(236)}),n(96)("copyWithin")},function(t,e,n){var r=n(2);r(r.P,"Array",{fill:n(187)}),n(96)("fill")},function(t,e,n){"use strict";var r=n(2),o=n(71)(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(96)("find")},function(t,e,n){"use strict";var r=n(2),o=n(71)(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(96)(i)},function(t,e,n){n(97)("Array")},function(t,e,n){var r=n(21),o=n(180),i=n(34).f,a=n(93).f,u=n(156),c=n(125),s=r.RegExp,f=s,l=s.prototype,p=/a/g,h=/a/g,d=new s(p)!==p;if(n(35)&&(!d||n(22)(function(){return h[n(29)("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(d?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 v=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;)v(y[g++]);l.constructor=s,s.prototype=l,n(52)(r,"RegExp",s)}n(97)("RegExp")},function(t,e,n){"use strict";n(238);var r=n(16),o=n(125),i=n(35),a=/./.toString,u=function(t){n(52)(RegExp.prototype,"toString",t,!0)};n(22)(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){"use strict";var r=n(16),o=n(31),i=n(189),a=n(136);n(137)("match",1,function(t,e,n,u){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=u(n,t,this);if(e.done)return e.value;var c=r(t),s=String(this);if(!c.global)return a(c,s);var f=c.unicode;c.lastIndex=0;for(var l,p=[],h=0;null!==(l=a(c,s));){var d=String(l[0]);p[h]=d,""===d&&(c.lastIndex=i(s,o(c.lastIndex),f)),h++}return 0===h?null:p}]})},function(t,e,n){"use strict";var r=n(16),o=n(43),i=n(31),a=n(64),u=n(189),c=n(136),s=Math.max,f=Math.min,l=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,h=/\$([$&`']|\d\d?)/g;n(137)("replace",2,function(t,e,n,d){return[function(r,o){var i=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(t,e){var o=d(n,t,this,e);if(o.done)return o.value;var l=r(t),p=String(this),h="function"==typeof e;h||(e=String(e));var y=l.global;if(y){var g=l.unicode;l.lastIndex=0}for(var m=[];;){var b=c(l,p);if(null===b)break;if(m.push(b),!y)break;""===String(b[0])&&(l.lastIndex=u(p,i(l.lastIndex),g))}for(var _,w="",S=0,k=0;k=S&&(w+=p.slice(S,x)+M,S=x+E.length)}return w+p.slice(S)}];function v(t,e,r,i,a,u){var c=r+t.length,s=i.length,f=h;return void 0!==a&&(a=o(a),f=p),n.call(u,f,function(n,o){var u;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[o.slice(1,-1)];break;default:var f=+o;if(0===f)return n;if(f>s){var p=l(f/10);return 0===p?n:p<=s?void 0===i[p-1]?o.charAt(1):i[p-1]+o.charAt(1):n}u=i[f-1]}return void 0===u?"":u})}})},function(t,e,n){"use strict";var r=n(16),o=n(226),i=n(136);n(137)("search",1,function(t,e,n,a){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=a(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this),s=u.lastIndex;o(s,0)||(u.lastIndex=0);var f=i(u,c);return o(u.lastIndex,s)||(u.lastIndex=s),null===f?-1:f.index}]})},function(t,e,n){"use strict";var r=n(156),o=n(16),i=n(126),a=n(189),u=n(31),c=n(136),s=n(188),f=Math.min,l=[].push,p=!!function(){try{return new RegExp("x","y")}catch(t){}}();n(137)("split",2,function(t,e,n,h){var d;return d="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var o=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(o,t,e);for(var i,a,u,c=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),p=0,h=void 0===e?4294967295:e>>>0,d=new RegExp(t.source,f+"g");(i=s.call(d,o))&&!((a=d.lastIndex)>p&&(c.push(o.slice(p,i.index)),i.length>1&&i.index=h));)d.lastIndex===i.index&&d.lastIndex++;return p===o.length?!u&&d.test("")||c.push(""):c.push(o.slice(p)),c.length>h?c.slice(0,h):c}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var o=t(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,o,r):d.call(String(o),n,r)},function(t,e){var r=h(d,t,this,e,d!==n);if(r.done)return r.value;var s=o(t),l=String(this),v=i(s,RegExp),y=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(p?"y":"g"),m=new v(p?s:"^(?:"+s.source+")",g),b=void 0===e?4294967295:e>>>0;if(0===b)return[];if(0===l.length)return null===c(m,l)?[l]:[];for(var _=0,w=0,S=[];wi;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&F(t)})}},F=function(t){g.call(c,function(){var e,n,r,o=t._v,i=I(t);if(i&&(e=_(function(){A?E.emit("unhandledRejection",o,t):(n=c.onunhandledrejection)?n({promise:t,reason:o}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=A||I(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},I=function(t){return 1!==t._h&&0===(t._a||t._c).length},R=function(t){g.call(c,function(){var e;A?E.emit("rejectionHandled",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},N=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()),C(e,!0))},L=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw k("Promise can't be resolved itself");(e=D(t))?m(function(){var r={_w:n,_d:!1};try{e.call(t,s(L,r,1),s(N,r,1))}catch(o){N.call(r,o)}}):(n._v=t,n._s=1,C(n,!1))}catch(r){N.call({_w:n,_d:!1},r)}}};j||(O=function(t){d(this,O,"Promise","_h"),h(t),r.call(this);try{t(s(L,this,1),s(N,this,1))}catch(e){N.call(this,e)}},(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(100)(O.prototype,{then:function(t,e){var n=M(y(this,O));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=A?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&C(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=s(L,t,1),this.reject=s(N,t,1)},b.f=M=function(t){return t===O||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!j,{Promise:O}),n(107)(O,"Promise"),n(97)("Promise"),a=n(55).Promise,l(l.S+l.F*!j,"Promise",{reject:function(t){var e=M(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(u||!j),"Promise",{resolve:function(t){return S(u&&this===a?O:this,t)}}),l(l.S+l.F*!(j&&n(135)(function(t){O.all(t).catch(P)})),"Promise",{all:function(t){var e=this,n=M(e),r=n.resolve,o=n.reject,i=_(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.e&&o(i.v),n.promise},race:function(t){var e=this,n=M(e),r=n.reject,o=_(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){"use strict";var r=n(244),o=n(109);n(138)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"WeakSet"),t,!0)}},r,!1,!0)},function(t,e,n){"use strict";var r=n(2),o=n(139),i=n(190),a=n(16),u=n(92),c=n(31),s=n(23),f=n(21).ArrayBuffer,l=n(126),p=i.ArrayBuffer,h=i.DataView,d=o.ABV&&f.isView,v=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 d&&d(t)||s(t)&&y in t}}),r(r.P+r.U+r.F*n(22)(function(){return!new p(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==v&&void 0===e)return v.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),d=0;r=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(60),o=n(58),i=n(51),a=n(2),u=n(23),c=n(16);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){var r=n(60),o=n(2),i=n(16);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(2),o=n(58),i=n(16);r(r.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var r=n(2),o=n(16),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{ownKeys:n(246)})},function(t,e,n){var r=n(2),o=n(16),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(e){return!1}}})},function(t,e,n){var r=n(34),o=n(60),i=n(58),a=n(51),u=n(2),c=n(86),s=n(16),f=n(23);u(u.S,"Reflect",{set:function t(e,n,u){var l,p,h=arguments.length<4?e:arguments[3],d=o.f(s(e),n);if(!d){if(f(p=i(e)))return t(p,n,u,h);d=c(0)}if(a(d,"value")){if(!1===d.writable||!f(h))return!1;if(l=o.f(h,n)){if(l.get||l.set||!1===l.writable)return!1;l.value=u,r.f(h,n,l)}else r.f(h,n,c(0,u));return!0}return void 0!==d.set&&(d.set.call(h,u),!0)}})},function(t,e,n){var r=n(2),o=n(178);o&&r(r.S,"Reflect",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(n){return!1}}})},function(t,e,n){var r=n(79),o=n(16),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(79),o=n(16),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(79),o=n(16),i=n(58),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(242),o=n(270),i=n(79),a=n(16),u=n(58),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(79),o=n(16),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(79),o=n(16),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(79),o=n(16),i=n(58),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(79),o=n(16),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(79),o=n(16),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){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(738),n(739),n(740),!Element.prototype.matches&&Element.prototype.msMatchesSelector&&(Element.prototype.matches=Element.prototype.msMatchesSelector),n(741),n(742),n(743)},function(t,e,n){n(310),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385),n(386),n(387),n(389),n(390),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(400),n(401),n(402),n(403),n(404),n(405),n(406),n(407),n(408),n(409),n(410),n(411),n(412),n(206),n(413),n(237),n(414),n(238),n(415),n(416),n(417),n(418),n(419),n(240),n(242),n(243),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434),n(435),n(436),n(437),n(438),n(439),n(440),n(441),n(442),n(443),n(444),n(445),t.exports=n(55)},function(t,e,n){n(446),n(447),n(448),n(449),n(450),n(451),n(452),n(453),n(454),t.exports=n(55).Reflect},function(t,e,n){(function(r){var o,i; +/** +* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes +* (c) 2010-2020 Google LLC. https://angular.io/ +* License: MIT +*/void 0===(i="function"==typeof(o=function(){"use strict"; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * 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 + */!function(t){var e=t.performance;function n(t){e&&e.mark&&e.mark(t)}function r(t,n){e&&e.measure&&e.measure(t,n)}n("Zone");var o=t.__Zone_symbol_prefix||"__zone_symbol__";function i(t){return o+t}var a=!0===t[i("forceDuplicateZoneCheck")];if(t.Zone){if(a||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}var u=function(){function e(t,e){this._parent=t,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,e)}return e.assertZonePatched=function(){if(t.Promise!==P.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(e,"root",{get:function(){for(var t=e.current;t.parent;)t=t.parent;return t},enumerable:!0,configurable:!0}),Object.defineProperty(e,"current",{get:function(){return j.zone},enumerable:!0,configurable:!0}),Object.defineProperty(e,"currentTask",{get:function(){return D},enumerable:!0,configurable:!0}),e.__load_patch=function(o,i){if(P.hasOwnProperty(o)){if(a)throw Error("Already loaded patch: "+o)}else if(!t["__Zone_disable_"+o]){var u="Zone:"+o;n(u),P[o]=i(t,e,M),r(u,u)}},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),e.prototype.get=function(t){var e=this.getZoneWith(t);if(e)return e._properties[t]},e.prototype.getZoneWith=function(t){for(var e=this;e;){if(e._properties.hasOwnProperty(t))return e;e=e._parent}return null},e.prototype.fork=function(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)},e.prototype.wrap=function(t,e){if("function"!=typeof t)throw new Error("Expecting function got: "+t);var n=this._zoneDelegate.intercept(this,t,e),r=this;return function(){return r.runGuarded(n,this,arguments,e)}},e.prototype.run=function(t,e,n,r){j={parent:j,zone:this};try{return this._zoneDelegate.invoke(this,t,e,n,r)}finally{j=j.parent}},e.prototype.runGuarded=function(t,e,n,r){void 0===e&&(e=null),j={parent:j,zone:this};try{try{return this._zoneDelegate.invoke(this,t,e,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{j=j.parent}},e.prototype.runTask=function(t,e,n){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||b).name+"; Execution: "+this.name+")");if(t.state!==_||t.type!==A&&t.type!==O){var r=t.state!=k;r&&t._transitionTo(k,S),t.runCount++;var o=D;D=t,j={parent:j,zone:this};try{t.type==O&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,e,n)}catch(i){if(this._zoneDelegate.handleError(this,i))throw i}}finally{t.state!==_&&t.state!==x&&(t.type==A||t.data&&t.data.isPeriodic?r&&t._transitionTo(S,k):(t.runCount=0,this._updateTaskCount(t,-1),r&&t._transitionTo(_,k,_))),j=j.parent,D=o}}},e.prototype.scheduleTask=function(t){if(t.zone&&t.zone!==this)for(var e=this;e;){if(e===t.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+t.zone.name);e=e.parent}t._transitionTo(w,_);var n=[];t._zoneDelegates=n,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(r){throw t._transitionTo(x,w,_),this._zoneDelegate.handleError(this,r),r}return t._zoneDelegates===n&&this._updateTaskCount(t,1),t.state==w&&t._transitionTo(S,w),t},e.prototype.scheduleMicroTask=function(t,e,n,r){return this.scheduleTask(new l(T,t,e,n,r,void 0))},e.prototype.scheduleMacroTask=function(t,e,n,r,o){return this.scheduleTask(new l(O,t,e,n,r,o))},e.prototype.scheduleEventTask=function(t,e,n,r,o){return this.scheduleTask(new l(A,t,e,n,r,o))},e.prototype.cancelTask=function(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||b).name+"; Execution: "+this.name+")");t._transitionTo(E,S,k);try{this._zoneDelegate.cancelTask(this,t)}catch(e){throw t._transitionTo(x,E),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(t,-1),t._transitionTo(_,E),t.runCount=0,t},e.prototype._updateTaskCount=function(t,e){var n=t._zoneDelegates;-1==e&&(t._zoneDelegates=null);for(var r=0;r0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:t};this.hasTask(this.zone,i)}},t}(),l=function(){function e(n,r,o,i,a,u){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=u,!o)throw new Error("callback is not defined");this.callback=o;var c=this;n===A&&i&&i.useG?this.invoke=e.invokeTask:this.invoke=function(){return e.invokeTask.call(t,c,this,arguments)}}return e.invokeTask=function(t,e,n){t||(t=this),C++;try{return t.runCount++,t.zone.runTask(t,e,n)}finally{1==C&&m(),C--}},Object.defineProperty(e.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancelScheduleRequest=function(){this._transitionTo(_,w)},e.prototype._transitionTo=function(t,e,n){if(this._state!==e&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+t+"', expecting state '"+e+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=t,t==_&&(this._zoneDelegates=null)},e.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},e.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},e}(),p=i("setTimeout"),h=i("Promise"),d=i("then"),v=[],y=!1;function g(e){if(0===C&&0===v.length)if(c||t[h]&&(c=t[h].resolve(0)),c){var n=c[d];n||(n=c.then),n.call(c,m)}else t[p](m,0);e&&v.push(e)}function m(){if(!y){for(y=!0;v.length;){var t=v;v=[];for(var e=0;e=0;n--)"function"==typeof t[n]&&(t[n]=h(t[n],e+"_"+n));return t}function S(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}var k="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in m)&&void 0!==m.process&&"[object process]"==={}.toString.call(m.process),x=!E&&!k&&!(!y||!g.HTMLElement),T=void 0!==m.process&&"[object process]"==={}.toString.call(m.process)&&!k&&!(!y||!g.HTMLElement),O={},A=function(t){if(t=t||m.event){var e=O[t.type];e||(e=O[t.type]=v("ON_PROPERTY"+t.type));var n,r=this||t.target||m,o=r[e];if(x&&r===g&&"error"===t.type){var i=t;!0===(n=o&&o.call(this,i.message,i.filename,i.lineno,i.colno,i.error))&&t.preventDefault()}else null==(n=o&&o.apply(this,arguments))||n||t.preventDefault();return n}};function P(n,r,o){var i=t(n,r);if(!i&&o){var a=t(o,r);a&&(i={enumerable:!0,configurable:!0})}if(i&&i.configurable){var u=v("on"+r+"patched");if(!n.hasOwnProperty(u)||!n[u]){delete i.writable,delete i.value;var c=i.get,s=i.set,f=r.substr(2),l=O[f];l||(l=O[f]=v("ON_PROPERTY"+f)),i.set=function(t){var e=this;if(e||n!==m||(e=m),e){var r=e[l];r&&e.removeEventListener(f,A),s&&s.apply(e,_),"function"==typeof t?(e[l]=t,e.addEventListener(f,A,!1)):e[l]=null}},i.get=function(){var t=this;if(t||n!==m||(t=m),!t)return null;var e=t[l];if(e)return e;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t[b]&&t.removeAttribute(r),o}return null},e(n,r,i),n[u]=!0}}}function M(t,e,n){if(e)for(var r=0;r=0&&"function"==typeof r[i.cbIdx]?d(i.name,r[i.cbIdx],i,o):t.apply(e,r)}})}function R(t,e){t[v("OriginalDelegate")]=e}var N=!1,L=!1;function Z(){if(N)return L;N=!0;try{var t=g.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(L=!0)}catch(e){}return L} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * 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("toString",function(t){var e=Function.prototype.toString,n=v("OriginalDelegate"),r=v("Promise"),o=v("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?e.call(i):Object.prototype.toString.call(i);if(this===Promise){var a=t[r];if(a)return e.call(a)}if(this===Error){var u=t[o];if(u)return e.call(u)}}return e.call(this)};i[n]=e,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.call(this)}}); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * 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 + */ +var U=!1;if("undefined"!=typeof window)try{var z=Object.defineProperty({},"passive",{get:function(){U=!0}});window.addEventListener("test",z,z),window.removeEventListener("test",z,z)}catch(Tt){U=!1}var B={useG:!0},H={},W={},K=new RegExp("^"+p+"(\\w+)(true|false)$"),G=v("propagationStopped");function J(t,e){var n=(e?e(t):t)+l,r=(e?e(t):t)+f,o=p+n,i=p+r;H[t]={},H[t][l]=o,H[t][f]=i}function V(t,e,r){var o=r&&r.add||a,i=r&&r.rm||u,c=r&&r.listeners||"eventListeners",s=r&&r.rmAll||"removeAllListeners",h=v(o),d="."+o+":",y="prependListener",g="."+y+":",m=function(t,e,n){if(!t.isRemoved){var r=t.callback;"object"==typeof r&&r.handleEvent&&(t.callback=function(t){return r.handleEvent(t)},t.originalDelegate=r),t.invoke(t,e,[n]);var o=t.options;if(o&&"object"==typeof o&&o.once){var a=t.originalDelegate?t.originalDelegate:t.callback;e[i].call(e,n.type,a,o)}}},b=function(e){if(e=e||t.event){var n=this||e.target||t,r=n[H[e.type][l]];if(r)if(1===r.length)m(r[0],n,e);else for(var o=r.slice(),i=0;i1?new i(e,n):new i(e),s=t.ObjectGetOwnPropertyDescriptor(c,"onmessage");return s&&!1===s.configurable?(a=t.ObjectCreate(c),u=c,[r,o,"send","close"].forEach(function(e){a[e]=function(){var n=t.ArraySlice.call(arguments);if(e===r||e===o){var i=n.length>0?n[0]:void 0;if(i){var u=Zone.__symbol__("ON_PROPERTY"+i);c[u]=a[u]}}return c[e].apply(c,n)}})):a=c,t.patchOnProperties(a,["close","error","message","open"],u),a};var a=e.WebSocket;for(var u in i)a[u]=i[u]}(t,e),Zone[t.symbol("patchEvents")]=!0}}Zone.__load_patch("util",function(n,r,c){c.patchOnProperties=M,c.patchMethod=F,c.bindArguments=w,c.patchMacroTask=I;var s=r.__symbol__("BLACK_LISTED_EVENTS"),d=r.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[s]=n[d]),n[s]&&(r[s]=r[d]=n[s]),c.patchEventPrototype=Y,c.patchEventTarget=V,c.isIEOrEdge=Z,c.ObjectDefineProperty=e,c.ObjectGetOwnPropertyDescriptor=t,c.ObjectCreate=o,c.ArraySlice=i,c.patchClass=D,c.wrapWithCurrentZone=h,c.filterProperties=ht,c.attachOriginToPatched=R,c._redefineProperty=Object.defineProperty,c.patchCallbacks=X,c.getGlobalObjects=function(){return{globalSources:W,zoneSymbolEventNames:H,eventNames:pt,isBrowser:x,isMix:T,isNode:E,TRUE_STR:f,FALSE_STR:l,ZONE_SYMBOL_PREFIX:p,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:u}}}), +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * 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 + */ +function(t){var e,n=t.__Zone_symbol_prefix||"__zone_symbol__";t[(e="legacyPatch",n+e)]=function(){var e=t.Zone;e.__load_patch("defineProperty",function(t,e,n){n._redefineProperty=gt,yt()}),e.__load_patch("registerElement",function(t,e,n){!function(t,e){var n=e.getGlobalObjects(),r=n.isBrowser,o=n.isMix;(r||o)&&"registerElement"in t.document&&e.patchCallbacks(e,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * 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 + */(t,n)}),e.__load_patch("EventTargetLegacy",function(t,e,n){wt(t,n),St(n,t)})}}("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:{}); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * 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 + */ +var kt=v("zoneTask");function Et(t,e,n,r){var o=null,i=null;n+=r;var a={};function u(e){var n=e.data;return n.args[0]=function(){try{e.invoke.apply(this,arguments)}finally{e.data&&e.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[kt]=null))}},n.handleId=o.apply(t,n.args),e}function c(t){return i(t.data.handleId)}o=F(t,e+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},f=d(e,i[0],s,u,c);if(!f)return f;var l=f.data.handleId;return"number"==typeof l?a[l]=f:l&&(l[kt]=f),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(f.ref=l.ref.bind(l),f.unref=l.unref.bind(l)),"number"==typeof l||l?l:f}return n.apply(t,i)}}),i=F(t,n,function(e){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[kt])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[kt]=null),o.zone.cancelTask(o)):e.apply(t,r)}})} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * 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 + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * 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 + */ +function xt(t,e){if(!Zone[e.symbol("patchEventTarget")]){for(var n=e.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,i=n.TRUE_STR,a=n.FALSE_STR,u=n.ZONE_SYMBOL_PREFIX,c=0;c0){var o=t.invoke;t.invoke=function(){for(var n=a[e.__symbol__("loadfalse")],i=0;i-1};function a(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function c(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r.iterable&&(e[Symbol.iterator]=function(){return e}),e}function s(t){this.map={},t instanceof s?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function f(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function l(t){return new Promise(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function p(t){var e=new FileReader,n=l(e);return e.readAsArrayBuffer(t),n}function h(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function d(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:r.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:r.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():r.arrayBuffer&&r.blob&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=h(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||i(t))?this._bodyArrayBuffer=h(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},r.blob&&(this.blob=function(){var t=f(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(p)}),this.text=function(){var t,e,n,r=f(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,n=l(e),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}}),e}function m(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new s(e.headers),this.url=e.url||"",this._initBody(t)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},d.call(y.prototype),d.call(m.prototype),m.prototype.clone=function(){return new m(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new s(this.headers),url:this.url})},m.error=function(){var t=new m(null,{status:0,statusText:""});return t.type="error",t};var b=[301,302,303,307,308];m.redirect=function(t,e){if(-1===b.indexOf(e))throw new RangeError("Invalid status code");return new m(null,{status:e,headers:{location:t}})};var _=self.DOMException;try{new _}catch(S){(_=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack}).prototype=Object.create(Error.prototype),_.prototype.constructor=_}function w(t,e){return new Promise(function(n,o){var i=new y(t,e);if(i.signal&&i.signal.aborted)return o(new _("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new s,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var n=t.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();e.append(r,o)}}),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new m(o,r))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new _("Aborted","AbortError"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&r.blob&&(a.responseType="blob"),i.headers.forEach(function(t,e){a.setRequestHeader(e,t)}),i.signal&&(i.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&i.signal.removeEventListener("abort",u)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})}w.polyfill=!0,self.fetch||(self.fetch=w,self.Headers=s,self.Request=y,self.Response=m)},function(t,e,n){var r,o; +/** + * @file Web Cryptography API shim + * @author Artem S Vybornov + * @license MIT + */ +/** + * @file Web Cryptography API shim + * @author Artem S Vybornov + * @license MIT + */ +o="undefined"!=typeof self?self:this,void 0===(r=function(){return function(t){"use strict";if("function"!=typeof Promise)throw"Promise support required";var e=t.crypto||t.msCrypto;if(e){var n=e.subtle||e.webkitSubtle;if(n){var r=t.Crypto||e.constructor||Object,o=t.SubtleCrypto||n.constructor||Object,i=(t.CryptoKey||t.Key||Object,t.navigator.userAgent.indexOf("Edge/")>-1),a=!!t.msCrypto&&!i,u=!e.subtle&&!!e.webkitSubtle;if(a||u){var c={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},s={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach(function(t){var r=n[t];n[t]=function(o,i,c){var s,f,b,k,E,x=[].slice.call(arguments);switch(t){case"generateKey":s=v(o),f=i,b=c;break;case"importKey":s=v(c),f=x[3],b=x[4],"jwk"===o&&((i=g(i)).alg||(i.alg=y(s)),i.key_ops||(i.key_ops="oct"!==i.kty?"d"in i?b.filter(S):b.filter(w):b.slice()),x[1]=(E=g(i),a&&(E.extractable=E.ext,delete E.ext),h(unescape(encodeURIComponent(JSON.stringify(E)))).buffer));break;case"unwrapKey":s=x[4],f=x[5],b=x[6],x[2]=c._key}if("generateKey"===t&&"HMAC"===s.name&&s.hash)return s.length=s.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[s.hash.name],n.importKey("raw",e.getRandomValues(new Uint8Array(s.length+7>>3)),s,f,b);if(u&&"generateKey"===t&&"RSASSA-PKCS1-v1_5"===s.name&&(!s.modulusLength||s.modulusLength>=2048))return(o=v(o)).name="RSAES-PKCS1-v1_5",delete o.hash,n.generateKey(o,!0,["encrypt","decrypt"]).then(function(t){return Promise.all([n.exportKey("jwk",t.publicKey),n.exportKey("jwk",t.privateKey)])}).then(function(t){return t[0].alg=t[1].alg=y(s),t[0].key_ops=b.filter(w),t[1].key_ops=b.filter(S),Promise.all([n.importKey("jwk",t[0],s,!0,t[0].key_ops),n.importKey("jwk",t[1],s,f,t[1].key_ops)])}).then(function(t){return{publicKey:t[0],privateKey:t[1]}});if((u||a&&"SHA-1"===(s.hash||{}).name)&&"importKey"===t&&"jwk"===o&&"HMAC"===s.name&&"oct"===i.kty)return n.importKey("raw",h(p(i.k)),c,x[3],x[4]);if(u&&"importKey"===t&&("spki"===o||"pkcs8"===o))return n.importKey("jwk",function(t){var e=m(t),n=!1;e.length>2&&(n=!0,e.shift());var r={ext:!0};switch(e[0][0]){case"1.2.840.113549.1.1.1":var o=["n","e","d","p","q","dp","dq","qi"],i=m(e[1]);n&&i.shift();for(var a=0;a2&&(r=!0,i.unshift(new Uint8Array([0]))),n[0][0]="1.2.840.113549.1.1.1",e=i;break;default:throw new TypeError("Unsupported key type")}return n.push(new Uint8Array(b(e)).buffer),r?n.unshift(new Uint8Array([0])):n[1]={tag:3,value:n[1]},new Uint8Array(b(n)).buffer}(g(t))})),c}}),["encrypt","decrypt","sign","verify"].forEach(function(t){var e=n[t];n[t]=function(r,o,i,u){if(a&&(!i.byteLength||u&&!u.byteLength))throw new Error("Empy input is not allowed");var c,s=[].slice.call(arguments),f=v(r);if(a&&"decrypt"===t&&"AES-GCM"===f.name){var l=r.tagLength>>3;s[2]=(i.buffer||i).slice(0,i.byteLength-l),r.tag=(i.buffer||i).slice(i.byteLength-l)}s[1]=o._key;try{c=e.apply(n,s)}catch(p){return Promise.reject(p)}return a&&(c=new Promise(function(e,n){c.onabort=c.onerror=function(t){n(t)},c.oncomplete=function(n){if(n=n.target.result,"encrypt"===t&&n instanceof AesGcmEncryptResult){var r=n.ciphertext,o=n.tag;(n=new Uint8Array(r.byteLength+o.byteLength)).set(new Uint8Array(r),0),n.set(new Uint8Array(o),r.byteLength),n=n.buffer}e(n)}})),c}}),a){var f=n.digest;n.digest=function(t,e){if(!e.byteLength)throw new Error("Empy input is not allowed");var r;try{r=f.call(n,t,e)}catch(o){return Promise.reject(o)}return r=new Promise(function(t,e){r.onabort=r.onerror=function(t){e(t)},r.oncomplete=function(e){t(e.target.result)}})},t.crypto=Object.create(e,{getRandomValues:{value:function(t){return e.getRandomValues(t)}},subtle:{value:n}}),t.CryptoKey=_}u&&(e.subtle=n,t.Crypto=r,t.SubtleCrypto=o,t.CryptoKey=_)}}}function l(t){return btoa(t).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function p(t){return t=(t+="===").slice(0,-t.length%4),atob(t.replace(/-/g,"+").replace(/_/g,"/"))}function h(t){for(var e=new Uint8Array(t.length),n=0;nt.length)throw new RangeError("Malformed DER");var n,r=t[e.pos++],o=t[e.pos++];if(o>=128){if(o&=127,e.end-e.pos=128){var u=r,r=4;for(e.splice(o,0,u>>24&255,u>>16&255,u>>8&255,255&u);r>1&&!(u>>24);)u<<=8,r--;r<4&&e.splice(o,4-r),r|=128}return e.splice(o-2,2,n,r),e}function _(t,e,n,r){Object.defineProperties(this,{_key:{value:t},type:{value:t.type,enumerable:!0},extractable:{value:void 0===n?t.extractable:n,enumerable:!0},algorithm:{value:void 0===e?t.algorithm:e,enumerable:!0},usages:{value:void 0===r?t.usages:r,enumerable:!0}})}function w(t){return"verify"===t||"encrypt"===t||"wrapKey"===t}function S(t){return"sign"===t||"decrypt"===t||"unwrapKey"===t}}(o)}.apply(e,[]))||(t.exports=r)},function(t,e,n){t.exports=function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";n(84);var r=n(41),o=function(t){return t&&t.__esModule?t:{default:t}}(r),i=function(){o.default.addPickerToOtherInputs(),o.default.supportsDateInput()||o.default.addPickerToDateInputs()};i(),document.addEventListener("DOMContentLoaded",function(){i()}),document.querySelector("body").addEventListener("mousedown",function(){i()})},function(t,e,n){t.exports=!n(11)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},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){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(9),o=n(32),i=n(25),a=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(u){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(59),o=n(16);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(4),o=n(14);t.exports=n(1)?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(23)("wks"),o=n(15),i=n(2).Symbol,a="function"==typeof i,u=t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))};u.store=r},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(12);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(2),o=n(8),i=n(56),a=n(6),u="prototype",c=function(t,e,n){var s,f,l,p=t&c.F,h=t&c.G,d=t&c.S,v=t&c.P,y=t&c.B,g=t&c.W,m=h?o:o[e]||(o[e]={}),b=m[u],_=h?r:d?r[e]:(r[e]||{})[u];for(s in h&&(n=e),n)(f=!p&&_&&void 0!==_[s])&&s in m||(l=f?_[s]:n[s],m[s]=h&&"function"!=typeof _[s]?n[s]:y&&f?i(l,r):g&&_[s]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[u]=t[u],e}(l):v&&"function"==typeof l?i(Function.call,l):l,v&&((m.virtual||(m.virtual={}))[s]=l,t&c.R&&b&&!b[s]&&a(b,s,l)))};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){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(38),o=n(17);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(4).f,o=n(3),i=n(7)("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(23)("keys"),o=n(15);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(2),o="__core-js_shared__",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(12);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(2),o=n(8),i=n(19),a=n(27),u=n(4).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(7)},function(t,e){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,n){"use strict";e.__esModule=!0;var r=n(45),o=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(){function t(t,e){for(var n=0;ndocument.F=Object<\/script>"),t.close(),s=t.F;r--;)delete s[c][i[r]];return s()};t.exports=Object.create||function(t,e){var n;return null!==t?(u[c]=r(t),n=new u,u[c]=null,n[a]=t):n=s(),void 0===e?n:o(n,e)}},function(t,e,n){var r=n(4),o=n(9),i=n(13);t.exports=n(1)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(38),o=n(17).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(3),o=n(5),i=n(55)(!1),a=n(22)("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){t.exports=n(6)},function(t,e,n){"use strict";function r(t,e){for(t=String(t),e=e||2;t.length0?"-":"+")+r(100*Math.floor(Math.abs(_)/60)+Math.abs(_)%60,4),S:["th","st","nd","rd"][p%10>3?0:(p%100-p%10!=10)*p%10],W:w,N:S};return a.replace(t,function(t){return t in k?k[t]:t.slice(1,t.length-1)})}}();u.masks={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},u.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]},e.default=u},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(44),i=r(o),a=n(28),u=r(a),c=n(29),s=r(c),f=n(43),l=r(f),p=n(42),h=r(p),d=n(40),v=r(d),y=function(){function t(e){var n=this;(0,u.default)(this,t),this.element=e,this.element.setAttribute("data-has-picker",""),this.locale=this.element.getAttribute("lang")||document.body.getAttribute("lang")||"en",this.format=this.element.getAttribute("date-format")||document.body.getAttribute("date-format")||this.element.getAttribute("data-date-format")||document.body.getAttribute("data-date-format")||"yyyy-mm-dd",this.localeText=this.getLocaleText(),(0,i.default)(this.element,{valueAsDate:{get:function(){if(!n.element.value)return null;var t=n.format||"yyyy-mm-dd",e=n.element.value.match(/(\d+)/g),r=0,o={};return t.replace(/(yyyy|dd|mm)/g,function(t){o[t]=r++}),new Date(e[o.yyyy],e[o.mm]-1,e[o.dd])},set:function(t){n.element.value=(0,v.default)(t,n.format)}},valueAsNumber:{get:function(){return n.element.value?n.element.valueAsDate.valueOf():NaN},set:function(t){n.element.valueAsDate=new Date(t)}}});var r=function(t){var e=n.element;e.locale=n.localeText,l.default.attachTo(e)};this.element.addEventListener("focus",r),this.element.addEventListener("mouseup",r),this.element.addEventListener("keydown",function(t){var e=new Date;switch(t.keyCode){case 9:case 27:l.default.hide();break;case 38:n.element.valueAsDate&&(e.setDate(n.element.valueAsDate.getDate()+1),n.element.valueAsDate=e,l.default.pingInput());break;case 40:n.element.valueAsDate&&(e.setDate(n.element.valueAsDate.getDate()-1),n.element.valueAsDate=e,l.default.pingInput())}l.default.sync()}),this.element.addEventListener("keyup",function(t){l.default.sync()})}return(0,s.default)(t,[{key:"getLocaleText",value:function(){var t=this.locale.toLowerCase();for(var e in h.default){var n=e.split("_");if(n.map(function(t){return t.toLowerCase()}),~n.indexOf(t)||~n.indexOf(t.substr(0,2)))return h.default[e]}}}],[{key:"supportsDateInput",value:function(){var t=document.createElement("input");t.setAttribute("type","date");var e="not-a-date";return t.setAttribute("value",e),!(t.value===e)}},{key:"addPickerToDateInputs",value:function(){var e=document.querySelectorAll('input[type="date"]:not([data-has-picker])'),n=e.length;if(!n)return!1;for(var r=0;r"],n=0,r=this.locale.days.length;n'+this.locale.days[n]+"");this.daysHead.innerHTML=e.join(""),t.createRangeSelect(this.month,0,11,this.locale.months)}},{key:"refreshDaysMatrix",value:function(){this.refreshLocale();for(var e=this.date.getFullYear(),n=this.date.getMonth(),r=new Date(e,n,1).getDay(),o=new Date(this.date.getFullYear(),n+1,0).getDate(),i=t.absoluteDate(this.input.valueAsDate)||!1,a=i&&e===i.getFullYear()&&n===i.getMonth(),u=[],c=0;c":"")+"\n \n "),c+1<=r)u.push("");else{var s=c+1-r,f=a&&i.getDate()===s;u.push("\n "+s+"\n ")}this.days.innerHTML=u.join("")}},{key:"pingInput",value:function(){var t=void 0,e=void 0;try{t=new Event("input"),e=new Event("change")}catch(n){(t=document.createEvent("KeyboardEvent")).initEvent("input",!0,!1),(e=document.createEvent("KeyboardEvent")).initEvent("change",!0,!1)}this.input.dispatchEvent(t),this.input.dispatchEvent(e)}}],[{key:"createRangeSelect",value:function(t,e,n,r){t.innerHTML="";for(var o=e;o<=n;++o){var i=document.createElement("option");t.appendChild(i);var a=r?r[o-e]:o;i.text=a,i.value=o}return t}},{key:"absoluteDate",value:function(t){return t&&new Date(t.getTime()+60*t.getTimezoneOffset()*1e3)}}]),t}();window.thePicker=new c,e.default=window.thePicker},function(t,e,n){t.exports={default:n(49),__esModule:!0}},function(t,e,n){t.exports={default:n(50),__esModule:!0}},function(t,e,n){t.exports={default:n(51),__esModule:!0}},function(t,e,n){t.exports={default:n(52),__esModule:!0}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(47),i=r(o),a=n(46),u=r(a),c="function"==typeof u.default&&"symbol"==typeof i.default?function(t){return typeof t}:function(t){return t&&"function"==typeof u.default&&t.constructor===u.default?"symbol":typeof t};e.default="function"==typeof u.default&&"symbol"===c(i.default)?function(t){return void 0===t?"undefined":c(t)}:function(t){return t&&"function"==typeof u.default&&t.constructor===u.default?"symbol":void 0===t?"undefined":c(t)}},function(t,e,n){n(73);var r=n(8).Object;t.exports=function(t,e){return r.defineProperties(t,e)}},function(t,e,n){n(74);var r=n(8).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){n(77),n(75),n(78),n(79),t.exports=n(8).Symbol},function(t,e,n){n(76),n(80),t.exports=n(27).f("iterator")},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var r=n(5),o=n(70),i=n(69);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){var r=n(53);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(13),o=n(37),i=n(20);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){t.exports=n(2).document&&document.documentElement},function(t,e,n){var r=n(30);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(30);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){"use strict";var r=n(34),o=n(14),i=n(21),a={};n(6)(a,n(7)("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){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(13),o=n(5);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(15)("meta"),o=n(12),i=n(3),a=n(4).f,u=0,c=Object.isExtensible||function(){return!0},s=!n(11)(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(20),o=n(14),i=n(5),a=n(25),u=n(3),c=n(32),s=Object.getOwnPropertyDescriptor;e.f=n(1)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(n){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(5),o=n(36).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(e){return a.slice()}}(t):o(r(t))}},function(t,e,n){var r=n(3),o=n(71),i=n(22)("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,n){var r=n(24),o=n(16);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){var r=n(24),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(24),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(16);t.exports=function(t){return Object(r(t))}},function(t,e,n){"use strict";var r=n(54),o=n(62),i=n(18),a=n(5);t.exports=n(33)(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){var r=n(10);r(r.S+r.F*!n(1),"Object",{defineProperties:n(35)})},function(t,e,n){var r=n(10);r(r.S+r.F*!n(1),"Object",{defineProperty:n(4).f})},function(t,e){},function(t,e,n){"use strict";var r=n(68)(!0);n(33)(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";var r=n(2),o=n(3),i=n(1),a=n(10),u=n(39),c=n(64).KEY,s=n(11),f=n(23),l=n(21),p=n(15),h=n(7),d=n(27),v=n(26),y=n(63),g=n(57),m=n(60),b=n(9),_=n(5),w=n(25),S=n(14),k=n(34),E=n(66),x=n(65),T=n(4),O=n(13),A=x.f,P=T.f,M=E.f,j=r.Symbol,D=r.JSON,C=D&&D.stringify,F="prototype",I=h("_hidden"),R=h("toPrimitive"),N={}.propertyIsEnumerable,L=f("symbol-registry"),Z=f("symbols"),U=f("op-symbols"),z=Object[F],B="function"==typeof j,H=r.QObject,W=!H||!H[F]||!H[F].findChild,K=i&&s(function(){return 7!=k(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,G=function(t){var e=Z[t]=k(j[F]);return e._k=t,e},J=B&&"symbol"==typeof j.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof j},V=function(t,e,n){return t===z&&V(U,e,n),b(t),e=w(e,!0),b(n),o(Z,e)?(n.enumerable?(o(t,I)&&t[I][e]&&(t[I][e]=!1),n=k(n,{enumerable:S(0,!1)})):(o(t,I)||P(t,I,S(1,{})),t[I][e]=!0),K(t,e,n)):P(t,e,n)},q=function(t,e){b(t);for(var n,r=g(e=_(e)),o=0,i=r.length;i>o;)V(t,n=r[o++],e[n]);return t},Y=function(t){var e=N.call(this,t=w(t,!0));return!(this===z&&o(Z,t)&&!o(U,t))&&(!(e||!o(this,t)||!o(Z,t)||o(this,I)&&this[I][t])||e)},X=function(t,e){if(t=_(t),e=w(e,!0),t!==z||!o(Z,e)||o(U,e)){var n=A(t,e);return!n||!o(Z,e)||o(t,I)&&t[I][e]||(n.enumerable=!0),n}},$=function(t){for(var e,n=M(_(t)),r=[],i=0;n.length>i;)o(Z,e=n[i++])||e==I||e==c||r.push(e);return r},Q=function(t){for(var e,n=t===z,r=M(n?U:_(t)),i=[],a=0;r.length>a;)!o(Z,e=r[a++])||n&&!o(z,e)||i.push(Z[e]);return i};B||(u((j=function(){if(this instanceof j)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===z&&e.call(U,n),o(this,I)&&o(this[I],t)&&(this[I][t]=!1),K(this,t,S(1,n))};return i&&W&&K(z,t,{configurable:!0,set:e}),G(t)})[F],"toString",function(){return this._k}),x.f=X,T.f=V,n(36).f=E.f=$,n(20).f=Y,n(37).f=Q,i&&!n(19)&&u(z,"propertyIsEnumerable",Y,!0),d.f=function(t){return G(h(t))}),a(a.G+a.W+a.F*!B,{Symbol:j});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)h(tt[et++]);for(var tt=O(h.store),et=0;tt.length>et;)v(tt[et++]);a(a.S+a.F*!B,"Symbol",{for:function(t){return o(L,t+="")?L[t]:L[t]=j(t)},keyFor:function(t){if(J(t))return y(L,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){W=!0},useSimple:function(){W=!1}}),a(a.S+a.F*!B,"Object",{create:function(t,e){return void 0===e?k(t):q(k(t),e)},defineProperty:V,defineProperties:q,getOwnPropertyDescriptor:X,getOwnPropertyNames:$,getOwnPropertySymbols:Q}),D&&a(a.S+a.F*(!B||s(function(){var t=j();return"[null]"!=C([t])||"{}"!=C({a:t})||"{}"!=C(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!J(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&&m(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!J(e))return e}),r[1]=e,C.apply(D,r)}}}),j[F][R]||n(6)(j[F],R,j[F].valueOf),l(j,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){n(26)("asyncIterator")},function(t,e,n){n(26)("observable")},function(t,e,n){n(72);for(var r=n(2),o=n(6),i=n(18),a=n(7)("toStringTag"),u=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],c=0;c<5;c++){var s=u[c],f=r[s],l=f&&f.prototype;l&&!l[a]&&o(l,a,s),i[s]=i.Array}},function(t,e,n){(t.exports=n(82)()).push([t.id,"date-input-polyfill{background:#fff;color:#000;text-shadow:none;border:0;padding:0;height:auto;width:auto;line-height:normal;font-family:sans-serif;font-size:14px;position:absolute!important;text-align:center;box-shadow:0 3px 10px 1px rgba(0,0,0,.22);cursor:default;z-index:1;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;overflow:hidden;display:block}date-input-polyfill[data-open=false]{visibility:hidden;z-index:-100!important;top:0}date-input-polyfill[data-open=true]{visibility:visible}date-input-polyfill select,date-input-polyfill table,date-input-polyfill td,date-input-polyfill th{background:#fff;color:#000;text-shadow:none;border:0;padding:0;height:auto;width:auto;line-height:normal;font-family:sans-serif;font-size:14px;box-shadow:none;font-family:Lato,Helvetica,Arial,sans-serif}date-input-polyfill button,date-input-polyfill select{border:0;border-radius:0;border-bottom:1px solid #dadfe1;height:24px;vertical-align:top;-webkit-appearance:none;-moz-appearance:none}date-input-polyfill .monthSelect-wrapper{width:55%;display:inline-block}date-input-polyfill .yearSelect-wrapper{width:25%;display:inline-block}date-input-polyfill select{width:100%}date-input-polyfill select:first-of-type{border-right:1px solid #dadfe1;border-radius:5px 0 0 0;-moz-border-radius:5px 0 0 0;-webkit-border-radius:5px 0 0 0}date-input-polyfill button{width:20%;background:#dadfe1;border-radius:0 5px 0 0;-moz-border-radius:0 5px 0 0;-webkit-border-radius:0 5px 0 0}date-input-polyfill button:hover{background:#eee}date-input-polyfill table{border-collapse:separate!important;border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;overflow:hidden;max-width:280px;width:280px}date-input-polyfill td,date-input-polyfill th{width:32px;padding:4px;text-align:center;box-sizing:content-box}date-input-polyfill td[data-day]{cursor:pointer}date-input-polyfill td[data-day]:hover{background:#dadfe1}date-input-polyfill [data-selected]{font-weight:700;background:#d8eaf6}",""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e=0&&g.splice(e,1)}function u(t){var e=document.createElement("style");return e.type="text/css",i(t,e),e}function c(t){var e=document.createElement("link");return e.rel="stylesheet",i(t,e),e}function s(t,e){var n,r,o;if(e.singleton){var i=y++;n=v||(v=u(e)),r=f.bind(null,n,i,!1),o=f.bind(null,n,i,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=c(e),r=function(t,e){var n=e.css,r=e.sourceMap;r&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var o=new Blob([n],{type:"text/css"}),i=t.href;t.href=URL.createObjectURL(o),i&&URL.revokeObjectURL(i)}.bind(null,n),o=function(){a(n),n.href&&URL.revokeObjectURL(n.href)}):(n=u(e),r=function(t,e){var n=e.css,r=e.media;if(r&&t.setAttribute("media",r),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){a(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}function f(t,e,n,r){var o=n?"":r.css;if(t.styleSheet)t.styleSheet.cssText=m(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}var l={},p=function(t){var e;return function(){return void 0===e&&(e=t.apply(this,arguments)),e}},h=p(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),d=p(function(){return document.head||document.getElementsByTagName("head")[0]}),v=null,y=0,g=[];t.exports=function(t,e){void 0===(e=e||{}).singleton&&(e.singleton=h()),void 0===e.insertAt&&(e.insertAt="bottom");var n=o(t);return r(n,e),function(t){for(var i=[],a=0;a 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar 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};\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});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar 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 var 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};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar 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 if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\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});\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var core = module.exports = { version: '2.6.2' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var dP = require('./_object-dp');\nvar 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};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar 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};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\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};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 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');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var 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};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 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};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var 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 // eslint-disable-next-line no-undef\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 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 var length = list.length;\n var 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 var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var 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 var length = arguments.length;\n var 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 var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var 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 var length = O.length;\n var $begin = toAbsoluteIndex(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 : toAbsoluteIndex(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 var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var 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 } 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 // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var 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 var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\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 (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // 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(toIndex(data));\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 var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $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 });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\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 if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.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 */ };\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar 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 var 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};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar 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};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = false;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar 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};\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};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","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};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar 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};\n","module.exports = {};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar 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;\n","exports.f = {}.propertyIsEnumerable;\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 var 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};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar 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};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\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};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var 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 var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var 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};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar 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};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf 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};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var toInteger = require('./_to-integer');\nvar 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 var i = toInteger(pos);\n var l = s.length;\n var 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};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar 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 var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') 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};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar 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};\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';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\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;\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar 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};\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};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\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}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var 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\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new 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 var 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 $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(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 var $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;\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 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};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var 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};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar 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};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar 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 var kind = this._k;\n var 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');\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(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}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar 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};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar 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","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar 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 // eslint-disable-next-line no-new-func\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 var 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};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar 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;\n","var $parseFloat = require('./_global').parseFloat;\nvar $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 var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\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};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\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};\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};\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};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var 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};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var 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};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\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});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\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(validate(this, MAP), 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(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var 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._t = NAME; // collection type\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 = validate(this, NAME), 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 = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var 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 validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var 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(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var 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 = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var 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};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\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(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar 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(validate(this, WEAK_MAP)).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(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var 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}\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar 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._t = NAME; // collection type\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(validate(this, NAME))['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(validate(this, NAME)).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};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var 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 // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\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","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar 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 var i = 0;\n var l = keys.length;\n var 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 var result = [];\n var i = 0;\n var 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 var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var 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 es6Symbols = (\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(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\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(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\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 var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') 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","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","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') });\n","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 });\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') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $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});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar 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});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar 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});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar 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});\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});\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});\n","// 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});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar 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}\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') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar 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} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar 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 var 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 var 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}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var 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 var 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 var 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 var 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.0.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 var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\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});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.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});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $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 });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $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});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $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 });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $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});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar 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});\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});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar 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 var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var 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});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $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 var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 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.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 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});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar 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});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\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});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $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 var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(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});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar 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 var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var 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});\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});\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 var index = this._i;\n var 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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $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 var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar 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});\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});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $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 var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\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});\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});\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});\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});\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});\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});\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});\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});\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});\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});\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});\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});\n","'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});\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(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var 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} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar 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};\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') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar 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 var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var 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","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\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 var aLen = arguments.length;\n var 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});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar 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});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar 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 var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var 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});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar 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});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar 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});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar 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};\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $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});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar 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});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar 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 var length = toLength(O.length);\n var 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});\n","// 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');\n","// 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');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar 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);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar 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);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar 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 var piRE = isRegExp(p);\n var 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');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $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}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\n\n// eslint-disable-next-line no-empty\nvar SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })();\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\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 // based on es5-shim implementation, need to rework it\n internalSplit = 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 match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\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 internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? 0xffffffff : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, 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(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar 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 var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\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});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\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);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\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});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\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});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\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});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar 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() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\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 var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar 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 // eslint-disable-next-line no-undef\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});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar 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});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar 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 var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var 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});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var 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 });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar 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});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\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});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $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});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $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});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var 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 if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\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 });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar 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});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var 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} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar 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} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var 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} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar 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} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar 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} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar 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} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.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} });\n","/* tslint:disable */\nimport 'core-js/es6';\nimport 'core-js/es7/reflect';\nrequire('zone.js/dist/zone');\n\n// IE11 fix, ref: https://github.com/angular/angular/issues/24769\nif (!Element.prototype.matches && (Element.prototype as any).msMatchesSelector) {\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector;\n}\n\nif (process.env.ENV === 'production') {\n // Production\n} else {\n // Development and test\n Error['stackTraceLimit'] = Infinity;\n require('zone.js/dist/long-stack-trace-zone');\n}\n\n// Other polyfills\nrequire('whatwg-fetch');\nrequire('webcrypto-shim');\nrequire('date-input-polyfill');\n/* tslint:enable */\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.exec');\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');\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","/**\n* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes\n* (c) 2010-2020 Google LLC. https://angular.io/\n* License: MIT\n*/\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () {\n 'use strict';\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 var Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) { performance && performance['mark'] && performance['mark'](name); }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n var symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n var checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\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 () { return _currentZoneFrame.zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () { return _currentTask; },\n enumerable: true,\n configurable: true\n });\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\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 () { return this._parent; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () { return this._name; },\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 _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 _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 if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\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 = undefined;\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.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, undefined));\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 // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) { return delegate.scheduleTask(target, task); },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (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 =\n zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\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._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec &&\n (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone = zoneSpec &&\n (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\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._invokeTaskCurrZone);\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._cancelTaskCurrZone);\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 ?\n 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 // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\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 this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n // tslint:disable-next-line:require-internal-with-underscore\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 = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\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 if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(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 () { return this._zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () { return this._state; },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () { this._transitionTo(notScheduled, scheduling); };\n // tslint:disable-next-line:require-internal-with-underscore\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 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\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 var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, 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 _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 bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n patchMacroTask: 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 patchEventPrototype: function () { return noop; },\n isIEOrEdge: function () { return false; },\n getGlobalObjects: function () { return undefined; },\n ObjectDefineProperty: function () { return noop; },\n ObjectGetOwnPropertyDescriptor: function () { return undefined; },\n ObjectCreate: function () { return undefined; },\n ArraySlice: function () { return []; },\n patchClass: function () { return noop; },\n wrapWithCurrentZone: function () { return noop; },\n filterProperties: function () { return []; },\n attachOriginToPatched: function () { return noop; },\n _redefineProperty: function () { return noop; },\n patchCallbacks: function () { return noop; }\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n })(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\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 Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\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 isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\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 var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\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 (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) { return value && value.then; }\n function forwardResolution(value) { return value; }\n function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\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 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 () { resolvePromise(promise, false, err); })();\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.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\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 ObjectDefineProperty(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 var uncaughtPromiseError = value;\n if (!isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // and the rejected value is an Error object,\n // use the value instead of wrapping it.\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\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.call(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 promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var noop = function () { };\n var ZoneAwarePromise = /** @class */ (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 () { return ZONE_AWARE_PROMISE_TO_STRING; };\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) { resolve(value); }\n function onReject(error) { reject(error); }\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value = values_1[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) { return ZoneAwarePromise.allWithCallback(values); };\n ZoneAwarePromise.allSettled = function (values) {\n var P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: function (value) { return ({ status: 'fulfilled', value: value }); },\n errorCallback: function (err) { return ({ status: 'rejected', reason: err }); }\n });\n };\n ZoneAwarePromise.allWithCallback = function (values, callback) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n try {\n value.then(function (value) {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, function (err) {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n _loop_2(value);\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.toStringTag, {\n get: function () { return 'Promise'; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.species, {\n get: function () { return ZoneAwarePromise; },\n enumerable: true,\n configurable: true\n });\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\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 ZoneAwarePromise.prototype.finally = function (onFinally) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\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 = ObjectGetOwnPropertyDescriptor(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 ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) { originalThen.call(_this, resolve, reject); });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\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[api.symbol('fetch')] = fetch_1;\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 * @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 */\n /// \n // issue #989, to reduce bundle size, use short name\n /** Object.getOwnPropertyDescriptor */\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n /** Object.defineProperty */\n var ObjectDefineProperty = Object.defineProperty;\n /** Object.getPrototypeOf */\n var ObjectGetPrototypeOf = Object.getPrototypeOf;\n /** Object.create */\n var ObjectCreate = Object.create;\n /** Array.prototype.slice */\n var ArraySlice = Array.prototype.slice;\n /** addEventListener string const */\n var ADD_EVENT_LISTENER_STR = 'addEventListener';\n /** removeEventListener string const */\n var REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n /** zoneSymbol addEventListener */\n var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n /** zoneSymbol removeEventListener */\n var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n /** true string const */\n var TRUE_STR = 'true';\n /** false string const */\n var FALSE_STR = 'false';\n /** Zone symbol prefix string const. */\n var ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\n function wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n }\n function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n }\n var zoneSymbol = Zone.__symbol__;\n var isWindowExists = typeof window !== 'undefined';\n var internalWindow = isWindowExists ? window : undefined;\n var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\n var REMOVE_ATTRIBUTE = 'removeAttribute';\n var NULL_ON_PROP_VALUE = [null];\n function bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n }\n function patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_3 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(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_3(i);\n }\n }\n function isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n }\n var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\n var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['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 accidentally browserify\n // this code.\n var isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\n var zoneSymbolEventNames = {};\n var 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;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n };\n function patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(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 var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\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.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n }\n function 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 }\n var originalInstanceKey = zoneSymbol('originalInstance');\n // wrap some native API on `window`\n function 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 ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(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 () { return this[originalInstanceKey][prop]; }\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 }\n function copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () { return src[symbol]; },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n }\n var shouldCopySymbolProperties = false;\n function patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(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 = null;\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 && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () { return patchDelegate_1(this, arguments); };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n }\n // TODO: @JiaLiPassion, support cancel task later if necessary\n function patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () { task.invoke.apply(this, arguments); };\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.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n }\n function attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n }\n var isDetectedIEOrEdge = false;\n var ieOrEdge = false;\n function isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n }\n function isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\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\n Zone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\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.call(nativePromise);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\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.call(this);\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 var passiveSupported = false;\n if (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', { get: function () { passiveSupported = true; } });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n }\n // an identifier to tell ZoneTask do not create a new invoke closure\n var OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n };\n var zoneSymbolEventNames$1 = {};\n var globalSources = {};\n var EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\n var IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\n function prepareEventNames(eventName, eventNameToString) {\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : 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 function patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || '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' && 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].call(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 Samsung 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 Samsung 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.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(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 var eventNameToString = patchOptions && patchOptions.eventNameToString;\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.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\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.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\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.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(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 return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[zoneSymbol('BLACK_LISTED_EVENTS')];\n var passiveEvents = _global[zoneSymbol('PASSIVE_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 eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\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') {\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 passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n var options = buildEventListenerOptions(arguments[2], passive);\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var once = options && typeof options === 'object' ? options.once : false;\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames$1[eventName];\n }\n var symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\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['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : 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 : undefined;\n // keep taskData into data to allow onScheduleEventTask to access 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 if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\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 if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var options = arguments[2];\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\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 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 // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n var onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\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 if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : 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].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\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].call(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].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\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 }\n function findEventTasks(target, eventName) {\n if (!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 }\n var symbolEventName = zoneSymbolEventNames$1[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames$1[eventName];\n }\n var captureFalseTasks = target[symbolEventName[FALSE_STR]];\n var captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n }\n function 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 * @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 patchCallbacks(api, target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\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 var 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 ];\n var documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n ];\n var 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 'vrdisplayconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n ];\n var htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n ];\n var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\n var 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 ];\n var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\n var formEventNames = ['autocomplete', 'autocompleteerror'];\n var detailEventNames = ['toggle'];\n var frameEventNames = ['load'];\n var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\n var marqueeEventNames = ['bounce', 'finish', 'start'];\n var XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n ];\n var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\n var websocketEventNames = ['close', 'error', 'open', 'message'];\n var workerEventNames = ['error', 'message'];\n var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\n function filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\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 }\n function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n }\n function propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow_1 = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow_1, ignoreProperties: ['error'] }] : [];\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(internalWindow_1, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow_1));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow_1['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow_1['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 = internalWindow_1['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow_1['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\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 /**\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 Zone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = function () { return ({ globalSources: globalSources, zoneSymbolEventNames: zoneSymbolEventNames$1, eventNames: eventNames, isBrowser: isBrowser, isMix: isMix, isNode: isNode, TRUE_STR: TRUE_STR,\n FALSE_STR: FALSE_STR, ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX, ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR }); };\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 */\n var zoneSymbol$1;\n var _defineProperty;\n var _getOwnPropertyDescriptor;\n var _create;\n var unconfigurablesKey;\n function propertyPatch() {\n zoneSymbol$1 = Zone.__symbol__;\n _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;\n _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\n _create = Object.create;\n unconfigurablesKey = zoneSymbol$1('unconfigurables');\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) { Object.defineProperty(obj, prop, props[prop]); });\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 (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n }\n function _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n }\n function isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n }\n function 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 }\n function _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') {\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 * @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 eventTargetLegacyPatch(_global, api) {\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, globalSources = _a.globalSources, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\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 = api.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 var pointerEventsMap = {\n 'MSPointerCancel': 'pointercancel',\n 'MSPointerDown': 'pointerdown',\n 'MSPointerEnter': 'pointerenter',\n 'MSPointerHover': 'pointerhover',\n 'MSPointerLeave': 'pointerleave',\n 'MSPointerMove': 'pointermove',\n 'MSPointerOut': 'pointerout',\n 'MSPointerOver': 'pointerover',\n 'MSPointerUp': 'pointerup'\n };\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[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555_ARRAY.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 // vh is validateHandler to check event handler\n // is valid or not(for security check)\n api.patchEventTarget(_global, apiTypes, {\n vh: checkIEAndCrossContext,\n transferEventName: function (eventName) {\n var pointerEventName = pointerEventsMap[eventName];\n return pointerEventName || eventName;\n }\n });\n Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];\n return true;\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\n function apply(api, _global) {\n var _a = api.getGlobalObjects(), ADD_EVENT_LISTENER_STR = _a.ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR = _a.REMOVE_EVENT_LISTENER_STR;\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 api.patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\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 = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = api.ObjectCreate(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 [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = api.ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\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 api.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 * @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 propertyDescriptorLegacyPatch(api, _global) {\n var _a = api.getGlobalObjects(), isNode = _a.isNode, isMix = _a.isMix;\n if (isNode && !isMix) {\n return;\n }\n if (!canPatchViaPropertyDescriptor(api, _global)) {\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents(api);\n api.patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n Zone[api.symbol('patchEvents')] = true;\n }\n }\n function canPatchViaPropertyDescriptor(api, _global) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((isBrowser || isMix) &&\n !api.ObjectGetOwnPropertyDescriptor(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 = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n // try to use onclick to detect whether we can patch via propertyDescriptor\n // because XMLHttpRequest is not available in service worker\n if (desc) {\n api.ObjectDefineProperty(Element.prototype, 'onclick', { enumerable: true, configurable: true, get: function () { return true; } });\n var div = document.createElement('div');\n var result = !!div.onclick;\n api.ObjectDefineProperty(Element.prototype, 'onclick', desc);\n return result;\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\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 api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { enumerable: true, configurable: true, get: function () { return true; } });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () { return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1]; },\n set: function (value) { this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value; }\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 }\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)\n function patchViaCapturingAllTheEvents(api) {\n var eventNames = api.getGlobalObjects().eventNames;\n var unboundKey = api.symbol('unbound');\n var _loop_4 = 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 = api.wrapWithCurrentZone(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_4(i);\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 function registerElementPatch(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);\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 (function (_global) {\n var symbolPrefix = _global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n _global[__symbol__('legacyPatch')] = function () {\n var Zone = _global['Zone'];\n Zone.__load_patch('defineProperty', function (global, Zone, api) {\n api._redefineProperty = _redefineProperty;\n propertyPatch();\n });\n Zone.__load_patch('registerElement', function (global, Zone, api) {\n registerElementPatch(global, api);\n });\n Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {\n eventTargetLegacyPatch(global, api);\n propertyDescriptorLegacyPatch(api, global);\n });\n };\n })(typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {});\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 var taskSymbol = zoneSymbol('zoneTask');\n function patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\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 }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) { return clearNative(task.data.handleId); }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(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 !== 'notScheduled' &&\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 * @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 patchCustomElements(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\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 function eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\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[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n var EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n }\n function patchEvent(global, api) {\n api.patchEventPrototype(global, api);\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 Zone.__load_patch('legacy', function (global) {\n var legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('timers', function (global) {\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 });\n Zone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_2 = blockingMethods[i];\n patchMethod(global, name_2, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', function (global, Zone, api) {\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 });\n Zone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', function (global, Zone, api) {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', function (global, Zone) {\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 var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) { return target[XHR_TASK]; }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(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 && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(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 target[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(XMLHttpRequestPrototype, '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 fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\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 = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\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 else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\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 });\n Zone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\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","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (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\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (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 isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction 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\nfunction 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\nfunction 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\nexport 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\nHeaders.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\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.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\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction 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\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction 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\nfunction 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\nfunction 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 this._bodyText = body = Object.prototype.toString.call(body)\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\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport 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 this.signal = input.signal\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 || 'same-origin'\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.signal = options.signal || this.signal\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\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .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\nfunction 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\nBody.call(Request.prototype)\n\nexport 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\nBody.call(Response.prototype)\n\nResponse.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\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.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\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\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.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\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 if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","/**\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(t,e){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var n=e();for(var r in n)(\"object\"==typeof exports?exports:t)[r]=n[r]}}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p=\"\",e(0)}([function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{\"default\":t}}n(84);var o=n(41),i=r(o),a=function(){i[\"default\"].addPickerToOtherInputs(),i[\"default\"].supportsDateInput()||i[\"default\"].addPickerToDateInputs()};a(),document.addEventListener(\"DOMContentLoaded\",function(){a()}),document.querySelector(\"body\").addEventListener(\"mousedown\",function(){a()})},function(t,e,n){t.exports=!n(11)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},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){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(9),o=n(32),i=n(25),a=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(u){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(59),o=n(16);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(4),o=n(14);t.exports=n(1)?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(23)(\"wks\"),o=n(15),i=n(2).Symbol,a=\"function\"==typeof i,u=t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)(\"Symbol.\"+t))};u.store=r},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var r=n(12);t.exports=function(t){if(!r(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var r=n(2),o=n(8),i=n(56),a=n(6),u=\"prototype\",s=function(t,e,n){var c,l,f,d=t&s.F,p=t&s.G,h=t&s.S,y=t&s.P,m=t&s.B,v=t&s.W,b=p?o:o[e]||(o[e]={}),g=b[u],x=p?r:h?r[e]:(r[e]||{})[u];p&&(n=e);for(c in n)l=!d&&x&&void 0!==x[c],l&&c in b||(f=l?x[c]:n[c],b[c]=p&&\"function\"!=typeof x[c]?n[c]:m&&l?i(f,r):v&&x[c]==f?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[u]=t[u],e}(f):y&&\"function\"==typeof f?i(Function.call,f):f,y&&((b.virtual||(b.virtual={}))[c]=f,t&s.R&&g&&!g[c]&&a(g,c,f)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var r=n(38),o=n(17);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(4).f,o=n(3),i=n(7)(\"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(23)(\"keys\"),o=n(15);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(2),o=\"__core-js_shared__\",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(12);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var r=n(2),o=n(8),i=n(19),a=n(27),u=n(4).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(7)},function(t,e){\"use strict\";e.__esModule=!0,e[\"default\"]=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{\"default\":t}}e.__esModule=!0;var o=n(45),i=r(o);e[\"default\"]=function(){function t(t,e){for(var n=0;n\";for(e.style.display=\"none\",n(58).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(o+\"script\"+a+\"document.F=Object\"+o+\"/script\"+a),t.close(),c=t.F;r--;)delete c[s][i[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u[s]=r(t),n=new u,u[s]=null,n[a]=t):n=c(),void 0===e?n:o(n,e)}},function(t,e,n){var r=n(4),o=n(9),i=n(13);t.exports=n(1)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,s=0;u>s;)r.f(t,n=a[s++],e[n]);return t}},function(t,e,n){var r=n(38),o=n(17).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(3),o=n(5),i=n(55)(!1),a=n(22)(\"IE_PROTO\");t.exports=function(t,e){var n,u=o(t),s=0,c=[];for(n in u)n!=a&&r(u,n)&&c.push(n);for(;e.length>s;)r(u,n=e[s++])&&(~i(c,n)||c.push(n));return c}},function(t,e,n){t.exports=n(6)},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{\"default\":t}}function o(t,e){for(t=String(t),e=e||2;t.length0?\"-\":\"+\")+o(100*Math.floor(Math.abs(w)/60)+Math.abs(w)%60,4),S:[\"th\",\"st\",\"nd\",\"rd\"][h%10>3?0:(h%100-h%10!=10)*h%10],W:S,N:O};return s.replace(t,function(t){return t in D?D[t]:t.slice(1,t.length-1)})}}();l.masks={\"default\":\"ddd mmm dd yyyy HH:MM:ss\",shortDate:\"m/d/yy\",mediumDate:\"mmm d, yyyy\",longDate:\"mmmm d, yyyy\",fullDate:\"dddd, mmmm d, yyyy\",shortTime:\"h:MM TT\",mediumTime:\"h:MM:ss TT\",longTime:\"h:MM:ss TT Z\",isoDate:\"yyyy-mm-dd\",isoTime:\"HH:MM:ss\",isoDateTime:\"yyyy-mm-dd'T'HH:MM:sso\",isoUtcDateTime:\"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'\",expiresHeaderFormat:\"ddd, dd mmm yyyy HH:MM:ss Z\"},l.i18n={dayNames:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],monthNames:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\",\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]},e[\"default\"]=l},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{\"default\":t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(44),i=r(o),a=n(28),u=r(a),s=n(29),c=r(s),l=n(43),f=r(l),d=n(42),p=r(d),h=n(40),y=r(h),m=function(){function t(e){var n=this;(0,u[\"default\"])(this,t),this.element=e,this.element.setAttribute(\"data-has-picker\",\"\"),this.locale=this.element.getAttribute(\"lang\")||document.body.getAttribute(\"lang\")||\"en\",this.format=this.element.getAttribute(\"date-format\")||document.body.getAttribute(\"date-format\")||this.element.getAttribute(\"data-date-format\")||document.body.getAttribute(\"data-date-format\")||\"yyyy-mm-dd\",this.localeText=this.getLocaleText(),(0,i[\"default\"])(this.element,{valueAsDate:{get:function(){if(!n.element.value)return null;var t=n.format||\"yyyy-mm-dd\",e=n.element.value.match(/(\\d+)/g),r=0,o={};return t.replace(/(yyyy|dd|mm)/g,function(t){o[t]=r++}),new Date(e[o.yyyy],e[o.mm]-1,e[o.dd])},set:function(t){n.element.value=(0,y[\"default\"])(t,n.format)}},valueAsNumber:{get:function(){return n.element.value?n.element.valueAsDate.valueOf():NaN},set:function(t){n.element.valueAsDate=new Date(t)}}});var r=function(t){var e=n.element;e.locale=n.localeText,f[\"default\"].attachTo(e)};this.element.addEventListener(\"focus\",r),this.element.addEventListener(\"mouseup\",r),this.element.addEventListener(\"keydown\",function(t){var e=new Date;switch(t.keyCode){case 9:case 27:f[\"default\"].hide();break;case 38:n.element.valueAsDate&&(e.setDate(n.element.valueAsDate.getDate()+1),n.element.valueAsDate=e,f[\"default\"].pingInput());break;case 40:n.element.valueAsDate&&(e.setDate(n.element.valueAsDate.getDate()-1),n.element.valueAsDate=e,f[\"default\"].pingInput())}f[\"default\"].sync()}),this.element.addEventListener(\"keyup\",function(t){f[\"default\"].sync()})}return(0,c[\"default\"])(t,[{key:\"getLocaleText\",value:function(){var t=this.locale.toLowerCase();for(var e in p[\"default\"]){var n=e.split(\"_\");if(n.map(function(t){return t.toLowerCase()}),~n.indexOf(t)||~n.indexOf(t.substr(0,2)))return p[\"default\"][e]}}}],[{key:\"supportsDateInput\",value:function(){var t=document.createElement(\"input\");t.setAttribute(\"type\",\"date\");var e=\"not-a-date\";return t.setAttribute(\"value\",e),!(t.value===e)}},{key:\"addPickerToDateInputs\",value:function(){var e=document.querySelectorAll('input[type=\"date\"]:not([data-has-picker])'),n=e.length;if(!n)return!1;for(var r=0;r\"],n=0,r=this.locale.days.length;n'+this.locale.days[n]+\"\");this.daysHead.innerHTML=e.join(\"\"),t.createRangeSelect(this.month,0,11,this.locale.months)}},{key:\"refreshDaysMatrix\",value:function(){this.refreshLocale();for(var e=this.date.getFullYear(),n=this.date.getMonth(),r=new Date(e,n,1).getDay(),o=new Date(this.date.getFullYear(),n+1,0).getDate(),i=t.absoluteDate(this.input.valueAsDate)||!1,a=i&&e===i.getFullYear()&&n===i.getMonth(),u=[],s=0;s\":\"\")+\"\\n \\n \"),s+1<=r)u.push(\"\");else{var c=s+1-r,l=a&&i.getDate()===c;u.push(\"\\n \"+c+\"\\n \")}this.days.innerHTML=u.join(\"\")}},{key:\"pingInput\",value:function(){var t=void 0,e=void 0;try{t=new Event(\"input\"),e=new Event(\"change\")}catch(n){t=document.createEvent(\"KeyboardEvent\"),t.initEvent(\"input\",!0,!1),e=document.createEvent(\"KeyboardEvent\"),e.initEvent(\"change\",!0,!1)}this.input.dispatchEvent(t),this.input.dispatchEvent(e)}}],[{key:\"createRangeSelect\",value:function(t,e,n,r){t.innerHTML=\"\";for(var o=e;o<=n;++o){var i=document.createElement(\"option\");t.appendChild(i);var a=r?r[o-e]:o;i.text=a,i.value=o}return t}},{key:\"absoluteDate\",value:function(t){return t&&new Date(t.getTime()+60*t.getTimezoneOffset()*1e3)}}]),t}();window.thePicker=new s,e[\"default\"]=window.thePicker},function(t,e,n){t.exports={\"default\":n(49),__esModule:!0}},function(t,e,n){t.exports={\"default\":n(50),__esModule:!0}},function(t,e,n){t.exports={\"default\":n(51),__esModule:!0}},function(t,e,n){t.exports={\"default\":n(52),__esModule:!0}},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{\"default\":t}}e.__esModule=!0;var o=n(47),i=r(o),a=n(46),u=r(a),s=\"function\"==typeof u[\"default\"]&&\"symbol\"==typeof i[\"default\"]?function(t){return typeof t}:function(t){return t&&\"function\"==typeof u[\"default\"]&&t.constructor===u[\"default\"]?\"symbol\":typeof t};e[\"default\"]=\"function\"==typeof u[\"default\"]&&\"symbol\"===s(i[\"default\"])?function(t){return\"undefined\"==typeof t?\"undefined\":s(t)}:function(t){return t&&\"function\"==typeof u[\"default\"]&&t.constructor===u[\"default\"]?\"symbol\":\"undefined\"==typeof t?\"undefined\":s(t)}},function(t,e,n){n(73);var r=n(8).Object;t.exports=function(t,e){return r.defineProperties(t,e)}},function(t,e,n){n(74);var r=n(8).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){n(77),n(75),n(78),n(79),t.exports=n(8).Symbol},function(t,e,n){n(76),n(80),t.exports=n(27).f(\"iterator\")},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var r=n(5),o=n(70),i=n(69);t.exports=function(t){return function(e,n,a){var u,s=r(e),c=o(s.length),l=i(a,c);if(t&&n!=n){for(;c>l;)if(u=s[l++],u!=u)return!0}else for(;c>l;l++)if((t||l in s)&&s[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var r=n(53);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(13),o=n(37),i=n(20);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),s=i.f,c=0;u.length>c;)s.call(t,a=u[c++])&&e.push(a);return e}},function(t,e,n){t.exports=n(2).document&&document.documentElement},function(t,e,n){var r=n(30);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},function(t,e,n){var r=n(30);t.exports=Array.isArray||function(t){return\"Array\"==r(t)}},function(t,e,n){\"use strict\";var r=n(34),o=n(14),i=n(21),a={};n(6)(a,n(7)(\"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){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(13),o=n(5);t.exports=function(t,e){for(var n,i=o(t),a=r(i),u=a.length,s=0;u>s;)if(i[n=a[s++]]===e)return n}},function(t,e,n){var r=n(15)(\"meta\"),o=n(12),i=n(3),a=n(4).f,u=0,s=Object.isExtensible||function(){return!0},c=!n(11)(function(){return s(Object.preventExtensions({}))}),l=function(t){a(t,r,{value:{i:\"O\"+ ++u,w:{}}})},f=function(t,e){if(!o(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!i(t,r)){if(!s(t))return\"F\";if(!e)return\"E\";l(t)}return t[r].i},d=function(t,e){if(!i(t,r)){if(!s(t))return!0;if(!e)return!1;l(t)}return t[r].w},p=function(t){return c&&h.NEED&&s(t)&&!i(t,r)&&l(t),t},h=t.exports={KEY:r,NEED:!1,fastKey:f,getWeak:d,onFreeze:p}},function(t,e,n){var r=n(20),o=n(14),i=n(5),a=n(25),u=n(3),s=n(32),c=Object.getOwnPropertyDescriptor;e.f=n(1)?c:function(t,e){if(t=i(t),e=a(e,!0),s)try{return c(t,e)}catch(n){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(5),o=n(36).f,i={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return o(t)}catch(e){return a.slice()}};t.exports.f=function(t){return a&&\"[object Window]\"==i.call(t)?u(t):o(r(t))}},function(t,e,n){var r=n(3),o=n(71),i=n(22)(\"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,n){var r=n(24),o=n(16);t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),s=r(n),c=u.length;return s<0||s>=c?t?\"\":void 0:(i=u.charCodeAt(s),i<55296||i>56319||s+1===c||(a=u.charCodeAt(s+1))<56320||a>57343?t?u.charAt(s):i:t?u.slice(s,s+2):(i-55296<<10)+(a-56320)+65536)}}},function(t,e,n){var r=n(24),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(24),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(16);t.exports=function(t){return Object(r(t))}},function(t,e,n){\"use strict\";var r=n(54),o=n(62),i=n(18),a=n(5);t.exports=n(33)(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)):\"keys\"==e?o(0,n):\"values\"==e?o(0,t[n]):o(0,[n,t[n]])},\"values\"),i.Arguments=i.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(t,e,n){var r=n(10);r(r.S+r.F*!n(1),\"Object\",{defineProperties:n(35)})},function(t,e,n){var r=n(10);r(r.S+r.F*!n(1),\"Object\",{defineProperty:n(4).f})},function(t,e){},function(t,e,n){\"use strict\";var r=n(68)(!0);n(33)(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\";var r=n(2),o=n(3),i=n(1),a=n(10),u=n(39),s=n(64).KEY,c=n(11),l=n(23),f=n(21),d=n(15),p=n(7),h=n(27),y=n(26),m=n(63),v=n(57),b=n(60),g=n(9),x=n(5),M=n(25),w=n(14),S=n(34),O=n(66),D=n(65),T=n(4),_=n(13),A=D.f,k=T.f,E=O.f,j=r.Symbol,C=r.JSON,N=C&&C.stringify,L=\"prototype\",P=p(\"_hidden\"),F=p(\"toPrimitive\"),J={}.propertyIsEnumerable,H=l(\"symbol-registry\"),I=l(\"symbols\"),Y=l(\"op-symbols\"),R=Object[L],z=\"function\"==typeof j,U=r.QObject,B=!U||!U[L]||!U[L].findChild,W=i&&c(function(){return 7!=S(k({},\"a\",{get:function(){return k(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var r=A(R,e);r&&delete R[e],k(t,e,n),r&&t!==R&&k(R,e,r)}:k,Z=function(t){var e=I[t]=S(j[L]);return e._k=t,e},G=z&&\"symbol\"==typeof j.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof j},K=function(t,e,n){return t===R&&K(Y,e,n),g(t),e=M(e,!0),g(n),o(I,e)?(n.enumerable?(o(t,P)&&t[P][e]&&(t[P][e]=!1),n=S(n,{enumerable:w(0,!1)})):(o(t,P)||k(t,P,w(1,{})),t[P][e]=!0),W(t,e,n)):k(t,e,n)},V=function(t,e){g(t);for(var n,r=v(e=x(e)),o=0,i=r.length;i>o;)K(t,n=r[o++],e[n]);return t},q=function(t,e){return void 0===e?S(t):V(S(t),e)},Q=function(t){var e=J.call(this,t=M(t,!0));return!(this===R&&o(I,t)&&!o(Y,t))&&(!(e||!o(this,t)||!o(I,t)||o(this,P)&&this[P][t])||e)},X=function(t,e){if(t=x(t),e=M(e,!0),t!==R||!o(I,e)||o(Y,e)){var n=A(t,e);return!n||!o(I,e)||o(t,P)&&t[P][e]||(n.enumerable=!0),n}},$=function(t){for(var e,n=E(x(t)),r=[],i=0;n.length>i;)o(I,e=n[i++])||e==P||e==s||r.push(e);return r},tt=function(t){for(var e,n=t===R,r=E(n?Y:x(t)),i=[],a=0;r.length>a;)!o(I,e=r[a++])||n&&!o(R,e)||i.push(I[e]);return i};z||(j=function(){if(this instanceof j)throw TypeError(\"Symbol is not a constructor!\");var t=d(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(Y,n),o(this,P)&&o(this[P],t)&&(this[P][t]=!1),W(this,t,w(1,n))};return i&&B&&W(R,t,{configurable:!0,set:e}),Z(t)},u(j[L],\"toString\",function(){return this._k}),D.f=X,T.f=K,n(36).f=O.f=$,n(20).f=Q,n(37).f=tt,i&&!n(19)&&u(R,\"propertyIsEnumerable\",Q,!0),h.f=function(t){return Z(p(t))}),a(a.G+a.W+a.F*!z,{Symbol:j});for(var et=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),nt=0;et.length>nt;)p(et[nt++]);for(var et=_(p.store),nt=0;et.length>nt;)y(et[nt++]);a(a.S+a.F*!z,\"Symbol\",{\"for\":function(t){return o(H,t+=\"\")?H[t]:H[t]=j(t)},keyFor:function(t){if(G(t))return m(H,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){B=!0},useSimple:function(){B=!1}}),a(a.S+a.F*!z,\"Object\",{create:q,defineProperty:K,defineProperties:V,getOwnPropertyDescriptor:X,getOwnPropertyNames:$,getOwnPropertySymbols:tt}),C&&a(a.S+a.F*(!z||c(function(){var t=j();return\"[null]\"!=N([t])||\"{}\"!=N({a:t})||\"{}\"!=N(Object(t))})),\"JSON\",{stringify:function(t){if(void 0!==t&&!G(t)){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);return e=r[1],\"function\"==typeof e&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!G(e))return e}),r[1]=e,N.apply(C,r)}}}),j[L][F]||n(6)(j[L],F,j[L].valueOf),f(j,\"Symbol\"),f(Math,\"Math\",!0),f(r.JSON,\"JSON\",!0)},function(t,e,n){n(26)(\"asyncIterator\")},function(t,e,n){n(26)(\"observable\")},function(t,e,n){n(72);for(var r=n(2),o=n(6),i=n(18),a=n(7)(\"toStringTag\"),u=[\"NodeList\",\"DOMTokenList\",\"MediaList\",\"StyleSheetList\",\"CSSRuleList\"],s=0;s<5;s++){var c=u[s],l=r[c],f=l&&l.prototype;f&&!f[a]&&o(f,a,c),i[c]=i.Array}},function(t,e,n){e=t.exports=n(82)(),e.push([t.id,\"date-input-polyfill{background:#fff;color:#000;text-shadow:none;border:0;padding:0;height:auto;width:auto;line-height:normal;font-family:sans-serif;font-size:14px;position:absolute!important;text-align:center;box-shadow:0 3px 10px 1px rgba(0,0,0,.22);cursor:default;z-index:1;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;overflow:hidden;display:block}date-input-polyfill[data-open=false]{visibility:hidden;z-index:-100!important;top:0}date-input-polyfill[data-open=true]{visibility:visible}date-input-polyfill select,date-input-polyfill table,date-input-polyfill td,date-input-polyfill th{background:#fff;color:#000;text-shadow:none;border:0;padding:0;height:auto;width:auto;line-height:normal;font-family:sans-serif;font-size:14px;box-shadow:none;font-family:Lato,Helvetica,Arial,sans-serif}date-input-polyfill button,date-input-polyfill select{border:0;border-radius:0;border-bottom:1px solid #dadfe1;height:24px;vertical-align:top;-webkit-appearance:none;-moz-appearance:none}date-input-polyfill .monthSelect-wrapper{width:55%;display:inline-block}date-input-polyfill .yearSelect-wrapper{width:25%;display:inline-block}date-input-polyfill select{width:100%}date-input-polyfill select:first-of-type{border-right:1px solid #dadfe1;border-radius:5px 0 0 0;-moz-border-radius:5px 0 0 0;-webkit-border-radius:5px 0 0 0}date-input-polyfill button{width:20%;background:#dadfe1;border-radius:0 5px 0 0;-moz-border-radius:0 5px 0 0;-webkit-border-radius:0 5px 0 0}date-input-polyfill button:hover{background:#eee}date-input-polyfill table{border-collapse:separate!important;border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;overflow:hidden;max-width:280px;width:280px}date-input-polyfill td,date-input-polyfill th{width:32px;padding:4px;text-align:center;box-sizing:content-box}date-input-polyfill td[data-day]{cursor:pointer}date-input-polyfill td[data-day]:hover{background:#dadfe1}date-input-polyfill [data-selected]{font-weight:700;background:#d8eaf6}\",\"\"]);\n},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e=0&&g.splice(e,1)}function u(t){var e=document.createElement(\"style\");return e.type=\"text/css\",i(t,e),e}function s(t){var e=document.createElement(\"link\");return e.rel=\"stylesheet\",i(t,e),e}function c(t,e){var n,r,o;if(e.singleton){var i=b++;n=v||(v=u(e)),r=l.bind(null,n,i,!1),o=l.bind(null,n,i,!0)}else t.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=s(e),r=d.bind(null,n),o=function(){a(n),n.href&&URL.revokeObjectURL(n.href)}):(n=u(e),r=f.bind(null,n),o=function(){a(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}function l(t,e,n,r){var o=n?\"\":r.css;if(t.styleSheet)t.styleSheet.cssText=x(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function f(t,e){var n=e.css,r=e.media;if(r&&t.setAttribute(\"media\",r),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}function d(t,e){var n=e.css,r=e.sourceMap;r&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+\" */\");var o=new Blob([n],{type:\"text/css\"}),i=t.href;t.href=URL.createObjectURL(o),i&&URL.revokeObjectURL(i)}var p={},h=function(t){var e;return function(){return\"undefined\"==typeof e&&(e=t.apply(this,arguments)),e}},y=h(function(){return/msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase())}),m=h(function(){return document.head||document.getElementsByTagName(\"head\")[0]}),v=null,b=0,g=[];t.exports=function(t,e){e=e||{},\"undefined\"==typeof e.singleton&&(e.singleton=y()),\"undefined\"==typeof e.insertAt&&(e.insertAt=\"bottom\");var n=o(t);return r(n,e),function(t){for(var i=[],a=0;a=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o}function s(e,t){return function(n,r){t(n,r,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create;function c(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,a=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)o.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(i)throw i.error}}return o}function d(){for(var e=[],t=0;t=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o}function s(e,t){return function(n,r){t(n,r,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create;function c(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,a=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)o.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(i)throw i.error}}return o}function d(){for(var e=[],t=0;t0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2;return function(r){return r.pipe(e?Object(S.a)(function(t,n){return e(t,n,r)}):L.a,O(1),n?R(t):D(function(){return new u}))}}var F=n(75);function V(e){return function(t){var n=new U(e),r=t.lift(n);return n.caught=r}}var U=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new H(e,this.selector,this.caught))},e}(),H=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.selector=n,i.caught=r,i}return r.c(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(a){return void e.prototype.error.call(this,a)}this._unsubscribeAndRecycle();var r=new F.a(this);this.add(r);var i=Object(F.c)(n,r);i!==r&&this.add(i)}},t}(F.b),W=n(729);function K(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Object(S.a)(function(t,n){return e(t,n,r)}):L.a,Object(W.a)(1),n?R(t):D(function(){return new u}))}}var G=n(303);var Q=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new $(e,this.predicate,this.thisArg,this.source))},e}(),$=function(e){function t(t,n,r,i){var a=e.call(this,t)||this;return a.predicate=n,a.thisArg=r,a.source=i,a.index=0,a.thisArg=r||a,a}return r.c(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(n){return void this.destination.error(n)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(p.a),Y=n(1090),Z=n(1093);function J(e,t){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new X(e,t,n))}}var X=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new ee(e,this.accumulator,this.seed,this.hasSeed))},e}(),ee=function(e){function t(t,n,r,i){var a=e.call(this,t)||this;return a.accumulator=n,a._seed=r,a.hasSeed=i,a.index=0,a}return r.c(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(r){this.destination.error(r)}this.seed=t,this.destination.next(t)},t}(p.a);function te(e,t){return Object(G.a)(e,t,1)}var ne=n(265);var re=n(1092),ie=n(54);var ae=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new oe(e,this.callback))},e}(),oe=function(e){function t(t,n){var r=e.call(this,t)||this;return r.add(new ie.a(n)),r}return r.c(t,e),t}(p.a),se=n(302);n.d(t,"ActivatedRoute",function(){return bt}),n.d(t,"ActivatedRouteSnapshot",function(){return kt}),n.d(t,"ActivationEnd",function(){return je}),n.d(t,"ActivationStart",function(){return _e}),n.d(t,"ChildActivationEnd",function(){return we}),n.d(t,"ChildActivationStart",function(){return ke}),n.d(t,"ChildrenOutletContexts",function(){return Fn}),n.d(t,"DefaultUrlSerializer",function(){return Ze}),n.d(t,"GuardsCheckEnd",function(){return me}),n.d(t,"GuardsCheckStart",function(){return fe}),n.d(t,"NavigationCancel",function(){return de}),n.d(t,"NavigationEnd",function(){return ue}),n.d(t,"NavigationError",function(){return he}),n.d(t,"NavigationStart",function(){return ce}),n.d(t,"NoPreloading",function(){return Kn}),n.d(t,"OutletContext",function(){return Bn}),n.d(t,"PRIMARY_OUTLET",function(){return xe}),n.d(t,"PreloadAllModules",function(){return Wn}),n.d(t,"PreloadingStrategy",function(){return Hn}),n.d(t,"ROUTER_CONFIGURATION",function(){return $n}),n.d(t,"ROUTER_INITIALIZER",function(){return cr}),n.d(t,"ROUTES",function(){return Tn}),n.d(t,"ResolveEnd",function(){return ye}),n.d(t,"ResolveStart",function(){return ge}),n.d(t,"RouteConfigLoadEnd",function(){return ve}),n.d(t,"RouteConfigLoadStart",function(){return be}),n.d(t,"RouteReuseStrategy",function(){return xn}),n.d(t,"Router",function(){return Pn}),n.d(t,"RouterEvent",function(){return le}),n.d(t,"RouterLink",function(){return Rn}),n.d(t,"RouterLinkActive",function(){return Ln}),n.d(t,"RouterLinkWithHref",function(){return Mn}),n.d(t,"RouterModule",function(){return Xn}),n.d(t,"RouterOutlet",function(){return Vn}),n.d(t,"RouterPreloader",function(){return Gn}),n.d(t,"RouterState",function(){return gt}),n.d(t,"RouterStateSnapshot",function(){return wt}),n.d(t,"RoutesRecognized",function(){return pe}),n.d(t,"Scroll",function(){return Ce}),n.d(t,"UrlHandlingStrategy",function(){return In}),n.d(t,"UrlSegment",function(){return Ge}),n.d(t,"UrlSegmentGroup",function(){return Ke}),n.d(t,"UrlSerializer",function(){return Ye}),n.d(t,"UrlTree",function(){return We}),n.d(t,"VERSION",function(){return dr}),n.d(t,"convertToParamMap",function(){return Te}),n.d(t,"provideRoutes",function(){return rr}),n.d(t,"ɵEmptyOutletComponent",function(){return Ee}),n.d(t,"ɵROUTER_PROVIDERS",function(){return Zn}),n.d(t,"ɵangular_packages_router_router_a",function(){return Yn}),n.d(t,"ɵangular_packages_router_router_b",function(){return Jn}),n.d(t,"ɵangular_packages_router_router_c",function(){return er}),n.d(t,"ɵangular_packages_router_router_d",function(){return tr}),n.d(t,"ɵangular_packages_router_router_e",function(){return nr}),n.d(t,"ɵangular_packages_router_router_f",function(){return ir}),n.d(t,"ɵangular_packages_router_router_g",function(){return ar}),n.d(t,"ɵangular_packages_router_router_h",function(){return or}),n.d(t,"ɵangular_packages_router_router_i",function(){return sr}),n.d(t,"ɵangular_packages_router_router_j",function(){return lr}),n.d(t,"ɵangular_packages_router_router_k",function(){return ur}),n.d(t,"ɵangular_packages_router_router_l",function(){return Ee}),n.d(t,"ɵangular_packages_router_router_m",function(){return dt}),n.d(t,"ɵangular_packages_router_router_n",function(){return ft}),n.d(t,"ɵangular_packages_router_router_o",function(){return Qn}),n.d(t,"ɵflatten",function(){return Le}); + */},,,,function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(4),a=n(0),o=n(307),s=n(169),l=n(1095),c=n(33),u=function(){function e(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return e.prototype=Object.create(Error.prototype),e}(),d=n(122),h=n(121),p=n(25),f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.c(t,e),t.prototype.notifyNext=function(e,t,n,r,i){this.destination.next(t)},t.prototype.notifyError=function(e,t){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.destination.complete()},t}(p.a),m=function(e){function t(t,n,r){var i=e.call(this)||this;return i.parent=t,i.outerValue=n,i.outerIndex=r,i.index=0,i}return r.c(t,e),t.prototype._next=function(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)},t.prototype._error=function(e){this.parent.notifyError(e,this),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},t}(p.a),g=n(218);function y(e,t,n,r,i){if(void 0===i&&(i=new m(e,n,r)),!i.closed)return t instanceof c.a?t.subscribe(i):Object(g.a)(t)(i)}var b=n(217),v={};var k=function(){function e(e){this.resultSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new w(e,this.resultSelector))},e}(),w=function(e){function t(t,n){var r=e.call(this,t)||this;return r.resultSelector=n,r.active=0,r.values=[],r.observables=[],r}return r.c(t,e),t.prototype._next=function(e){this.values.push(v),this.observables.push(e)},t.prototype._complete=function(){var e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(var n=0;n0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2;return function(r){return r.pipe(e?Object(S.a)(function(t,n){return e(t,n,r)}):L.a,O(1),n?R(t):D(function(){return new u}))}}var F=n(75);function V(e){return function(t){var n=new U(e),r=t.lift(n);return n.caught=r}}var U=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new H(e,this.selector,this.caught))},e}(),H=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.selector=n,i.caught=r,i}return r.c(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(a){return void e.prototype.error.call(this,a)}this._unsubscribeAndRecycle();var r=new F.a(this);this.add(r);var i=Object(F.c)(n,r);i!==r&&this.add(i)}},t}(F.b),W=n(733);function K(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Object(S.a)(function(t,n){return e(t,n,r)}):L.a,Object(W.a)(1),n?R(t):D(function(){return new u}))}}var G=n(303);var Q=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new $(e,this.predicate,this.thisArg,this.source))},e}(),$=function(e){function t(t,n,r,i){var a=e.call(this,t)||this;return a.predicate=n,a.thisArg=r,a.source=i,a.index=0,a.thisArg=r||a,a}return r.c(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(n){return void this.destination.error(n)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(p.a),Y=n(1096),Z=n(1099);function J(e,t){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new X(e,t,n))}}var X=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new ee(e,this.accumulator,this.seed,this.hasSeed))},e}(),ee=function(e){function t(t,n,r,i){var a=e.call(this,t)||this;return a.accumulator=n,a._seed=r,a.hasSeed=i,a.index=0,a}return r.c(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(r){this.destination.error(r)}this.seed=t,this.destination.next(t)},t}(p.a);function te(e,t){return Object(G.a)(e,t,1)}var ne=n(266);var re=n(1098),ie=n(54);var ae=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new oe(e,this.callback))},e}(),oe=function(e){function t(t,n){var r=e.call(this,t)||this;return r.add(new ie.a(n)),r}return r.c(t,e),t}(p.a),se=n(302);n.d(t,"ActivatedRoute",function(){return bt}),n.d(t,"ActivatedRouteSnapshot",function(){return kt}),n.d(t,"ActivationEnd",function(){return je}),n.d(t,"ActivationStart",function(){return _e}),n.d(t,"ChildActivationEnd",function(){return we}),n.d(t,"ChildActivationStart",function(){return ke}),n.d(t,"ChildrenOutletContexts",function(){return Fn}),n.d(t,"DefaultUrlSerializer",function(){return Ze}),n.d(t,"GuardsCheckEnd",function(){return me}),n.d(t,"GuardsCheckStart",function(){return fe}),n.d(t,"NavigationCancel",function(){return de}),n.d(t,"NavigationEnd",function(){return ue}),n.d(t,"NavigationError",function(){return he}),n.d(t,"NavigationStart",function(){return ce}),n.d(t,"NoPreloading",function(){return Kn}),n.d(t,"OutletContext",function(){return Bn}),n.d(t,"PRIMARY_OUTLET",function(){return xe}),n.d(t,"PreloadAllModules",function(){return Wn}),n.d(t,"PreloadingStrategy",function(){return Hn}),n.d(t,"ROUTER_CONFIGURATION",function(){return $n}),n.d(t,"ROUTER_INITIALIZER",function(){return cr}),n.d(t,"ROUTES",function(){return Tn}),n.d(t,"ResolveEnd",function(){return ye}),n.d(t,"ResolveStart",function(){return ge}),n.d(t,"RouteConfigLoadEnd",function(){return ve}),n.d(t,"RouteConfigLoadStart",function(){return be}),n.d(t,"RouteReuseStrategy",function(){return xn}),n.d(t,"Router",function(){return Pn}),n.d(t,"RouterEvent",function(){return le}),n.d(t,"RouterLink",function(){return Rn}),n.d(t,"RouterLinkActive",function(){return Ln}),n.d(t,"RouterLinkWithHref",function(){return Mn}),n.d(t,"RouterModule",function(){return Xn}),n.d(t,"RouterOutlet",function(){return Vn}),n.d(t,"RouterPreloader",function(){return Gn}),n.d(t,"RouterState",function(){return gt}),n.d(t,"RouterStateSnapshot",function(){return wt}),n.d(t,"RoutesRecognized",function(){return pe}),n.d(t,"Scroll",function(){return Ce}),n.d(t,"UrlHandlingStrategy",function(){return In}),n.d(t,"UrlSegment",function(){return Ge}),n.d(t,"UrlSegmentGroup",function(){return Ke}),n.d(t,"UrlSerializer",function(){return Ye}),n.d(t,"UrlTree",function(){return We}),n.d(t,"VERSION",function(){return dr}),n.d(t,"convertToParamMap",function(){return Te}),n.d(t,"provideRoutes",function(){return rr}),n.d(t,"ɵEmptyOutletComponent",function(){return Ee}),n.d(t,"ɵROUTER_PROVIDERS",function(){return Zn}),n.d(t,"ɵangular_packages_router_router_a",function(){return Yn}),n.d(t,"ɵangular_packages_router_router_b",function(){return Jn}),n.d(t,"ɵangular_packages_router_router_c",function(){return er}),n.d(t,"ɵangular_packages_router_router_d",function(){return tr}),n.d(t,"ɵangular_packages_router_router_e",function(){return nr}),n.d(t,"ɵangular_packages_router_router_f",function(){return ir}),n.d(t,"ɵangular_packages_router_router_g",function(){return ar}),n.d(t,"ɵangular_packages_router_router_h",function(){return or}),n.d(t,"ɵangular_packages_router_router_i",function(){return sr}),n.d(t,"ɵangular_packages_router_router_j",function(){return lr}),n.d(t,"ɵangular_packages_router_router_k",function(){return ur}),n.d(t,"ɵangular_packages_router_router_l",function(){return Ee}),n.d(t,"ɵangular_packages_router_router_m",function(){return dt}),n.d(t,"ɵangular_packages_router_router_n",function(){return ft}),n.d(t,"ɵangular_packages_router_router_o",function(){return Qn}),n.d(t,"ɵflatten",function(){return Le}); /** * @license Angular v9.1.12 * (c) 2010-2020 Google LLC. https://angular.io/ @@ -1629,7 +1629,7 @@ function Dn(e){throw e}function An(e,t,n){return t.parse("/")}function Nn(e,t){r * * 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 - */},function(e,t,n){"use strict";n.r(t);var r,i=n(0),a=n(72),o=n(4);!function(e){e[e.Default=0]="Default",e[e.TrustedHtml=1]="TrustedHtml",e[e.Component=2]="Component"}(r||(r={}));var s=["componentBody"],l=["toastComp",""];function c(e,t){1&e&&i["ɵɵelement"](0,"div",null,7)}function u(e,t){if(1&e&&i["ɵɵelement"](0,"div",8),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("innerHTML",n.safeBodyHtml,i["ɵɵsanitizeHtml"])}}function d(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.toast.body)}}function h(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",9),i["ɵɵlistener"]("click",function(e){i["ɵɵrestoreView"](n);var t=i["ɵɵnextContext"]();return t.click(e,t.toast)}),i["ɵɵtext"](1,"\n "),i["ɵɵelementEnd"]()}if(2&e){var r=i["ɵɵnextContext"]();i["ɵɵproperty"]("innerHTML",r.safeCloseHtml,i["ɵɵsanitizeHtml"])}}var p=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},f=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=function(){function e(e,t,n){this.sanitizer=e,this.componentFactoryResolver=t,this.changeDetectorRef=n,this.bodyOutputType=r,this.clickEvent=new i.EventEmitter}return e.prototype.ngOnInit=function(){this.toast.closeHtml&&(this.safeCloseHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.closeHtml)),this.toast.bodyOutputType===r.TrustedHtml&&(this.safeBodyHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.body))},e.prototype.ngAfterViewInit=function(){if(this.toast.bodyOutputType===this.bodyOutputType.Component){var e=this.componentFactoryResolver.resolveComponentFactory(this.toast.body);this.componentBody.createComponent(e,void 0,this.componentBody.injector).instance.toast=this.toast,this.changeDetectorRef.detectChanges()}},e.prototype.click=function(e,t){e.stopPropagation(),this.clickEvent.emit({value:{toast:t,isCloseButton:!0}})},p([Object(i.Input)(),f("design:type",Object)],e.prototype,"toast",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"iconClass",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"titleClass",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"messageClass",void 0),p([Object(i.ViewChild)("componentBody",{read:i.ViewContainerRef,static:!1}),f("design:type",i.ViewContainerRef)],e.prototype,"componentBody",void 0),p([Object(i.Output)(),f("design:type",Object)],e.prototype,"clickEvent",void 0),(e=p([f("design:paramtypes",[a.DomSanitizer,i.ComponentFactoryResolver,i.ChangeDetectorRef])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](a.DomSanitizer),i["ɵɵdirectiveInject"](i.ComponentFactoryResolver),i["ɵɵdirectiveInject"](i.ChangeDetectorRef))},e.ɵcmp=i["ɵɵdefineComponent"]({type:e,selectors:[["","toastComp",""]],viewQuery:function(e,t){var n;(1&e&&i["ɵɵviewQuery"](s,!0,i.ViewContainerRef),2&e)&&(i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.componentBody=n.first))},inputs:{toast:"toast",iconClass:"iconClass",titleClass:"titleClass",messageClass:"messageClass"},outputs:{clickEvent:"clickEvent"},attrs:l,decls:19,vars:9,consts:[[1,"toaster-icon",3,"ngClass"],[1,"toast-content"],[3,"ngClass"],[3,"ngClass","ngSwitch"],[4,"ngSwitchCase"],[3,"innerHTML",4,"ngSwitchCase"],["class","toast-close-button",3,"innerHTML","click",4,"ngIf"],["componentBody",""],[3,"innerHTML"],[1,"toast-close-button",3,"innerHTML","click"]],template:function(e,t){1&e&&(i["ɵɵtext"](0,"\n "),i["ɵɵelement"](1,"i",0),i["ɵɵtext"](2,"\n "),i["ɵɵelementStart"](3,"div",1),i["ɵɵtext"](4,"\n "),i["ɵɵelementStart"](5,"div",2),i["ɵɵtext"](6),i["ɵɵelementEnd"](),i["ɵɵtext"](7,"\n "),i["ɵɵelementStart"](8,"div",3),i["ɵɵtext"](9,"\n "),i["ɵɵtemplate"](10,c,2,0,"div",4),i["ɵɵtext"](11,"\n "),i["ɵɵtemplate"](12,u,1,1,"div",5),i["ɵɵtext"](13,"\n "),i["ɵɵtemplate"](14,d,2,1,"div",4),i["ɵɵtext"](15,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](16,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](17,"\n "),i["ɵɵtemplate"](18,h,2,1,"div",6)),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",t.iconClass),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngClass",t.titleClass),i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](t.toast.title),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngClass",t.messageClass)("ngSwitch",t.toast.bodyOutputType),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.Component),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.TrustedHtml),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.Default),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",t.toast.showCloseButton))},directives:[o.NgClass,o.NgSwitch,o.NgSwitchCase,o.NgIf],encapsulation:2}),e}(),g=n(13),y=function(){return function(e){e=e||{},this.limit=e.limit||null,this.tapToDismiss=null==e.tapToDismiss||e.tapToDismiss,this.showCloseButton=null!=e.showCloseButton&&e.showCloseButton,this.closeHtml=e.closeHtml||'',this.newestOnTop=null==e.newestOnTop||e.newestOnTop,this.timeout=null!=e.timeout?e.timeout:5e3,this.typeClasses=e.typeClasses||{error:"toast-error",info:"toast-info",wait:"toast-wait",success:"toast-success",warning:"toast-warning"},this.iconClasses=e.iconClasses||{error:"icon-error",info:"icon-info",wait:"icon-wait",success:"icon-success",warning:"icon-warning"},this.bodyOutputType=e.bodyOutputType||r.Default,this.bodyTemplate=e.bodyTemplate||"toasterBodyTmpl.html",this.defaultTypeClass=e.defaultTypeClass||"toast-info",this.positionClass=e.positionClass||"toast-top-right",this.titleClass=e.titleClass||"toast-title",this.messageClass=e.messageClass||"toast-message",this.animation=e.animation||"",this.preventDuplicates=null!=e.preventDuplicates&&e.preventDuplicates,this.mouseoverTimerStop=null!=e.mouseoverTimerStop&&e.mouseoverTimerStop,this.toastContainerId=null!=e.toastContainerId?e.toastContainerId:null}}(),b=n(32),v=n(148),k=n(1088),w=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},_=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},j=function(){function e(){}return e.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})},e}(),C=function(){function e(){var e=this;this.addToast=new b.a(function(t){return e._addToast=t}).pipe(Object(k.a)()),this.clearToasts=new b.a(function(t){return e._clearToasts=t}).pipe(Object(k.a)()),this._removeToastSubject=new v.a,this.removeToast=this._removeToastSubject.pipe(Object(k.a)())}return e.prototype.pop=function(e,t,n){var r="string"==typeof e?{type:e,title:t,body:n}:e;if(r.toastId||(r.toastId=j.newGuid()),!this._addToast)throw new Error("No Toaster Containers have been initialized to receive toasts.");return this._addToast.next(r),r},e.prototype.popAsync=function(e,t,n){var r=this;return setTimeout(function(){r.pop(e,t,n)},0),this.addToast},e.prototype.clear=function(e,t){var n={toastId:e,toastContainerId:t};this._clearToasts.next(n)},(e=w([_("design:paramtypes",[])],e)).ɵfac=function(t){return new(t||e)},e.ɵprov=i["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function E(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",2),i["ɵɵlistener"]("click",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().click(e)})("clickEvent",function(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().childClick(e)})("mouseover",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().stopTimer(e)})("mouseout",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().restartTimer(e)}),i["ɵɵtext"](1,"\n "),i["ɵɵelementEnd"]()}if(2&e){var r=t.$implicit,a=i["ɵɵnextContext"]();i["ɵɵproperty"]("toast",r)("@toastState",a.toasterconfig.animation)("iconClass",a.toasterconfig.iconClasses[r.type])("titleClass",a.toasterconfig.titleClass)("messageClass",a.toasterconfig.messageClass)("ngClass",a.toasterconfig.typeClasses[r.type])}}var x=function(e){return[e]},S=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},T=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},O=function(){function e(e,t,n){this.ref=t,this.ngZone=n,this.timeoutIds=new Map,this.toasts=[],this.toasterService=e}return e.prototype.ngOnInit=function(){this.registerSubscribers(),this.isNullOrUndefined(this.toasterconfig)&&(this.toasterconfig=new y)},e.prototype.click=function(e,t){if(this.toasterconfig.tapToDismiss||e.showCloseButton&&t){var n=!0;if(e.clickHandler){if("function"!=typeof e.clickHandler)return console.log("The toast click handler is not a callable function."),!1;n=e.clickHandler(e,t)}n&&this.removeToast(e)}},e.prototype.childClick=function(e){this.click(e.value.toast,e.value.isCloseButton)},e.prototype.stopTimer=function(e){if(this.toasterconfig.mouseoverTimerStop){var t=this.toastIdOrDefault(e),n=this.timeoutIds.get(t);n&&(window.clearTimeout(n),this.timeoutIds.delete(t))}},e.prototype.restartTimer=function(e){var t=this.timeoutIds.get(this.toastIdOrDefault(e));this.toasterconfig.mouseoverTimerStop?t||this.configureTimer(e):0!==e.timeout&&!t&&this.toasterconfig.timeout&&this.removeToast(e)},e.prototype.registerSubscribers=function(){var e=this;this.addToastSubscriber=this.toasterService.addToast.subscribe(function(t){e.addToast(t)}),this.clearToastsSubscriber=this.toasterService.clearToasts.subscribe(function(t){e.clearToasts(t)})},e.prototype.addToast=function(e){if(!e.toastContainerId||!this.toasterconfig.toastContainerId||e.toastContainerId===this.toasterconfig.toastContainerId){if(e.type||(e.type=this.toasterconfig.defaultTypeClass),this.toasterconfig.preventDuplicates&&this.toasts.length>0){if(e.toastId&&this.toasts.some(function(t){return t.toastId===e.toastId}))return;if(this.toasts.some(function(t){return t.body===e.body}))return}this.isNullOrUndefined(e.showCloseButton)&&("object"==typeof this.toasterconfig.showCloseButton?e.showCloseButton=this.toasterconfig.showCloseButton[e.type]:"boolean"==typeof this.toasterconfig.showCloseButton&&(e.showCloseButton=this.toasterconfig.showCloseButton)),e.showCloseButton&&(e.closeHtml=e.closeHtml||this.toasterconfig.closeHtml),e.bodyOutputType=e.bodyOutputType||this.toasterconfig.bodyOutputType,this.configureTimer(e),this.toasterconfig.newestOnTop?(this.toasts.unshift(e),this.isLimitExceeded()&&this.toasts.pop()):(this.toasts.push(e),this.isLimitExceeded()&&this.toasts.shift()),e.onShowCallback&&e.onShowCallback(e)}},e.prototype.configureTimer=function(e){var t=this,n="number"==typeof e.timeout?e.timeout:this.toasterconfig.timeout;"object"==typeof n&&(n=n[e.type]),n>0&&this.ngZone.runOutsideAngular(function(){var r=window.setTimeout(function(){t.ngZone.run(function(){t.ref.markForCheck(),t.removeToast(e)})},n);t.timeoutIds.set(t.toastIdOrDefault(e),r)})},e.prototype.isLimitExceeded=function(){return this.toasterconfig.limit&&this.toasts.length>this.toasterconfig.limit},e.prototype.removeToast=function(e){var t=this.toasts.indexOf(e);if(!(t<0)){var n=this.toastIdOrDefault(e),r=this.timeoutIds.get(n);this.toasts.splice(t,1),r&&(window.clearTimeout(r),this.timeoutIds.delete(n)),e.onHideCallback&&e.onHideCallback(e),this.toasterService._removeToastSubject.next({toastId:n,toastContainerId:e.toastContainerId})}},e.prototype.removeAllToasts=function(){for(var e=this.toasts.length-1;e>=0;e--)this.removeToast(this.toasts[e])},e.prototype.clearToasts=function(e){var t=e.toastId,n=e.toastContainerId;this.isNullOrUndefined(n)?this.clearToastsAction(t):n===this.toasterconfig.toastContainerId&&this.clearToastsAction(t)},e.prototype.clearToastsAction=function(e){e?this.removeToast(this.toasts.filter(function(t){return t.toastId===e})[0]):this.removeAllToasts()},e.prototype.toastIdOrDefault=function(e){return e.toastId||""},e.prototype.isNullOrUndefined=function(e){return null==e},e.prototype.ngOnDestroy=function(){this.addToastSubscriber&&this.addToastSubscriber.unsubscribe(),this.clearToastsSubscriber&&this.clearToastsSubscriber.unsubscribe()},S([Object(i.Input)(),T("design:type",y)],e.prototype,"toasterconfig",void 0),(e=S([T("design:paramtypes",[C,i.ChangeDetectorRef,i.NgZone])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](C),i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](i.NgZone))},e.ɵcmp=i["ɵɵdefineComponent"]({type:e,selectors:[["toaster-container"]],inputs:{toasterconfig:"toasterconfig"},decls:6,vars:4,consts:[["id","toast-container",3,"ngClass"],["toastComp","","class","toast",3,"toast","iconClass","titleClass","messageClass","ngClass","click","clickEvent","mouseover","mouseout",4,"ngFor","ngForOf"],["toastComp","",1,"toast",3,"toast","iconClass","titleClass","messageClass","ngClass","click","clickEvent","mouseover","mouseout"]],template:function(e,t){1&e&&(i["ɵɵtext"](0,"\n "),i["ɵɵelementStart"](1,"div",0),i["ɵɵtext"](2,"\n "),i["ɵɵtemplate"](3,E,2,6,"div",1),i["ɵɵtext"](4,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](5,"\n ")),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](2,x,t.toasterconfig.positionClass)),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngForOf",t.toasts))},directives:[o.NgClass,o.NgForOf,m],encapsulation:2,data:{animation:[Object(g.j)("toastState",[Object(g.g)("flyRight, flyLeft, slideDown, slideUp, fade",Object(g.h)({opacity:1,transform:"translate(0,0)"})),Object(g.i)("void => flyRight",[Object(g.h)({opacity:0,transform:"translateX(100%)"}),Object(g.e)("0.25s ease-in")]),Object(g.i)("flyRight => void",[Object(g.e)("0.25s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateX(100%)"}))]),Object(g.i)("void => flyLeft",[Object(g.h)({opacity:0,transform:"translateX(-100%)"}),Object(g.e)("0.25s ease-in")]),Object(g.i)("flyLeft => void",[Object(g.e)("0.25s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateX(-100%)"}))]),Object(g.i)("void => slideDown",[Object(g.h)({opacity:0,transform:"translateY(-200%)"}),Object(g.e)("0.3s ease-in")]),Object(g.i)("slideDown => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateY(200%)"}))]),Object(g.i)("void => slideUp",[Object(g.h)({opacity:0,transform:"translateY(200%)"}),Object(g.e)("0.3s ease-in")]),Object(g.i)("slideUp => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateY(-200%)"}))]),Object(g.i)("void => fade",[Object(g.h)({opacity:0}),Object(g.e)("0.3s ease-in")]),Object(g.i)("fade => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0}))])])]}}),e}(),I=function(){function e(){}var t;return t=e,e.forRoot=function(){return{ngModule:t,providers:[C,O]}},e.forChild=function(){return{ngModule:t,providers:[O]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[o.CommonModule]]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:function(){return[m,O]},imports:function(){return[o.CommonModule]},exports:function(){return[O,m]}}),e}();n.d(t,"ToastComponent",function(){return m}),n.d(t,"ToasterContainerComponent",function(){return O}),n.d(t,"ToasterService",function(){return C}),n.d(t,"ToasterConfig",function(){return y}),n.d(t,"BodyOutputType",function(){return r}),n.d(t,"ToasterModule",function(){return I})},,function(e,t,n){"use strict";var r;n.d(t,"a",function(){return r}),function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(r||(r={}))},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),a=n(1089),o=n(732),s=n(308),l=n(165),c=n(123);var u=n(24),d=n(198);function h(e,t){void 0===t&&(t=c.a);var n,r=(n=e)instanceof Date&&!isNaN(+n)?+e-t.now():Math.abs(e);return function(e){return e.lift(new p(r,t))}}var p=function(){function e(e,t){this.delay=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new f(e,this.delay,this.scheduler))},e}(),f=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.delay=n,i.scheduler=r,i.queue=[],i.active=!1,i.errored=!1,i}return r.c(t,e),t.dispatch=function(e){for(var t=e.source,n=t.queue,r=e.scheduler,i=e.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var a=Math.max(0,n[0].time-r.now());this.schedule(e,a)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.destination.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new m(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(d.a.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.scheduleNotification(d.a.createComplete()),this.unsubscribe()},t}(u.a),m=function(){return function(e,t){this.time=e,this.notification=t}}(),g=n(4),y=n(8);n.d(t,"ANGULARTICS2_TOKEN",function(){return v}),n.d(t,"AngularRouterTracking",function(){return _}),n.d(t,"Angulartics2",function(){return w}),n.d(t,"Angulartics2Module",function(){return E}),n.d(t,"Angulartics2On",function(){return j}),n.d(t,"Angulartics2OnModule",function(){return C}),n.d(t,"DefaultConfig",function(){return b}),n.d(t,"RouterlessTracking",function(){return k});var b=function(){return function(){this.pageTracking={autoTrackVirtualPages:!0,basePath:"",excludedRoutes:[],clearIds:!1,clearHash:!1,clearQueryParams:!1,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}$/},this.developerMode=!1,this.ga={},this.appInsights={},this.gtm={},this.gst={}}}(),v=new i.InjectionToken("ANGULARTICS2"),k=function(){function e(){}return e.prototype.trackLocation=function(e){return new a.a({url:"/"})},e.prototype.prepareExternalUrl=function(e){return e},e}(),w=function(){function e(e,t){var n=this;this.tracker=e,this.pageTrack=new o.a(10),this.eventTrack=new o.a(10),this.exceptionTrack=new o.a(10),this.setAlias=new o.a(10),this.setUsername=new o.a(10),this.setUserProperties=new o.a(10),this.setUserPropertiesOnce=new o.a(10),this.setSuperProperties=new o.a(10),this.setSuperPropertiesOnce=new o.a(10),this.userTimings=new o.a(10),this.unsetUserProperties=new o.a(10);var i=new b;this.settings=Object(r.a)(Object(r.a)({},i),t.settings),this.settings.pageTracking=Object(r.a)(Object(r.a)({},i.pageTracking),t.settings.pageTracking),this.tracker.trackLocation(this.settings).subscribe(function(e){return n.trackUrlChange(e.url)})}return e.prototype.filterDeveloperMode=function(){var e=this;return Object(s.a)(function(t,n){return!e.settings.developerMode})},e.prototype.trackUrlChange=function(e){if(this.settings.pageTracking.autoTrackVirtualPages&&!this.matchesExcludedRoute(e)){var t=this.clearUrl(e),n=void 0;n=this.settings.pageTracking.basePath.length?this.settings.pageTracking.basePath+t:this.tracker.prepareExternalUrl(t),this.pageTrack.next({path:n})}},e.prototype.matchesExcludedRoute=function(e){var t,n;try{for(var i=Object(r.h)(this.settings.pageTracking.excludedRoutes),a=i.next();!a.done;a=i.next()){var o=a.value;if(o instanceof RegExp&&o.test(e)||-1!==e.indexOf(o))return!0}}catch(s){t={error:s}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return!1},e.prototype.clearUrl=function(e){var t=this;return this.settings.pageTracking.clearIds||this.settings.pageTracking.clearQueryParams||this.settings.pageTracking.clearHash?e.split("/").map(function(e){return t.settings.pageTracking.clearQueryParams?e.split("?")[0]:e}).map(function(e){return t.settings.pageTracking.clearHash?e.split("#")[0]:e}).filter(function(e){return!t.settings.pageTracking.clearIds||!e.match(t.settings.pageTracking.idsRegExp)}).join("/"):e},e.ctorParameters=function(){return[{type:k},{type:void 0,decorators:[{type:i.Inject,args:[v]}]}]},e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:function(){return new e(Object(i["ɵɵinject"])(k),Object(i["ɵɵinject"])(v))},token:e,providedIn:"root"}),(e=Object(r.b)([Object(r.e)(1,Object(i.Inject)(v))],e)).ɵfac=function(t){return new(t||e)(i["ɵɵinject"](k),i["ɵɵinject"](v))},e}(),_=function(){function e(e,t){this.router=e,this.location=t}return e.prototype.trackLocation=function(e){return this.router.events.pipe(Object(s.a)(function(e){return e instanceof y.NavigationEnd}),Object(s.a)(function(){return!e.developerMode}),Object(l.a)(function(e){return{url:e.urlAfterRedirects}}),h(0))},e.prototype.prepareExternalUrl=function(e){return this.location.prepareExternalUrl(e)},e.ctorParameters=function(){return[{type:y.Router},{type:g.Location}]},e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:function(){return new e(Object(i["ɵɵinject"])(y.Router),Object(i["ɵɵinject"])(g.Location))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(i["ɵɵinject"](y.Router),i["ɵɵinject"](g.Location))},e}(),j=function(){function e(e,t,n){this.elRef=e,this.angulartics2=t,this.renderer=n,this.angularticsProperties={}}return e.prototype.ngAfterContentInit=function(){var e=this;this.renderer.listen(this.elRef.nativeElement,this.angulartics2On||"click",function(t){return e.eventTrack(t)})},e.prototype.eventTrack=function(e){var t=this.angularticsAction,n=Object(r.a)(Object(r.a)({},this.angularticsProperties),{eventType:e.type});this.angularticsCategory&&(n.category=this.angularticsCategory),this.angularticsLabel&&(n.label=this.angularticsLabel),this.angularticsValue&&(n.value=this.angularticsValue),this.angulartics2.eventTrack.next({action:t,properties:n})},e.ctorParameters=function(){return[{type:i.ElementRef},{type:w},{type:i.Renderer2}]},Object(r.b)([Object(i.Input)("angulartics2On")],e.prototype,"angulartics2On",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsAction",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsCategory",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsLabel",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsValue",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsProperties",void 0),e.ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.ElementRef),i["ɵɵdirectiveInject"](w),i["ɵɵdirectiveInject"](i.Renderer2))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","angulartics2On",""]],inputs:{angularticsProperties:"angularticsProperties",angulartics2On:"angulartics2On",angularticsAction:"angularticsAction",angularticsCategory:"angularticsCategory",angularticsLabel:"angularticsLabel",angularticsValue:"angularticsValue"}}),e}(),C=function(){function e(){}return e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)}}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:[j],exports:[j]}),e}(),E=function(){function e(){}var t;return t=e,e.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[{provide:v,useValue:{settings:e}},{provide:k,useClass:_},w]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[C]]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{imports:[C],exports:[j]}),e}()},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return r}),n.d(t,"c",function(){return i}),n.d(t,"d",function(){return p}),n.d(t,"e",function(){return s}),n.d(t,"f",function(){return l}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return c}),n.d(t,"i",function(){return d}),n.d(t,"j",function(){return o}),n.d(t,"k",function(){return f}),n.d(t,"l",function(){return m}); + */},function(e,t,n){"use strict";n.r(t);var r,i=n(0),a=n(73),o=n(4);!function(e){e[e.Default=0]="Default",e[e.TrustedHtml=1]="TrustedHtml",e[e.Component=2]="Component"}(r||(r={}));var s=["componentBody"],l=["toastComp",""];function c(e,t){1&e&&i["ɵɵelement"](0,"div",null,7)}function u(e,t){if(1&e&&i["ɵɵelement"](0,"div",8),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("innerHTML",n.safeBodyHtml,i["ɵɵsanitizeHtml"])}}function d(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.toast.body)}}function h(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",9),i["ɵɵlistener"]("click",function(e){i["ɵɵrestoreView"](n);var t=i["ɵɵnextContext"]();return t.click(e,t.toast)}),i["ɵɵtext"](1,"\n "),i["ɵɵelementEnd"]()}if(2&e){var r=i["ɵɵnextContext"]();i["ɵɵproperty"]("innerHTML",r.safeCloseHtml,i["ɵɵsanitizeHtml"])}}var p=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},f=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=function(){function e(e,t,n){this.sanitizer=e,this.componentFactoryResolver=t,this.changeDetectorRef=n,this.bodyOutputType=r,this.clickEvent=new i.EventEmitter}return e.prototype.ngOnInit=function(){this.toast.closeHtml&&(this.safeCloseHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.closeHtml)),this.toast.bodyOutputType===r.TrustedHtml&&(this.safeBodyHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.body))},e.prototype.ngAfterViewInit=function(){if(this.toast.bodyOutputType===this.bodyOutputType.Component){var e=this.componentFactoryResolver.resolveComponentFactory(this.toast.body);this.componentBody.createComponent(e,void 0,this.componentBody.injector).instance.toast=this.toast,this.changeDetectorRef.detectChanges()}},e.prototype.click=function(e,t){e.stopPropagation(),this.clickEvent.emit({value:{toast:t,isCloseButton:!0}})},p([Object(i.Input)(),f("design:type",Object)],e.prototype,"toast",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"iconClass",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"titleClass",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"messageClass",void 0),p([Object(i.ViewChild)("componentBody",{read:i.ViewContainerRef,static:!1}),f("design:type",i.ViewContainerRef)],e.prototype,"componentBody",void 0),p([Object(i.Output)(),f("design:type",Object)],e.prototype,"clickEvent",void 0),(e=p([f("design:paramtypes",[a.DomSanitizer,i.ComponentFactoryResolver,i.ChangeDetectorRef])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](a.DomSanitizer),i["ɵɵdirectiveInject"](i.ComponentFactoryResolver),i["ɵɵdirectiveInject"](i.ChangeDetectorRef))},e.ɵcmp=i["ɵɵdefineComponent"]({type:e,selectors:[["","toastComp",""]],viewQuery:function(e,t){var n;(1&e&&i["ɵɵviewQuery"](s,!0,i.ViewContainerRef),2&e)&&(i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.componentBody=n.first))},inputs:{toast:"toast",iconClass:"iconClass",titleClass:"titleClass",messageClass:"messageClass"},outputs:{clickEvent:"clickEvent"},attrs:l,decls:19,vars:9,consts:[[1,"toaster-icon",3,"ngClass"],[1,"toast-content"],[3,"ngClass"],[3,"ngClass","ngSwitch"],[4,"ngSwitchCase"],[3,"innerHTML",4,"ngSwitchCase"],["class","toast-close-button",3,"innerHTML","click",4,"ngIf"],["componentBody",""],[3,"innerHTML"],[1,"toast-close-button",3,"innerHTML","click"]],template:function(e,t){1&e&&(i["ɵɵtext"](0,"\n "),i["ɵɵelement"](1,"i",0),i["ɵɵtext"](2,"\n "),i["ɵɵelementStart"](3,"div",1),i["ɵɵtext"](4,"\n "),i["ɵɵelementStart"](5,"div",2),i["ɵɵtext"](6),i["ɵɵelementEnd"](),i["ɵɵtext"](7,"\n "),i["ɵɵelementStart"](8,"div",3),i["ɵɵtext"](9,"\n "),i["ɵɵtemplate"](10,c,2,0,"div",4),i["ɵɵtext"](11,"\n "),i["ɵɵtemplate"](12,u,1,1,"div",5),i["ɵɵtext"](13,"\n "),i["ɵɵtemplate"](14,d,2,1,"div",4),i["ɵɵtext"](15,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](16,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](17,"\n "),i["ɵɵtemplate"](18,h,2,1,"div",6)),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",t.iconClass),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngClass",t.titleClass),i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](t.toast.title),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngClass",t.messageClass)("ngSwitch",t.toast.bodyOutputType),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.Component),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.TrustedHtml),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.Default),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",t.toast.showCloseButton))},directives:[o.NgClass,o.NgSwitch,o.NgSwitchCase,o.NgIf],encapsulation:2}),e}(),g=n(13),y=function(){return function(e){e=e||{},this.limit=e.limit||null,this.tapToDismiss=null==e.tapToDismiss||e.tapToDismiss,this.showCloseButton=null!=e.showCloseButton&&e.showCloseButton,this.closeHtml=e.closeHtml||'',this.newestOnTop=null==e.newestOnTop||e.newestOnTop,this.timeout=null!=e.timeout?e.timeout:5e3,this.typeClasses=e.typeClasses||{error:"toast-error",info:"toast-info",wait:"toast-wait",success:"toast-success",warning:"toast-warning"},this.iconClasses=e.iconClasses||{error:"icon-error",info:"icon-info",wait:"icon-wait",success:"icon-success",warning:"icon-warning"},this.bodyOutputType=e.bodyOutputType||r.Default,this.bodyTemplate=e.bodyTemplate||"toasterBodyTmpl.html",this.defaultTypeClass=e.defaultTypeClass||"toast-info",this.positionClass=e.positionClass||"toast-top-right",this.titleClass=e.titleClass||"toast-title",this.messageClass=e.messageClass||"toast-message",this.animation=e.animation||"",this.preventDuplicates=null!=e.preventDuplicates&&e.preventDuplicates,this.mouseoverTimerStop=null!=e.mouseoverTimerStop&&e.mouseoverTimerStop,this.toastContainerId=null!=e.toastContainerId?e.toastContainerId:null}}(),b=n(33),v=n(149),k=n(1094),w=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},_=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},j=function(){function e(){}return e.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})},e}(),C=function(){function e(){var e=this;this.addToast=new b.a(function(t){return e._addToast=t}).pipe(Object(k.a)()),this.clearToasts=new b.a(function(t){return e._clearToasts=t}).pipe(Object(k.a)()),this._removeToastSubject=new v.a,this.removeToast=this._removeToastSubject.pipe(Object(k.a)())}return e.prototype.pop=function(e,t,n){var r="string"==typeof e?{type:e,title:t,body:n}:e;if(r.toastId||(r.toastId=j.newGuid()),!this._addToast)throw new Error("No Toaster Containers have been initialized to receive toasts.");return this._addToast.next(r),r},e.prototype.popAsync=function(e,t,n){var r=this;return setTimeout(function(){r.pop(e,t,n)},0),this.addToast},e.prototype.clear=function(e,t){var n={toastId:e,toastContainerId:t};this._clearToasts.next(n)},(e=w([_("design:paramtypes",[])],e)).ɵfac=function(t){return new(t||e)},e.ɵprov=i["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function E(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",2),i["ɵɵlistener"]("click",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().click(e)})("clickEvent",function(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().childClick(e)})("mouseover",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().stopTimer(e)})("mouseout",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().restartTimer(e)}),i["ɵɵtext"](1,"\n "),i["ɵɵelementEnd"]()}if(2&e){var r=t.$implicit,a=i["ɵɵnextContext"]();i["ɵɵproperty"]("toast",r)("@toastState",a.toasterconfig.animation)("iconClass",a.toasterconfig.iconClasses[r.type])("titleClass",a.toasterconfig.titleClass)("messageClass",a.toasterconfig.messageClass)("ngClass",a.toasterconfig.typeClasses[r.type])}}var x=function(e){return[e]},S=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},T=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},O=function(){function e(e,t,n){this.ref=t,this.ngZone=n,this.timeoutIds=new Map,this.toasts=[],this.toasterService=e}return e.prototype.ngOnInit=function(){this.registerSubscribers(),this.isNullOrUndefined(this.toasterconfig)&&(this.toasterconfig=new y)},e.prototype.click=function(e,t){if(this.toasterconfig.tapToDismiss||e.showCloseButton&&t){var n=!0;if(e.clickHandler){if("function"!=typeof e.clickHandler)return console.log("The toast click handler is not a callable function."),!1;n=e.clickHandler(e,t)}n&&this.removeToast(e)}},e.prototype.childClick=function(e){this.click(e.value.toast,e.value.isCloseButton)},e.prototype.stopTimer=function(e){if(this.toasterconfig.mouseoverTimerStop){var t=this.toastIdOrDefault(e),n=this.timeoutIds.get(t);n&&(window.clearTimeout(n),this.timeoutIds.delete(t))}},e.prototype.restartTimer=function(e){var t=this.timeoutIds.get(this.toastIdOrDefault(e));this.toasterconfig.mouseoverTimerStop?t||this.configureTimer(e):0!==e.timeout&&!t&&this.toasterconfig.timeout&&this.removeToast(e)},e.prototype.registerSubscribers=function(){var e=this;this.addToastSubscriber=this.toasterService.addToast.subscribe(function(t){e.addToast(t)}),this.clearToastsSubscriber=this.toasterService.clearToasts.subscribe(function(t){e.clearToasts(t)})},e.prototype.addToast=function(e){if(!e.toastContainerId||!this.toasterconfig.toastContainerId||e.toastContainerId===this.toasterconfig.toastContainerId){if(e.type||(e.type=this.toasterconfig.defaultTypeClass),this.toasterconfig.preventDuplicates&&this.toasts.length>0){if(e.toastId&&this.toasts.some(function(t){return t.toastId===e.toastId}))return;if(this.toasts.some(function(t){return t.body===e.body}))return}this.isNullOrUndefined(e.showCloseButton)&&("object"==typeof this.toasterconfig.showCloseButton?e.showCloseButton=this.toasterconfig.showCloseButton[e.type]:"boolean"==typeof this.toasterconfig.showCloseButton&&(e.showCloseButton=this.toasterconfig.showCloseButton)),e.showCloseButton&&(e.closeHtml=e.closeHtml||this.toasterconfig.closeHtml),e.bodyOutputType=e.bodyOutputType||this.toasterconfig.bodyOutputType,this.configureTimer(e),this.toasterconfig.newestOnTop?(this.toasts.unshift(e),this.isLimitExceeded()&&this.toasts.pop()):(this.toasts.push(e),this.isLimitExceeded()&&this.toasts.shift()),e.onShowCallback&&e.onShowCallback(e)}},e.prototype.configureTimer=function(e){var t=this,n="number"==typeof e.timeout?e.timeout:this.toasterconfig.timeout;"object"==typeof n&&(n=n[e.type]),n>0&&this.ngZone.runOutsideAngular(function(){var r=window.setTimeout(function(){t.ngZone.run(function(){t.ref.markForCheck(),t.removeToast(e)})},n);t.timeoutIds.set(t.toastIdOrDefault(e),r)})},e.prototype.isLimitExceeded=function(){return this.toasterconfig.limit&&this.toasts.length>this.toasterconfig.limit},e.prototype.removeToast=function(e){var t=this.toasts.indexOf(e);if(!(t<0)){var n=this.toastIdOrDefault(e),r=this.timeoutIds.get(n);this.toasts.splice(t,1),r&&(window.clearTimeout(r),this.timeoutIds.delete(n)),e.onHideCallback&&e.onHideCallback(e),this.toasterService._removeToastSubject.next({toastId:n,toastContainerId:e.toastContainerId})}},e.prototype.removeAllToasts=function(){for(var e=this.toasts.length-1;e>=0;e--)this.removeToast(this.toasts[e])},e.prototype.clearToasts=function(e){var t=e.toastId,n=e.toastContainerId;this.isNullOrUndefined(n)?this.clearToastsAction(t):n===this.toasterconfig.toastContainerId&&this.clearToastsAction(t)},e.prototype.clearToastsAction=function(e){e?this.removeToast(this.toasts.filter(function(t){return t.toastId===e})[0]):this.removeAllToasts()},e.prototype.toastIdOrDefault=function(e){return e.toastId||""},e.prototype.isNullOrUndefined=function(e){return null==e},e.prototype.ngOnDestroy=function(){this.addToastSubscriber&&this.addToastSubscriber.unsubscribe(),this.clearToastsSubscriber&&this.clearToastsSubscriber.unsubscribe()},S([Object(i.Input)(),T("design:type",y)],e.prototype,"toasterconfig",void 0),(e=S([T("design:paramtypes",[C,i.ChangeDetectorRef,i.NgZone])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](C),i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](i.NgZone))},e.ɵcmp=i["ɵɵdefineComponent"]({type:e,selectors:[["toaster-container"]],inputs:{toasterconfig:"toasterconfig"},decls:6,vars:4,consts:[["id","toast-container",3,"ngClass"],["toastComp","","class","toast",3,"toast","iconClass","titleClass","messageClass","ngClass","click","clickEvent","mouseover","mouseout",4,"ngFor","ngForOf"],["toastComp","",1,"toast",3,"toast","iconClass","titleClass","messageClass","ngClass","click","clickEvent","mouseover","mouseout"]],template:function(e,t){1&e&&(i["ɵɵtext"](0,"\n "),i["ɵɵelementStart"](1,"div",0),i["ɵɵtext"](2,"\n "),i["ɵɵtemplate"](3,E,2,6,"div",1),i["ɵɵtext"](4,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](5,"\n ")),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](2,x,t.toasterconfig.positionClass)),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngForOf",t.toasts))},directives:[o.NgClass,o.NgForOf,m],encapsulation:2,data:{animation:[Object(g.j)("toastState",[Object(g.g)("flyRight, flyLeft, slideDown, slideUp, fade",Object(g.h)({opacity:1,transform:"translate(0,0)"})),Object(g.i)("void => flyRight",[Object(g.h)({opacity:0,transform:"translateX(100%)"}),Object(g.e)("0.25s ease-in")]),Object(g.i)("flyRight => void",[Object(g.e)("0.25s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateX(100%)"}))]),Object(g.i)("void => flyLeft",[Object(g.h)({opacity:0,transform:"translateX(-100%)"}),Object(g.e)("0.25s ease-in")]),Object(g.i)("flyLeft => void",[Object(g.e)("0.25s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateX(-100%)"}))]),Object(g.i)("void => slideDown",[Object(g.h)({opacity:0,transform:"translateY(-200%)"}),Object(g.e)("0.3s ease-in")]),Object(g.i)("slideDown => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateY(200%)"}))]),Object(g.i)("void => slideUp",[Object(g.h)({opacity:0,transform:"translateY(200%)"}),Object(g.e)("0.3s ease-in")]),Object(g.i)("slideUp => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateY(-200%)"}))]),Object(g.i)("void => fade",[Object(g.h)({opacity:0}),Object(g.e)("0.3s ease-in")]),Object(g.i)("fade => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0}))])])]}}),e}(),I=function(){function e(){}var t;return t=e,e.forRoot=function(){return{ngModule:t,providers:[C,O]}},e.forChild=function(){return{ngModule:t,providers:[O]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[o.CommonModule]]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:function(){return[m,O]},imports:function(){return[o.CommonModule]},exports:function(){return[O,m]}}),e}();n.d(t,"ToastComponent",function(){return m}),n.d(t,"ToasterContainerComponent",function(){return O}),n.d(t,"ToasterService",function(){return C}),n.d(t,"ToasterConfig",function(){return y}),n.d(t,"BodyOutputType",function(){return r}),n.d(t,"ToasterModule",function(){return I})},,function(e,t,n){"use strict";var r;n.d(t,"a",function(){return r}),function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(r||(r={}))},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),a=n(1095),o=n(736),s=n(308),l=n(167),c=n(123);var u=n(25),d=n(200);function h(e,t){void 0===t&&(t=c.a);var n,r=(n=e)instanceof Date&&!isNaN(+n)?+e-t.now():Math.abs(e);return function(e){return e.lift(new p(r,t))}}var p=function(){function e(e,t){this.delay=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new f(e,this.delay,this.scheduler))},e}(),f=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.delay=n,i.scheduler=r,i.queue=[],i.active=!1,i.errored=!1,i}return r.c(t,e),t.dispatch=function(e){for(var t=e.source,n=t.queue,r=e.scheduler,i=e.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var a=Math.max(0,n[0].time-r.now());this.schedule(e,a)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.destination.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new m(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(d.a.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.scheduleNotification(d.a.createComplete()),this.unsubscribe()},t}(u.a),m=function(){return function(e,t){this.time=e,this.notification=t}}(),g=n(4),y=n(8);n.d(t,"ANGULARTICS2_TOKEN",function(){return v}),n.d(t,"AngularRouterTracking",function(){return _}),n.d(t,"Angulartics2",function(){return w}),n.d(t,"Angulartics2Module",function(){return E}),n.d(t,"Angulartics2On",function(){return j}),n.d(t,"Angulartics2OnModule",function(){return C}),n.d(t,"DefaultConfig",function(){return b}),n.d(t,"RouterlessTracking",function(){return k});var b=function(){return function(){this.pageTracking={autoTrackVirtualPages:!0,basePath:"",excludedRoutes:[],clearIds:!1,clearHash:!1,clearQueryParams:!1,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}$/},this.developerMode=!1,this.ga={},this.appInsights={},this.gtm={},this.gst={}}}(),v=new i.InjectionToken("ANGULARTICS2"),k=function(){function e(){}return e.prototype.trackLocation=function(e){return new a.a({url:"/"})},e.prototype.prepareExternalUrl=function(e){return e},e}(),w=function(){function e(e,t){var n=this;this.tracker=e,this.pageTrack=new o.a(10),this.eventTrack=new o.a(10),this.exceptionTrack=new o.a(10),this.setAlias=new o.a(10),this.setUsername=new o.a(10),this.setUserProperties=new o.a(10),this.setUserPropertiesOnce=new o.a(10),this.setSuperProperties=new o.a(10),this.setSuperPropertiesOnce=new o.a(10),this.userTimings=new o.a(10),this.unsetUserProperties=new o.a(10);var i=new b;this.settings=Object(r.a)(Object(r.a)({},i),t.settings),this.settings.pageTracking=Object(r.a)(Object(r.a)({},i.pageTracking),t.settings.pageTracking),this.tracker.trackLocation(this.settings).subscribe(function(e){return n.trackUrlChange(e.url)})}return e.prototype.filterDeveloperMode=function(){var e=this;return Object(s.a)(function(t,n){return!e.settings.developerMode})},e.prototype.trackUrlChange=function(e){if(this.settings.pageTracking.autoTrackVirtualPages&&!this.matchesExcludedRoute(e)){var t=this.clearUrl(e),n=void 0;n=this.settings.pageTracking.basePath.length?this.settings.pageTracking.basePath+t:this.tracker.prepareExternalUrl(t),this.pageTrack.next({path:n})}},e.prototype.matchesExcludedRoute=function(e){var t,n;try{for(var i=Object(r.h)(this.settings.pageTracking.excludedRoutes),a=i.next();!a.done;a=i.next()){var o=a.value;if(o instanceof RegExp&&o.test(e)||-1!==e.indexOf(o))return!0}}catch(s){t={error:s}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return!1},e.prototype.clearUrl=function(e){var t=this;return this.settings.pageTracking.clearIds||this.settings.pageTracking.clearQueryParams||this.settings.pageTracking.clearHash?e.split("/").map(function(e){return t.settings.pageTracking.clearQueryParams?e.split("?")[0]:e}).map(function(e){return t.settings.pageTracking.clearHash?e.split("#")[0]:e}).filter(function(e){return!t.settings.pageTracking.clearIds||!e.match(t.settings.pageTracking.idsRegExp)}).join("/"):e},e.ctorParameters=function(){return[{type:k},{type:void 0,decorators:[{type:i.Inject,args:[v]}]}]},e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:function(){return new e(Object(i["ɵɵinject"])(k),Object(i["ɵɵinject"])(v))},token:e,providedIn:"root"}),(e=Object(r.b)([Object(r.e)(1,Object(i.Inject)(v))],e)).ɵfac=function(t){return new(t||e)(i["ɵɵinject"](k),i["ɵɵinject"](v))},e}(),_=function(){function e(e,t){this.router=e,this.location=t}return e.prototype.trackLocation=function(e){return this.router.events.pipe(Object(s.a)(function(e){return e instanceof y.NavigationEnd}),Object(s.a)(function(){return!e.developerMode}),Object(l.a)(function(e){return{url:e.urlAfterRedirects}}),h(0))},e.prototype.prepareExternalUrl=function(e){return this.location.prepareExternalUrl(e)},e.ctorParameters=function(){return[{type:y.Router},{type:g.Location}]},e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:function(){return new e(Object(i["ɵɵinject"])(y.Router),Object(i["ɵɵinject"])(g.Location))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(i["ɵɵinject"](y.Router),i["ɵɵinject"](g.Location))},e}(),j=function(){function e(e,t,n){this.elRef=e,this.angulartics2=t,this.renderer=n,this.angularticsProperties={}}return e.prototype.ngAfterContentInit=function(){var e=this;this.renderer.listen(this.elRef.nativeElement,this.angulartics2On||"click",function(t){return e.eventTrack(t)})},e.prototype.eventTrack=function(e){var t=this.angularticsAction,n=Object(r.a)(Object(r.a)({},this.angularticsProperties),{eventType:e.type});this.angularticsCategory&&(n.category=this.angularticsCategory),this.angularticsLabel&&(n.label=this.angularticsLabel),this.angularticsValue&&(n.value=this.angularticsValue),this.angulartics2.eventTrack.next({action:t,properties:n})},e.ctorParameters=function(){return[{type:i.ElementRef},{type:w},{type:i.Renderer2}]},Object(r.b)([Object(i.Input)("angulartics2On")],e.prototype,"angulartics2On",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsAction",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsCategory",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsLabel",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsValue",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsProperties",void 0),e.ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.ElementRef),i["ɵɵdirectiveInject"](w),i["ɵɵdirectiveInject"](i.Renderer2))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","angulartics2On",""]],inputs:{angularticsProperties:"angularticsProperties",angulartics2On:"angulartics2On",angularticsAction:"angularticsAction",angularticsCategory:"angularticsCategory",angularticsLabel:"angularticsLabel",angularticsValue:"angularticsValue"}}),e}(),C=function(){function e(){}return e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)}}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:[j],exports:[j]}),e}(),E=function(){function e(){}var t;return t=e,e.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[{provide:v,useValue:{settings:e}},{provide:k,useClass:_},w]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[C]]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{imports:[C],exports:[j]}),e}()},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return r}),n.d(t,"c",function(){return i}),n.d(t,"d",function(){return p}),n.d(t,"e",function(){return s}),n.d(t,"f",function(){return l}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return c}),n.d(t,"i",function(){return d}),n.d(t,"j",function(){return o}),n.d(t,"k",function(){return f}),n.d(t,"l",function(){return m}); /** * @license Angular v9.1.12 * (c) 2010-2020 Google LLC. https://angular.io/ @@ -1657,7 +1657,7 @@ function h(e){Promise.resolve(null).then(e)} * * 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 - */},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),a=n(4),o=n(32),s=n(121),l=n(165),c=n(213),u=n(167);function d(e,t){return new o.a(function(n){var r=e.length;if(0!==r)for(var i=new Array(r),a=0,o=0,s=function(s){var l=Object(u.a)(e[s]),c=!1;n.add(l.subscribe({next:function(e){c||(c=!0,o++),i[s]=e},error:function(e){return n.error(e)},complete:function(){++a!==r&&c||(o===r&&n.next(t?t.reduce(function(e,t,n){return e[t]=i[n],e},{}):i),n.complete())}}))},l=0;l0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&this.subject.observers.splice(e,1),0===this.subject.observers.length&&this.subject.cancelCallback&&this.subject.cancelCallback().catch(function(e){})},e}(),f=function(){function e(e){this.minimumLogLevel=e,this.outputConsole=console}return e.prototype.log=function(e,t){if(e>=this.minimumLogLevel)switch(e){case r.a.Critical:case r.a.Error:this.outputConsole.error("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;case r.a.Warning:this.outputConsole.warn("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;case r.a.Information:this.outputConsole.info("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;default:this.outputConsole.log("["+(new Date).toISOString()+"] "+r.a[e]+": "+t)}},e}()},function(e,t,n){var r=n(65),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){"use strict";var r=n(24);var i=n(197),a=n(217);var o=n(130),s=n(265),l=n(106);n.d(t,"a",function(){return c});var c=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var o=this.operator,s=function(e,t,n){if(e){if(e instanceof r.a)return e;if(e[i.a])return e[i.a]()}return e||t||n?new r.a(e,t,n):new r.a(a.a)}(e,t,n);if(o?s.add(o.call(s,this.source)):s.add(this.source||l.a.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),l.a.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){l.a.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),!function(e){for(;e;){var t=e,n=t.closed,i=t.destination,a=t.isStopped;if(n||a)return!1;e=i&&i instanceof r.a?i:null}return!0}(e)?console.warn(t):e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=u(t))(function(t,r){var i;i=n.subscribe(function(t){try{e(t)}catch(n){r(n),i&&i.unsubscribe()}},r,t)})},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[o.a]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t15?(i=Date.now(),l(e)):(n.push(e),1===n.length&&o.setAttribute("a",a=!a))}}s.nextTick=s.setImmediate}(),s.isNodejs=void 0!==t&&t.versions&&t.versions.node,s.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},s.isArrayBufferView=function(e){return e&&s.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},s.ByteBuffer=c,s.ByteStringBuffer=c;s.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},s.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},s.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},s.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},s.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var n=this.data;t>0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return this.data=n,this._optimizeConstructedString(t),this},s.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},s.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(s.encodeUtf8(e))},s.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},s.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},s.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},s.ByteStringBuffer.prototype.putInt=function(e,t){l(t);var n="";do{t-=8,n+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(n)},s.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<0);return t},s.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},s.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},s.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},s.ByteStringBuffer.prototype.copy=function(){var e=s.createBuffer(this.data);return e.read=this.read,e},s.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},s.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},s.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},s.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t=e)return this;t=Math.max(t||this.growSize,e);var n=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),r=new Uint8Array(this.length()+t);return r.set(n),this.data=new DataView(r.buffer),this},s.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},s.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var n=0;n>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},s.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},s.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},s.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},s.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},s.DataBuffer.prototype.putInt=function(e,t){l(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},s.DataBuffer.prototype.putSignedInt=function(e,t){return l(t),this.accommodate(t/8),e<0&&(e+=2<0);return t},s.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},s.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},s.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},s.DataBuffer.prototype.copy=function(){return new s.DataBuffer(this)},s.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},s.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},s.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},s.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return n},s.xorBytes=function(e,t,n){for(var r="",i="",a="",o=0,s=0;n>0;--n,++o)i=e.charCodeAt(o)^t.charCodeAt(o),s>=10&&(r+=a,a="",s=0),a+=String.fromCharCode(i),++s;return r+=a},s.hexToBytes=function(e){var t="",n=0;for(!0&e.length&&(n=1,t+=String.fromCharCode(parseInt(e[0],16)));n>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],h="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";s.encode64=function(e,t){for(var n,r,i,a="",o="",s=0;s>2),a+=u.charAt((3&n)<<4|r>>4),isNaN(r)?a+="==":(a+=u.charAt((15&r)<<2|i>>6),a+=isNaN(i)?"=":u.charAt(63&i)),t&&a.length>t&&(o+=a.substr(0,t)+"\r\n",a=a.substr(t));return o+=a},s.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,n,r,i,a="",o=0;o>4),64!==r&&(a+=String.fromCharCode((15&n)<<4|r>>2),64!==i&&(a+=String.fromCharCode((3&r)<<6|i)));return a},s.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},s.decodeUtf8=function(e){return decodeURIComponent(escape(e))},s.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:o.encode,decode:o.decode}},s.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},s.binary.raw.decode=function(e,t,n){var r=t;r||(r=new Uint8Array(e.length));for(var i=n=n||0,a=0;a>2),a+=u.charAt((3&n)<<4|r>>4),isNaN(r)?a+="==":(a+=u.charAt((15&r)<<2|i>>6),a+=isNaN(i)?"=":u.charAt(63&i)),t&&a.length>t&&(o+=a.substr(0,t)+"\r\n",a=a.substr(t));return o+=a},s.binary.base64.decode=function(e,t,n){var r,i,a,o,s=t;s||(s=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var l=0,c=n=n||0;l>4,64!==a&&(s[c++]=(15&i)<<4|a>>2,64!==o&&(s[c++]=(3&a)<<6|o));return t?c-n:s.subarray(0,c)},s.binary.base58.encode=function(e,t){return s.binary.baseN.encode(e,h,t)},s.binary.base58.decode=function(e,t){return s.binary.baseN.decode(e,h,t)},s.text={utf8:{},utf16:{}},s.text.utf8.encode=function(e,t,n){e=s.encodeUtf8(e);var r=t;r||(r=new Uint8Array(e.length));for(var i=n=n||0,a=0;a0?(i=n[r].substring(0,o),a=n[r].substring(o+1)):(i=n[r],a=null),i in t||(t[i]=[]),i in Object.prototype||null===a||t[i].push(unescape(a))}return t};return void 0===e?(null===k&&(k="undefined"!=typeof window&&window.location&&window.location.search?n(window.location.search.substring(1)):{}),t=k):t=n(e),t},s.parseFragment=function(e){var t=e,n="",r=e.indexOf("?");r>0&&(t=e.substring(0,r),n=e.substring(r+1));var i=t.split("/");return i.length>0&&""===i[0]&&i.shift(),{pathString:t,queryString:n,path:i,query:""===n?{}:s.getQueryVariables(n)}},s.makeRequest=function(e){var t=s.parseFragment(e),n={path:t.pathString,query:t.queryString,getPath:function(e){return void 0===e?t.path:t.path[e]},getQuery:function(e,n){var r;return void 0===e?r=t.query:(r=t.query[e])&&void 0!==n&&(r=r[n]),r},getQueryLast:function(e,t){var r=n.getQuery(e);return r?r[r.length-1]:t}};return n},s.makeLink=function(e,t,n){e=jQuery.isArray(e)?e.join("/"):e;var r=jQuery.param(t||{});return n=n||"",e+(r.length>0?"?"+r:"")+(n.length>0?"#"+n:"")},s.setPath=function(e,t,n){if("object"==typeof e&&null!==e)for(var r=0,i=t.length;r0&&a.push(n),o=r.lastIndex;var s=t[0][1];switch(s){case"s":case"o":i");break;case"%":a.push("%");break;default:a.push("<%"+s+"?>")}}return a.push(e.substring(o)),a.join("")},s.formatNumber=function(e,t,n,r){var i=e,a=isNaN(t=Math.abs(t))?2:t,o=void 0===n?",":n,s=void 0===r?".":r,l=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(a),10)+"",u=c.length>3?c.length%3:0;return l+(u?c.substr(0,u)+s:"")+c.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+s)+(a?o+Math.abs(i-c).toFixed(a).slice(2):"")},s.formatSize=function(e){return e=e>=1073741824?s.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?s.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?s.formatNumber(e/1024,0)+" KiB":s.formatNumber(e,0)+" bytes"},s.bytesFromIP=function(e){return-1!==e.indexOf(".")?s.bytesFromIPv4(e):-1!==e.indexOf(":")?s.bytesFromIPv6(e):null},s.bytesFromIPv4=function(e){if(4!==(e=e.split(".")).length)return null;for(var t=s.createBuffer(),n=0;nn[r].end-n[r].start&&(r=n.length-1)):n.push({start:l,end:l})}t.push(a)}if(n.length>0){var c=n[r];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),0===c.start&&t.unshift(""),7===c.end&&t.push(""))}return t.join(":")},s.estimateCores=function(e,t){if("function"==typeof e&&(t=e,e={}),e=e||{},"cores"in s&&!e.update)return t(null,s.cores);if("undefined"!=typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return s.cores=navigator.hardwareConcurrency,t(null,s.cores);if("undefined"==typeof Worker)return s.cores=1,t(null,s.cores);if("undefined"==typeof Blob)return s.cores=2,t(null,s.cores);var n=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(e){for(var t=Date.now(),n=t+4;Date.now()s.st&&i.sti.st&&s.st=200&&i.status<300?n(new o.b(i.status,i.statusText,i.response||i.responseText)):r(new a.b(i.statusText,i.status))},i.onerror=function(){t.logger.log(l.a.Warning,"Error from HTTP request. "+i.status+": "+i.statusText+"."),r(new a.b(i.statusText,i.status))},i.ontimeout=function(){t.logger.log(l.a.Warning,"Timeout from HTTP request."),r(new a.c)},i.send(e.content||"")}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},t}(o.a),d=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),h=function(e){function t(t){var n=e.call(this)||this;return"undefined"!=typeof XMLHttpRequest?n.httpClient=new u(t):n.httpClient=new s.a(t),n}return d(t,e),t.prototype.send=function(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new a.a):e.method?e.url?this.httpClient.send(e):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},t.prototype.getCookieString=function(e){return this.httpClient.getCookieString(e)},t}(o.a),p=n(731);!function(e){e[e.Invocation=1]="Invocation",e[e.StreamItem=2]="StreamItem",e[e.Completion=3]="Completion",e[e.StreamInvocation=4]="StreamInvocation",e[e.CancelInvocation=5]="CancelInvocation",e[e.Ping=6]="Ping",e[e.Close=7]="Close"}(i||(i={}));var f,m=n(30),g=function(){function e(){this.observers=[]}return e.prototype.next=function(e){for(var t=0,n=this.observers;t0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?[2,Promise.reject(new Error("Unable to connect to the server with any of the available transports. "+a.join(" ")))]:[2,Promise.reject(new Error("None of the transports supported by the client are supported by the server."))]}})})},e.prototype.constructTransport=function(e){switch(e){case w.WebSockets:if(!this.options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new P(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.WebSocket);case w.ServerSentEvents:if(!this.options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new D(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.EventSource);case w.LongPolling:return new O(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1);default:throw new Error("Unknown transport: "+e+".")}},e.prototype.startTransport=function(e,t){var n=this;return this.transport.onreceive=this.onreceive,this.transport.onclose=function(e){return n.stopConnection(e)},this.transport.connect(e,t)},e.prototype.resolveTransportOrError=function(e,t,n){var r=w[e.transport];if(null==r)return this.logger.log(l.a.Debug,"Skipping transport '"+e.transport+"' because it is not supported by this client."),new Error("Skipping transport '"+e.transport+"' because it is not supported by this client.");if(!function(e,t){return!e||0!=(t&e)}(t,r))return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it was disabled by the client."),new Error("'"+w[r]+"' is disabled by the client.");if(!(e.transferFormats.map(function(e){return _[e]}).indexOf(n)>=0))return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it does not support the requested transfer format '"+_[n]+"'."),new Error("'"+w[r]+"' does not support "+_[n]+".");if(r===w.WebSockets&&!this.options.WebSocket||r===w.ServerSentEvents&&!this.options.EventSource)return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it is not supported in your environment.'"),new Error("'"+w[r]+"' is not supported in your environment.");this.logger.log(l.a.Debug,"Selecting transport '"+w[r]+"'.");try{return this.constructTransport(r)}catch(i){return i}},e.prototype.isITransport=function(e){return e&&"object"==typeof e&&"connect"in e},e.prototype.stopConnection=function(e){if(this.logger.log(l.a.Debug,"HttpConnection.stopConnection("+e+") called while in state "+this.connectionState+"."),this.transport=void 0,e=this.stopError||e,this.stopError=void 0,"Disconnected"!==this.connectionState)if("Connecting "!==this.connectionState){if("Disconnecting"===this.connectionState&&this.stopPromiseResolver(),e?this.logger.log(l.a.Error,"Connection disconnected with error '"+e+"'."):this.logger.log(l.a.Information,"Connection disconnected."),this.connectionId=void 0,this.connectionState="Disconnected",this.onclose&&this.connectionStarted){this.connectionStarted=!1;try{this.onclose(e)}catch(t){this.logger.log(l.a.Error,"HttpConnection.onclose("+e+") threw error '"+t+"'.")}}}else this.logger.log(l.a.Warning,"Call to HttpConnection.stopConnection("+e+") was ignored because the connection hasn't yet left the in the connecting state.");else this.logger.log(l.a.Debug,"Call to HttpConnection.stopConnection("+e+") was ignored because the connection is already in the disconnected state.")},e.prototype.resolveUrl=function(e){if(0===e.lastIndexOf("https://",0)||0===e.lastIndexOf("http://",0))return e;if(!m.c.isBrowser||!window.document)throw new Error("Cannot resolve '"+e+"'.");var t=window.document.createElement("a");return t.href=e,this.logger.log(l.a.Information,"Normalizing '"+e+"' to '"+t.href+"'."),t.href},e.prototype.resolveNegotiateUrl=function(e){var t=e.indexOf("?"),n=e.substring(0,-1===t?e.length:t);return"/"!==n[n.length-1]&&(n+="/"),n+="negotiate",-1===(n+=-1===t?"":e.substring(t)).indexOf("negotiateVersion")&&(n+=-1===t?"?":"&",n+="negotiateVersion="+this.negotiateVersion),n},e}();var V=function(){function e(e){this.transport=e,this.buffer=[],this.executing=!0,this.sendBufferedData=new U,this.transportResult=new U,this.sendLoopPromise=this.sendLoop()}return e.prototype.send=function(e){return this.bufferData(e),this.transportResult||(this.transportResult=new U),this.transportResult.promise},e.prototype.stop=function(){return this.executing=!1,this.sendBufferedData.resolve(),this.sendLoopPromise},e.prototype.bufferData=function(e){if(this.buffer.length&&typeof this.buffer[0]!=typeof e)throw new Error("Expected data to be of type "+typeof this.buffer+" but was of type "+typeof e);this.buffer.push(e),this.sendBufferedData.resolve()},e.prototype.sendLoop=function(){return R(this,void 0,void 0,function(){var t,n,r;return M(this,function(i){switch(i.label){case 0:return[4,this.sendBufferedData.promise];case 1:if(i.sent(),!this.executing)return this.transportResult&&this.transportResult.reject("Connection stopped."),[3,6];this.sendBufferedData=new U,t=this.transportResult,this.transportResult=void 0,n="string"==typeof this.buffer[0]?this.buffer.join(""):e.concatBuffers(this.buffer),this.buffer.length=0,i.label=2;case 2:return i.trys.push([2,4,,5]),[4,this.transport.send(n)];case 3:return i.sent(),t.resolve(),[3,5];case 4:return r=i.sent(),t.reject(r),[3,5];case 5:return[3,0];case 6:return[2]}})})},e.concatBuffers=function(e){for(var t=e.map(function(e){return e.byteLength}).reduce(function(e,t){return e+t}),n=new Uint8Array(t),r=0,i=0,a=e;i"+i+""};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*i(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},,function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(21),i=n(56),a=n(51),o=n(90)("src"),s=Function.toString,l=(""+s).split("toString");n(55).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var c="function"==typeof n;c&&(a(n,"name")||i(n,"name",t)),e[t]!==n&&(c&&(a(n,o)||i(n,o,e[t]?""+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||s.call(this)})},function(e,t,n){var r=n(115),i=n(77);e.exports=function(e){return r(i(e))}},function(e,t,n){"use strict";var r=n(121),i=n(213),a=n(147),o=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}();n.d(t,"a",function(){return s});var s=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var t;if(!this.closed){var n=this._parentOrParents,s=this._ctorUnsubscribe,c=this._unsubscribe,u=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var d=0;d0?r:n)(e)}},,function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return x}),n.d(t,"b",function(){return Je}),n.d(t,"c",function(){return je}),n.d(t,"d",function(){return mt}),n.d(t,"e",function(){return E}),n.d(t,"f",function(){return yt}),n.d(t,"g",function(){return Ce}),n.d(t,"h",function(){return bt});var r=n(1),i=n(13),a=n(0);function o(){return void 0!==e&&"[object process]"==={}.toString.call(e)}function s(e){switch(e.length){case 0:return new i.d;case 1:return e[0];default:return new i.k(e)}}function l(e,t,n,r,a,o){void 0===a&&(a={}),void 0===o&&(o={});var s=[],l=[],c=-1,u=null;if(r.forEach(function(e){var n=e.offset,r=n==c,d=r&&u||{};Object.keys(e).forEach(function(n){var r=n,l=e[n];if("offset"!==n)switch(r=t.normalizePropertyName(r,s),l){case i.l:l=a[n];break;case i.a:l=o[n];break;default:l=t.normalizeStyleValue(n,r,l,s)}d[r]=l}),r||l.push(d),u=d,c=n}),s.length){throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "))}return l}function c(e,t,n,r){switch(t){case"start":e.onStart(function(){return r(n&&u(n,"start",e))});break;case"done":e.onDone(function(){return r(n&&u(n,"done",e))});break;case"destroy":e.onDestroy(function(){return r(n&&u(n,"destroy",e))})}}function u(e,t,n){var r=n.totalTime,i=!!n.disabled,a=d(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==r?e.totalTime:r,i),o=e._data;return null!=o&&(a._data=o),a}function d(e,t,n,r,i,a,o){return void 0===i&&(i=""),void 0===a&&(a=0),{element:e,triggerName:t,fromState:n,toState:r,phaseName:i,totalTime:a,disabled:!!o}}function h(e,t,n){var r;return e instanceof Map?(r=e.get(t))||e.set(t,r=n):(r=e[t])||(r=e[t]=n),r}function p(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var f=function(e,t){return!1},m=function(e,t){return!1},g=function(e,t,n){return[]},y=o();(y||"undefined"!=typeof Element)&&(f=function(e,t){return e.contains(t)},m=function(){if(y||Element.prototype.matches)return function(e,t){return e.matches(t)};var e=Element.prototype,t=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return t?function(e,n){return t.apply(e,[n])}:m}(),g=function(e,t,n){var i=[];if(n)i.push.apply(i,Object(r.g)(e.querySelectorAll(t)));else{var a=e.querySelector(t);a&&i.push(a)}return i});var b=null,v=!1;function k(e){b||(b=function(){if("undefined"!=typeof document)return document.body;return null}()||{},v=!!b.style&&"WebkitAppearance"in b.style);var t=!0;b.style&&!function(e){return"ebkit"==e.substring(1,6)}(e)&&(!(t=e in b.style)&&v&&(t="Webkit"+e.charAt(0).toUpperCase()+e.substr(1)in b.style));return t}var w=m,_=f,j=g;function C(e){var t={};return Object.keys(e).forEach(function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");t[r]=e[n]}),t}var E=function(){function e(){}return e.prototype.validateStyleProperty=function(e){return k(e)},e.prototype.matchesElement=function(e,t){return w(e,t)},e.prototype.containsElement=function(e,t){return _(e,t)},e.prototype.query=function(e,t,n){return j(e,t,n)},e.prototype.computeStyle=function(e,t,n){return n||""},e.prototype.animate=function(e,t,n,r,a,o,s){return void 0===o&&(o=[]),new i.d(n,r)},e.ɵfac=function(t){return new(t||e)},e.ɵprov=a["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}(),x=function(){function e(){}return e.NOOP=new E,e}(),S=1e3,T=".ng-trigger",O=".ng-animating";function I(e){if("number"==typeof e)return e;var t=e.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:z(parseFloat(t[1]),t[2])}function z(e,t){switch(t){case"s":return e*S;default:return e}}function D(e,t,n){return e.hasOwnProperty("duration")?e:function(e,t,n){var r,i=0,a="";if("string"==typeof e){var o=e.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===o)return t.push('The provided timing value "'+e+'" is invalid.'),{duration:0,delay:0,easing:""};r=z(parseFloat(o[1]),o[2]);var s=o[3];null!=s&&(i=z(parseFloat(s),o[4]));var l=o[5];l&&(a=l)}else r=e;if(!n){var c=!1,u=t.length;r<0&&(t.push("Duration values below 0 are not allowed for this animation step."),c=!0),i<0&&(t.push("Delay values below 0 are not allowed for this animation step."),c=!0),c&&t.splice(u,0,'The provided timing value "'+e+'" is invalid.')}return{duration:r,delay:i,easing:a}}(e,t,n)}function A(e,t){return void 0===t&&(t={}),Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function N(e){var t={};return Array.isArray(e)?e.forEach(function(e){return P(e,!1,t)}):P(e,!1,t),t}function P(e,t,n){if(void 0===n&&(n={}),t)for(var r in e)n[r]=e[r];else A(e,n);return n}function R(e,t,n){return n?t+":"+n+";":""}function M(e){for(var t="",n=0;n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&this.subject.observers.splice(e,1),0===this.subject.observers.length&&this.subject.cancelCallback&&this.subject.cancelCallback().catch(function(e){})},e}(),f=function(){function e(e){this.minimumLogLevel=e,this.outputConsole=console}return e.prototype.log=function(e,t){if(e>=this.minimumLogLevel)switch(e){case r.a.Critical:case r.a.Error:this.outputConsole.error("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;case r.a.Warning:this.outputConsole.warn("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;case r.a.Information:this.outputConsole.info("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;default:this.outputConsole.log("["+(new Date).toISOString()+"] "+r.a[e]+": "+t)}},e}()},function(e,t,n){var r=n(64),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},,function(e,t,n){"use strict";var r=n(25);var i=n(199),a=n(219);var o=n(130),s=n(266),l=n(106);n.d(t,"a",function(){return c});var c=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var o=this.operator,s=function(e,t,n){if(e){if(e instanceof r.a)return e;if(e[i.a])return e[i.a]()}return e||t||n?new r.a(e,t,n):new r.a(a.a)}(e,t,n);if(o?s.add(o.call(s,this.source)):s.add(this.source||l.a.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),l.a.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){l.a.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),!function(e){for(;e;){var t=e,n=t.closed,i=t.destination,a=t.isStopped;if(n||a)return!1;e=i&&i instanceof r.a?i:null}return!0}(e)?console.warn(t):e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=u(t))(function(t,r){var i;i=n.subscribe(function(t){try{e(t)}catch(n){r(n),i&&i.unsubscribe()}},r,t)})},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[o.a]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t15?(i=Date.now(),l(e)):(n.push(e),1===n.length&&o.setAttribute("a",a=!a))}}s.nextTick=s.setImmediate}(),s.isNodejs=void 0!==t&&t.versions&&t.versions.node,s.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},s.isArrayBufferView=function(e){return e&&s.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},s.ByteBuffer=c,s.ByteStringBuffer=c;s.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},s.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},s.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},s.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},s.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var n=this.data;t>0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return this.data=n,this._optimizeConstructedString(t),this},s.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},s.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(s.encodeUtf8(e))},s.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},s.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},s.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},s.ByteStringBuffer.prototype.putInt=function(e,t){l(t);var n="";do{t-=8,n+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(n)},s.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<0);return t},s.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},s.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},s.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},s.ByteStringBuffer.prototype.copy=function(){var e=s.createBuffer(this.data);return e.read=this.read,e},s.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},s.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},s.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},s.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t=e)return this;t=Math.max(t||this.growSize,e);var n=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),r=new Uint8Array(this.length()+t);return r.set(n),this.data=new DataView(r.buffer),this},s.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},s.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var n=0;n>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},s.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},s.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},s.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},s.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},s.DataBuffer.prototype.putInt=function(e,t){l(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},s.DataBuffer.prototype.putSignedInt=function(e,t){return l(t),this.accommodate(t/8),e<0&&(e+=2<0);return t},s.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},s.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},s.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},s.DataBuffer.prototype.copy=function(){return new s.DataBuffer(this)},s.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},s.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},s.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},s.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return n},s.xorBytes=function(e,t,n){for(var r="",i="",a="",o=0,s=0;n>0;--n,++o)i=e.charCodeAt(o)^t.charCodeAt(o),s>=10&&(r+=a,a="",s=0),a+=String.fromCharCode(i),++s;return r+=a},s.hexToBytes=function(e){var t="",n=0;for(!0&e.length&&(n=1,t+=String.fromCharCode(parseInt(e[0],16)));n>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],h="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";s.encode64=function(e,t){for(var n,r,i,a="",o="",s=0;s>2),a+=u.charAt((3&n)<<4|r>>4),isNaN(r)?a+="==":(a+=u.charAt((15&r)<<2|i>>6),a+=isNaN(i)?"=":u.charAt(63&i)),t&&a.length>t&&(o+=a.substr(0,t)+"\r\n",a=a.substr(t));return o+=a},s.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,n,r,i,a="",o=0;o>4),64!==r&&(a+=String.fromCharCode((15&n)<<4|r>>2),64!==i&&(a+=String.fromCharCode((3&r)<<6|i)));return a},s.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},s.decodeUtf8=function(e){return decodeURIComponent(escape(e))},s.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:o.encode,decode:o.decode}},s.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},s.binary.raw.decode=function(e,t,n){var r=t;r||(r=new Uint8Array(e.length));for(var i=n=n||0,a=0;a>2),a+=u.charAt((3&n)<<4|r>>4),isNaN(r)?a+="==":(a+=u.charAt((15&r)<<2|i>>6),a+=isNaN(i)?"=":u.charAt(63&i)),t&&a.length>t&&(o+=a.substr(0,t)+"\r\n",a=a.substr(t));return o+=a},s.binary.base64.decode=function(e,t,n){var r,i,a,o,s=t;s||(s=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var l=0,c=n=n||0;l>4,64!==a&&(s[c++]=(15&i)<<4|a>>2,64!==o&&(s[c++]=(3&a)<<6|o));return t?c-n:s.subarray(0,c)},s.binary.base58.encode=function(e,t){return s.binary.baseN.encode(e,h,t)},s.binary.base58.decode=function(e,t){return s.binary.baseN.decode(e,h,t)},s.text={utf8:{},utf16:{}},s.text.utf8.encode=function(e,t,n){e=s.encodeUtf8(e);var r=t;r||(r=new Uint8Array(e.length));for(var i=n=n||0,a=0;a0?(i=n[r].substring(0,o),a=n[r].substring(o+1)):(i=n[r],a=null),i in t||(t[i]=[]),i in Object.prototype||null===a||t[i].push(unescape(a))}return t};return void 0===e?(null===k&&(k="undefined"!=typeof window&&window.location&&window.location.search?n(window.location.search.substring(1)):{}),t=k):t=n(e),t},s.parseFragment=function(e){var t=e,n="",r=e.indexOf("?");r>0&&(t=e.substring(0,r),n=e.substring(r+1));var i=t.split("/");return i.length>0&&""===i[0]&&i.shift(),{pathString:t,queryString:n,path:i,query:""===n?{}:s.getQueryVariables(n)}},s.makeRequest=function(e){var t=s.parseFragment(e),n={path:t.pathString,query:t.queryString,getPath:function(e){return void 0===e?t.path:t.path[e]},getQuery:function(e,n){var r;return void 0===e?r=t.query:(r=t.query[e])&&void 0!==n&&(r=r[n]),r},getQueryLast:function(e,t){var r=n.getQuery(e);return r?r[r.length-1]:t}};return n},s.makeLink=function(e,t,n){e=jQuery.isArray(e)?e.join("/"):e;var r=jQuery.param(t||{});return n=n||"",e+(r.length>0?"?"+r:"")+(n.length>0?"#"+n:"")},s.setPath=function(e,t,n){if("object"==typeof e&&null!==e)for(var r=0,i=t.length;r0&&a.push(n),o=r.lastIndex;var s=t[0][1];switch(s){case"s":case"o":i");break;case"%":a.push("%");break;default:a.push("<%"+s+"?>")}}return a.push(e.substring(o)),a.join("")},s.formatNumber=function(e,t,n,r){var i=e,a=isNaN(t=Math.abs(t))?2:t,o=void 0===n?",":n,s=void 0===r?".":r,l=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(a),10)+"",u=c.length>3?c.length%3:0;return l+(u?c.substr(0,u)+s:"")+c.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+s)+(a?o+Math.abs(i-c).toFixed(a).slice(2):"")},s.formatSize=function(e){return e=e>=1073741824?s.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?s.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?s.formatNumber(e/1024,0)+" KiB":s.formatNumber(e,0)+" bytes"},s.bytesFromIP=function(e){return-1!==e.indexOf(".")?s.bytesFromIPv4(e):-1!==e.indexOf(":")?s.bytesFromIPv6(e):null},s.bytesFromIPv4=function(e){if(4!==(e=e.split(".")).length)return null;for(var t=s.createBuffer(),n=0;nn[r].end-n[r].start&&(r=n.length-1)):n.push({start:l,end:l})}t.push(a)}if(n.length>0){var c=n[r];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),0===c.start&&t.unshift(""),7===c.end&&t.push(""))}return t.join(":")},s.estimateCores=function(e,t){if("function"==typeof e&&(t=e,e={}),e=e||{},"cores"in s&&!e.update)return t(null,s.cores);if("undefined"!=typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return s.cores=navigator.hardwareConcurrency,t(null,s.cores);if("undefined"==typeof Worker)return s.cores=1,t(null,s.cores);if("undefined"==typeof Blob)return s.cores=2,t(null,s.cores);var n=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(e){for(var t=Date.now(),n=t+4;Date.now()s.st&&i.sti.st&&s.st=200&&i.status<300?n(new o.b(i.status,i.statusText,i.response||i.responseText)):r(new a.b(i.statusText,i.status))},i.onerror=function(){t.logger.log(l.a.Warning,"Error from HTTP request. "+i.status+": "+i.statusText+"."),r(new a.b(i.statusText,i.status))},i.ontimeout=function(){t.logger.log(l.a.Warning,"Timeout from HTTP request."),r(new a.c)},i.send(e.content||"")}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},t}(o.a),d=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),h=function(e){function t(t){var n=e.call(this)||this;return"undefined"!=typeof XMLHttpRequest?n.httpClient=new u(t):n.httpClient=new s.a(t),n}return d(t,e),t.prototype.send=function(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new a.a):e.method?e.url?this.httpClient.send(e):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},t.prototype.getCookieString=function(e){return this.httpClient.getCookieString(e)},t}(o.a),p=n(735);!function(e){e[e.Invocation=1]="Invocation",e[e.StreamItem=2]="StreamItem",e[e.Completion=3]="Completion",e[e.StreamInvocation=4]="StreamInvocation",e[e.CancelInvocation=5]="CancelInvocation",e[e.Ping=6]="Ping",e[e.Close=7]="Close"}(i||(i={}));var f,m=n(30),g=function(){function e(){this.observers=[]}return e.prototype.next=function(e){for(var t=0,n=this.observers;t0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?[2,Promise.reject(new Error("Unable to connect to the server with any of the available transports. "+a.join(" ")))]:[2,Promise.reject(new Error("None of the transports supported by the client are supported by the server."))]}})})},e.prototype.constructTransport=function(e){switch(e){case w.WebSockets:if(!this.options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new P(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.WebSocket);case w.ServerSentEvents:if(!this.options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new D(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.EventSource);case w.LongPolling:return new O(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1);default:throw new Error("Unknown transport: "+e+".")}},e.prototype.startTransport=function(e,t){var n=this;return this.transport.onreceive=this.onreceive,this.transport.onclose=function(e){return n.stopConnection(e)},this.transport.connect(e,t)},e.prototype.resolveTransportOrError=function(e,t,n){var r=w[e.transport];if(null==r)return this.logger.log(l.a.Debug,"Skipping transport '"+e.transport+"' because it is not supported by this client."),new Error("Skipping transport '"+e.transport+"' because it is not supported by this client.");if(!function(e,t){return!e||0!=(t&e)}(t,r))return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it was disabled by the client."),new Error("'"+w[r]+"' is disabled by the client.");if(!(e.transferFormats.map(function(e){return _[e]}).indexOf(n)>=0))return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it does not support the requested transfer format '"+_[n]+"'."),new Error("'"+w[r]+"' does not support "+_[n]+".");if(r===w.WebSockets&&!this.options.WebSocket||r===w.ServerSentEvents&&!this.options.EventSource)return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it is not supported in your environment.'"),new Error("'"+w[r]+"' is not supported in your environment.");this.logger.log(l.a.Debug,"Selecting transport '"+w[r]+"'.");try{return this.constructTransport(r)}catch(i){return i}},e.prototype.isITransport=function(e){return e&&"object"==typeof e&&"connect"in e},e.prototype.stopConnection=function(e){if(this.logger.log(l.a.Debug,"HttpConnection.stopConnection("+e+") called while in state "+this.connectionState+"."),this.transport=void 0,e=this.stopError||e,this.stopError=void 0,"Disconnected"!==this.connectionState)if("Connecting "!==this.connectionState){if("Disconnecting"===this.connectionState&&this.stopPromiseResolver(),e?this.logger.log(l.a.Error,"Connection disconnected with error '"+e+"'."):this.logger.log(l.a.Information,"Connection disconnected."),this.connectionId=void 0,this.connectionState="Disconnected",this.onclose&&this.connectionStarted){this.connectionStarted=!1;try{this.onclose(e)}catch(t){this.logger.log(l.a.Error,"HttpConnection.onclose("+e+") threw error '"+t+"'.")}}}else this.logger.log(l.a.Warning,"Call to HttpConnection.stopConnection("+e+") was ignored because the connection hasn't yet left the in the connecting state.");else this.logger.log(l.a.Debug,"Call to HttpConnection.stopConnection("+e+") was ignored because the connection is already in the disconnected state.")},e.prototype.resolveUrl=function(e){if(0===e.lastIndexOf("https://",0)||0===e.lastIndexOf("http://",0))return e;if(!m.c.isBrowser||!window.document)throw new Error("Cannot resolve '"+e+"'.");var t=window.document.createElement("a");return t.href=e,this.logger.log(l.a.Information,"Normalizing '"+e+"' to '"+t.href+"'."),t.href},e.prototype.resolveNegotiateUrl=function(e){var t=e.indexOf("?"),n=e.substring(0,-1===t?e.length:t);return"/"!==n[n.length-1]&&(n+="/"),n+="negotiate",-1===(n+=-1===t?"":e.substring(t)).indexOf("negotiateVersion")&&(n+=-1===t?"?":"&",n+="negotiateVersion="+this.negotiateVersion),n},e}();var V=function(){function e(e){this.transport=e,this.buffer=[],this.executing=!0,this.sendBufferedData=new U,this.transportResult=new U,this.sendLoopPromise=this.sendLoop()}return e.prototype.send=function(e){return this.bufferData(e),this.transportResult||(this.transportResult=new U),this.transportResult.promise},e.prototype.stop=function(){return this.executing=!1,this.sendBufferedData.resolve(),this.sendLoopPromise},e.prototype.bufferData=function(e){if(this.buffer.length&&typeof this.buffer[0]!=typeof e)throw new Error("Expected data to be of type "+typeof this.buffer+" but was of type "+typeof e);this.buffer.push(e),this.sendBufferedData.resolve()},e.prototype.sendLoop=function(){return R(this,void 0,void 0,function(){var t,n,r;return M(this,function(i){switch(i.label){case 0:return[4,this.sendBufferedData.promise];case 1:if(i.sent(),!this.executing)return this.transportResult&&this.transportResult.reject("Connection stopped."),[3,6];this.sendBufferedData=new U,t=this.transportResult,this.transportResult=void 0,n="string"==typeof this.buffer[0]?this.buffer.join(""):e.concatBuffers(this.buffer),this.buffer.length=0,i.label=2;case 2:return i.trys.push([2,4,,5]),[4,this.transport.send(n)];case 3:return i.sent(),t.resolve(),[3,5];case 4:return r=i.sent(),t.reject(r),[3,5];case 5:return[3,0];case 6:return[2]}})})},e.concatBuffers=function(e){for(var t=e.map(function(e){return e.byteLength}).reduce(function(e,t){return e+t}),n=new Uint8Array(t),r=0,i=0,a=e;i"+i+""};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*i(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(21),i=n(56),a=n(51),o=n(90)("src"),s=Function.toString,l=(""+s).split("toString");n(55).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var c="function"==typeof n;c&&(a(n,"name")||i(n,"name",t)),e[t]!==n&&(c&&(a(n,o)||i(n,o,e[t]?""+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||s.call(this)})},function(e,t,n){var r=n(116),i=n(77);e.exports=function(e){return r(i(e))}},function(e,t,n){"use strict";var r=n(121),i=n(215),a=n(148),o=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}();n.d(t,"a",function(){return s});var s=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var t;if(!this.closed){var n=this._parentOrParents,s=this._ctorUnsubscribe,c=this._unsubscribe,u=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var d=0;d0?r:n)(e)}},,,,function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return x}),n.d(t,"b",function(){return Je}),n.d(t,"c",function(){return je}),n.d(t,"d",function(){return mt}),n.d(t,"e",function(){return E}),n.d(t,"f",function(){return yt}),n.d(t,"g",function(){return Ce}),n.d(t,"h",function(){return bt});var r=n(1),i=n(13),a=n(0);function o(){return void 0!==e&&"[object process]"==={}.toString.call(e)}function s(e){switch(e.length){case 0:return new i.d;case 1:return e[0];default:return new i.k(e)}}function l(e,t,n,r,a,o){void 0===a&&(a={}),void 0===o&&(o={});var s=[],l=[],c=-1,u=null;if(r.forEach(function(e){var n=e.offset,r=n==c,d=r&&u||{};Object.keys(e).forEach(function(n){var r=n,l=e[n];if("offset"!==n)switch(r=t.normalizePropertyName(r,s),l){case i.l:l=a[n];break;case i.a:l=o[n];break;default:l=t.normalizeStyleValue(n,r,l,s)}d[r]=l}),r||l.push(d),u=d,c=n}),s.length){throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "))}return l}function c(e,t,n,r){switch(t){case"start":e.onStart(function(){return r(n&&u(n,"start",e))});break;case"done":e.onDone(function(){return r(n&&u(n,"done",e))});break;case"destroy":e.onDestroy(function(){return r(n&&u(n,"destroy",e))})}}function u(e,t,n){var r=n.totalTime,i=!!n.disabled,a=d(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==r?e.totalTime:r,i),o=e._data;return null!=o&&(a._data=o),a}function d(e,t,n,r,i,a,o){return void 0===i&&(i=""),void 0===a&&(a=0),{element:e,triggerName:t,fromState:n,toState:r,phaseName:i,totalTime:a,disabled:!!o}}function h(e,t,n){var r;return e instanceof Map?(r=e.get(t))||e.set(t,r=n):(r=e[t])||(r=e[t]=n),r}function p(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var f=function(e,t){return!1},m=function(e,t){return!1},g=function(e,t,n){return[]},y=o();(y||"undefined"!=typeof Element)&&(f=function(e,t){return e.contains(t)},m=function(){if(y||Element.prototype.matches)return function(e,t){return e.matches(t)};var e=Element.prototype,t=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return t?function(e,n){return t.apply(e,[n])}:m}(),g=function(e,t,n){var i=[];if(n)i.push.apply(i,Object(r.g)(e.querySelectorAll(t)));else{var a=e.querySelector(t);a&&i.push(a)}return i});var b=null,v=!1;function k(e){b||(b=function(){if("undefined"!=typeof document)return document.body;return null}()||{},v=!!b.style&&"WebkitAppearance"in b.style);var t=!0;b.style&&!function(e){return"ebkit"==e.substring(1,6)}(e)&&(!(t=e in b.style)&&v&&(t="Webkit"+e.charAt(0).toUpperCase()+e.substr(1)in b.style));return t}var w=m,_=f,j=g;function C(e){var t={};return Object.keys(e).forEach(function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");t[r]=e[n]}),t}var E=function(){function e(){}return e.prototype.validateStyleProperty=function(e){return k(e)},e.prototype.matchesElement=function(e,t){return w(e,t)},e.prototype.containsElement=function(e,t){return _(e,t)},e.prototype.query=function(e,t,n){return j(e,t,n)},e.prototype.computeStyle=function(e,t,n){return n||""},e.prototype.animate=function(e,t,n,r,a,o,s){return void 0===o&&(o=[]),new i.d(n,r)},e.ɵfac=function(t){return new(t||e)},e.ɵprov=a["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}(),x=function(){function e(){}return e.NOOP=new E,e}(),S=1e3,T=".ng-trigger",O=".ng-animating";function I(e){if("number"==typeof e)return e;var t=e.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:z(parseFloat(t[1]),t[2])}function z(e,t){switch(t){case"s":return e*S;default:return e}}function D(e,t,n){return e.hasOwnProperty("duration")?e:function(e,t,n){var r,i=0,a="";if("string"==typeof e){var o=e.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===o)return t.push('The provided timing value "'+e+'" is invalid.'),{duration:0,delay:0,easing:""};r=z(parseFloat(o[1]),o[2]);var s=o[3];null!=s&&(i=z(parseFloat(s),o[4]));var l=o[5];l&&(a=l)}else r=e;if(!n){var c=!1,u=t.length;r<0&&(t.push("Duration values below 0 are not allowed for this animation step."),c=!0),i<0&&(t.push("Delay values below 0 are not allowed for this animation step."),c=!0),c&&t.splice(u,0,'The provided timing value "'+e+'" is invalid.')}return{duration:r,delay:i,easing:a}}(e,t,n)}function A(e,t){return void 0===t&&(t={}),Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function N(e){var t={};return Array.isArray(e)?e.forEach(function(e){return P(e,!1,t)}):P(e,!1,t),t}function P(e,t,n){if(void 0===n&&(n={}),t)for(var r in e)n[r]=e[r];else A(e,n);return n}function R(e,t,n){return n?t+":"+n+";":""}function M(e){for(var t="",n=0;nw;w++)if((h||w in b)&&(g=v(m=b[w],w,y),e))if(n)_[w]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return w;case 2:_.push(m)}else if(u)return!1;return d?-1:c||u?u:_}}},,function(e,t,n){"use strict";n.r(t),n.d(t,"BrowserModule",function(){return ye}),n.d(t,"BrowserTransferStateModule",function(){return De}),n.d(t,"By",function(){return Ae}),n.d(t,"DomSanitizer",function(){return ae}),n.d(t,"EVENT_MANAGER_PLUGINS",function(){return j}),n.d(t,"EventManager",function(){return C}),n.d(t,"HAMMER_GESTURE_CONFIG",function(){return W}),n.d(t,"HAMMER_LOADER",function(){return K}),n.d(t,"HammerGestureConfig",function(){return G}),n.d(t,"HammerModule",function(){return J}),n.d(t,"Meta",function(){return ve}),n.d(t,"Title",function(){return we}),n.d(t,"TransferState",function(){return Ie}),n.d(t,"VERSION",function(){return Ne}),n.d(t,"disableDebugTools",function(){return Se}),n.d(t,"enableDebugTools",function(){return xe}),n.d(t,"makeStateKey",function(){return Oe}),n.d(t,"platformBrowser",function(){return me}),n.d(t,"ɵBROWSER_SANITIZATION_PROVIDERS",function(){return fe}),n.d(t,"ɵBROWSER_SANITIZATION_PROVIDERS__POST_R3__",function(){return pe}),n.d(t,"ɵBrowserDomAdapter",function(){return l}),n.d(t,"ɵBrowserGetTestability",function(){return p}),n.d(t,"ɵDomEventsPlugin",function(){return U}),n.d(t,"ɵDomRendererFactory2",function(){return M}),n.d(t,"ɵDomSanitizerImpl",function(){return se}),n.d(t,"ɵDomSharedStylesHost",function(){return S}),n.d(t,"ɵELEMENT_PROBE_PROVIDERS",function(){return _}),n.d(t,"ɵELEMENT_PROBE_PROVIDERS__POST_R3__",function(){return k}),n.d(t,"ɵHAMMER_PROVIDERS__POST_R3__",function(){return $}),n.d(t,"ɵHammerGesturesPlugin",function(){return Q}),n.d(t,"ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS",function(){return he}),n.d(t,"ɵKeyEventsPlugin",function(){return ie}),n.d(t,"ɵNAMESPACE_URIS",function(){return T}),n.d(t,"ɵSharedStylesHost",function(){return x}),n.d(t,"ɵTRANSITION_ID",function(){return u}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_a",function(){return ce}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_b",function(){return ue}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_c",function(){return ge}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_d",function(){return be}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_e",function(){return ke}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_f",function(){return ze}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_g",function(){return E}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_h",function(){return Y}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_i",function(){return Z}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_j",function(){return oe}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_k",function(){return d}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_l",function(){return h}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_m",function(){return v}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_n",function(){return w}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_o",function(){return s}),n.d(t,"ɵescapeHtml",function(){return Te}),n.d(t,"ɵflattenStyles",function(){return P}),n.d(t,"ɵinitDomAdapter",function(){return le}),n.d(t,"ɵshimContentAttribute",function(){return A}),n.d(t,"ɵshimHostAttribute",function(){return N});var r=n(1),i=n(4),a=n(0);n.d(t,"ɵgetDOM",function(){return i["ɵgetDOM"]}); + */}).call(this,n(127))},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(2),i=n(55),a=n(22);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],o={};o[e]=t(n),r(r.S+r.F*a(function(){n(1)}),"Object",o)}},function(e,t,n){var r=n(63),i=n(116),a=n(43),o=n(31),s=n(234);e.exports=function(e,t){var n=1==e,l=2==e,c=3==e,u=4==e,d=6==e,h=5==e||d,p=t||s;return function(t,s,f){for(var m,g,y=a(t),b=i(y),v=r(s,f,3),k=o(b.length),w=0,_=n?p(t,k):l?p(t,0):void 0;k>w;w++)if((h||w in b)&&(g=v(m=b[w],w,y),e))if(n)_[w]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return w;case 2:_.push(m)}else if(u)return!1;return d?-1:c||u?u:_}}},,function(e,t,n){"use strict";n.r(t),n.d(t,"BrowserModule",function(){return ye}),n.d(t,"BrowserTransferStateModule",function(){return De}),n.d(t,"By",function(){return Ae}),n.d(t,"DomSanitizer",function(){return ae}),n.d(t,"EVENT_MANAGER_PLUGINS",function(){return j}),n.d(t,"EventManager",function(){return C}),n.d(t,"HAMMER_GESTURE_CONFIG",function(){return W}),n.d(t,"HAMMER_LOADER",function(){return K}),n.d(t,"HammerGestureConfig",function(){return G}),n.d(t,"HammerModule",function(){return J}),n.d(t,"Meta",function(){return ve}),n.d(t,"Title",function(){return we}),n.d(t,"TransferState",function(){return Ie}),n.d(t,"VERSION",function(){return Ne}),n.d(t,"disableDebugTools",function(){return Se}),n.d(t,"enableDebugTools",function(){return xe}),n.d(t,"makeStateKey",function(){return Oe}),n.d(t,"platformBrowser",function(){return me}),n.d(t,"ɵBROWSER_SANITIZATION_PROVIDERS",function(){return fe}),n.d(t,"ɵBROWSER_SANITIZATION_PROVIDERS__POST_R3__",function(){return pe}),n.d(t,"ɵBrowserDomAdapter",function(){return l}),n.d(t,"ɵBrowserGetTestability",function(){return p}),n.d(t,"ɵDomEventsPlugin",function(){return U}),n.d(t,"ɵDomRendererFactory2",function(){return M}),n.d(t,"ɵDomSanitizerImpl",function(){return se}),n.d(t,"ɵDomSharedStylesHost",function(){return S}),n.d(t,"ɵELEMENT_PROBE_PROVIDERS",function(){return _}),n.d(t,"ɵELEMENT_PROBE_PROVIDERS__POST_R3__",function(){return k}),n.d(t,"ɵHAMMER_PROVIDERS__POST_R3__",function(){return $}),n.d(t,"ɵHammerGesturesPlugin",function(){return Q}),n.d(t,"ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS",function(){return he}),n.d(t,"ɵKeyEventsPlugin",function(){return ie}),n.d(t,"ɵNAMESPACE_URIS",function(){return T}),n.d(t,"ɵSharedStylesHost",function(){return x}),n.d(t,"ɵTRANSITION_ID",function(){return u}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_a",function(){return ce}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_b",function(){return ue}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_c",function(){return ge}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_d",function(){return be}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_e",function(){return ke}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_f",function(){return ze}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_g",function(){return E}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_h",function(){return Y}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_i",function(){return Z}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_j",function(){return oe}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_k",function(){return d}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_l",function(){return h}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_m",function(){return v}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_n",function(){return w}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_o",function(){return s}),n.d(t,"ɵescapeHtml",function(){return Te}),n.d(t,"ɵflattenStyles",function(){return P}),n.d(t,"ɵinitDomAdapter",function(){return le}),n.d(t,"ɵshimContentAttribute",function(){return A}),n.d(t,"ɵshimHostAttribute",function(){return N});var r=n(1),i=n(4),a=n(0);n.d(t,"ɵgetDOM",function(){return i["ɵgetDOM"]}); /** * @license Angular v9.1.12 * (c) 2010-2020 Google LLC. https://angular.io/ @@ -1918,14 +1918,14 @@ var o,s=function(e){function t(){return e.call(this)||this}return Object(r.c)(t, * * 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 - */},,function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return o}),n.d(t,"a",function(){return s});var r,i=(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(e){function t(t,n){var r=this,i=this.constructor.prototype;return(r=e.call(this,t)||this).statusCode=n,r.__proto__=i,r}return i(t,e),t}(Error),o=function(e){function t(t){void 0===t&&(t="A timeout occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error),s=function(e){function t(t){void 0===t&&(t="An abort occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error)},function(e,t,n){"use strict";n.d(t,"a",function(){return s}),n.d(t,"b",function(){return l}),n.d(t,"c",function(){return c});var r=n(1),i=n(24),a=n(32),o=n(216),s=function(e){function t(t){var n=e.call(this)||this;return n.parent=t,n}return r.c(t,e),t.prototype._next=function(e){this.parent.notifyNext(e)},t.prototype._error=function(e){this.parent.notifyError(e),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(),this.unsubscribe()},t}(i.a),l=(i.a,function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.c(t,e),t.prototype.notifyNext=function(e){this.destination.next(e)},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(){this.destination.complete()},t}(i.a));i.a;function c(e,t){if(!t.closed)return e instanceof a.a?e.subscribe(t):Object(o.a)(e)(t)}},function(e,t,n){var r=n(23);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";if(n(35)){var r=n(86),i=n(21),a=n(22),o=n(2),s=n(139),l=n(188),c=n(64),u=n(98),d=n(85),h=n(56),p=n(100),f=n(65),m=n(31),g=n(243),y=n(92),b=n(76),v=n(51),k=n(95),w=n(23),_=n(43),j=n(184),C=n(83),E=n(58),x=n(93).f,S=n(134),T=n(90),O=n(28),I=n(70),z=n(151),D=n(126),A=n(204),N=n(108),P=n(135),R=n(97),M=n(185),q=n(234),L=n(33),B=n(60),F=L.f,V=B.f,U=i.RangeError,H=i.TypeError,W=i.Uint8Array,K=Array.prototype,G=l.ArrayBuffer,Q=l.DataView,$=I(0),Y=I(2),Z=I(3),J=I(4),X=I(5),ee=I(6),te=z(!0),ne=z(!1),re=A.values,ie=A.keys,ae=A.entries,oe=K.lastIndexOf,se=K.reduce,le=K.reduceRight,ce=K.join,ue=K.sort,de=K.slice,he=K.toString,pe=K.toLocaleString,fe=O("iterator"),me=O("toStringTag"),ge=T("typed_constructor"),ye=T("def_constructor"),be=s.CONSTR,ve=s.TYPED,ke=s.VIEW,we=I(1,function(e,t){return xe(D(e,e[ye]),t)}),_e=a(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),je=!!W&&!!W.prototype.set&&a(function(){new W(1).set({})}),Ce=function(e,t){var n=f(e);if(n<0||n%t)throw U("Wrong offset!");return n},Ee=function(e){if(w(e)&&ve in e)return e;throw H(e+" is not a typed array!")},xe=function(e,t){if(!(w(e)&&ge in e))throw H("It is not a typed array constructor!");return new e(t)},Se=function(e,t){return Te(D(e,e[ye]),t)},Te=function(e,t){for(var n=0,r=t.length,i=xe(e,r);r>n;)i[n]=t[n++];return i},Oe=function(e,t,n){F(e,t,{get:function(){return this._d[n]}})},Ie=function(e){var t,n,r,i,a,o,s=_(e),l=arguments.length,u=l>1?arguments[1]:void 0,d=void 0!==u,h=S(s);if(null!=h&&!j(h)){for(o=h.call(s),r=[],t=0;!(a=o.next()).done;t++)r.push(a.value);s=r}for(d&&l>2&&(u=c(u,arguments[2],2)),t=0,n=m(s.length),i=xe(this,n);n>t;t++)i[t]=d?u(s[t],t):s[t];return i},ze=function(){for(var e=0,t=arguments.length,n=xe(this,t);t>e;)n[e]=arguments[e++];return n},De=!!W&&a(function(){pe.call(new W(1))}),Ae=function(){return pe.apply(De?de.call(Ee(this)):Ee(this),arguments)},Ne={copyWithin:function(e,t){return q.call(Ee(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return J(Ee(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return M.apply(Ee(this),arguments)},filter:function(e){return Se(this,Y(Ee(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return X(Ee(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return ee(Ee(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){$(Ee(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ne(Ee(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return te(Ee(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return ce.apply(Ee(this),arguments)},lastIndexOf:function(e){return oe.apply(Ee(this),arguments)},map:function(e){return we(Ee(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return se.apply(Ee(this),arguments)},reduceRight:function(e){return le.apply(Ee(this),arguments)},reverse:function(){for(var e,t=Ee(this).length,n=Math.floor(t/2),r=0;r1?arguments[1]:void 0)},sort:function(e){return ue.call(Ee(this),e)},subarray:function(e,t){var n=Ee(this),r=n.length,i=y(e,r);return new(D(n,n[ye]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,m((void 0===t?r:y(t,r))-i))}},Pe=function(e,t){return Se(this,de.call(Ee(this),e,t))},Re=function(e){Ee(this);var t=Ce(arguments[1],1),n=this.length,r=_(e),i=m(r.length),a=0;if(i+t>n)throw U("Wrong length!");for(;a255?255:255&r),i.v[p](n*t+i.o,r,_e)}(this,n,e)},enumerable:!0})};v?(f=n(function(e,n,r,i){u(e,f,c,"_d");var a,o,s,l,d=0,p=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(l=k(n))||"SharedArrayBuffer"==l))return ve in n?Te(f,n):Ie.call(f,n);a=n,p=Ce(r,t);var y=n.byteLength;if(void 0===i){if(y%t)throw U("Wrong length!");if((o=y-p)<0)throw U("Wrong length!")}else if((o=m(i)*t)+p>y)throw U("Wrong length!");s=o/t}else s=g(n),a=new G(o=s*t);for(h(e,"_d",{b:a,o:p,l:o,e:s,v:new Q(a)});ddocument.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[a[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[o]=e):n=l(),void 0===t?n:i(n,t)}},,function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){e.exports=!1},,,,function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(221),i=n(174);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(65),i=Math.max,a=Math.min;e.exports=function(e,t){return(e=r(e))<0?i(e+t,0):a(e,t)}},function(e,t,n){var r=n(221),i=n(174).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},,function(e,t,n){var r=n(68),i=n(28)("toStringTag"),a="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?r(t):"Object"==(o=r(t))&&"function"==typeof t.callee?"Arguments":o}},function(e,t,n){var r=n(28)("unscopables"),i=Array.prototype;null==i[r]&&n(56)(i,r,{}),e.exports=function(e){i[r][e]=!0}},function(e,t,n){"use strict";var r=n(21),i=n(33),a=n(35),o=n(28)("species");e.exports=function(e){var t=r[e];a&&t&&!t[o]&&i.f(t,o,{configurable:!0,get:function(){return this}})}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(64),i=n(231),a=n(184),o=n(16),s=n(31),l=n(134),c={},u={};(t=e.exports=function(e,t,n,d,h){var p,f,m,g,y=h?function(){return e}:l(e),b=r(n,d,t?2:1),v=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(a(y)){for(p=s(e.length);p>v;v++)if((g=t?b(o(f=e[v])[0],f[1]):b(e[v]))===c||g===u)return g}else for(m=y.call(e);!(f=m.next()).done;)if((g=i(m,b,f.value,t))===c||g===u)return g}).BREAK=c,t.RETURN=u},function(e,t,n){var r=n(52);e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},,,,,function(e,t,n){"use strict";(function(e){ + */},function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return o}),n.d(t,"a",function(){return s});var r,i=(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(e){function t(t,n){var r=this,i=this.constructor.prototype;return(r=e.call(this,t)||this).statusCode=n,r.__proto__=i,r}return i(t,e),t}(Error),o=function(e){function t(t){void 0===t&&(t="A timeout occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error),s=function(e){function t(t){void 0===t&&(t="An abort occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error)},function(e,t,n){"use strict";n.d(t,"a",function(){return s}),n.d(t,"b",function(){return l}),n.d(t,"c",function(){return c});var r=n(1),i=n(25),a=n(33),o=n(218),s=function(e){function t(t){var n=e.call(this)||this;return n.parent=t,n}return r.c(t,e),t.prototype._next=function(e){this.parent.notifyNext(e)},t.prototype._error=function(e){this.parent.notifyError(e),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(),this.unsubscribe()},t}(i.a),l=(i.a,function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.c(t,e),t.prototype.notifyNext=function(e){this.destination.next(e)},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(){this.destination.complete()},t}(i.a));i.a;function c(e,t){if(!t.closed)return e instanceof a.a?e.subscribe(t):Object(o.a)(e)(t)}},function(e,t,n){var r=n(23);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";if(n(35)){var r=n(87),i=n(21),a=n(22),o=n(2),s=n(139),l=n(190),c=n(63),u=n(98),d=n(86),h=n(56),p=n(100),f=n(64),m=n(31),g=n(245),y=n(92),b=n(76),v=n(51),k=n(95),w=n(23),_=n(43),j=n(186),C=n(84),E=n(58),x=n(93).f,S=n(134),T=n(90),O=n(29),I=n(71),z=n(152),D=n(126),A=n(206),N=n(108),P=n(135),R=n(97),M=n(187),q=n(236),L=n(34),B=n(60),F=L.f,V=B.f,U=i.RangeError,H=i.TypeError,W=i.Uint8Array,K=Array.prototype,G=l.ArrayBuffer,Q=l.DataView,$=I(0),Y=I(2),Z=I(3),J=I(4),X=I(5),ee=I(6),te=z(!0),ne=z(!1),re=A.values,ie=A.keys,ae=A.entries,oe=K.lastIndexOf,se=K.reduce,le=K.reduceRight,ce=K.join,ue=K.sort,de=K.slice,he=K.toString,pe=K.toLocaleString,fe=O("iterator"),me=O("toStringTag"),ge=T("typed_constructor"),ye=T("def_constructor"),be=s.CONSTR,ve=s.TYPED,ke=s.VIEW,we=I(1,function(e,t){return xe(D(e,e[ye]),t)}),_e=a(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),je=!!W&&!!W.prototype.set&&a(function(){new W(1).set({})}),Ce=function(e,t){var n=f(e);if(n<0||n%t)throw U("Wrong offset!");return n},Ee=function(e){if(w(e)&&ve in e)return e;throw H(e+" is not a typed array!")},xe=function(e,t){if(!(w(e)&&ge in e))throw H("It is not a typed array constructor!");return new e(t)},Se=function(e,t){return Te(D(e,e[ye]),t)},Te=function(e,t){for(var n=0,r=t.length,i=xe(e,r);r>n;)i[n]=t[n++];return i},Oe=function(e,t,n){F(e,t,{get:function(){return this._d[n]}})},Ie=function(e){var t,n,r,i,a,o,s=_(e),l=arguments.length,u=l>1?arguments[1]:void 0,d=void 0!==u,h=S(s);if(null!=h&&!j(h)){for(o=h.call(s),r=[],t=0;!(a=o.next()).done;t++)r.push(a.value);s=r}for(d&&l>2&&(u=c(u,arguments[2],2)),t=0,n=m(s.length),i=xe(this,n);n>t;t++)i[t]=d?u(s[t],t):s[t];return i},ze=function(){for(var e=0,t=arguments.length,n=xe(this,t);t>e;)n[e]=arguments[e++];return n},De=!!W&&a(function(){pe.call(new W(1))}),Ae=function(){return pe.apply(De?de.call(Ee(this)):Ee(this),arguments)},Ne={copyWithin:function(e,t){return q.call(Ee(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return J(Ee(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return M.apply(Ee(this),arguments)},filter:function(e){return Se(this,Y(Ee(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return X(Ee(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return ee(Ee(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){$(Ee(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ne(Ee(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return te(Ee(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return ce.apply(Ee(this),arguments)},lastIndexOf:function(e){return oe.apply(Ee(this),arguments)},map:function(e){return we(Ee(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return se.apply(Ee(this),arguments)},reduceRight:function(e){return le.apply(Ee(this),arguments)},reverse:function(){for(var e,t=Ee(this).length,n=Math.floor(t/2),r=0;r1?arguments[1]:void 0)},sort:function(e){return ue.call(Ee(this),e)},subarray:function(e,t){var n=Ee(this),r=n.length,i=y(e,r);return new(D(n,n[ye]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,m((void 0===t?r:y(t,r))-i))}},Pe=function(e,t){return Se(this,de.call(Ee(this),e,t))},Re=function(e){Ee(this);var t=Ce(arguments[1],1),n=this.length,r=_(e),i=m(r.length),a=0;if(i+t>n)throw U("Wrong length!");for(;a255?255:255&r),i.v[p](n*t+i.o,r,_e)}(this,n,e)},enumerable:!0})};v?(f=n(function(e,n,r,i){u(e,f,c,"_d");var a,o,s,l,d=0,p=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(l=k(n))||"SharedArrayBuffer"==l))return ve in n?Te(f,n):Ie.call(f,n);a=n,p=Ce(r,t);var y=n.byteLength;if(void 0===i){if(y%t)throw U("Wrong length!");if((o=y-p)<0)throw U("Wrong length!")}else if((o=m(i)*t)+p>y)throw U("Wrong length!");s=o/t}else s=g(n),a=new G(o=s*t);for(h(e,"_d",{b:a,o:p,l:o,e:s,v:new Q(a)});ddocument.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[a[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[o]=e):n=l(),void 0===t?n:i(n,t)}},,function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){e.exports=!1},,,function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(223),i=n(176);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(64),i=Math.max,a=Math.min;e.exports=function(e,t){return(e=r(e))<0?i(e+t,0):a(e,t)}},function(e,t,n){var r=n(223),i=n(176).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},,function(e,t,n){var r=n(69),i=n(29)("toStringTag"),a="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?r(t):"Object"==(o=r(t))&&"function"==typeof t.callee?"Arguments":o}},function(e,t,n){var r=n(29)("unscopables"),i=Array.prototype;null==i[r]&&n(56)(i,r,{}),e.exports=function(e){i[r][e]=!0}},function(e,t,n){"use strict";var r=n(21),i=n(34),a=n(35),o=n(29)("species");e.exports=function(e){var t=r[e];a&&t&&!t[o]&&i.f(t,o,{configurable:!0,get:function(){return this}})}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(63),i=n(233),a=n(186),o=n(16),s=n(31),l=n(134),c={},u={};(t=e.exports=function(e,t,n,d,h){var p,f,m,g,y=h?function(){return e}:l(e),b=r(n,d,t?2:1),v=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(a(y)){for(p=s(e.length);p>v;v++)if((g=t?b(o(f=e[v])[0],f[1]):b(e[v]))===c||g===u)return g}else for(m=y.call(e);!(f=m.next()).done;)if((g=i(m,b,f.value,t))===c||g===u)return g}).BREAK=c,t.RETURN=u},function(e,t,n){var r=n(52);e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},,,,,function(e,t,n){"use strict";(function(e){ /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ -var r=n(810),i=n(811),a=n(534);function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return B(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var a,o=1,s=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=n;as&&(n=s-l),a=n;a>=0;a--){for(var d=!0,h=0;hi&&(r=i):r=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var o=0;o>8,i=n%256,a.push(i),a.push(r);return a}(t,e.length-n),e,n,r)}function C(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function E(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+d<=n)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=d}return function(e){var t=e.length;if(t<=x)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return E(this,t,n);case"ascii":return S(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},l.prototype.compare=function(e,t,n,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(r,i),u=e.slice(t,n),d=0;di)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return v(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return _(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var x=4096;function S(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",a=t;an)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,r,i,a){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function A(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function N(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function P(e,t,n,r,i,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function R(e,t,n,r,a){return a||P(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function M(e,t,n,r,a){return a||P(e,0,n,8),i.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUInt8=function(e,t){return t||z(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||z(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||z(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||z(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=this[e],i=1,a=0;++a=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return t||z(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||z(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){t||z(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return t||z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||z(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||z(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||z(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||z(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):A(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):A(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):A(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):A(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return M(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return M(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(a<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function F(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(110))},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=!1,i={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){e&&(new Error).stack;r=e},get useDeprecatedSynchronousErrorHandling(){return r}}},function(e,t,n){var r=n(33).f,i=n(51),a=n(28)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},function(e,t){e.exports={}},function(e,t,n){var r=n(23);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},,,,,function(e,t,n){var r=n(68);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(2),i=n(77),a=n(22),o=n(177),s="["+o+"]",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),u=function(e,t,n){var i={},s=a(function(){return!!o[e]()||"​…"!="​…"[e]()}),l=i[e]=s?t(d):o[e];n&&(i[n]=l),r(r.P+r.F*s,"String",i)},d=u.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(l,"")),2&t&&(e=e.replace(c,"")),e};e.exports=u},,,function(e,t,n){var r=n(37);n(195),n(716),n(717),n(44),r.random&&r.random.getBytes?e.exports=r.random:function(t){var n={},i=new Array(4),a=r.util.createBuffer();function o(){var e=r.prng.create(n);return e.getBytes=function(t,n){return e.generate(t,n)},e.getBytesSync=function(t){return e.generate(t)},e}n.formatKey=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),r.aes._expandKey(e,!1)},n.formatSeed=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),e},n.cipher=function(e,t){return r.aes._updateBlock(e,t,i,!1),a.putInt32(i[0]),a.putInt32(i[1]),a.putInt32(i[2]),a.putInt32(i[3]),a.getBytes()},n.increment=function(e){return++e[3],e},n.md=r.md.sha256;var s=o(),l=null;if("undefined"!=typeof window){var c=window.crypto||window.msCrypto;c&&c.getRandomValues&&(l=function(e){return c.getRandomValues(e)})}if(r.options.usePureJavaScript||!r.util.isNodejs&&!l){if("undefined"==typeof window||window.document,s.collectInt(+new Date,32),"undefined"!=typeof navigator){var u="";for(var d in navigator)try{"string"==typeof navigator[d]&&(u+=navigator[d])}catch(h){}s.collect(u),u=null}t&&(t().mousemove(function(e){s.collectInt(e.clientX,16),s.collectInt(e.clientY,16)}),t().keypress(function(e){s.collectInt(e.charCode,8)}))}if(r.random)for(var d in s)r.random[d]=s[d];else r.random=s;r.random.createInstance=o,e.exports=r.random}("undefined"!=typeof jQuery?jQuery:null)},function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return a});var r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n1)for(var n=1;n")}),d=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var h=s(e),p=!a(function(){var t={};return t[h]=function(){return 7},7!=""[e](t)}),f=p?!a(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[c]=function(){return n}),n[h](""),!t}):void 0;if(!p||!f||"replace"===e&&!u||"split"===e&&!d){var m=/./[h],g=n(o,h,""[e],function(e,t,n,r,i){return t.exec===l?p&&!i?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),y=g[0],b=g[1];r(String.prototype,e,y),i(RegExp.prototype,h,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)})}}},function(e,t,n){"use strict";var r=n(21),i=n(2),a=n(52),o=n(100),s=n(82),l=n(99),c=n(98),u=n(23),d=n(22),h=n(135),p=n(107),f=n(178);e.exports=function(e,t,n,m,g,y){var b=r[e],v=b,k=g?"set":"add",w=v&&v.prototype,_={},j=function(e){var t=w[e];a(w,e,"delete"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return y&&!u(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof v&&(y||w.forEach&&!d(function(){(new v).entries().next()}))){var C=new v,E=C[k](y?{}:-0,1)!=C,x=d(function(){C.has(1)}),S=h(function(e){new v(e)}),T=!y&&d(function(){for(var e=new v,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((v=t(function(t,n){c(t,v,e);var r=f(new b,t,v);return null!=n&&l(n,g,r[k],r),r})).prototype=w,w.constructor=v),(x||T)&&(j("delete"),j("has"),g&&j("get")),(T||E)&&j(k),y&&w.clear&&delete w.clear}else v=m.getConstructor(t,e,g,k),o(v.prototype,n),s.NEED=!0;return p(v,e),_[e]=v,i(i.G+i.W+i.F*(v!=b),_),y||m.setStrong(v,e,g),v}},function(e,t,n){for(var r,i=n(21),a=n(56),o=n(90),s=o("typed_array"),l=o("view"),c=!(!i.ArrayBuffer||!i.DataView),u=c,d=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");d<9;)(r=i[h[d++]])?(a(r.prototype,s,!0),a(r.prototype,l,!0)):u=!1;e.exports={ABV:c,CONSTR:u,TYPED:s,VIEW:l}},,,,,,function(e,t,n){var r=n(37);n(44),n(196);var i=e.exports=r.asn1=r.asn1||{};function a(e,t,n){if(n>t){var r=new Error("Too few bytes to parse DER.");throw r.available=e.length(),r.remaining=t,r.requested=n,r}}i.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},i.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},i.create=function(e,t,n,a,o){if(r.util.isArray(a)){for(var s=[],l=0;ln){if(s.strict){var p=new Error("Too few bytes to read ASN.1 value.");throw p.available=t.length(),p.remaining=n,p.requested=h,p}h=n}var f;var m;var g=32==(32&c);if(g)if(f=[],void 0===h)for(;;){if(a(t,n,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),n-=2;break}l=t.length(),f.push(e(t,n,r+1,s)),n-=l-t.length()}else for(;h>0;)l=t.length(),f.push(e(t,h,r+1,s)),n-=l-t.length(),h-=l-t.length();void 0===f&&u===i.Class.UNIVERSAL&&d===i.Type.BITSTRING&&(m=t.bytes(h));if(void 0===f&&s.decodeBitStrings&&u===i.Class.UNIVERSAL&&d===i.Type.BITSTRING&&h>1){var y=t.read,b=n,v=0;if(d===i.Type.BITSTRING&&(a(t,n,1),v=t.getByte(),n--),0===v)try{l=t.length();var k={verbose:s.verbose,strict:!0,decodeBitStrings:!0},w=e(t,n,r+1,k),_=l-t.length();n-=_,d==i.Type.BITSTRING&&_++;var j=w.tagClass;_!==h||j!==i.Class.UNIVERSAL&&j!==i.Class.CONTEXT_SPECIFIC||(f=[w])}catch(E){}void 0===f&&(t.read=y,n=b)}if(void 0===f){if(void 0===h){if(s.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");h=n}if(d===i.Type.BMPSTRING)for(f="";h>0;h-=2)a(t,n,2),f+=String.fromCharCode(t.getInt16()),n-=2;else f=t.getBytes(h)}var C=void 0===m?null:{bitStringContents:m};return i.create(u,d,g,f,C)}(e,e.length(),0,t)},i.toDer=function(e){var t=r.util.createBuffer(),n=e.tagClass|e.type,a=r.util.createBuffer(),o=!1;if("bitStringContents"in e&&(o=!0,e.original&&(o=i.equals(e,e.original))),o)a.putBytes(e.bitStringContents);else if(e.composed){e.constructed?n|=32:a.putByte(0);for(var s=0;s1&&(0===e.value.charCodeAt(0)&&0==(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128==(128&e.value.charCodeAt(1)))?a.putBytes(e.value.substr(1)):a.putBytes(e.value);if(t.putByte(n),a.length()<=127)t.putByte(127&a.length());else{var l=a.length(),c="";do{c+=String.fromCharCode(255&l),l>>>=8}while(l>0);t.putByte(128|c.length);for(s=c.length-1;s>=0;--s)t.putByte(c.charCodeAt(s))}return t.putBuffer(a),t},i.oidToDer=function(e){var t,n,i,a,o=e.split("."),s=r.util.createBuffer();s.putByte(40*parseInt(o[0],10)+parseInt(o[1],10));for(var l=2;l>>=7,t||(a|=128),n.push(a),t=!1}while(i>0);for(var c=n.length-1;c>=0;--c)s.putByte(n[c])}return s},i.derToOid=function(e){var t;"string"==typeof e&&(e=r.util.createBuffer(e));var n=e.getByte();t=Math.floor(n/40)+"."+n%40;for(var i=0;e.length()>0;)i<<=7,128&(n=e.getByte())?i+=127&n:(t+="."+(i+n),i=0);return t},i.utcTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,2),10);n=n>=50?1900+n:2e3+n;var r=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),a=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=0;if(e.length>11){var l=e.charAt(10),c=10;"+"!==l&&"-"!==l&&(s=parseInt(e.substr(10,2),10),c+=2)}if(t.setUTCFullYear(n,r,i),t.setUTCHours(a,o,s,0),c&&("+"===(l=e.charAt(c))||"-"===l)){var u=60*parseInt(e.substr(c+1,2),10)+parseInt(e.substr(c+4,2),10);u*=6e4,"+"===l?t.setTime(+t-u):t.setTime(+t+u)}return t},i.generalizedTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,4),10),r=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),a=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),s=parseInt(e.substr(12,2),10),l=0,c=0,u=!1;"Z"===e.charAt(e.length-1)&&(u=!0);var d=e.length-5,h=e.charAt(d);"+"!==h&&"-"!==h||(c=60*parseInt(e.substr(d+1,2),10)+parseInt(e.substr(d+4,2),10),c*=6e4,"+"===h&&(c*=-1),u=!0);return"."===e.charAt(14)&&(l=1e3*parseFloat(e.substr(14),10)),u?(t.setUTCFullYear(n,r,i),t.setUTCHours(a,o,s,l),t.setTime(+t+c)):(t.setFullYear(n,r,i),t.setHours(a,o,s,l)),t},i.dateToUtcTime=function(e){if("string"==typeof e)return e;var t="",n=[];n.push((""+e.getUTCFullYear()).substr(2)),n.push(""+(e.getUTCMonth()+1)),n.push(""+e.getUTCDate()),n.push(""+e.getUTCHours()),n.push(""+e.getUTCMinutes()),n.push(""+e.getUTCSeconds());for(var r=0;r=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var n=new Error("Integer too large; max is 32-bits.");throw n.integer=e,n},i.derToInteger=function(e){"string"==typeof e&&(e=r.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},i.validate=function(e,t,n,a){var o=!1;if(e.tagClass!==t.tagClass&&void 0!==t.tagClass||e.type!==t.type&&void 0!==t.type)a&&(e.tagClass!==t.tagClass&&a.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&a.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));else if(e.constructed===t.constructed||void 0===t.constructed){if(o=!0,t.value&&r.util.isArray(t.value))for(var s=0,l=0;o&&l0&&(a+="\n");for(var o="",l=0;l1?a+="0x"+r.util.bytesToHex(e.value.slice(1)):a+="(none)",e.value.length>0){var h=e.value.charCodeAt(0);1==h?a+=" (1 unused bit shown)":h>1&&(a+=" ("+h+" unused bits shown)")}}else e.type===i.Type.OCTETSTRING?(s.test(e.value)||(a+="("+e.value+") "),a+="0x"+r.util.bytesToHex(e.value)):e.type===i.Type.UTF8?a+=r.util.decodeUtf8(e.value):e.type===i.Type.PRINTABLESTRING||e.type===i.Type.IA5String?a+=e.value:s.test(e.value)?a+="0x"+r.util.bytesToHex(e.value):0===e.value.length?a+="[null]":a+=e.value}return a}},function(e,t,n){var r=n(37);e.exports=r.md=r.md||{},r.md.algorithms=r.md.algorithms||{}},function(e,t,n){"use strict";function r(e){return"function"==typeof e}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";n.d(t,"b",function(){return u}),n.d(t,"a",function(){return d});var r=n(1),i=n(32),a=n(24),o=n(54),s=n(131),l=n(301),c=n(197),u=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return r.c(t,e),t}(a.a),d=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return r.c(t,e),t.prototype[c.a]=function(){return new u(this)},t.prototype.lift=function(e){var t=new h(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new s.a;if(!this.isStopped)for(var t=this.observers,n=t.length,r=t.slice(),i=0;iu;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(68);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(65),i=n(77);e.exports=function(e){return function(t,n){var a,o,s=String(i(t)),l=r(n),c=s.length;return l<0||l>=c?e?"":void 0:(a=s.charCodeAt(l))<55296||a>56319||l+1===c||(o=s.charCodeAt(l+1))<56320||o>57343?e?s.charAt(l):a:e?s.slice(l,l+2):o-56320+(a-55296<<10)+65536}}},function(e,t,n){"use strict";var r=n(86),i=n(2),a=n(52),o=n(56),s=n(108),l=n(181),c=n(107),u=n(58),d=n(28)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,n,f,m,g,y){l(n,t,f);var b,v,k,w=function(e){if(!h&&e in E)return E[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},_=t+" Iterator",j="values"==m,C=!1,E=e.prototype,x=E[d]||E["@@iterator"]||m&&E[m],S=x||w(m),T=m?j?w("entries"):S:void 0,O="Array"==t&&E.entries||x;if(O&&(k=u(O.call(new e)))!==Object.prototype&&k.next&&(c(k,_,!0),r||"function"==typeof k[d]||o(k,d,p)),j&&x&&"values"!==x.name&&(C=!0,S=function(){return x.call(this)}),r&&!y||!h&&!C&&E[d]||o(E,d,S),s[t]=S,s[_]=p,m)if(b={values:j?S:w("values"),keys:g?S:w("keys"),entries:T},y)for(v in b)v in E||a(E,v,b[v]);else i(i.P+i.F*(h||C),t,b);return b}},function(e,t,n){var r=n(23),i=n(68),a=n(28)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==i(e))}},,,,,,function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){function e(){}return e.prototype.log=function(e,t){},e.instance=new e,e}()},function(e,t,n){"use strict";function r(e){return e}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";function r(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(t,"a",function(){return i});var i=r()},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(1),i=n(24);function a(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(e,t))}}var o=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.thisArg))},e}(),s=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.project=n,i.count=0,i.thisArg=r||i,i}return r.c(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(i.a)},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return a});var r=n(32),i=new r.a(function(e){return e.complete()});function a(e){return e?function(e){return new r.a(function(t){return e.schedule(function(){return t.complete()})})}(e):i}},function(e,t,n){"use strict";var r=n(32),i=n(216),a=n(54),o=n(130);var s=n(214),l=n(164);var c=n(306),u=n(304);function d(e,t){if(null!=e){if(function(e){return e&&"function"==typeof e[o.a]}(e))return function(e,t){return new r.a(function(n){var r=new a.a;return r.add(t.schedule(function(){var i=e[o.a]();r.add(i.subscribe({next:function(e){r.add(t.schedule(function(){return n.next(e)}))},error:function(e){r.add(t.schedule(function(){return n.error(e)}))},complete:function(){r.add(t.schedule(function(){return n.complete()}))}}))})),r})}(e,t);if(Object(c.a)(e))return function(e,t){return new r.a(function(n){var r=new a.a;return r.add(t.schedule(function(){return e.then(function(e){r.add(t.schedule(function(){n.next(e),r.add(t.schedule(function(){return n.complete()}))}))},function(e){r.add(t.schedule(function(){return n.error(e)}))})})),r})}(e,t);if(Object(u.a)(e))return Object(s.a)(e,t);if(function(e){return e&&"function"==typeof e[l.a]}(e)||"string"==typeof e)return function(e,t){if(!e)throw new Error("Iterable cannot be null");return new r.a(function(n){var r,i=new a.a;return i.add(function(){r&&"function"==typeof r.return&&r.return()}),i.add(t.schedule(function(){r=e[l.a](),i.add(t.schedule(function(){if(!n.closed){var e,t;try{var i=r.next();e=i.value,t=i.done}catch(a){return void n.error(a)}t?n.complete():(n.next(e),this.schedule())}}))})),i})}(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}function h(e,t){return t?d(e,t):e instanceof r.a?e:new r.a(Object(i.a)(e))}n.d(t,"a",function(){return h})},function(e,t,n){"use strict";var r=n(1),i=function(e){function t(t,n){return e.call(this)||this}return r.c(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(n(54).a);n.d(t,"a",function(){return a});var a=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return r.c(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n=!1,r=void 0;try{this.work(e)}catch(i){n=!0,r=!!i&&i||new Error(i)}if(n)return this.unsubscribe(),r},t.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},t}(i)},function(e,t,n){"use strict";var r=n(1),i=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=function(){return Date.now()},e}();n.d(t,"a",function(){return a});var a=function(e){function t(n,r){void 0===r&&(r=i.now);var a=e.call(this,n,function(){return t.delegate&&t.delegate!==a?t.delegate.now():r()})||this;return a.actions=[],a.active=!1,a.scheduled=void 0,a}return r.c(t,e),t.prototype.schedule=function(n,r,i){return void 0===r&&(r=0),t.delegate&&t.delegate!==this?t.delegate.schedule(n,r,i):e.prototype.schedule.call(this,n,r,i)},t.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(i)},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){function e(){}return e.write=function(t){return""+t+e.RecordSeparator},e.parse=function(t){if(t[t.length-1]!==e.RecordSeparator)throw new Error("Message is incomplete.");var n=t.split(e.RecordSeparator);return n.pop(),n},e.RecordSeparatorCode=30,e.RecordSeparator=String.fromCharCode(e.RecordSeparatorCode),e}()},,function(e,t,n){var r=n(23),i=n(21).document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){var r=n(132)("keys"),i=n(90);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(21).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(23),i=n(16),a=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n(64)(Function.call,n(60).f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(i){t=!0}return function(e,n){return a(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:a}},function(e,t){e.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(e,t,n){var r=n(23),i=n(176).set;e.exports=function(e,t,n){var a,o=t.constructor;return o!==n&&"function"==typeof o&&(a=o.prototype)!==n.prototype&&r(a)&&i&&i(e,a),e}},function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t){var n=Math.expm1;e.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:n},function(e,t,n){"use strict";var r=n(83),i=n(85),a=n(107),o={};n(56)(o,n(28)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(o,{next:i(1,n)}),a(e,t+" Iterator")}},function(e,t,n){var r=n(155),i=n(77);e.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(e))}},function(e,t,n){var r=n(28)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(i){}}return!0}},function(e,t,n){var r=n(108),i=n(28)("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||a[i]===e)}},function(e,t,n){"use strict";var r=n(43),i=n(92),a=n(31);e.exports=function(e){for(var t=r(this),n=a(t.length),o=arguments.length,s=i(o>1?arguments[1]:void 0,n),l=o>2?arguments[2]:void 0,c=void 0===l?n:i(l,n);c>s;)t[s++]=e;return t}},function(e,t,n){"use strict";var r,i,a=n(125),o=RegExp.prototype.exec,s=String.prototype.replace,l=o,c=(r=/a/,i=/b*/g,o.call(r,"a"),o.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),u=void 0!==/()??/.exec("")[1];(c||u)&&(l=function(e){var t,n,r,i,l=this;return u&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),c&&(t=l.lastIndex),r=o.call(l,e),c&&r&&(l.lastIndex=l.global?r.index+r[0].length:t),u&&r&&r.length>1&&s.call(r[0],n,function(){for(i=1;i>1,u=23===t?S(2,-24)-S(2,-77):0,d=0,h=e<0||0===e&&1/e<0?1:0;for((e=x(e))!=e||e===C?(i=e!=e?1:0,r=l):(r=T(O(e)/I),e*(a=S(2,-r))<1&&(r--,a*=2),(e+=r+c>=1?u/a:u*S(2,1-c))*a>=2&&(r++,a/=2),r+c>=l?(i=0,r=l):r+c>=1?(i=(e*a-1)*S(2,t),r+=c):(i=e*S(2,c-1)*S(2,t),r=0));t>=8;o[d++]=255&i,i/=256,t-=8);for(r=r<0;o[d++]=255&r,r/=256,s-=8);return o[--d]|=128*h,o}function P(e,t,n){var r,i=8*n-t-1,a=(1<>1,s=i-7,l=n-1,c=e[l--],u=127&c;for(c>>=7;s>0;u=256*u+e[l],l--,s-=8);for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;r=256*r+e[l],l--,s-=8);if(0===u)u=1-o;else{if(u===a)return r?NaN:c?-C:C;r+=S(2,t),u-=o}return(c?-1:1)*r*S(2,u-t)}function R(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function M(e){return[255&e]}function q(e){return[255&e,e>>8&255]}function L(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function B(e){return N(e,52,8)}function F(e){return N(e,23,4)}function V(e,t,n){m(e[b],t,{get:function(){return this[n]}})}function U(e,t,n,r){var i=p(+n);if(i+t>e[D])throw j(v);var a=e[z]._b,o=i+e[A],s=a.slice(o,o+t);return r?s:s.reverse()}function H(e,t,n,r,i,a){var o=p(+n);if(o+t>e[D])throw j(v);for(var s=e[z]._b,l=o+e[A],c=r(+i),u=0;uQ;)(W=G[Q++])in k||s(k,W,E[W]);a||(K.constructor=k)}var $=new w(new k(2)),Y=w[b].setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||l(w[b],{setInt8:function(e,t){Y.call(this,e,t<<24>>24)},setUint8:function(e,t){Y.call(this,e,t<<24>>24)}},!0)}else k=function(e){u(this,k,"ArrayBuffer");var t=p(e);this._b=g.call(new Array(t),0),this[D]=t},w=function(e,t,n){u(this,w,"DataView"),u(e,k,"DataView");var r=e[D],i=d(t);if(i<0||i>r)throw j("Wrong offset!");if(i+(n=void 0===n?r-i:h(n))>r)throw j("Wrong length!");this[z]=e,this[A]=i,this[D]=n},i&&(V(k,"byteLength","_l"),V(w,"buffer","_b"),V(w,"byteLength","_l"),V(w,"byteOffset","_o")),l(w[b],{getInt8:function(e){return U(this,1,e)[0]<<24>>24},getUint8:function(e){return U(this,1,e)[0]},getInt16:function(e){var t=U(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=U(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return R(U(this,4,e,arguments[1]))},getUint32:function(e){return R(U(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return P(U(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return P(U(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){H(this,1,e,M,t)},setUint8:function(e,t){H(this,1,e,M,t)},setInt16:function(e,t){H(this,2,e,q,t,arguments[2])},setUint16:function(e,t){H(this,2,e,q,t,arguments[2])},setInt32:function(e,t){H(this,4,e,L,t,arguments[2])},setUint32:function(e,t){H(this,4,e,L,t,arguments[2])},setFloat32:function(e,t){H(this,4,e,F,t,arguments[2])},setFloat64:function(e,t){H(this,8,e,B,t,arguments[2])}});y(k,"ArrayBuffer"),y(w,"DataView"),s(w[b],o.VIEW,!0),t.ArrayBuffer=k,t.DataView=w},,,,,function(e,t,n){var r=n(105),i=r.Buffer;function a(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(a(r,t),t.Buffer=o),a(i,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";var r=n(296),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=d;var a=n(261);a.inherits=n(161);var o=n(699),s=n(510);a.inherits(d,o);for(var l=i(s.prototype),c=0;c>>=2;for(i=0;i>8^255&d^99,a[m]=d,o[d]=m,p=(h=e[d])<<24^d<<16^d<<8^d^h,f=((n=e[m])^(r=e[n])^(i=e[r]))<<24^(m^i)<<16^(m^r^i)<<8^m^n^i;for(var y=0;y<4;++y)l[y][m]=p,c[y][d]=f,p=p<<24|p>>>8,f=f<<24|f>>>8;0===m?m=g=1:(m=n^e[e[e[n^i]]],g^=e[e[g]])}}function p(e,t){for(var n,r=e.slice(0),i=1,o=r.length,l=d*(o+6+1),u=o;u>>16&255]<<24^a[n>>>8&255]<<16^a[255&n]<<8^a[n>>>24]^s[i]<<24,i++):o>6&&u%o==4&&(n=a[n>>>24]<<24^a[n>>>16&255]<<16^a[n>>>8&255]<<8^a[255&n]),r[u]=r[u-o]^n;if(t){for(var h,p=c[0],f=c[1],m=c[2],g=c[3],y=r.slice(0),b=(u=0,(l=r.length)-d);u>>24]]^f[a[h>>>16&255]]^m[a[h>>>8&255]]^g[a[255&h]];r=y}return r}function f(e,t,n,r){var i,s,u,d,h,p,f,m,g,y,b,v,k=e.length/4-1;r?(i=c[0],s=c[1],u=c[2],d=c[3],h=o):(i=l[0],s=l[1],u=l[2],d=l[3],h=a),p=t[0]^e[0],f=t[r?3:1]^e[1],m=t[2]^e[2],g=t[r?1:3]^e[3];for(var w=3,_=1;_>>24]^s[f>>>16&255]^u[m>>>8&255]^d[255&g]^e[++w],b=i[f>>>24]^s[m>>>16&255]^u[g>>>8&255]^d[255&p]^e[++w],v=i[m>>>24]^s[g>>>16&255]^u[p>>>8&255]^d[255&f]^e[++w],g=i[g>>>24]^s[p>>>16&255]^u[f>>>8&255]^d[255&m]^e[++w],p=y,f=b,m=v;n[0]=h[p>>>24]<<24^h[f>>>16&255]<<16^h[m>>>8&255]<<8^h[255&g]^e[++w],n[r?3:1]=h[f>>>24]<<24^h[m>>>16&255]<<16^h[g>>>8&255]<<8^h[255&p]^e[++w],n[2]=h[m>>>24]<<24^h[g>>>16&255]<<16^h[p>>>8&255]<<8^h[255&f]^e[++w],n[r?1:3]=h[g>>>24]<<24^h[p>>>16&255]<<16^h[f>>>8&255]<<8^h[255&m]^e[++w]}function m(e){var t,n="AES-"+((e=e||{}).mode||"CBC").toUpperCase(),i=(t=e.decrypt?r.cipher.createDecipher(n,e.key):r.cipher.createCipher(n,e.key)).start;return t.start=function(e,n){var a=null;n instanceof r.util.ByteBuffer&&(a=n,n={}),(n=n||{}).output=a,n.iv=e,i.call(t,n)},t}},function(e,t,n){var r=n(37);r.pki=r.pki||{};var i=e.exports=r.pki.oids=r.oids=r.oids||{};function a(e,t){i[e]=t,i[t]=e}function o(e,t){i[e]=t}a("1.2.840.113549.1.1.1","rsaEncryption"),a("1.2.840.113549.1.1.4","md5WithRSAEncryption"),a("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),a("1.2.840.113549.1.1.7","RSAES-OAEP"),a("1.2.840.113549.1.1.8","mgf1"),a("1.2.840.113549.1.1.9","pSpecified"),a("1.2.840.113549.1.1.10","RSASSA-PSS"),a("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),a("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),a("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),a("1.2.840.10040.4.3","dsa-with-sha1"),a("1.3.14.3.2.7","desCBC"),a("1.3.14.3.2.26","sha1"),a("2.16.840.1.101.3.4.2.1","sha256"),a("2.16.840.1.101.3.4.2.2","sha384"),a("2.16.840.1.101.3.4.2.3","sha512"),a("1.2.840.113549.2.5","md5"),a("1.2.840.113549.1.7.1","data"),a("1.2.840.113549.1.7.2","signedData"),a("1.2.840.113549.1.7.3","envelopedData"),a("1.2.840.113549.1.7.4","signedAndEnvelopedData"),a("1.2.840.113549.1.7.5","digestedData"),a("1.2.840.113549.1.7.6","encryptedData"),a("1.2.840.113549.1.9.1","emailAddress"),a("1.2.840.113549.1.9.2","unstructuredName"),a("1.2.840.113549.1.9.3","contentType"),a("1.2.840.113549.1.9.4","messageDigest"),a("1.2.840.113549.1.9.5","signingTime"),a("1.2.840.113549.1.9.6","counterSignature"),a("1.2.840.113549.1.9.7","challengePassword"),a("1.2.840.113549.1.9.8","unstructuredAddress"),a("1.2.840.113549.1.9.14","extensionRequest"),a("1.2.840.113549.1.9.20","friendlyName"),a("1.2.840.113549.1.9.21","localKeyId"),a("1.2.840.113549.1.9.22.1","x509Certificate"),a("1.2.840.113549.1.12.10.1.1","keyBag"),a("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),a("1.2.840.113549.1.12.10.1.3","certBag"),a("1.2.840.113549.1.12.10.1.4","crlBag"),a("1.2.840.113549.1.12.10.1.5","secretBag"),a("1.2.840.113549.1.12.10.1.6","safeContentsBag"),a("1.2.840.113549.1.5.13","pkcs5PBES2"),a("1.2.840.113549.1.5.12","pkcs5PBKDF2"),a("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),a("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),a("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),a("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),a("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),a("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),a("1.2.840.113549.2.7","hmacWithSHA1"),a("1.2.840.113549.2.8","hmacWithSHA224"),a("1.2.840.113549.2.9","hmacWithSHA256"),a("1.2.840.113549.2.10","hmacWithSHA384"),a("1.2.840.113549.2.11","hmacWithSHA512"),a("1.2.840.113549.3.7","des-EDE3-CBC"),a("2.16.840.1.101.3.4.1.2","aes128-CBC"),a("2.16.840.1.101.3.4.1.22","aes192-CBC"),a("2.16.840.1.101.3.4.1.42","aes256-CBC"),a("2.5.4.3","commonName"),a("2.5.4.5","serialName"),a("2.5.4.6","countryName"),a("2.5.4.7","localityName"),a("2.5.4.8","stateOrProvinceName"),a("2.5.4.10","organizationName"),a("2.5.4.11","organizationalUnitName"),a("2.16.840.1.113730.1.1","nsCertType"),o("2.5.29.1","authorityKeyIdentifier"),o("2.5.29.2","keyAttributes"),o("2.5.29.3","certificatePolicies"),o("2.5.29.4","keyUsageRestriction"),o("2.5.29.5","policyMapping"),o("2.5.29.6","subtreesConstraint"),o("2.5.29.7","subjectAltName"),o("2.5.29.8","issuerAltName"),o("2.5.29.9","subjectDirectoryAttributes"),o("2.5.29.10","basicConstraints"),o("2.5.29.11","nameConstraints"),o("2.5.29.12","policyConstraints"),o("2.5.29.13","basicConstraints"),a("2.5.29.14","subjectKeyIdentifier"),a("2.5.29.15","keyUsage"),o("2.5.29.16","privateKeyUsagePeriod"),a("2.5.29.17","subjectAltName"),a("2.5.29.18","issuerAltName"),a("2.5.29.19","basicConstraints"),o("2.5.29.20","cRLNumber"),o("2.5.29.21","cRLReason"),o("2.5.29.22","expirationDate"),o("2.5.29.23","instructionCode"),o("2.5.29.24","invalidityDate"),o("2.5.29.25","cRLDistributionPoints"),o("2.5.29.26","issuingDistributionPoint"),o("2.5.29.27","deltaCRLIndicator"),o("2.5.29.28","issuingDistributionPoint"),o("2.5.29.29","certificateIssuer"),o("2.5.29.30","nameConstraints"),a("2.5.29.31","cRLDistributionPoints"),a("2.5.29.32","certificatePolicies"),o("2.5.29.33","policyMappings"),o("2.5.29.34","policyConstraints"),a("2.5.29.35","authorityKeyIdentifier"),o("2.5.29.36","policyConstraints"),a("2.5.29.37","extKeyUsage"),o("2.5.29.46","freshestCRL"),o("2.5.29.54","inhibitAnyPolicy"),a("1.3.6.1.4.1.11129.2.4.2","timestampList"),a("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),a("1.3.6.1.5.5.7.3.1","serverAuth"),a("1.3.6.1.5.5.7.3.2","clientAuth"),a("1.3.6.1.5.5.7.3.3","codeSigning"),a("1.3.6.1.5.5.7.3.4","emailProtection"),a("1.3.6.1.5.5.7.3.8","timeStamping")},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}()},function(e,t,n){"use strict";var r,i=n(166),a=n(307),o=n(32);function s(e){var t=e.error;e.subscriber.error(t)}n.d(t,"a",function(){return l}),r||(r={});var l=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e,t;switch(this.kind){case"N":return Object(a.a)(this.value);case"E":return e=this.error,t?new o.a(function(n){return t.schedule(s,0,{error:e,subscriber:n})}):new o.a(function(t){return t.error(e)});case"C":return Object(i.b)()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}()},function(e,t,n){"use strict";var r=n(193).Buffer,i=n(1022),a=n(297),o=n(1024),s=n(1025),l=n(1026);e.exports=function(e){var t=[],n=[];return{encode:l(t,(e=e||{forceFloat64:!1,compatibilityMode:!1,disableTimestampEncoding:!1}).forceFloat64,e.compatibilityMode,e.disableTimestampEncoding),decode:s(n),register:function(e,t,n,o){return i(t,"must have a constructor"),i(n,"must have an encode function"),i(e>=0,"must have a non-negative type"),i(o,"must have a decode function"),this.registerEncoder(function(e){return e instanceof t},function(t){var i=a(),o=r.allocUnsafe(1);return o.writeInt8(e,0),i.append(o),i.append(n(t)),i}),this.registerDecoder(e,o),this},registerEncoder:function(e,n){return i(e,"must have an encode function"),i(n,"must have an encode function"),t.push({check:e,encode:n}),this},registerDecoder:function(e,t){return i(e>=0,"must have a non-negative type"),i(t,"must have a decode function"),n.push({type:e,decode:t}),this},encoder:o.encoder,decoder:o.decoder,buffer:!0,type:"msgpack5",IncompleteBufferError:s.IncompleteBufferError}}},function(e,t,n){"use strict";var r=n(91),i=n(133),a=n(124),o=n(43),s=n(115),l=Object.assign;e.exports=!l||n(22)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join("")!=r})?function(e,t){for(var n=o(e),l=arguments.length,c=1,u=i.f,d=a.f;l>c;)for(var h,p=s(arguments[c++]),f=u?r(p).concat(u(p)):r(p),m=f.length,g=0;m>g;)d.call(p,h=f[g++])&&(n[h]=p[h]);return n}:l},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){"use strict";var r=n(65),i=n(77);e.exports=function(e){var t=String(i(this)),n="",a=r(e);if(a<0||a==1/0)throw RangeError("Count can't be negative");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";var r=n(33),i=n(85);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){"use strict";var r=n(96),i=n(205),a=n(108),o=n(53);e.exports=n(154)(Array,"Array",function(e,t){this._t=o(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r,i,a,o=n(64),s=n(201),l=n(175),c=n(172),u=n(21),d=u.process,h=u.setImmediate,p=u.clearImmediate,f=u.MessageChannel,m=u.Dispatch,g=0,y={},b=function(){var e=+this;if(y.hasOwnProperty(e)){var t=y[e];delete y[e],t()}},v=function(e){b.call(e.data)};h&&p||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return y[++g]=function(){s("function"==typeof e?e:Function(e),t)},r(g),g},p=function(e){delete y[e]},"process"==n(68)(d)?r=function(e){d.nextTick(o(b,e,1))}:m&&m.now?r=function(e){m.now(o(b,e,1))}:f?(a=(i=new f).port2,i.port1.onmessage=v,r=o(a.postMessage,a,1)):u.addEventListener&&"function"==typeof postMessage&&!u.importScripts?(r=function(e){u.postMessage(e+"","*")},u.addEventListener("message",v,!1)):r="onreadystatechange"in c("script")?function(e){l.appendChild(c("script")).onreadystatechange=function(){l.removeChild(this),b.call(e)}}:function(e){setTimeout(o(b,e,1),0)}),e.exports={set:h,clear:p}},function(e,t,n){"use strict";var r=n(47);function i(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new i(e)}},function(e,t,n){var r=n(21).navigator;e.exports=r&&r.userAgent||""},,,function(e,t,n){var r=n(37);n(44);var i=e.exports=r.pem=r.pem||{};function a(e){for(var t=e.name+": ",n=[],r=function(e,t){return" "+t},i=0;i65&&-1!==o){var s=t[o];","===s?(++o,t=t.substr(0,o)+"\r\n "+t.substr(o)):t=t.substr(0,o)+"\r\n"+s+t.substr(o+1),a=i-o-1,o=-1,++i}else" "!==t[i]&&"\t"!==t[i]&&","!==t[i]||(o=i);return t}function o(e){return e.replace(/^\s+/,"")}i.encode=function(e,t){t=t||{};var n,i="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(i+=a(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]})),e.contentDomain&&(i+=a(n={name:"Content-Domain",values:[e.contentDomain]})),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),i+=a(n)),e.headers)for(var o=0;ol;)r(s,n=t[l++])&&(~a(c,n)||c.push(n));return c}},function(e,t,n){var r=n(33),i=n(16),a=n(91);e.exports=n(35)?Object.defineProperties:function(e,t){i(e);for(var n,o=a(t),s=o.length,l=0;s>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){var r=n(53),i=n(93).f,a={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return o&&"[object Window]"==a.call(e)?function(e){try{return i(e)}catch(t){return o.slice()}}(e):i(r(e))}},function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var r=n(47),i=n(23),a=n(201),o=[].slice,s={};e.exports=Function.bind||function(e){var t=r(this),n=o.call(arguments,1),l=function(){var r=n.concat(o.call(arguments));return this instanceof l?function(e,t,n){if(!(t in s)){for(var r=[],i=0;i>>0||(o.test(n)?16:10))}:r},function(e,t,n){var r=n(21).parseFloat,i=n(116).trim;e.exports=1/r(n(177)+"-0")!=-1/0?function(e){var t=i(String(e),3),n=r(t);return 0===n&&"-"==t.charAt(0)?-0:n}:r},function(e,t,n){var r=n(68);e.exports=function(e,t){if("number"!=typeof e&&"Number"!=r(e))throw TypeError(t);return+e}},function(e,t,n){var r=n(23),i=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&i(e)===e}},function(e,t){e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(e,t,n){var r=n(16);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(o){var a=e.return;throw void 0!==a&&r(a.call(e)),o}}},function(e,t,n){var r=n(399);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(47),i=n(43),a=n(115),o=n(31);e.exports=function(e,t,n,s,l){r(t);var c=i(e),u=a(c),d=o(c.length),h=l?d-1:0,p=l?-1:1;if(n<2)for(;;){if(h in u){s=u[h],h+=p;break}if(h+=p,l?h<0:d<=h)throw TypeError("Reduce of empty array with no initial value")}for(;l?h>=0:d>h;h+=p)h in u&&(s=t(s,u[h],h,c));return s}},function(e,t,n){"use strict";var r=n(43),i=n(92),a=n(31);e.exports=[].copyWithin||function(e,t){var n=r(this),o=a(n.length),s=i(e,o),l=i(t,o),c=arguments.length>2?arguments[2]:void 0,u=Math.min((void 0===c?o:i(c,o))-l,o-s),d=1;for(l0;)l in n?n[s]=n[l]:delete n[s],s+=d,l+=d;return n}},function(e,t,n){"use strict";var r=n(186);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(e,t,n){n(35)&&"g"!=/./g.flags&&n(33).f(RegExp.prototype,"flags",{configurable:!0,get:n(125)})},function(e,t,n){var r=n(21),i=n(206).set,a=r.MutationObserver||r.WebKitMutationObserver,o=r.process,s=r.Promise,l="process"==n(68)(o);e.exports=function(){var e,t,n,c=function(){var r,i;for(l&&(r=o.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(a){throw e?n():t=void 0,a}}t=void 0,r&&r.enter()};if(l)n=function(){o.nextTick(c)};else if(!a||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var u=s.resolve(void 0);n=function(){u.then(c)}}else n=function(){i.call(r,c)};else{var d=!0,h=document.createTextNode("");new a(c).observe(h,{characterData:!0}),n=function(){h.data=d=!d}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){"use strict";var r=n(239),i=n(109);e.exports=n(138)("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(i(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(i(this,"Map"),0===e?0:e,t)}},r,!0)},function(e,t,n){"use strict";var r=n(33).f,i=n(83),a=n(100),o=n(64),s=n(98),l=n(99),c=n(154),u=n(205),d=n(97),h=n(35),p=n(82).fastKey,f=n(109),m=h?"_s":"size",g=function(e,t){var n,r=p(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,c){var u=e(function(e,r){s(e,u,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,null!=r&&l(r,n,e[c],e)});return a(u.prototype,{clear:function(){for(var e=f(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=f(this,t),r=g(n,e);if(r){var i=r.n,a=r.p;delete n._i[r.i],r.r=!0,a&&(a.n=i),i&&(i.p=a),n._f==r&&(n._f=i),n._l==r&&(n._l=a),n[m]--}return!!r},forEach:function(e){f(this,t);for(var n,r=o(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(f(this,t),e)}}),h&&r(u.prototype,"size",{get:function(){return f(this,t)[m]}}),u},def:function(e,t,n){var r,i,a=g(e,t);return a?a.v=n:(e._l=a={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=a),r&&(r.n=a),e[m]++,"F"!==i&&(e._i[i]=a)),e},getEntry:g,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?u(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,u(1))},n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var r=n(239),i=n(109);e.exports=n(138)("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(i(this,"Set"),e=0===e?0:e,e)}},r)},function(e,t,n){"use strict";var r,i=n(70)(0),a=n(52),o=n(82),s=n(200),l=n(242),c=n(23),u=n(22),d=n(109),h=o.getWeak,p=Object.isExtensible,f=l.ufstore,m={},g=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(e){if(c(e)){var t=h(e);return!0===t?f(d(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return l.def(d(this,"WeakMap"),e,t)}},b=e.exports=n(138)("WeakMap",g,y,l,!0,!0);u(function(){return 7!=(new b).set((Object.freeze||Object)(m),7).get(m)})&&(s((r=l.getConstructor(g,"WeakMap")).prototype,y),o.NEED=!0,i(["delete","has","get","set"],function(e){var t=b.prototype,n=t[e];a(t,e,function(t,i){if(c(t)&&!p(t)){this._f||(this._f=new r);var a=this._f[e](t,i);return"set"==e?this:a}return n.call(this,t,i)})}))},function(e,t,n){"use strict";var r=n(100),i=n(82).getWeak,a=n(16),o=n(23),s=n(98),l=n(99),c=n(70),u=n(51),d=n(109),h=c(5),p=c(6),f=0,m=function(e){return e._l||(e._l=new g)},g=function(){this.a=[]},y=function(e,t){return h(e.a,function(e){return e[0]===t})};g.prototype={get:function(e){var t=y(this,e);if(t)return t[1]},has:function(e){return!!y(this,e)},set:function(e,t){var n=y(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,a){var c=e(function(e,r){s(e,c,t,"_i"),e._t=t,e._i=f++,e._l=void 0,null!=r&&l(r,n,e[a],e)});return r(c.prototype,{delete:function(e){if(!o(e))return!1;var n=i(e);return!0===n?m(d(this,t)).delete(e):n&&u(n,this._i)&&delete n[this._i]},has:function(e){if(!o(e))return!1;var n=i(e);return!0===n?m(d(this,t)).has(e):n&&u(n,this._i)}}),c},def:function(e,t,n){var r=i(a(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){var r=n(65),i=n(31);e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=i(t);if(t!==n)throw RangeError("Wrong length!");return n}},function(e,t,n){var r=n(93),i=n(133),a=n(16),o=n(21).Reflect;e.exports=o&&o.ownKeys||function(e){var t=r.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},,,,,,,,,,,,,,,,function(e,t,n){(t=e.exports=n(699)).Stream=t,t.Readable=t,t.Writable=n(510),t.Duplex=n(194),t.Transform=n(704),t.PassThrough=n(950)},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(105).Buffer)},function(e,t,n){var r=n(37);n(146),n(44),(e.exports=r.hmac=r.hmac||{}).create=function(){var e=null,t=null,n=null,i=null,a={start:function(a,o){if(null!==a)if("string"==typeof a){if(!((a=a.toLowerCase())in r.md.algorithms))throw new Error('Unknown hash algorithm "'+a+'"');t=r.md.algorithms[a].create()}else t=a;if(null===o)o=e;else{if("string"==typeof o)o=r.util.createBuffer(o);else if(r.util.isArray(o)){var s=o;o=r.util.createBuffer();for(var l=0;lt.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),n=r.util.createBuffer(),i=r.util.createBuffer(),c=o.length();for(l=0;l>>0,l>>>0];for(var c=i.fullMessageLength.length-1;c>=0;--c)i.fullMessageLength[c]+=l[1],l[1]=l[0]+(i.fullMessageLength[c]/4294967296>>>0),i.fullMessageLength[c]=i.fullMessageLength[c]>>>0,l[0]=l[1]/4294967296>>>0;return t.putBytes(a),s(e,n,t),(t.read>2048||0===t.length())&&t.compact(),i},i.digest=function(){var o=r.util.createBuffer();o.putBytes(t.bytes());var l,c=i.fullMessageLength[i.fullMessageLength.length-1]+i.messageLengthSize&i.blockLength-1;o.putBytes(a.substr(0,i.blockLength-c));for(var u=8*i.fullMessageLength[0],d=0;d>>0,o.putInt32(u>>>0),u=l>>>0;o.putInt32(u);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};s(h,n,o);var p=r.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p},i};var a=null,o=!1;function s(e,t,n){for(var r,i,a,o,s,l,c,u=n.length();u>=64;){for(i=e.h0,a=e.h1,o=e.h2,s=e.h3,l=e.h4,c=0;c<16;++c)r=n.getInt32(),t[c]=r,r=(i<<5|i>>>27)+(s^a&(o^s))+l+1518500249+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<20;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(i<<5|i>>>27)+(s^a&(o^s))+l+1518500249+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<32;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+1859775393+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<40;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+1859775393+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<60;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a&o|s&(a^o))+l+2400959708+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<80;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+3395469782+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;e.h0=e.h0+i|0,e.h1=e.h1+a|0,e.h2=e.h2+o|0,e.h3=e.h3+s|0,e.h4=e.h4+l|0,u-=64}}},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n(4); +var r=n(815),i=n(816),a=n(538);function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return B(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var a,o=1,s=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=n;as&&(n=s-l),a=n;a>=0;a--){for(var d=!0,h=0;hi&&(r=i):r=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var o=0;o>8,i=n%256,a.push(i),a.push(r);return a}(t,e.length-n),e,n,r)}function C(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function E(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+d<=n)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=d}return function(e){var t=e.length;if(t<=x)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return E(this,t,n);case"ascii":return S(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},l.prototype.compare=function(e,t,n,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(r,i),u=e.slice(t,n),d=0;di)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return v(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return _(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var x=4096;function S(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",a=t;an)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,r,i,a){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function A(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function N(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function P(e,t,n,r,i,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function R(e,t,n,r,a){return a||P(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function M(e,t,n,r,a){return a||P(e,0,n,8),i.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUInt8=function(e,t){return t||z(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||z(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||z(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||z(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=this[e],i=1,a=0;++a=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return t||z(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||z(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){t||z(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return t||z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||z(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||z(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||z(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||z(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):A(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):A(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):A(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):A(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return M(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return M(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(a<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function F(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(110))},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=!1,i={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){e&&(new Error).stack;r=e},get useDeprecatedSynchronousErrorHandling(){return r}}},function(e,t,n){var r=n(34).f,i=n(51),a=n(29)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},function(e,t){e.exports={}},function(e,t,n){var r=n(23);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},,,,,,function(e,t,n){var r=n(69);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(2),i=n(77),a=n(22),o=n(179),s="["+o+"]",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),u=function(e,t,n){var i={},s=a(function(){return!!o[e]()||"​…"!="​…"[e]()}),l=i[e]=s?t(d):o[e];n&&(i[n]=l),r(r.P+r.F*s,"String",i)},d=u.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(l,"")),2&t&&(e=e.replace(c,"")),e};e.exports=u},,function(e,t,n){var r=n(38);n(197),n(720),n(721),n(45),r.random&&r.random.getBytes?e.exports=r.random:function(t){var n={},i=new Array(4),a=r.util.createBuffer();function o(){var e=r.prng.create(n);return e.getBytes=function(t,n){return e.generate(t,n)},e.getBytesSync=function(t){return e.generate(t)},e}n.formatKey=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),r.aes._expandKey(e,!1)},n.formatSeed=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),e},n.cipher=function(e,t){return r.aes._updateBlock(e,t,i,!1),a.putInt32(i[0]),a.putInt32(i[1]),a.putInt32(i[2]),a.putInt32(i[3]),a.getBytes()},n.increment=function(e){return++e[3],e},n.md=r.md.sha256;var s=o(),l=null;if("undefined"!=typeof window){var c=window.crypto||window.msCrypto;c&&c.getRandomValues&&(l=function(e){return c.getRandomValues(e)})}if(r.options.usePureJavaScript||!r.util.isNodejs&&!l){if("undefined"==typeof window||window.document,s.collectInt(+new Date,32),"undefined"!=typeof navigator){var u="";for(var d in navigator)try{"string"==typeof navigator[d]&&(u+=navigator[d])}catch(h){}s.collect(u),u=null}t&&(t().mousemove(function(e){s.collectInt(e.clientX,16),s.collectInt(e.clientY,16)}),t().keypress(function(e){s.collectInt(e.charCode,8)}))}if(r.random)for(var d in s)r.random[d]=s[d];else r.random=s;r.random.createInstance=o,e.exports=r.random}("undefined"!=typeof jQuery?jQuery:null)},function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return a});var r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n1)for(var n=1;n")}),d=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var h=s(e),p=!a(function(){var t={};return t[h]=function(){return 7},7!=""[e](t)}),f=p?!a(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[c]=function(){return n}),n[h](""),!t}):void 0;if(!p||!f||"replace"===e&&!u||"split"===e&&!d){var m=/./[h],g=n(o,h,""[e],function(e,t,n,r,i){return t.exec===l?p&&!i?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),y=g[0],b=g[1];r(String.prototype,e,y),i(RegExp.prototype,h,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)})}}},function(e,t,n){"use strict";var r=n(21),i=n(2),a=n(52),o=n(100),s=n(83),l=n(99),c=n(98),u=n(23),d=n(22),h=n(135),p=n(107),f=n(180);e.exports=function(e,t,n,m,g,y){var b=r[e],v=b,k=g?"set":"add",w=v&&v.prototype,_={},j=function(e){var t=w[e];a(w,e,"delete"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return y&&!u(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof v&&(y||w.forEach&&!d(function(){(new v).entries().next()}))){var C=new v,E=C[k](y?{}:-0,1)!=C,x=d(function(){C.has(1)}),S=h(function(e){new v(e)}),T=!y&&d(function(){for(var e=new v,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((v=t(function(t,n){c(t,v,e);var r=f(new b,t,v);return null!=n&&l(n,g,r[k],r),r})).prototype=w,w.constructor=v),(x||T)&&(j("delete"),j("has"),g&&j("get")),(T||E)&&j(k),y&&w.clear&&delete w.clear}else v=m.getConstructor(t,e,g,k),o(v.prototype,n),s.NEED=!0;return p(v,e),_[e]=v,i(i.G+i.W+i.F*(v!=b),_),y||m.setStrong(v,e,g),v}},function(e,t,n){for(var r,i=n(21),a=n(56),o=n(90),s=o("typed_array"),l=o("view"),c=!(!i.ArrayBuffer||!i.DataView),u=c,d=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");d<9;)(r=i[h[d++]])?(a(r.prototype,s,!0),a(r.prototype,l,!0)):u=!1;e.exports={ABV:c,CONSTR:u,TYPED:s,VIEW:l}},,,,,,,function(e,t,n){var r=n(38);n(45),n(198);var i=e.exports=r.asn1=r.asn1||{};function a(e,t,n){if(n>t){var r=new Error("Too few bytes to parse DER.");throw r.available=e.length(),r.remaining=t,r.requested=n,r}}i.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},i.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},i.create=function(e,t,n,a,o){if(r.util.isArray(a)){for(var s=[],l=0;ln){if(s.strict){var p=new Error("Too few bytes to read ASN.1 value.");throw p.available=t.length(),p.remaining=n,p.requested=h,p}h=n}var f;var m;var g=32==(32&c);if(g)if(f=[],void 0===h)for(;;){if(a(t,n,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),n-=2;break}l=t.length(),f.push(e(t,n,r+1,s)),n-=l-t.length()}else for(;h>0;)l=t.length(),f.push(e(t,h,r+1,s)),n-=l-t.length(),h-=l-t.length();void 0===f&&u===i.Class.UNIVERSAL&&d===i.Type.BITSTRING&&(m=t.bytes(h));if(void 0===f&&s.decodeBitStrings&&u===i.Class.UNIVERSAL&&d===i.Type.BITSTRING&&h>1){var y=t.read,b=n,v=0;if(d===i.Type.BITSTRING&&(a(t,n,1),v=t.getByte(),n--),0===v)try{l=t.length();var k={verbose:s.verbose,strict:!0,decodeBitStrings:!0},w=e(t,n,r+1,k),_=l-t.length();n-=_,d==i.Type.BITSTRING&&_++;var j=w.tagClass;_!==h||j!==i.Class.UNIVERSAL&&j!==i.Class.CONTEXT_SPECIFIC||(f=[w])}catch(E){}void 0===f&&(t.read=y,n=b)}if(void 0===f){if(void 0===h){if(s.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");h=n}if(d===i.Type.BMPSTRING)for(f="";h>0;h-=2)a(t,n,2),f+=String.fromCharCode(t.getInt16()),n-=2;else f=t.getBytes(h)}var C=void 0===m?null:{bitStringContents:m};return i.create(u,d,g,f,C)}(e,e.length(),0,t)},i.toDer=function(e){var t=r.util.createBuffer(),n=e.tagClass|e.type,a=r.util.createBuffer(),o=!1;if("bitStringContents"in e&&(o=!0,e.original&&(o=i.equals(e,e.original))),o)a.putBytes(e.bitStringContents);else if(e.composed){e.constructed?n|=32:a.putByte(0);for(var s=0;s1&&(0===e.value.charCodeAt(0)&&0==(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128==(128&e.value.charCodeAt(1)))?a.putBytes(e.value.substr(1)):a.putBytes(e.value);if(t.putByte(n),a.length()<=127)t.putByte(127&a.length());else{var l=a.length(),c="";do{c+=String.fromCharCode(255&l),l>>>=8}while(l>0);t.putByte(128|c.length);for(s=c.length-1;s>=0;--s)t.putByte(c.charCodeAt(s))}return t.putBuffer(a),t},i.oidToDer=function(e){var t,n,i,a,o=e.split("."),s=r.util.createBuffer();s.putByte(40*parseInt(o[0],10)+parseInt(o[1],10));for(var l=2;l>>=7,t||(a|=128),n.push(a),t=!1}while(i>0);for(var c=n.length-1;c>=0;--c)s.putByte(n[c])}return s},i.derToOid=function(e){var t;"string"==typeof e&&(e=r.util.createBuffer(e));var n=e.getByte();t=Math.floor(n/40)+"."+n%40;for(var i=0;e.length()>0;)i<<=7,128&(n=e.getByte())?i+=127&n:(t+="."+(i+n),i=0);return t},i.utcTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,2),10);n=n>=50?1900+n:2e3+n;var r=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),a=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=0;if(e.length>11){var l=e.charAt(10),c=10;"+"!==l&&"-"!==l&&(s=parseInt(e.substr(10,2),10),c+=2)}if(t.setUTCFullYear(n,r,i),t.setUTCHours(a,o,s,0),c&&("+"===(l=e.charAt(c))||"-"===l)){var u=60*parseInt(e.substr(c+1,2),10)+parseInt(e.substr(c+4,2),10);u*=6e4,"+"===l?t.setTime(+t-u):t.setTime(+t+u)}return t},i.generalizedTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,4),10),r=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),a=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),s=parseInt(e.substr(12,2),10),l=0,c=0,u=!1;"Z"===e.charAt(e.length-1)&&(u=!0);var d=e.length-5,h=e.charAt(d);"+"!==h&&"-"!==h||(c=60*parseInt(e.substr(d+1,2),10)+parseInt(e.substr(d+4,2),10),c*=6e4,"+"===h&&(c*=-1),u=!0);return"."===e.charAt(14)&&(l=1e3*parseFloat(e.substr(14),10)),u?(t.setUTCFullYear(n,r,i),t.setUTCHours(a,o,s,l),t.setTime(+t+c)):(t.setFullYear(n,r,i),t.setHours(a,o,s,l)),t},i.dateToUtcTime=function(e){if("string"==typeof e)return e;var t="",n=[];n.push((""+e.getUTCFullYear()).substr(2)),n.push(""+(e.getUTCMonth()+1)),n.push(""+e.getUTCDate()),n.push(""+e.getUTCHours()),n.push(""+e.getUTCMinutes()),n.push(""+e.getUTCSeconds());for(var r=0;r=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var n=new Error("Integer too large; max is 32-bits.");throw n.integer=e,n},i.derToInteger=function(e){"string"==typeof e&&(e=r.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},i.validate=function(e,t,n,a){var o=!1;if(e.tagClass!==t.tagClass&&void 0!==t.tagClass||e.type!==t.type&&void 0!==t.type)a&&(e.tagClass!==t.tagClass&&a.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&a.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));else if(e.constructed===t.constructed||void 0===t.constructed){if(o=!0,t.value&&r.util.isArray(t.value))for(var s=0,l=0;o&&l0&&(a+="\n");for(var o="",l=0;l1?a+="0x"+r.util.bytesToHex(e.value.slice(1)):a+="(none)",e.value.length>0){var h=e.value.charCodeAt(0);1==h?a+=" (1 unused bit shown)":h>1&&(a+=" ("+h+" unused bits shown)")}}else e.type===i.Type.OCTETSTRING?(s.test(e.value)||(a+="("+e.value+") "),a+="0x"+r.util.bytesToHex(e.value)):e.type===i.Type.UTF8?a+=r.util.decodeUtf8(e.value):e.type===i.Type.PRINTABLESTRING||e.type===i.Type.IA5String?a+=e.value:s.test(e.value)?a+="0x"+r.util.bytesToHex(e.value):0===e.value.length?a+="[null]":a+=e.value}return a}},function(e,t,n){var r=n(38);e.exports=r.md=r.md||{},r.md.algorithms=r.md.algorithms||{}},function(e,t,n){"use strict";function r(e){return"function"==typeof e}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";n.d(t,"b",function(){return u}),n.d(t,"a",function(){return d});var r=n(1),i=n(33),a=n(25),o=n(54),s=n(131),l=n(301),c=n(199),u=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return r.c(t,e),t}(a.a),d=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return r.c(t,e),t.prototype[c.a]=function(){return new u(this)},t.prototype.lift=function(e){var t=new h(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new s.a;if(!this.isStopped)for(var t=this.observers,n=t.length,r=t.slice(),i=0;iu;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(69);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(64),i=n(77);e.exports=function(e){return function(t,n){var a,o,s=String(i(t)),l=r(n),c=s.length;return l<0||l>=c?e?"":void 0:(a=s.charCodeAt(l))<55296||a>56319||l+1===c||(o=s.charCodeAt(l+1))<56320||o>57343?e?s.charAt(l):a:e?s.slice(l,l+2):o-56320+(a-55296<<10)+65536}}},function(e,t,n){"use strict";var r=n(87),i=n(2),a=n(52),o=n(56),s=n(108),l=n(183),c=n(107),u=n(58),d=n(29)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,n,f,m,g,y){l(n,t,f);var b,v,k,w=function(e){if(!h&&e in E)return E[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},_=t+" Iterator",j="values"==m,C=!1,E=e.prototype,x=E[d]||E["@@iterator"]||m&&E[m],S=x||w(m),T=m?j?w("entries"):S:void 0,O="Array"==t&&E.entries||x;if(O&&(k=u(O.call(new e)))!==Object.prototype&&k.next&&(c(k,_,!0),r||"function"==typeof k[d]||o(k,d,p)),j&&x&&"values"!==x.name&&(C=!0,S=function(){return x.call(this)}),r&&!y||!h&&!C&&E[d]||o(E,d,S),s[t]=S,s[_]=p,m)if(b={values:j?S:w("values"),keys:g?S:w("keys"),entries:T},y)for(v in b)v in E||a(E,v,b[v]);else i(i.P+i.F*(h||C),t,b);return b}},function(e,t,n){var r=n(23),i=n(69),a=n(29)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==i(e))}},,,,,,,function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){function e(){}return e.prototype.log=function(e,t){},e.instance=new e,e}()},function(e,t,n){"use strict";function r(e){return e}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";function r(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(t,"a",function(){return i});var i=r()},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(1),i=n(25);function a(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(e,t))}}var o=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.thisArg))},e}(),s=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.project=n,i.count=0,i.thisArg=r||i,i}return r.c(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(i.a)},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return a});var r=n(33),i=new r.a(function(e){return e.complete()});function a(e){return e?function(e){return new r.a(function(t){return e.schedule(function(){return t.complete()})})}(e):i}},function(e,t,n){"use strict";var r=n(33),i=n(218),a=n(54),o=n(130);var s=n(216),l=n(166);var c=n(306),u=n(304);function d(e,t){if(null!=e){if(function(e){return e&&"function"==typeof e[o.a]}(e))return function(e,t){return new r.a(function(n){var r=new a.a;return r.add(t.schedule(function(){var i=e[o.a]();r.add(i.subscribe({next:function(e){r.add(t.schedule(function(){return n.next(e)}))},error:function(e){r.add(t.schedule(function(){return n.error(e)}))},complete:function(){r.add(t.schedule(function(){return n.complete()}))}}))})),r})}(e,t);if(Object(c.a)(e))return function(e,t){return new r.a(function(n){var r=new a.a;return r.add(t.schedule(function(){return e.then(function(e){r.add(t.schedule(function(){n.next(e),r.add(t.schedule(function(){return n.complete()}))}))},function(e){r.add(t.schedule(function(){return n.error(e)}))})})),r})}(e,t);if(Object(u.a)(e))return Object(s.a)(e,t);if(function(e){return e&&"function"==typeof e[l.a]}(e)||"string"==typeof e)return function(e,t){if(!e)throw new Error("Iterable cannot be null");return new r.a(function(n){var r,i=new a.a;return i.add(function(){r&&"function"==typeof r.return&&r.return()}),i.add(t.schedule(function(){r=e[l.a](),i.add(t.schedule(function(){if(!n.closed){var e,t;try{var i=r.next();e=i.value,t=i.done}catch(a){return void n.error(a)}t?n.complete():(n.next(e),this.schedule())}}))})),i})}(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}function h(e,t){return t?d(e,t):e instanceof r.a?e:new r.a(Object(i.a)(e))}n.d(t,"a",function(){return h})},function(e,t,n){"use strict";var r=n(1),i=function(e){function t(t,n){return e.call(this)||this}return r.c(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(n(54).a);n.d(t,"a",function(){return a});var a=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return r.c(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n=!1,r=void 0;try{this.work(e)}catch(i){n=!0,r=!!i&&i||new Error(i)}if(n)return this.unsubscribe(),r},t.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},t}(i)},function(e,t,n){"use strict";var r=n(1),i=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=function(){return Date.now()},e}();n.d(t,"a",function(){return a});var a=function(e){function t(n,r){void 0===r&&(r=i.now);var a=e.call(this,n,function(){return t.delegate&&t.delegate!==a?t.delegate.now():r()})||this;return a.actions=[],a.active=!1,a.scheduled=void 0,a}return r.c(t,e),t.prototype.schedule=function(n,r,i){return void 0===r&&(r=0),t.delegate&&t.delegate!==this?t.delegate.schedule(n,r,i):e.prototype.schedule.call(this,n,r,i)},t.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(i)},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){function e(){}return e.write=function(t){return""+t+e.RecordSeparator},e.parse=function(t){if(t[t.length-1]!==e.RecordSeparator)throw new Error("Message is incomplete.");var n=t.split(e.RecordSeparator);return n.pop(),n},e.RecordSeparatorCode=30,e.RecordSeparator=String.fromCharCode(e.RecordSeparatorCode),e}()},,function(e,t,n){var r=n(23),i=n(21).document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){var r=n(132)("keys"),i=n(90);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(21).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(23),i=n(16),a=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n(63)(Function.call,n(60).f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(i){t=!0}return function(e,n){return a(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:a}},function(e,t){e.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(e,t,n){var r=n(23),i=n(178).set;e.exports=function(e,t,n){var a,o=t.constructor;return o!==n&&"function"==typeof o&&(a=o.prototype)!==n.prototype&&r(a)&&i&&i(e,a),e}},function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t){var n=Math.expm1;e.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:n},function(e,t,n){"use strict";var r=n(84),i=n(86),a=n(107),o={};n(56)(o,n(29)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(o,{next:i(1,n)}),a(e,t+" Iterator")}},function(e,t,n){var r=n(156),i=n(77);e.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(e))}},function(e,t,n){var r=n(29)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(i){}}return!0}},function(e,t,n){var r=n(108),i=n(29)("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||a[i]===e)}},function(e,t,n){"use strict";var r=n(43),i=n(92),a=n(31);e.exports=function(e){for(var t=r(this),n=a(t.length),o=arguments.length,s=i(o>1?arguments[1]:void 0,n),l=o>2?arguments[2]:void 0,c=void 0===l?n:i(l,n);c>s;)t[s++]=e;return t}},function(e,t,n){"use strict";var r,i,a=n(125),o=RegExp.prototype.exec,s=String.prototype.replace,l=o,c=(r=/a/,i=/b*/g,o.call(r,"a"),o.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),u=void 0!==/()??/.exec("")[1];(c||u)&&(l=function(e){var t,n,r,i,l=this;return u&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),c&&(t=l.lastIndex),r=o.call(l,e),c&&r&&(l.lastIndex=l.global?r.index+r[0].length:t),u&&r&&r.length>1&&s.call(r[0],n,function(){for(i=1;i>1,u=23===t?S(2,-24)-S(2,-77):0,d=0,h=e<0||0===e&&1/e<0?1:0;for((e=x(e))!=e||e===C?(i=e!=e?1:0,r=l):(r=T(O(e)/I),e*(a=S(2,-r))<1&&(r--,a*=2),(e+=r+c>=1?u/a:u*S(2,1-c))*a>=2&&(r++,a/=2),r+c>=l?(i=0,r=l):r+c>=1?(i=(e*a-1)*S(2,t),r+=c):(i=e*S(2,c-1)*S(2,t),r=0));t>=8;o[d++]=255&i,i/=256,t-=8);for(r=r<0;o[d++]=255&r,r/=256,s-=8);return o[--d]|=128*h,o}function P(e,t,n){var r,i=8*n-t-1,a=(1<>1,s=i-7,l=n-1,c=e[l--],u=127&c;for(c>>=7;s>0;u=256*u+e[l],l--,s-=8);for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;r=256*r+e[l],l--,s-=8);if(0===u)u=1-o;else{if(u===a)return r?NaN:c?-C:C;r+=S(2,t),u-=o}return(c?-1:1)*r*S(2,u-t)}function R(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function M(e){return[255&e]}function q(e){return[255&e,e>>8&255]}function L(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function B(e){return N(e,52,8)}function F(e){return N(e,23,4)}function V(e,t,n){m(e[b],t,{get:function(){return this[n]}})}function U(e,t,n,r){var i=p(+n);if(i+t>e[D])throw j(v);var a=e[z]._b,o=i+e[A],s=a.slice(o,o+t);return r?s:s.reverse()}function H(e,t,n,r,i,a){var o=p(+n);if(o+t>e[D])throw j(v);for(var s=e[z]._b,l=o+e[A],c=r(+i),u=0;uQ;)(W=G[Q++])in k||s(k,W,E[W]);a||(K.constructor=k)}var $=new w(new k(2)),Y=w[b].setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||l(w[b],{setInt8:function(e,t){Y.call(this,e,t<<24>>24)},setUint8:function(e,t){Y.call(this,e,t<<24>>24)}},!0)}else k=function(e){u(this,k,"ArrayBuffer");var t=p(e);this._b=g.call(new Array(t),0),this[D]=t},w=function(e,t,n){u(this,w,"DataView"),u(e,k,"DataView");var r=e[D],i=d(t);if(i<0||i>r)throw j("Wrong offset!");if(i+(n=void 0===n?r-i:h(n))>r)throw j("Wrong length!");this[z]=e,this[A]=i,this[D]=n},i&&(V(k,"byteLength","_l"),V(w,"buffer","_b"),V(w,"byteLength","_l"),V(w,"byteOffset","_o")),l(w[b],{getInt8:function(e){return U(this,1,e)[0]<<24>>24},getUint8:function(e){return U(this,1,e)[0]},getInt16:function(e){var t=U(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=U(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return R(U(this,4,e,arguments[1]))},getUint32:function(e){return R(U(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return P(U(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return P(U(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){H(this,1,e,M,t)},setUint8:function(e,t){H(this,1,e,M,t)},setInt16:function(e,t){H(this,2,e,q,t,arguments[2])},setUint16:function(e,t){H(this,2,e,q,t,arguments[2])},setInt32:function(e,t){H(this,4,e,L,t,arguments[2])},setUint32:function(e,t){H(this,4,e,L,t,arguments[2])},setFloat32:function(e,t){H(this,4,e,F,t,arguments[2])},setFloat64:function(e,t){H(this,8,e,B,t,arguments[2])}});y(k,"ArrayBuffer"),y(w,"DataView"),s(w[b],o.VIEW,!0),t.ArrayBuffer=k,t.DataView=w},,,,,function(e,t,n){var r=n(105),i=r.Buffer;function a(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(a(r,t),t.Buffer=o),a(i,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";var r=n(296),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=d;var a=n(262);a.inherits=n(163);var o=n(703),s=n(516);a.inherits(d,o);for(var l=i(s.prototype),c=0;c>>=2;for(i=0;i>8^255&d^99,a[m]=d,o[d]=m,p=(h=e[d])<<24^d<<16^d<<8^d^h,f=((n=e[m])^(r=e[n])^(i=e[r]))<<24^(m^i)<<16^(m^r^i)<<8^m^n^i;for(var y=0;y<4;++y)l[y][m]=p,c[y][d]=f,p=p<<24|p>>>8,f=f<<24|f>>>8;0===m?m=g=1:(m=n^e[e[e[n^i]]],g^=e[e[g]])}}function p(e,t){for(var n,r=e.slice(0),i=1,o=r.length,l=d*(o+6+1),u=o;u>>16&255]<<24^a[n>>>8&255]<<16^a[255&n]<<8^a[n>>>24]^s[i]<<24,i++):o>6&&u%o==4&&(n=a[n>>>24]<<24^a[n>>>16&255]<<16^a[n>>>8&255]<<8^a[255&n]),r[u]=r[u-o]^n;if(t){for(var h,p=c[0],f=c[1],m=c[2],g=c[3],y=r.slice(0),b=(u=0,(l=r.length)-d);u>>24]]^f[a[h>>>16&255]]^m[a[h>>>8&255]]^g[a[255&h]];r=y}return r}function f(e,t,n,r){var i,s,u,d,h,p,f,m,g,y,b,v,k=e.length/4-1;r?(i=c[0],s=c[1],u=c[2],d=c[3],h=o):(i=l[0],s=l[1],u=l[2],d=l[3],h=a),p=t[0]^e[0],f=t[r?3:1]^e[1],m=t[2]^e[2],g=t[r?1:3]^e[3];for(var w=3,_=1;_>>24]^s[f>>>16&255]^u[m>>>8&255]^d[255&g]^e[++w],b=i[f>>>24]^s[m>>>16&255]^u[g>>>8&255]^d[255&p]^e[++w],v=i[m>>>24]^s[g>>>16&255]^u[p>>>8&255]^d[255&f]^e[++w],g=i[g>>>24]^s[p>>>16&255]^u[f>>>8&255]^d[255&m]^e[++w],p=y,f=b,m=v;n[0]=h[p>>>24]<<24^h[f>>>16&255]<<16^h[m>>>8&255]<<8^h[255&g]^e[++w],n[r?3:1]=h[f>>>24]<<24^h[m>>>16&255]<<16^h[g>>>8&255]<<8^h[255&p]^e[++w],n[2]=h[m>>>24]<<24^h[g>>>16&255]<<16^h[p>>>8&255]<<8^h[255&f]^e[++w],n[r?1:3]=h[g>>>24]<<24^h[p>>>16&255]<<16^h[f>>>8&255]<<8^h[255&m]^e[++w]}function m(e){var t,n="AES-"+((e=e||{}).mode||"CBC").toUpperCase(),i=(t=e.decrypt?r.cipher.createDecipher(n,e.key):r.cipher.createCipher(n,e.key)).start;return t.start=function(e,n){var a=null;n instanceof r.util.ByteBuffer&&(a=n,n={}),(n=n||{}).output=a,n.iv=e,i.call(t,n)},t}},function(e,t,n){var r=n(38);r.pki=r.pki||{};var i=e.exports=r.pki.oids=r.oids=r.oids||{};function a(e,t){i[e]=t,i[t]=e}function o(e,t){i[e]=t}a("1.2.840.113549.1.1.1","rsaEncryption"),a("1.2.840.113549.1.1.4","md5WithRSAEncryption"),a("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),a("1.2.840.113549.1.1.7","RSAES-OAEP"),a("1.2.840.113549.1.1.8","mgf1"),a("1.2.840.113549.1.1.9","pSpecified"),a("1.2.840.113549.1.1.10","RSASSA-PSS"),a("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),a("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),a("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),a("1.2.840.10040.4.3","dsa-with-sha1"),a("1.3.14.3.2.7","desCBC"),a("1.3.14.3.2.26","sha1"),a("2.16.840.1.101.3.4.2.1","sha256"),a("2.16.840.1.101.3.4.2.2","sha384"),a("2.16.840.1.101.3.4.2.3","sha512"),a("1.2.840.113549.2.5","md5"),a("1.2.840.113549.1.7.1","data"),a("1.2.840.113549.1.7.2","signedData"),a("1.2.840.113549.1.7.3","envelopedData"),a("1.2.840.113549.1.7.4","signedAndEnvelopedData"),a("1.2.840.113549.1.7.5","digestedData"),a("1.2.840.113549.1.7.6","encryptedData"),a("1.2.840.113549.1.9.1","emailAddress"),a("1.2.840.113549.1.9.2","unstructuredName"),a("1.2.840.113549.1.9.3","contentType"),a("1.2.840.113549.1.9.4","messageDigest"),a("1.2.840.113549.1.9.5","signingTime"),a("1.2.840.113549.1.9.6","counterSignature"),a("1.2.840.113549.1.9.7","challengePassword"),a("1.2.840.113549.1.9.8","unstructuredAddress"),a("1.2.840.113549.1.9.14","extensionRequest"),a("1.2.840.113549.1.9.20","friendlyName"),a("1.2.840.113549.1.9.21","localKeyId"),a("1.2.840.113549.1.9.22.1","x509Certificate"),a("1.2.840.113549.1.12.10.1.1","keyBag"),a("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),a("1.2.840.113549.1.12.10.1.3","certBag"),a("1.2.840.113549.1.12.10.1.4","crlBag"),a("1.2.840.113549.1.12.10.1.5","secretBag"),a("1.2.840.113549.1.12.10.1.6","safeContentsBag"),a("1.2.840.113549.1.5.13","pkcs5PBES2"),a("1.2.840.113549.1.5.12","pkcs5PBKDF2"),a("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),a("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),a("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),a("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),a("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),a("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),a("1.2.840.113549.2.7","hmacWithSHA1"),a("1.2.840.113549.2.8","hmacWithSHA224"),a("1.2.840.113549.2.9","hmacWithSHA256"),a("1.2.840.113549.2.10","hmacWithSHA384"),a("1.2.840.113549.2.11","hmacWithSHA512"),a("1.2.840.113549.3.7","des-EDE3-CBC"),a("2.16.840.1.101.3.4.1.2","aes128-CBC"),a("2.16.840.1.101.3.4.1.22","aes192-CBC"),a("2.16.840.1.101.3.4.1.42","aes256-CBC"),a("2.5.4.3","commonName"),a("2.5.4.5","serialName"),a("2.5.4.6","countryName"),a("2.5.4.7","localityName"),a("2.5.4.8","stateOrProvinceName"),a("2.5.4.10","organizationName"),a("2.5.4.11","organizationalUnitName"),a("2.16.840.1.113730.1.1","nsCertType"),o("2.5.29.1","authorityKeyIdentifier"),o("2.5.29.2","keyAttributes"),o("2.5.29.3","certificatePolicies"),o("2.5.29.4","keyUsageRestriction"),o("2.5.29.5","policyMapping"),o("2.5.29.6","subtreesConstraint"),o("2.5.29.7","subjectAltName"),o("2.5.29.8","issuerAltName"),o("2.5.29.9","subjectDirectoryAttributes"),o("2.5.29.10","basicConstraints"),o("2.5.29.11","nameConstraints"),o("2.5.29.12","policyConstraints"),o("2.5.29.13","basicConstraints"),a("2.5.29.14","subjectKeyIdentifier"),a("2.5.29.15","keyUsage"),o("2.5.29.16","privateKeyUsagePeriod"),a("2.5.29.17","subjectAltName"),a("2.5.29.18","issuerAltName"),a("2.5.29.19","basicConstraints"),o("2.5.29.20","cRLNumber"),o("2.5.29.21","cRLReason"),o("2.5.29.22","expirationDate"),o("2.5.29.23","instructionCode"),o("2.5.29.24","invalidityDate"),o("2.5.29.25","cRLDistributionPoints"),o("2.5.29.26","issuingDistributionPoint"),o("2.5.29.27","deltaCRLIndicator"),o("2.5.29.28","issuingDistributionPoint"),o("2.5.29.29","certificateIssuer"),o("2.5.29.30","nameConstraints"),a("2.5.29.31","cRLDistributionPoints"),a("2.5.29.32","certificatePolicies"),o("2.5.29.33","policyMappings"),o("2.5.29.34","policyConstraints"),a("2.5.29.35","authorityKeyIdentifier"),o("2.5.29.36","policyConstraints"),a("2.5.29.37","extKeyUsage"),o("2.5.29.46","freshestCRL"),o("2.5.29.54","inhibitAnyPolicy"),a("1.3.6.1.4.1.11129.2.4.2","timestampList"),a("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),a("1.3.6.1.5.5.7.3.1","serverAuth"),a("1.3.6.1.5.5.7.3.2","clientAuth"),a("1.3.6.1.5.5.7.3.3","codeSigning"),a("1.3.6.1.5.5.7.3.4","emailProtection"),a("1.3.6.1.5.5.7.3.8","timeStamping")},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}()},function(e,t,n){"use strict";var r,i=n(168),a=n(307),o=n(33);function s(e){var t=e.error;e.subscriber.error(t)}n.d(t,"a",function(){return l}),r||(r={});var l=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e,t;switch(this.kind){case"N":return Object(a.a)(this.value);case"E":return e=this.error,t?new o.a(function(n){return t.schedule(s,0,{error:e,subscriber:n})}):new o.a(function(t){return t.error(e)});case"C":return Object(i.b)()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}()},function(e,t,n){"use strict";var r=n(195).Buffer,i=n(1032),a=n(297),o=n(1034),s=n(1035),l=n(1036);e.exports=function(e){var t=[],n=[];return{encode:l(t,(e=e||{forceFloat64:!1,compatibilityMode:!1,disableTimestampEncoding:!1}).forceFloat64,e.compatibilityMode,e.disableTimestampEncoding),decode:s(n),register:function(e,t,n,o){return i(t,"must have a constructor"),i(n,"must have an encode function"),i(e>=0,"must have a non-negative type"),i(o,"must have a decode function"),this.registerEncoder(function(e){return e instanceof t},function(t){var i=a(),o=r.allocUnsafe(1);return o.writeInt8(e,0),i.append(o),i.append(n(t)),i}),this.registerDecoder(e,o),this},registerEncoder:function(e,n){return i(e,"must have an encode function"),i(n,"must have an encode function"),t.push({check:e,encode:n}),this},registerDecoder:function(e,t){return i(e>=0,"must have a non-negative type"),i(t,"must have a decode function"),n.push({type:e,decode:t}),this},encoder:o.encoder,decoder:o.decoder,buffer:!0,type:"msgpack5",IncompleteBufferError:s.IncompleteBufferError}}},function(e,t,n){"use strict";var r=n(91),i=n(133),a=n(124),o=n(43),s=n(116),l=Object.assign;e.exports=!l||n(22)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join("")!=r})?function(e,t){for(var n=o(e),l=arguments.length,c=1,u=i.f,d=a.f;l>c;)for(var h,p=s(arguments[c++]),f=u?r(p).concat(u(p)):r(p),m=f.length,g=0;m>g;)d.call(p,h=f[g++])&&(n[h]=p[h]);return n}:l},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){"use strict";var r=n(64),i=n(77);e.exports=function(e){var t=String(i(this)),n="",a=r(e);if(a<0||a==1/0)throw RangeError("Count can't be negative");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";var r=n(34),i=n(86);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){"use strict";var r=n(96),i=n(207),a=n(108),o=n(53);e.exports=n(155)(Array,"Array",function(e,t){this._t=o(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r,i,a,o=n(63),s=n(203),l=n(177),c=n(174),u=n(21),d=u.process,h=u.setImmediate,p=u.clearImmediate,f=u.MessageChannel,m=u.Dispatch,g=0,y={},b=function(){var e=+this;if(y.hasOwnProperty(e)){var t=y[e];delete y[e],t()}},v=function(e){b.call(e.data)};h&&p||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return y[++g]=function(){s("function"==typeof e?e:Function(e),t)},r(g),g},p=function(e){delete y[e]},"process"==n(69)(d)?r=function(e){d.nextTick(o(b,e,1))}:m&&m.now?r=function(e){m.now(o(b,e,1))}:f?(a=(i=new f).port2,i.port1.onmessage=v,r=o(a.postMessage,a,1)):u.addEventListener&&"function"==typeof postMessage&&!u.importScripts?(r=function(e){u.postMessage(e+"","*")},u.addEventListener("message",v,!1)):r="onreadystatechange"in c("script")?function(e){l.appendChild(c("script")).onreadystatechange=function(){l.removeChild(this),b.call(e)}}:function(e){setTimeout(o(b,e,1),0)}),e.exports={set:h,clear:p}},function(e,t,n){"use strict";var r=n(48);function i(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new i(e)}},function(e,t,n){var r=n(21).navigator;e.exports=r&&r.userAgent||""},,,function(e,t,n){var r=n(38);n(45);var i=e.exports=r.pem=r.pem||{};function a(e){for(var t=e.name+": ",n=[],r=function(e,t){return" "+t},i=0;i65&&-1!==o){var s=t[o];","===s?(++o,t=t.substr(0,o)+"\r\n "+t.substr(o)):t=t.substr(0,o)+"\r\n"+s+t.substr(o+1),a=i-o-1,o=-1,++i}else" "!==t[i]&&"\t"!==t[i]&&","!==t[i]||(o=i);return t}function o(e){return e.replace(/^\s+/,"")}i.encode=function(e,t){t=t||{};var n,i="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(i+=a(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]})),e.contentDomain&&(i+=a(n={name:"Content-Domain",values:[e.contentDomain]})),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),i+=a(n)),e.headers)for(var o=0;ol;)r(s,n=t[l++])&&(~a(c,n)||c.push(n));return c}},function(e,t,n){var r=n(34),i=n(16),a=n(91);e.exports=n(35)?Object.defineProperties:function(e,t){i(e);for(var n,o=a(t),s=o.length,l=0;s>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){var r=n(53),i=n(93).f,a={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return o&&"[object Window]"==a.call(e)?function(e){try{return i(e)}catch(t){return o.slice()}}(e):i(r(e))}},function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var r=n(48),i=n(23),a=n(203),o=[].slice,s={};e.exports=Function.bind||function(e){var t=r(this),n=o.call(arguments,1),l=function(){var r=n.concat(o.call(arguments));return this instanceof l?function(e,t,n){if(!(t in s)){for(var r=[],i=0;i>>0||(o.test(n)?16:10))}:r},function(e,t,n){var r=n(21).parseFloat,i=n(117).trim;e.exports=1/r(n(179)+"-0")!=-1/0?function(e){var t=i(String(e),3),n=r(t);return 0===n&&"-"==t.charAt(0)?-0:n}:r},function(e,t,n){var r=n(69);e.exports=function(e,t){if("number"!=typeof e&&"Number"!=r(e))throw TypeError(t);return+e}},function(e,t,n){var r=n(23),i=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&i(e)===e}},function(e,t){e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(e,t,n){var r=n(16);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(o){var a=e.return;throw void 0!==a&&r(a.call(e)),o}}},function(e,t,n){var r=n(399);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(48),i=n(43),a=n(116),o=n(31);e.exports=function(e,t,n,s,l){r(t);var c=i(e),u=a(c),d=o(c.length),h=l?d-1:0,p=l?-1:1;if(n<2)for(;;){if(h in u){s=u[h],h+=p;break}if(h+=p,l?h<0:d<=h)throw TypeError("Reduce of empty array with no initial value")}for(;l?h>=0:d>h;h+=p)h in u&&(s=t(s,u[h],h,c));return s}},function(e,t,n){"use strict";var r=n(43),i=n(92),a=n(31);e.exports=[].copyWithin||function(e,t){var n=r(this),o=a(n.length),s=i(e,o),l=i(t,o),c=arguments.length>2?arguments[2]:void 0,u=Math.min((void 0===c?o:i(c,o))-l,o-s),d=1;for(l0;)l in n?n[s]=n[l]:delete n[s],s+=d,l+=d;return n}},function(e,t,n){"use strict";var r=n(188);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(e,t,n){n(35)&&"g"!=/./g.flags&&n(34).f(RegExp.prototype,"flags",{configurable:!0,get:n(125)})},function(e,t,n){var r=n(21),i=n(208).set,a=r.MutationObserver||r.WebKitMutationObserver,o=r.process,s=r.Promise,l="process"==n(69)(o);e.exports=function(){var e,t,n,c=function(){var r,i;for(l&&(r=o.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(a){throw e?n():t=void 0,a}}t=void 0,r&&r.enter()};if(l)n=function(){o.nextTick(c)};else if(!a||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var u=s.resolve(void 0);n=function(){u.then(c)}}else n=function(){i.call(r,c)};else{var d=!0,h=document.createTextNode("");new a(c).observe(h,{characterData:!0}),n=function(){h.data=d=!d}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){"use strict";var r=n(241),i=n(109);e.exports=n(138)("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(i(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(i(this,"Map"),0===e?0:e,t)}},r,!0)},function(e,t,n){"use strict";var r=n(34).f,i=n(84),a=n(100),o=n(63),s=n(98),l=n(99),c=n(155),u=n(207),d=n(97),h=n(35),p=n(83).fastKey,f=n(109),m=h?"_s":"size",g=function(e,t){var n,r=p(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,c){var u=e(function(e,r){s(e,u,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,null!=r&&l(r,n,e[c],e)});return a(u.prototype,{clear:function(){for(var e=f(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=f(this,t),r=g(n,e);if(r){var i=r.n,a=r.p;delete n._i[r.i],r.r=!0,a&&(a.n=i),i&&(i.p=a),n._f==r&&(n._f=i),n._l==r&&(n._l=a),n[m]--}return!!r},forEach:function(e){f(this,t);for(var n,r=o(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(f(this,t),e)}}),h&&r(u.prototype,"size",{get:function(){return f(this,t)[m]}}),u},def:function(e,t,n){var r,i,a=g(e,t);return a?a.v=n:(e._l=a={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=a),r&&(r.n=a),e[m]++,"F"!==i&&(e._i[i]=a)),e},getEntry:g,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?u(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,u(1))},n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var r=n(241),i=n(109);e.exports=n(138)("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(i(this,"Set"),e=0===e?0:e,e)}},r)},function(e,t,n){"use strict";var r,i=n(71)(0),a=n(52),o=n(83),s=n(202),l=n(244),c=n(23),u=n(22),d=n(109),h=o.getWeak,p=Object.isExtensible,f=l.ufstore,m={},g=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(e){if(c(e)){var t=h(e);return!0===t?f(d(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return l.def(d(this,"WeakMap"),e,t)}},b=e.exports=n(138)("WeakMap",g,y,l,!0,!0);u(function(){return 7!=(new b).set((Object.freeze||Object)(m),7).get(m)})&&(s((r=l.getConstructor(g,"WeakMap")).prototype,y),o.NEED=!0,i(["delete","has","get","set"],function(e){var t=b.prototype,n=t[e];a(t,e,function(t,i){if(c(t)&&!p(t)){this._f||(this._f=new r);var a=this._f[e](t,i);return"set"==e?this:a}return n.call(this,t,i)})}))},function(e,t,n){"use strict";var r=n(100),i=n(83).getWeak,a=n(16),o=n(23),s=n(98),l=n(99),c=n(71),u=n(51),d=n(109),h=c(5),p=c(6),f=0,m=function(e){return e._l||(e._l=new g)},g=function(){this.a=[]},y=function(e,t){return h(e.a,function(e){return e[0]===t})};g.prototype={get:function(e){var t=y(this,e);if(t)return t[1]},has:function(e){return!!y(this,e)},set:function(e,t){var n=y(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,a){var c=e(function(e,r){s(e,c,t,"_i"),e._t=t,e._i=f++,e._l=void 0,null!=r&&l(r,n,e[a],e)});return r(c.prototype,{delete:function(e){if(!o(e))return!1;var n=i(e);return!0===n?m(d(this,t)).delete(e):n&&u(n,this._i)&&delete n[this._i]},has:function(e){if(!o(e))return!1;var n=i(e);return!0===n?m(d(this,t)).has(e):n&&u(n,this._i)}}),c},def:function(e,t,n){var r=i(a(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){var r=n(64),i=n(31);e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=i(t);if(t!==n)throw RangeError("Wrong length!");return n}},function(e,t,n){var r=n(93),i=n(133),a=n(16),o=n(21).Reflect;e.exports=o&&o.ownKeys||function(e){var t=r.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},,,,,,,,,,,,,,,function(e,t,n){(t=e.exports=n(703)).Stream=t,t.Readable=t,t.Writable=n(516),t.Duplex=n(196),t.Transform=n(708),t.PassThrough=n(960)},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(105).Buffer)},function(e,t,n){var r=n(38);n(147),n(45),(e.exports=r.hmac=r.hmac||{}).create=function(){var e=null,t=null,n=null,i=null,a={start:function(a,o){if(null!==a)if("string"==typeof a){if(!((a=a.toLowerCase())in r.md.algorithms))throw new Error('Unknown hash algorithm "'+a+'"');t=r.md.algorithms[a].create()}else t=a;if(null===o)o=e;else{if("string"==typeof o)o=r.util.createBuffer(o);else if(r.util.isArray(o)){var s=o;o=r.util.createBuffer();for(var l=0;lt.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),n=r.util.createBuffer(),i=r.util.createBuffer(),c=o.length();for(l=0;l>>0,l>>>0];for(var c=i.fullMessageLength.length-1;c>=0;--c)i.fullMessageLength[c]+=l[1],l[1]=l[0]+(i.fullMessageLength[c]/4294967296>>>0),i.fullMessageLength[c]=i.fullMessageLength[c]>>>0,l[0]=l[1]/4294967296>>>0;return t.putBytes(a),s(e,n,t),(t.read>2048||0===t.length())&&t.compact(),i},i.digest=function(){var o=r.util.createBuffer();o.putBytes(t.bytes());var l,c=i.fullMessageLength[i.fullMessageLength.length-1]+i.messageLengthSize&i.blockLength-1;o.putBytes(a.substr(0,i.blockLength-c));for(var u=8*i.fullMessageLength[0],d=0;d>>0,o.putInt32(u>>>0),u=l>>>0;o.putInt32(u);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};s(h,n,o);var p=r.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p},i};var a=null,o=!1;function s(e,t,n){for(var r,i,a,o,s,l,c,u=n.length();u>=64;){for(i=e.h0,a=e.h1,o=e.h2,s=e.h3,l=e.h4,c=0;c<16;++c)r=n.getInt32(),t[c]=r,r=(i<<5|i>>>27)+(s^a&(o^s))+l+1518500249+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<20;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(i<<5|i>>>27)+(s^a&(o^s))+l+1518500249+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<32;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+1859775393+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<40;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+1859775393+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<60;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a&o|s&(a^o))+l+2400959708+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<80;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+3395469782+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;e.h0=e.h0+i|0,e.h1=e.h1+a|0,e.h2=e.h2+o|0,e.h3=e.h3+s|0,e.h4=e.h4+l|0,u-=64}}},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n(4); /** * @license * Copyright Google LLC All Rights Reserved. @@ -1969,7 +1969,7 @@ function s(e){return e instanceof r.ElementRef?e.nativeElement:e} * * 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 - */var l=n(148),c=n(307),u=n(32),d=n(1091),h=n(1087),p=n(1),f=n(168),m=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return p.c(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(function(){return t.flush(null)})))},t.prototype.recycleAsyncId=function(t,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);0===t.actions.length&&(cancelAnimationFrame(n),t.scheduled=void 0)},t}(f.a),g=n(169),y=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p.c(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,r=-1,i=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++r0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=_(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);0===t.actions.length&&(j(n),t.scheduled=void 0)},t}(f.a),E=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p.c(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,r=-1,i=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++r=0}var M=n(122);function q(e){var t=e.index,n=e.period,r=e.subscriber;if(r.next(t),!r.closed){if(-1===n)return r.complete();e.index=t+1,this.schedule(e,n)}}function L(e,t){return void 0===t&&(t=z.a),n=function(){return function(e,t,n){void 0===e&&(e=0);var r=-1;return R(t)?r=Number(t)<1?1:Number(t):Object(M.a)(t)&&(n=t),Object(M.a)(n)||(n=z.a),new u.a(function(t){var i=R(e)?e:+e-n.now();return n.schedule(q,i,{index:0,period:r,subscriber:t})})}(e,t)},function(e){return e.lift(new A(n))};var n}var B=n(308);function F(e){return function(t){return t.lift(new V(e))}}var V=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){var n=new U(e),r=Object(D.c)(this.notifier,new D.a(n));return r&&!n.seenValue?(n.add(r),t.subscribe(n)):n},e}(),U=function(e){function t(t){var n=e.call(this,t)||this;return n.seenValue=!1,n}return p.c(t,e),t.prototype.notifyNext=function(){this.seenValue=!0,this.complete()},t.prototype.notifyComplete=function(){},t}(D.b),H=n(1093);var W,K=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new G(e))},e}(),G=function(e){function t(t){var n=e.call(this,t)||this;return n.hasPrev=!1,n}return p.c(t,e),t.prototype._next=function(e){var t;this.hasPrev?t=[this.prev,e]:this.hasPrev=!0,this.prev=e,t&&this.destination.next(t)},t}(T.a),Q=n(1090),$=n(732);function Y(e,t,n){var r;return r=e&&"object"==typeof e?e:{bufferSize:e,windowTime:t,refCount:!1,scheduler:n},function(e){return e.lift((a=(t=r).bufferSize,o=void 0===a?Number.POSITIVE_INFINITY:a,s=t.windowTime,l=void 0===s?Number.POSITIVE_INFINITY:s,c=t.refCount,u=t.scheduler,d=0,h=!1,p=!1,function(e){var t;d++,!n||h?(h=!1,n=new $.a(o,l,u),t=n.subscribe(this),i=e.subscribe({next:function(e){n.next(e)},error:function(e){h=!0,n.error(e)},complete:function(){p=!0,i=void 0,n.complete()}})):t=n.subscribe(this),this.add(function(){d--,t.unsubscribe(),i&&!p&&c&&0===d&&(i.unsubscribe(),i=void 0,n=void 0)})}));var t,n,i,a,o,s,l,c,u,d,h,p; + */var l=n(149),c=n(307),u=n(33),d=n(1097),h=n(1093),p=n(1),f=n(170),m=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return p.c(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(function(){return t.flush(null)})))},t.prototype.recycleAsyncId=function(t,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);0===t.actions.length&&(cancelAnimationFrame(n),t.scheduled=void 0)},t}(f.a),g=n(171),y=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p.c(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,r=-1,i=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++r0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=_(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);0===t.actions.length&&(j(n),t.scheduled=void 0)},t}(f.a),E=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p.c(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,r=-1,i=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++r=0}var M=n(122);function q(e){var t=e.index,n=e.period,r=e.subscriber;if(r.next(t),!r.closed){if(-1===n)return r.complete();e.index=t+1,this.schedule(e,n)}}function L(e,t){return void 0===t&&(t=z.a),n=function(){return function(e,t,n){void 0===e&&(e=0);var r=-1;return R(t)?r=Number(t)<1?1:Number(t):Object(M.a)(t)&&(n=t),Object(M.a)(n)||(n=z.a),new u.a(function(t){var i=R(e)?e:+e-n.now();return n.schedule(q,i,{index:0,period:r,subscriber:t})})}(e,t)},function(e){return e.lift(new A(n))};var n}var B=n(308);function F(e){return function(t){return t.lift(new V(e))}}var V=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){var n=new U(e),r=Object(D.c)(this.notifier,new D.a(n));return r&&!n.seenValue?(n.add(r),t.subscribe(n)):n},e}(),U=function(e){function t(t){var n=e.call(this,t)||this;return n.seenValue=!1,n}return p.c(t,e),t.prototype.notifyNext=function(){this.seenValue=!0,this.complete()},t.prototype.notifyComplete=function(){},t}(D.b),H=n(1099);var W,K=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new G(e))},e}(),G=function(e){function t(t){var n=e.call(this,t)||this;return n.hasPrev=!1,n}return p.c(t,e),t.prototype._next=function(e){var t;this.hasPrev?t=[this.prev,e]:this.hasPrev=!0,this.prev=e,t&&this.destination.next(t)},t}(T.a),Q=n(1096),$=n(736);function Y(e,t,n){var r;return r=e&&"object"==typeof e?e:{bufferSize:e,windowTime:t,refCount:!1,scheduler:n},function(e){return e.lift((a=(t=r).bufferSize,o=void 0===a?Number.POSITIVE_INFINITY:a,s=t.windowTime,l=void 0===s?Number.POSITIVE_INFINITY:s,c=t.refCount,u=t.scheduler,d=0,h=!1,p=!1,function(e){var t;d++,!n||h?(h=!1,n=new $.a(o,l,u),t=n.subscribe(this),i=e.subscribe({next:function(e){n.next(e)},error:function(e){h=!0,n.error(e)},complete:function(){p=!0,i=void 0,n.complete()}})):t=n.subscribe(this),this.add(function(){d--,t.unsubscribe(),i&&!p&&c&&0===d&&(i.unsubscribe(),i=void 0,n=void 0)})}));var t,n,i,a,o,s,l,c,u,d,h,p; /** * @license * Copyright Google LLC All Rights Reserved. @@ -2076,7 +2076,7 @@ function we(e,t){var n=t;if(!n.getBoundingClientRect)return 0;var r=n.getBoundin * * 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 - */!function(){function e(){}e.ɵmod=r["ɵɵdefineNgModule"]({type:e}),e.ɵinj=r["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[le,te,je],le,je]}),("undefined"==typeof ngJitMode||ngJitMode)&&r["ɵɵsetNgModuleScope"](e,{declarations:function(){return[me,_e,ke]},imports:function(){return[le,te,je]},exports:function(){return[le,je,me,_e,ke]}})}();function Ce(e){var t=e.subscriber,n=e.counter,r=e.period;t.next(n),this.schedule({subscriber:t,counter:n+1,period:r},r)}var Ee=n(165),xe=n(729),Se=n(1092); + */!function(){function e(){}e.ɵmod=r["ɵɵdefineNgModule"]({type:e}),e.ɵinj=r["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[le,te,je],le,je]}),("undefined"==typeof ngJitMode||ngJitMode)&&r["ɵɵsetNgModuleScope"](e,{declarations:function(){return[me,_e,ke]},imports:function(){return[le,te,je]},exports:function(){return[le,je,me,_e,ke]}})}();function Ce(e){var t=e.subscriber,n=e.counter,r=e.period;t.next(n),this.schedule({subscriber:t,counter:n+1,period:r},r)}var Ee=n(167),xe=n(733),Se=n(1098); /** * @license * Copyright Google LLC All Rights Reserved. @@ -2162,7 +2162,7 @@ var e,t;a._stopScrolling(),(e=0,t=y,void 0===e&&(e=0),void 0===t&&(t=z.a),(!R(e) * * 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 - */},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return a});var r=n(163);function i(){for(var e=[],t=0;ts||n!=n?c*(1/0):c*n}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(t){return{e:!0,v:t}}}},function(e,t,n){var r=n(16),i=n(23),a=n(207);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){var r=n(99);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){var r; + */},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return a});var r=n(165);function i(){for(var e=[],t=0;ts||n!=n?c*(1/0):c*n}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(t){return{e:!0,v:t}}}},function(e,t,n){var r=n(16),i=n(23),a=n(209);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){var r=n(99);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){var r; /*! * jQuery JavaScript Library v3.4.1 * https://jquery.com/ @@ -2200,7 +2200,7 @@ var e,t;a._stopScrolling(),(e=0,t=y,void 0===e&&(e=0),void 0===t&&(t=z.a),(!R(e) * * Date: 2019-04-08 */ -function(e){var t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g,y,b,v,k="sizzle"+1*new Date,w=e.document,_=0,j=0,C=le(),E=le(),x=le(),S=le(),T=function(e,t){return e===t&&(d=!0),0},O={}.hasOwnProperty,I=[],z=I.pop,D=I.push,A=I.push,N=I.slice,P=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),W=new RegExp(M+"|>"),K=new RegExp(B),G=new RegExp("^"+q+"$"),Q={ID:new RegExp("^#("+q+")"),CLASS:new RegExp("^\\.("+q+")"),TAG:new RegExp("^("+q+"|[*])"),ATTR:new RegExp("^"+L),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},$=/HTML$/i,Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=function(){h()},oe=ke(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{A.apply(I=N.call(w.childNodes),w.childNodes),I[w.childNodes.length].nodeType}catch(Ee){A={apply:I.length?function(e,t){D.apply(e,N.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var a,s,c,u,d,f,y,b=t&&t.ownerDocument,_=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==_&&9!==_&&11!==_)return r;if(!i&&((t?t.ownerDocument||t:w)!==p&&h(t),t=t||p,m)){if(11!==_&&(d=X.exec(e)))if(a=d[1]){if(9===_){if(!(c=t.getElementById(a)))return r;if(c.id===a)return r.push(c),r}else if(b&&(c=b.getElementById(a))&&v(t,c)&&c.id===a)return r.push(c),r}else{if(d[2])return A.apply(r,t.getElementsByTagName(e)),r;if((a=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return A.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&!S[e+" "]&&(!g||!g.test(e))&&(1!==_||"object"!==t.nodeName.toLowerCase())){if(y=e,b=t,1===_&&W.test(e)){for((u=t.getAttribute("id"))?u=u.replace(re,ie):t.setAttribute("id",u=k),s=(f=o(e)).length;s--;)f[s]="#"+u+" "+ve(f[s]);y=f.join(","),b=ee.test(e)&&ye(t.parentNode)||t}try{return A.apply(r,b.querySelectorAll(y)),r}catch(j){S(e,!0)}finally{u===k&&t.removeAttribute("id")}}}return l(e.replace(V,"$1"),t,r,i)}function le(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function ce(e){return e[k]=!0,e}function ue(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(Ee){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function he(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function fe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function me(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&oe(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ge(e){return ce(function(t){return t=+t,ce(function(n,r){for(var i,a=e([],n.length,t),o=a.length;o--;)n[i=a[o]]&&(n[i]=!(r[i]=n[i]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},a=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!$.test(t||n&&n.nodeName||"HTML")},h=se.setDocument=function(e){var t,i,o=e?e.ownerDocument||e:w;return o!==p&&9===o.nodeType&&o.documentElement?(f=(p=o).documentElement,m=!a(p),w!==p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",ae,!1):i.attachEvent&&i.attachEvent("onunload",ae)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=J.test(p.getElementsByClassName),n.getById=ue(function(e){return f.appendChild(e).id=k,!p.getElementsByName||!p.getElementsByName(k).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n,r,i,a=t.getElementById(e);if(a){if((n=a.getAttributeNode("id"))&&n.value===e)return[a];for(i=t.getElementsByName(e),r=0;a=i[r++];)if((n=a.getAttributeNode("id"))&&n.value===e)return[a]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,a=t.getElementsByTagName(e);if("*"===e){for(;n=a[i++];)1===n.nodeType&&r.push(n);return r}return a},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&m)return t.getElementsByClassName(e)},y=[],g=[],(n.qsa=J.test(p.querySelectorAll))&&(ue(function(e){f.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||g.push("~="),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||g.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),f.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(n.matchesSelector=J.test(b=f.matches||f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=b.call(e,"*"),b.call(e,"[s!='']:x"),y.push("!=",B)}),g=g.length&&new RegExp(g.join("|")),y=y.length&&new RegExp(y.join("|")),t=J.test(f.compareDocumentPosition),v=t||J.test(f.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},T=t?function(e,t){if(e===t)return d=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&v(w,e)?-1:t===p||t.ownerDocument===w&&v(w,t)?1:u?P(u,e)-P(u,t):0:4&r?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,r=0,i=e.parentNode,a=t.parentNode,o=[e],s=[t];if(!i||!a)return e===p?-1:t===p?1:i?-1:a?1:u?P(u,e)-P(u,t):0;if(i===a)return he(e,t);for(n=e;n=n.parentNode;)o.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;o[r]===s[r];)r++;return r?he(o[r],s[r]):o[r]===w?-1:s[r]===w?1:0},p):p},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&h(e),n.matchesSelector&&m&&!S[t+" "]&&(!y||!y.test(t))&&(!g||!g.test(t)))try{var r=b.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(Ee){S(t,!0)}return se(t,p,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!==p&&h(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==p&&h(e);var i=r.attrHandle[t.toLowerCase()],a=i&&O.call(r.attrHandle,t.toLowerCase())?i(e,t,!m):void 0;return void 0!==a?a:n.attributes||!m?e.getAttribute(t):(a=e.getAttributeNode(t))&&a.specified?a.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,a=0;if(d=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(T),d){for(;t=e[a++];)t===e[a]&&(i=r.push(a));for(;i--;)e.splice(r[i],1)}return u=null,e},i=se.getText=function(e){var t,n="",r=0,a=e.nodeType;if(a){if(1===a||9===a||11===a){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===a||4===a)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:ce,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&K.test(n)&&(t=o(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(F," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var a="nth"!==e.slice(0,3),o="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,h,p,f,m=a!==o?"nextSibling":"previousSibling",g=t.parentNode,y=s&&t.nodeName.toLowerCase(),b=!l&&!s,v=!1;if(g){if(a){for(;m;){for(h=t;h=h[m];)if(s?h.nodeName.toLowerCase()===y:1===h.nodeType)return!1;f=m="only"===e&&!f&&"nextSibling"}return!0}if(f=[o?g.firstChild:g.lastChild],o&&b){for(v=(p=(c=(u=(d=(h=g)[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===_&&c[1])&&c[2],h=p&&g.childNodes[p];h=++p&&h&&h[m]||(v=p=0)||f.pop();)if(1===h.nodeType&&++v&&h===t){u[e]=[_,p,v];break}}else if(b&&(v=p=(c=(u=(d=(h=t)[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===_&&c[1]),!1===v)for(;(h=++p&&h&&h[m]||(v=p=0)||f.pop())&&((s?h.nodeName.toLowerCase()!==y:1!==h.nodeType)||!++v||(b&&((u=(d=h[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]=[_,v]),h!==t)););return(v-=i)===r||v%r==0&&v/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[k]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ce(function(e,n){for(var r,a=i(e,t),o=a.length;o--;)e[r=P(e,a[o])]=!(n[r]=a[o])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ce(function(e){var t=[],n=[],r=s(e.replace(V,"$1"));return r[k]?ce(function(e,t,n,i){for(var a,o=r(e,null,i,[]),s=e.length;s--;)(a=o[s])&&(e[s]=!(t[s]=a))}):function(e,i,a){return t[0]=e,r(t,null,a,n),t[0]=null,!n.pop()}}),has:ce(function(e){return function(t){return se(e,t).length>0}}),contains:ce(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}}),lang:ce(function(e){return G.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=m?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:me(!1),disabled:me(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Z.test(e.nodeName)},input:function(e){return Y.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ge(function(){return[0]}),last:ge(function(e,t){return[t-1]}),eq:ge(function(e,t,n){return[n<0?n+t:n]}),even:ge(function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e}),gt:ge(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function _e(e,t,n,r,i){for(var a,o=[],s=0,l=e.length,c=null!=t;s-1&&(a[c]=!(o[c]=d))}}else y=_e(y===o?y.splice(f,y.length):y),i?i(null,o,y,l):A.apply(o,y)})}function Ce(e){for(var t,n,i,a=e.length,o=r.relative[e[0].type],s=o||r.relative[" "],l=o?1:0,u=ke(function(e){return e===t},s,!0),d=ke(function(e){return P(t,e)>-1},s,!0),h=[function(e,n,r){var i=!o&&(r||n!==c)||((t=n).nodeType?u(e,n,r):d(e,n,r));return t=null,i}];l1&&we(h),l>1&&ve(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(V,"$1"),n,l0,i=e.length>0,a=function(a,o,s,l,u){var d,f,g,y=0,b="0",v=a&&[],k=[],w=c,j=a||i&&r.find.TAG("*",u),C=_+=null==w?1:Math.random()||.1,E=j.length;for(u&&(c=o===p||o||u);b!==E&&null!=(d=j[b]);b++){if(i&&d){for(f=0,o||d.ownerDocument===p||(h(d),s=!m);g=e[f++];)if(g(d,o||p,s)){l.push(d);break}u&&(_=C)}n&&((d=!g&&d)&&y--,a&&v.push(d))}if(y+=b,n&&b!==y){for(f=0;g=t[f++];)g(v,k,o,s);if(a){if(y>0)for(;b--;)v[b]||k[b]||(k[b]=z.call(l));k=_e(k)}A.apply(l,k),u&&!a&&k.length>0&&y+t.length>1&&se.uniqueSort(l)}return u&&(_=C,c=w),v};return n?ce(a):a}(a,i))).selector=e}return s},l=se.select=function(e,t,n,i){var a,l,c,u,d,h="function"==typeof e&&e,p=!i&&o(e=h.selector||e);if(n=n||[],1===p.length){if((l=p[0]=p[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===t.nodeType&&m&&r.relative[l[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return n;h&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(a=Q.needsContext.test(e)?0:l.length;a--&&(c=l[a],!r.relative[u=c.type]);)if((d=r.find[u])&&(i=d(c.matches[0].replace(te,ne),ee.test(l[0].type)&&ye(t.parentNode)||t))){if(l.splice(a,1),!(e=i.length&&ve(l)))return A.apply(n,i),n;break}}return(h||s(e,p))(i,t,!m,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=k.split("").sort(T).join("")===k,n.detectDuplicates=!!d,h(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||de("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||de("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||de(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(n);j.find=x,j.expr=x.selectors,j.expr[":"]=j.expr.pseudos,j.uniqueSort=j.unique=x.uniqueSort,j.text=x.getText,j.isXMLDoc=x.isXML,j.contains=x.contains,j.escapeSelector=x.escape;var S=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&j(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},O=j.expr.match.needsContext;function I(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var z=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,t,n){return b(t)?j.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?j.grep(e,function(e){return e===t!==n}):"string"!=typeof t?j.grep(e,function(e){return d.call(t,e)>-1!==n}):j.filter(t,e,n)}j.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?j.find.matchesSelector(r,e)?[r]:[]:j.find.matches(e,j.grep(t,function(e){return 1===e.nodeType}))},j.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(j(e).filter(function(){for(t=0;t1?j.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&O.test(e)?j(e):e||[],!1).length}});var A,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(j.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||A,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:N.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof j?t[0]:t,j.merge(this,j.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),z.test(r[1])&&j.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=o.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(j):j.makeArray(e,this)}).prototype=j.fn,A=j(o);var P=/^(?:parents|prev(?:Until|All))/,R={children:!0,contents:!0,next:!0,prev:!0};function M(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}j.fn.extend({has:function(e){var t=j(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&j.find.matchesSelector(n,e))){a.push(n);break}return this.pushStack(a.length>1?j.uniqueSort(a):a)},index:function(e){return e?"string"==typeof e?d.call(j(e),this[0]):d.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(j.uniqueSort(j.merge(this.get(),j(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),j.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return S(e,"parentNode")},parentsUntil:function(e,t,n){return S(e,"parentNode",n)},next:function(e){return M(e,"nextSibling")},prev:function(e){return M(e,"previousSibling")},nextAll:function(e){return S(e,"nextSibling")},prevAll:function(e){return S(e,"previousSibling")},nextUntil:function(e,t,n){return S(e,"nextSibling",n)},prevUntil:function(e,t,n){return S(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(I(e,"template")&&(e=e.content||e),j.merge([],e.childNodes))}},function(e,t){j.fn[e]=function(n,r){var i=j.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=j.filter(r,i)),this.length>1&&(R[e]||j.uniqueSort(i),P.test(e)&&i.reverse()),this.pushStack(i)}});var q=/[^\x20\t\r\n\f]+/g;function L(e){return e}function B(e){throw e}function F(e,t,n,r){var i;try{e&&b(i=e.promise)?i.call(e).done(t).fail(n):e&&b(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}j.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return j.each(e.match(q)||[],function(e,n){t[n]=!0}),t}(e):j.extend({},e);var t,n,r,i,a=[],o=[],s=-1,l=function(){for(i=i||e.once,r=t=!0;o.length;s=-1)for(n=o.shift();++s-1;)a.splice(n,1),n<=s&&s--}),this},has:function(e){return e?j.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=o=[],a=n="",this},disabled:function(){return!a},lock:function(){return i=o=[],n||t||(a=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],o.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},j.extend({Deferred:function(e){var t=[["notify","progress",j.Callbacks("memory"),j.Callbacks("memory"),2],["resolve","done",j.Callbacks("once memory"),j.Callbacks("once memory"),0,"resolved"],["reject","fail",j.Callbacks("once memory"),j.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return a.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return j.Deferred(function(n){j.each(t,function(t,r){var i=b(e[r[4]])&&e[r[4]];a[r[1]](function(){var e=i&&i.apply(this,arguments);e&&b(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(e,r,i){var a=0;function o(e,t,r,i){return function(){var s=this,l=arguments,c=function(){var n,c;if(!(e=a&&(r!==B&&(s=void 0,l=[n]),t.rejectWith(s,l))}};e?u():(j.Deferred.getStackHook&&(u.stackTrace=j.Deferred.getStackHook()),n.setTimeout(u))}}return j.Deferred(function(n){t[0][3].add(o(0,n,b(i)?i:L,n.notifyWith)),t[1][3].add(o(0,n,b(e)?e:L)),t[2][3].add(o(0,n,b(r)?r:B))}).promise()},promise:function(e){return null!=e?j.extend(e,i):i}},a={};return j.each(t,function(e,n){var o=n[2],s=n[5];i[n[1]]=o.add,s&&o.add(function(){r=s},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),o.add(n[3].fire),a[n[0]]=function(){return a[n[0]+"With"](this===a?void 0:this,arguments),this},a[n[0]+"With"]=o.fireWith}),i.promise(a),e&&e.call(a,a),a},when:function(e){var t=arguments.length,n=t,r=Array(n),i=l.call(arguments),a=j.Deferred(),o=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?l.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(F(e,a.done(o(n)).resolve,a.reject,!t),"pending"===a.state()||b(i[n]&&i[n].then)))return a.then();for(;n--;)F(i[n],o(n),a.reject);return a.promise()}});var V=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;j.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&V.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},j.readyException=function(e){n.setTimeout(function(){throw e})};var U=j.Deferred();function H(){o.removeEventListener("DOMContentLoaded",H),n.removeEventListener("load",H),j.ready()}j.fn.ready=function(e){return U.then(e).catch(function(e){j.readyException(e)}),this},j.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--j.readyWait:j.isReady)||(j.isReady=!0,!0!==e&&--j.readyWait>0||U.resolveWith(o,[j]))}}),j.ready.then=U.then,"complete"===o.readyState||"loading"!==o.readyState&&!o.documentElement.doScroll?n.setTimeout(j.ready):(o.addEventListener("DOMContentLoaded",H),n.addEventListener("load",H));var W=function(e,t,n,r,i,a,o){var s=0,l=e.length,c=null==n;if("object"===_(n))for(s in i=!0,n)W(e,t,s,n[s],!0,a,o);else if(void 0!==r&&(i=!0,b(r)||(o=!0),c&&(o?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(j(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){X.remove(this,e)})}}),j.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,j.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=j.queue(e,t),r=n.length,i=n.shift(),a=j._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete a.stop,i.call(e,function(){j.dequeue(e,t)},a)),!r&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:j.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),j.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,ye=/^$|^module$|\/(?:java|ecma)script/i,be={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&I(e,t)?j.merge([e],n):n}function ke(e,t){for(var n=0,r=e.length;n-1)i&&i.push(a);else if(c=se(a),o=ve(d.appendChild(a),"script"),c&&ke(o),n)for(u=0;a=o[u++];)ye.test(a.type||"")&&n.push(a);return d}we=o.createDocumentFragment().appendChild(o.createElement("div")),(_e=o.createElement("input")).setAttribute("type","radio"),_e.setAttribute("checked","checked"),_e.setAttribute("name","t"),we.appendChild(_e),y.checkClone=we.cloneNode(!0).cloneNode(!0).lastChild.checked,we.innerHTML="",y.noCloneChecked=!!we.cloneNode(!0).lastChild.defaultValue;var Ee=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Se=/^([^.]*)(?:\.(.+)|)/;function Te(){return!0}function Oe(){return!1}function Ie(e,t){return e===function(){try{return o.activeElement}catch(e){}}()==("focus"===t)}function ze(e,t,n,r,i,a){var o,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ze(e,s,n,r,t[s],a);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Oe;else if(!i)return e;return 1===a&&(o=i,(i=function(e){return j().off(e),o.apply(this,arguments)}).guid=o.guid||(o.guid=j.guid++)),e.each(function(){j.event.add(this,t,i,r,n)})}function De(e,t,n){n?(J.set(e,t,!1),j.event.add(e,t,{namespace:!1,handler:function(e){var r,i,a=J.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(j.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=l.call(arguments),J.set(this,t,a),r=n(this,t),this[t](),a!==(i=J.get(this,t))||r?J.set(this,t,!1):i={},a!==i)return e.stopImmediatePropagation(),e.preventDefault(),i.value}else a.length&&(J.set(this,t,{value:j.event.trigger(j.extend(a[0],j.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===J.get(e,t)&&j.event.add(e,t,Te)}j.event={global:{},add:function(e,t,n,r,i){var a,o,s,l,c,u,d,h,p,f,m,g=J.get(e);if(g)for(n.handler&&(n=(a=n).handler,i=a.selector),i&&j.find.matchesSelector(oe,i),n.guid||(n.guid=j.guid++),(l=g.events)||(l=g.events={}),(o=g.handle)||(o=g.handle=function(t){return void 0!==j&&j.event.triggered!==t.type?j.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(q)||[""]).length;c--;)p=m=(s=Se.exec(t[c])||[])[1],f=(s[2]||"").split(".").sort(),p&&(d=j.event.special[p]||{},p=(i?d.delegateType:d.bindType)||p,d=j.event.special[p]||{},u=j.extend({type:p,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&j.expr.match.needsContext.test(i),namespace:f.join(".")},a),(h=l[p])||((h=l[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,r,f,o)||e.addEventListener&&e.addEventListener(p,o)),d.add&&(d.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),i?h.splice(h.delegateCount++,0,u):h.push(u),j.event.global[p]=!0)},remove:function(e,t,n,r,i){var a,o,s,l,c,u,d,h,p,f,m,g=J.hasData(e)&&J.get(e);if(g&&(l=g.events)){for(c=(t=(t||"").match(q)||[""]).length;c--;)if(p=m=(s=Se.exec(t[c])||[])[1],f=(s[2]||"").split(".").sort(),p){for(d=j.event.special[p]||{},h=l[p=(r?d.delegateType:d.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=a=h.length;a--;)u=h[a],!i&&m!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||r&&r!==u.selector&&("**"!==r||!u.selector)||(h.splice(a,1),u.selector&&h.delegateCount--,d.remove&&d.remove.call(e,u));o&&!h.length&&(d.teardown&&!1!==d.teardown.call(e,f,g.handle)||j.removeEvent(e,p,g.handle),delete l[p])}else for(p in l)j.event.remove(e,p+t[c],n,r,!0);j.isEmptyObject(l)&&J.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,a,o,s=j.event.fix(e),l=new Array(arguments.length),c=(J.get(this,"events")||{})[s.type]||[],u=j.event.special[s.type]||{};for(l[0]=s,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(a=[],o={},n=0;n-1:j.find(i,this,null,[c]).length),o[i]&&a.push(r);a.length&&s.push({elem:c,handlers:a})}return c=this,l\x20\t\r\n\f]*)[^>]*)\/>/gi,Ne=/\s*$/g;function Me(e,t){return I(e,"table")&&I(11!==t.nodeType?t:t.firstChild,"tr")&&j(e).children("tbody")[0]||e}function qe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Le(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Be(e,t){var n,r,i,a,o,s,l,c;if(1===t.nodeType){if(J.hasData(e)&&(a=J.access(e),o=J.set(t,a),c=a.events))for(i in delete o.handle,o.events={},c)for(n=0,r=c[i].length;n1&&"string"==typeof f&&!y.checkClone&&Pe.test(f))return e.each(function(i){var a=e.eq(i);m&&(t[0]=f.call(this,i,a.html())),Fe(a,t,n,r)});if(h&&(a=(i=Ce(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(s=(o=j.map(ve(i,"script"),qe)).length;d")},clone:function(e,t,n){var r,i,a,o,s,l,c,u=e.cloneNode(!0),d=se(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||j.isXMLDoc(e)))for(o=ve(u),r=0,i=(a=ve(e)).length;r0&&ke(o,!d&&ve(e,"script")),u},cleanData:function(e){for(var t,n,r,i=j.event.special,a=0;void 0!==(n=e[a]);a++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?j.event.remove(n,r):j.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[X.expando]&&(n[X.expando]=void 0)}}}),j.fn.extend({detach:function(e){return Ve(this,e,!0)},remove:function(e){return Ve(this,e)},text:function(e){return W(this,function(e){return void 0===e?j.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Fe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Me(this,e).appendChild(e)})},prepend:function(){return Fe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Me(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Fe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Fe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(j.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return j.clone(this,e,t)})},html:function(e){return W(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!be[(ge.exec(e)||["",""])[1].toLowerCase()]){e=j.htmlPrefilter(e);try{for(;n=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-a-l-s-.5))||0),l}function it(e,t,n){var r=He(e),i=(!y.boxSizingReliable()||n)&&"border-box"===j.css(e,"boxSizing",!1,r),a=i,o=Ke(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ue.test(o)){if(!n)return o;o="auto"}return(!y.boxSizingReliable()&&i||"auto"===o||!parseFloat(o)&&"inline"===j.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===j.css(e,"boxSizing",!1,r),(a=s in e)&&(o=e[s])),(o=parseFloat(o)||0)+rt(e,t,n||(i?"border":"content"),a,r,o)+"px"}function at(e,t,n,r,i){return new at.prototype.init(e,t,n,r,i)}j.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ke(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,a,o,s=$(t),l=Xe.test(t),c=e.style;if(l||(t=Ze(s)),o=j.cssHooks[t]||j.cssHooks[s],void 0===n)return o&&"get"in o&&void 0!==(i=o.get(e,!1,r))?i:c[t];"string"===(a=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=de(e,t,i),a="number"),null!=n&&n==n&&("number"!==a||l||(n+=i&&i[3]||(j.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),o&&"set"in o&&void 0===(n=o.set(e,n,r))||(l?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var i,a,o,s=$(t);return Xe.test(t)||(t=Ze(s)),(o=j.cssHooks[t]||j.cssHooks[s])&&"get"in o&&(i=o.get(e,!0,n)),void 0===i&&(i=Ke(e,t,r)),"normal"===i&&t in tt&&(i=tt[t]),""===n||n?(a=parseFloat(i),!0===n||isFinite(a)?a||0:i):i}}),j.each(["height","width"],function(e,t){j.cssHooks[t]={get:function(e,n,r){if(n)return!Je.test(j.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?it(e,t,r):ue(e,et,function(){return it(e,t,r)})},set:function(e,n,r){var i,a=He(e),o=!y.scrollboxSize()&&"absolute"===a.position,s=(o||r)&&"border-box"===j.css(e,"boxSizing",!1,a),l=r?rt(e,t,r,s,a):0;return s&&o&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(a[t])-rt(e,t,"border",!1,a)-.5)),l&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=j.css(e,t)),nt(0,n,l)}}}),j.cssHooks.marginLeft=Ge(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ke(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),j.each({margin:"",padding:"",border:"Width"},function(e,t){j.cssHooks[e+t]={expand:function(n){for(var r=0,i={},a="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+ae[r]+t]=a[r]||a[r-2]||a[0];return i}},"margin"!==e&&(j.cssHooks[e+t].set=nt)}),j.fn.extend({css:function(e,t){return W(this,function(e,t,n){var r,i,a={},o=0;if(Array.isArray(t)){for(r=He(e),i=t.length;o1)}}),j.Tween=at,at.prototype={constructor:at,init:function(e,t,n,r,i,a){this.elem=e,this.prop=n,this.easing=i||j.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=a||(j.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=j.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}},at.prototype.init.prototype=at.prototype,at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=j.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){j.fx.step[e.prop]?j.fx.step[e.prop](e):1!==e.elem.nodeType||!j.cssHooks[e.prop]&&null==e.elem.style[Ze(e.prop)]?e.elem[e.prop]=e.now:j.style(e.elem,e.prop,e.now+e.unit)}}},at.propHooks.scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},j.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},j.fx=at.prototype.init,j.fx.step={};var ot,st,lt=/^(?:toggle|show|hide)$/,ct=/queueHooks$/;function ut(){st&&(!1===o.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(ut):n.setTimeout(ut,j.fx.interval),j.fx.tick())}function dt(){return n.setTimeout(function(){ot=void 0}),ot=Date.now()}function ht(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ae[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),a=0,o=i.length;a1)},removeAttr:function(e){return this.each(function(){j.removeAttr(this,e)})}}),j.extend({attr:function(e,t,n){var r,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return void 0===e.getAttribute?j.prop(e,t,n):(1===a&&j.isXMLDoc(e)||(i=j.attrHooks[t.toLowerCase()]||(j.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void j.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=j.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&I(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(q);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?j.removeAttr(e,n):e.setAttribute(n,n),n}},j.each(j.expr.match.bool.source.match(/\w+/g),function(e,t){var n=gt[t]||j.find.attr;gt[t]=function(e,t,r){var i,a,o=t.toLowerCase();return r||(a=gt[o],gt[o]=i,i=null!=n(e,t,r)?o:null,gt[o]=a),i}});var yt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;function vt(e){return(e.match(q)||[]).join(" ")}function kt(e){return e.getAttribute&&e.getAttribute("class")||""}function wt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(q)||[]}j.fn.extend({prop:function(e,t){return W(this,j.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[j.propFix[e]||e]})}}),j.extend({prop:function(e,t,n){var r,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&j.isXMLDoc(e)||(t=j.propFix[t]||t,i=j.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=j.find.attr(e,"tabindex");return t?parseInt(t,10):yt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(j.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),j.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){j.propFix[this.toLowerCase()]=this}),j.fn.extend({addClass:function(e){var t,n,r,i,a,o,s,l=0;if(b(e))return this.each(function(t){j(this).addClass(e.call(this,t,kt(this)))});if((t=wt(e)).length)for(;n=this[l++];)if(i=kt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(o=0;a=t[o++];)r.indexOf(" "+a+" ")<0&&(r+=a+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,a,o,s,l=0;if(b(e))return this.each(function(t){j(this).removeClass(e.call(this,t,kt(this)))});if(!arguments.length)return this.attr("class","");if((t=wt(e)).length)for(;n=this[l++];)if(i=kt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(o=0;a=t[o++];)for(;r.indexOf(" "+a+" ")>-1;)r=r.replace(" "+a+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):b(e)?this.each(function(n){j(this).toggleClass(e.call(this,n,kt(this),t),t)}):this.each(function(){var t,i,a,o;if(r)for(i=0,a=j(this),o=wt(e);t=o[i++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else void 0!==e&&"boolean"!==n||((t=kt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+vt(kt(n))+" ").indexOf(t)>-1)return!0;return!1}});var _t=/\r/g;j.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=b(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,j(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=j.map(i,function(e){return null==e?"":e+""})),(t=j.valHooks[this.type]||j.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=j.valHooks[i.type]||j.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(_t,""):null==n?"":n:void 0}}),j.extend({valHooks:{option:{get:function(e){var t=j.find.attr(e,"value");return null!=t?t:vt(j.text(e))}},select:{get:function(e){var t,n,r,i=e.options,a=e.selectedIndex,o="select-one"===e.type,s=o?null:[],l=o?a+1:i.length;for(r=a<0?l:o?a:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),a}}}}),j.each(["radio","checkbox"],function(){j.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=j.inArray(j(e).val(),t)>-1}},y.checkOn||(j.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in n;var jt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};j.extend(j.event,{trigger:function(e,t,r,i){var a,s,l,c,u,d,h,p,m=[r||o],g=f.call(e,"type")?e.type:e,y=f.call(e,"namespace")?e.namespace.split("."):[];if(s=p=l=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!jt.test(g+j.event.triggered)&&(g.indexOf(".")>-1&&(y=g.split("."),g=y.shift(),y.sort()),u=g.indexOf(":")<0&&"on"+g,(e=e[j.expando]?e:new j.Event(g,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=y.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:j.makeArray(t,[e]),h=j.event.special[g]||{},i||!h.trigger||!1!==h.trigger.apply(r,t))){if(!i&&!h.noBubble&&!v(r)){for(c=h.delegateType||g,jt.test(c+g)||(s=s.parentNode);s;s=s.parentNode)m.push(s),l=s;l===(r.ownerDocument||o)&&m.push(l.defaultView||l.parentWindow||n)}for(a=0;(s=m[a++])&&!e.isPropagationStopped();)p=s,e.type=a>1?c:h.bindType||g,(d=(J.get(s,"events")||{})[e.type]&&J.get(s,"handle"))&&d.apply(s,t),(d=u&&s[u])&&d.apply&&Y(s)&&(e.result=d.apply(s,t),!1===e.result&&e.preventDefault());return e.type=g,i||e.isDefaultPrevented()||h._default&&!1!==h._default.apply(m.pop(),t)||!Y(r)||u&&b(r[g])&&!v(r)&&((l=r[u])&&(r[u]=null),j.event.triggered=g,e.isPropagationStopped()&&p.addEventListener(g,Ct),r[g](),e.isPropagationStopped()&&p.removeEventListener(g,Ct),j.event.triggered=void 0,l&&(r[u]=l)),e.result}},simulate:function(e,t,n){var r=j.extend(new j.Event,n,{type:e,isSimulated:!0});j.event.trigger(r,null,t)}}),j.fn.extend({trigger:function(e,t){return this.each(function(){j.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return j.event.trigger(e,t,n,!0)}}),y.focusin||j.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){j.event.simulate(t,e.target,j.event.fix(e))};j.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Et=n.location,xt=Date.now(),St=/\?/;j.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(r){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||j.error("Invalid XML: "+e),t};var Tt=/\[\]$/,Ot=/\r?\n/g,It=/^(?:submit|button|image|reset|file)$/i,zt=/^(?:input|select|textarea|keygen)/i;function Dt(e,t,n,r){var i;if(Array.isArray(t))j.each(t,function(t,i){n||Tt.test(e)?r(e,i):Dt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==_(t))r(e,t);else for(i in t)Dt(e+"["+i+"]",t[i],n,r)}j.param=function(e,t){var n,r=[],i=function(e,t){var n=b(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!j.isPlainObject(e))j.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},j.fn.extend({serialize:function(){return j.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=j.prop(this,"elements");return e?j.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!j(this).is(":disabled")&&zt.test(this.nodeName)&&!It.test(e)&&(this.checked||!me.test(e))}).map(function(e,t){var n=j(this).val();return null==n?null:Array.isArray(n)?j.map(n,function(e){return{name:t.name,value:e.replace(Ot,"\r\n")}}):{name:t.name,value:n.replace(Ot,"\r\n")}}).get()}});var At=/%20/g,Nt=/#.*$/,Pt=/([?&])_=[^&]*/,Rt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Mt=/^(?:GET|HEAD)$/,qt=/^\/\//,Lt={},Bt={},Ft="*/".concat("*"),Vt=o.createElement("a");function Ut(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,a=t.toLowerCase().match(q)||[];if(b(n))for(;r=a[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Ht(e,t,n,r){var i={},a=e===Bt;function o(s){var l;return i[s]=!0,j.each(e[s]||[],function(e,s){var c=s(t,n,r);return"string"!=typeof c||a||i[c]?a?!(l=c):void 0:(t.dataTypes.unshift(c),o(c),!1)}),l}return o(t.dataTypes[0])||!i["*"]&&o("*")}function Wt(e,t){var n,r,i=j.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&j.extend(!0,e,r),e}Vt.href=Et.href,j.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ft,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":j.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Wt(Wt(e,j.ajaxSettings),t):Wt(j.ajaxSettings,e)},ajaxPrefilter:Ut(Lt),ajaxTransport:Ut(Bt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,a,s,l,c,u,d,h,p,f=j.ajaxSetup({},t),m=f.context||f,g=f.context&&(m.nodeType||m.jquery)?j(m):j.event,y=j.Deferred(),b=j.Callbacks("once memory"),v=f.statusCode||{},k={},w={},_="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(u){if(!s)for(s={};t=Rt.exec(a);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return u?a:null},setRequestHeader:function(e,t){return null==u&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,k[e]=t),this},overrideMimeType:function(e){return null==u&&(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)C.always(e[C.status]);else for(t in e)v[t]=[v[t],e[t]];return this},abort:function(e){var t=e||_;return r&&r.abort(t),E(0,t),this}};if(y.promise(C),f.url=((e||f.url||Et.href)+"").replace(qt,Et.protocol+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(q)||[""],null==f.crossDomain){c=o.createElement("a");try{c.href=f.url,c.href=c.href,f.crossDomain=Vt.protocol+"//"+Vt.host!=c.protocol+"//"+c.host}catch(x){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=j.param(f.data,f.traditional)),Ht(Lt,f,t,C),u)return C;for(h in(d=j.event&&f.global)&&0==j.active++&&j.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Mt.test(f.type),i=f.url.replace(Nt,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(At,"+")):(p=f.url.slice(i.length),f.data&&(f.processData||"string"==typeof f.data)&&(i+=(St.test(i)?"&":"?")+f.data,delete f.data),!1===f.cache&&(i=i.replace(Pt,"$1"),p=(St.test(i)?"&":"?")+"_="+xt+++p),f.url=i+p),f.ifModified&&(j.lastModified[i]&&C.setRequestHeader("If-Modified-Since",j.lastModified[i]),j.etag[i]&&C.setRequestHeader("If-None-Match",j.etag[i])),(f.data&&f.hasContent&&!1!==f.contentType||t.contentType)&&C.setRequestHeader("Content-Type",f.contentType),C.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Ft+"; q=0.01":""):f.accepts["*"]),f.headers)C.setRequestHeader(h,f.headers[h]);if(f.beforeSend&&(!1===f.beforeSend.call(m,C,f)||u))return C.abort();if(_="abort",b.add(f.complete),C.done(f.success),C.fail(f.error),r=Ht(Bt,f,t,C)){if(C.readyState=1,d&&g.trigger("ajaxSend",[C,f]),u)return C;f.async&&f.timeout>0&&(l=n.setTimeout(function(){C.abort("timeout")},f.timeout));try{u=!1,r.send(k,E)}catch(x){if(u)throw x;E(-1,x)}}else E(-1,"No Transport");function E(e,t,o,s){var c,h,p,k,w,_=t;u||(u=!0,l&&n.clearTimeout(l),r=void 0,a=s||"",C.readyState=e>0?4:0,c=e>=200&&e<300||304===e,o&&(k=function(e,t,n){for(var r,i,a,o,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){l.unshift(i);break}if(l[0]in n)a=l[0];else{for(i in n){if(!l[0]||e.converters[i+" "+l[0]]){a=i;break}o||(o=i)}a=a||o}if(a)return a!==l[0]&&l.unshift(a),n[a]}(f,C,o)),k=function(e,t,n,r){var i,a,o,s,l,c={},u=e.dataTypes.slice();if(u[1])for(o in e.converters)c[o.toLowerCase()]=e.converters[o];for(a=u.shift();a;)if(e.responseFields[a]&&(n[e.responseFields[a]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=a,a=u.shift())if("*"===a)a=l;else if("*"!==l&&l!==a){if(!(o=c[l+" "+a]||c["* "+a]))for(i in c)if((s=i.split(" "))[1]===a&&(o=c[l+" "+s[0]]||c["* "+s[0]])){!0===o?o=c[i]:!0!==c[i]&&(a=s[0],u.unshift(s[1]));break}if(!0!==o)if(o&&e.throws)t=o(t);else try{t=o(t)}catch(x){return{state:"parsererror",error:o?x:"No conversion from "+l+" to "+a}}}return{state:"success",data:t}}(f,k,C,c),c?(f.ifModified&&((w=C.getResponseHeader("Last-Modified"))&&(j.lastModified[i]=w),(w=C.getResponseHeader("etag"))&&(j.etag[i]=w)),204===e||"HEAD"===f.type?_="nocontent":304===e?_="notmodified":(_=k.state,h=k.data,c=!(p=k.error))):(p=_,!e&&_||(_="error",e<0&&(e=0))),C.status=e,C.statusText=(t||_)+"",c?y.resolveWith(m,[h,_,C]):y.rejectWith(m,[C,_,p]),C.statusCode(v),v=void 0,d&&g.trigger(c?"ajaxSuccess":"ajaxError",[C,f,c?h:p]),b.fireWith(m,[C,_]),d&&(g.trigger("ajaxComplete",[C,f]),--j.active||j.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return j.get(e,t,n,"json")},getScript:function(e,t){return j.get(e,void 0,t,"script")}}),j.each(["get","post"],function(e,t){j[t]=function(e,n,r,i){return b(n)&&(i=i||r,r=n,n=void 0),j.ajax(j.extend({url:e,type:t,dataType:i,data:n,success:r},j.isPlainObject(e)&&e))}}),j._evalUrl=function(e,t){return j.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){j.globalEval(e,t)}})},j.fn.extend({wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=j(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return b(e)?this.each(function(t){j(this).wrapInner(e.call(this,t))}):this.each(function(){var t=j(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b(e);return this.each(function(n){j(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){j(this).replaceWith(this.childNodes)}),this}}),j.expr.pseudos.hidden=function(e){return!j.expr.pseudos.visible(e)},j.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},j.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Kt={0:200,1223:204},Gt=j.ajaxSettings.xhr();y.cors=!!Gt&&"withCredentials"in Gt,y.ajax=Gt=!!Gt,j.ajaxTransport(function(e){var t,r;if(y.cors||Gt&&!e.crossDomain)return{send:function(i,a){var o,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(o in e.xhrFields)s[o]=e.xhrFields[o];for(o in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(o,i[o]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?a(0,"error"):a(s.status,s.statusText):a(Kt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){t&&r()})},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(l){if(t)throw l}},abort:function(){t&&t()}}}),j.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),j.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return j.globalEval(e),e}}}),j.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),j.ajaxTransport("script",function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=j(" + diff --git a/index.html b/index.html index 4be66627..d81e3aa6 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ - + @@ -26,6 +26,6 @@ - + diff --git a/locales/af/messages.json b/locales/af/messages.json index feee20b1..dcff8077 100644 --- a/locales/af/messages.json +++ b/locales/af/messages.json @@ -446,61 +446,61 @@ "message": "Added item" }, "editedItem": { - "message": "Edited item" + "message": "Gewysigde item" }, "sharedItem": { - "message": "Shared item" + "message": "Gedeelde Item" }, "sharedItems": { - "message": "Shared items" + "message": "Gedeelde Items" }, "deleteItem": { - "message": "Delete Item" + "message": "Skrap item" }, "deleteFolder": { - "message": "Delete Folder" + "message": "Skrap vouer" }, "deleteAttachment": { - "message": "Delete Attachment" + "message": "Skrap aanhegsel" }, "deleteItemConfirmation": { - "message": "Do you really want to send to the trash?" + "message": "Wil u dit regtig na die asblik stuur?" }, "deletedItem": { - "message": "Item sent to trash" + "message": "Item na asblik gestuur" }, "deletedItems": { - "message": "Items sent to trash" + "message": "Items na asblik gestuur" }, "movedItems": { - "message": "Moved items" + "message": "Geskuifde items" }, "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" + "message": "Is u seker u wil die huidige wagwoord oorskryf?" }, "editedFolder": { - "message": "Edited folder" + "message": "Gewysigde vouer" }, "addedFolder": { - "message": "Added folder" + "message": "Toegevoegde vouer" }, "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" + "message": "Is u seker u wil hierdie vouer skrap?" }, "deletedFolder": { - "message": "Deleted folder" + "message": "Geskrapte vouer" }, "loggedOut": { - "message": "Logged out" + "message": "Uitgeteken" }, "loginExpired": { - "message": "Your login session has expired." + "message": "U aantekensessie het verstryk." }, "logOutConfirmation": { - "message": "Are you sure you want to log out?" + "message": "Is u seker u wil uitteken?" }, "logOut": { - "message": "Log Out" + "message": "Teken uit" }, "ok": { "message": "Goed" @@ -512,7 +512,7 @@ "message": "Nee" }, "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." + "message": "Teken aan of skep ’n nuwe rekening vir toegang tot u beveiligde kluis." }, "createAccount": { "message": "Skep rekening" @@ -524,7 +524,7 @@ "message": "Dien in" }, "emailAddressDesc": { - "message": "You'll use your email address to log in." + "message": "U gaan u e-posadres gebruik vir aantekening." }, "yourName": { "message": "U naam" @@ -536,13 +536,13 @@ "message": "Hoofwagwoord" }, "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": "Die hoofwagwoord is die wagwoord wat u gaan gebruik vir toegang tot u kluis. Dit is baie belangrik dat u u hoofwagwoord onthou. Daar is geen manier om dit terug te kry ingeval u dit vergeet het nie." }, "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." + "message": "’n Hoofwagwoordwenk kan u help om u wagwoord te onthou, sou u dit vergeet." }, "reTypeMasterPass": { - "message": "Re-type Master Password" + "message": "Voer weer hoofwagwoord in" }, "masterPassHint": { "message": "Hoofwagwoordwenk (opsioneel)" @@ -557,46 +557,46 @@ "message": "Wagwoordwenk" }, "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." + "message": "Voer u rekening-e-posadres in om u hoofwagwoordwenk te kry." }, "getMasterPasswordHint": { - "message": "Get master password hint" + "message": "Kry hoofwagwoordwenk" }, "emailRequired": { - "message": "Email address is required." + "message": "E-posadres word benodig." }, "invalidEmail": { - "message": "Invalid email address." + "message": "Ongeldige e-posadres." }, "masterPassRequired": { - "message": "Master password is required." + "message": "Hoofwagwoord word benodig." }, "masterPassLength": { - "message": "Master password must be at least 8 characters long." + "message": "Hoofwagwoord moet ten minste 8 karakters lank wees." }, "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." + "message": "Hoofwagwoordbevestiging stem nie ooreen nie." }, "newAccountCreated": { - "message": "Your new account has been created! You may now log in." + "message": "U nuwe rekening is geskep! U kan nou aanteken." }, "masterPassSent": { - "message": "We've sent you an email with your master password hint." + "message": "Ons het ’n e-pos gestuur met u hoofwagwoordwenk." }, "unexpectedError": { - "message": "An unexpected error has occurred." + "message": "'n Onverwagte fout het voorgekom." }, "emailAddress": { - "message": "Email Address" + "message": "E-posadres" }, "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." + "message": "U kluis is vergrendel. Verifieer u hoofwagwoord om voort te gaan." }, "unlock": { - "message": "Unlock" + "message": "Ontgrendel" }, "loggedInAsEmailOn": { - "message": "Logged in as $EMAIL$ on $HOSTNAME$.", + "message": "Aangeteken as $EMAIL$ by $HOSTNAME$.", "placeholders": { "email": { "content": "$1", @@ -609,34 +609,34 @@ } }, "invalidMasterPassword": { - "message": "Invalid master password" + "message": "Ongeldige hoofwagwoord" }, "lockNow": { - "message": "Lock Now" + "message": "Vergrendel nou" }, "noItemsInList": { - "message": "There are no items to list." + "message": "Daar is geen items om te lys nie." }, "noCollectionsInList": { - "message": "There are no collections to list." + "message": "Daar is geen versamelings om te lys nie." }, "noGroupsInList": { - "message": "There are no groups to list." + "message": "Daar is geen groepe om te lys nie." }, "noUsersInList": { - "message": "There are no users to list." + "message": "Daar is geen gebruikers om te lys nie." }, "noEventsInList": { - "message": "There are no events to list." + "message": "Daar is geen gebeure om te lys nie." }, "newOrganization": { - "message": "New Organization" + "message": "Nuwe organisasie" }, "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." + "message": "U behoort aan geen organisasies nie. Organisasies laat u toe om items op beveiligde wyse met ander gebruikers te deel." }, "versionNumber": { - "message": "Version $VERSION_NUMBER$", + "message": "Weergawe $VERSION_NUMBER$", "placeholders": { "version_number": { "content": "$1", @@ -645,10 +645,10 @@ } }, "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." + "message": "Voer die 6-syferbevestigingskode van u waarmerktoep in." }, "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", + "message": "Voer die 8-syferbevestigingskode in wat aan $EMAIL$ gestuur is.", "placeholders": { "email": { "content": "$1", @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Import Data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data has been successfully imported into your vault." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data is not formatted correctly. Please check your import file and try again." }, @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Password hygiene, account health, and data breach reports to keep your vault safe." }, @@ -3352,7 +3373,7 @@ "message": "Disabled" }, "sendLink": { - "message": "Send Link", + "message": "Send link", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/be/messages.json b/locales/be/messages.json index cf2539c1..926becb1 100644 --- a/locales/be/messages.json +++ b/locales/be/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "Экспартуемы файл утрымлівае даныя вашага сховішча ў незашыфраваным фармаце. Яго не варта захоўваць ці адпраўляць па небяспечным каналам (напрыклад, па электроннай пошце). Выдаліце яго адразу пасля выкарыстання." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Увядзіце ваш асноўны пароль для экспарту даных са сховішча." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Імпарт даных" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data has been successfully imported into your vault." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data is not formatted correctly. Please check your import file and try again." }, @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Дадатковыя варыянты двухэтапнага ўваходу, такія як YubiKey, FIDO U2F і Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Гігіена пароляў, здароўе ўліковага запісу і справаздачы аб уцечках даных для забеспячэння бяспекі вашага сховішча." }, @@ -3352,7 +3373,7 @@ "message": "Disabled" }, "sendLink": { - "message": "Send Link", + "message": "Send link", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/bg/messages.json b/locales/bg/messages.json index f43121bf..5eeb6037 100644 --- a/locales/bg/messages.json +++ b/locales/bg/messages.json @@ -348,7 +348,7 @@ "message": "Редактиране на елемента" }, "viewItem": { - "message": "View Item" + "message": "Преглед на елемента" }, "ex": { "message": "напр.", @@ -794,14 +794,17 @@ "message": "ВНИМАНИЕ" }, "confirmVaultExport": { - "message": "Confirm Vault Export" + "message": "Потвърждаване на изнасянето на трезора" }, "exportWarningDesc": { "message": "Данните от трезора ви ще се изнесат в незащитен формат. Не го пращайте по незащитени канали като електронна поща. Изтрийте файла незабавно след като свършите работата си с него." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Въведете главната парола, за да изнесете данните." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Внасяне на данни" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Данните са внесени успешно в трезора ви." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Данните са в неправилен формат. Проверете файла за внасяне и пробвайте отново." }, @@ -1364,7 +1382,7 @@ "message": "Открити са записи без двустепенна идентификация" }, "inactive2faFoundDesc": { - "message": "В трезора ви има записи за $COUNT$ уебсайта, които е възможно да не са настроени за работа с двустепенна идентификация (според сайта 2fa.directory). За да защитите тези регистрации, трябва да включите двустепенната идентификация.", + "message": "В трезора ви има записи за $COUNT$ уебсайта, които е възможно да не са настроени за работа с двустепенна идентификация (според сайта twofactorauth.org). За да защитите тези регистрации, трябва да включите двустепенната идентификация.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Двустепенно удостоверяване чрез YubiKey, FIDO U2F и Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Проверки в списъците с публикувани пароли, проверка на регистрациите и доклади за изтекли данни, което спомага трезорът ви да е допълнително защитен." }, @@ -1669,7 +1690,7 @@ "message": "Информация за плащането" }, "billingInformation": { - "message": "Billing Information" + "message": "Информация за фактуриране" }, "creditCard": { "message": "Кредитна карта" @@ -2978,7 +2999,7 @@ "message": "Ключът за API дава пълен достъп до организацията. Трябва да го пазите в тайна." }, "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." + "message": "Ключът позволява да се идентифицирате към инструментите на командния ред на Битуорден." }, "userApiKeyWarning": { "message": "Вашият API ключ е алтернативен механизъм автентикация. Той трябва да се пази в тайна." @@ -3349,10 +3370,10 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "Изключено" }, "sendLink": { - "message": "Send Link", + "message": "Send link", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3382,7 +3403,7 @@ "message": "Pending deletion" }, "expired": { - "message": "Expired" + "message": "Изтекъл" }, "searchSends": { "message": "Search Sends", @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Заради някоя политика за голяма организация не може да запазвате елементи в собствения си трезор. Променете собствеността да е на организация и изберете от наличните колекции." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3584,7 +3630,7 @@ "message": "Allows more granular control of user permissions for advanced configurations." }, "permissions": { - "message": "Permissions" + "message": "Права" }, "accessBusinessPortal": { "message": "Access Business Portal" @@ -3620,7 +3666,7 @@ "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "Политика от някоя организация влияе на вариантите за собственост." }, "personalOwnershipCheckboxDesc": { "message": "Disable personal ownership for organization users" @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/bn/messages.json b/locales/bn/messages.json new file mode 100644 index 00000000..07c743b8 --- /dev/null +++ b/locales/bn/messages.json @@ -0,0 +1,3766 @@ +{ + "pageTitle": { + "message": "$APP_NAME$ ওয়েব ভল্ট", + "description": "The title of the website in the browser window.", + "placeholders": { + "app_name": { + "content": "$1", + "example": "Bitwarden" + } + } + }, + "whatTypeOfItem": { + "message": "এটি কোন ধরণের বস্তু?" + }, + "name": { + "message": "নাম" + }, + "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": "নতুন URI" + }, + "username": { + "message": "ব্যবহারকারীর নাম" + }, + "password": { + "message": "পাসওয়ার্ড" + }, + "newPassword": { + "message": "নতুন পাসওয়ার্ড" + }, + "passphrase": { + "message": "পাসফ্রেজ" + }, + "notes": { + "message": "মন্তব্য" + }, + "customFields": { + "message": "পছন্দসই ক্ষেত্র" + }, + "cardholderName": { + "message": "কার্ডধারীর নাম" + }, + "number": { + "message": "নম্বর" + }, + "brand": { + "message": "ব্র্যান্ড" + }, + "expiration": { + "message": "মেয়াদোত্তীর্ণতা" + }, + "securityCode": { + "message": "নিরাপত্তা কোড (CVV)" + }, + "identityName": { + "message": "পরিচয়ের নাম" + }, + "company": { + "message": "কোম্পানি" + }, + "ssn": { + "message": "সামাজিক সুরক্ষা নম্বর" + }, + "passportNumber": { + "message": "পাসপোর্ট নম্বর" + }, + "licenseNumber": { + "message": "লাইসেন্স নম্বর" + }, + "email": { + "message": "ই-মেইল" + }, + "phone": { + "message": "ফোন" + }, + "january": { + "message": "জানুয়ারী" + }, + "february": { + "message": "ফেব্রুয়ারী" + }, + "march": { + "message": "মার্চ" + }, + "april": { + "message": "এপ্রিল" + }, + "may": { + "message": "মে" + }, + "june": { + "message": "জুন" + }, + "july": { + "message": "জুলাই" + }, + "august": { + "message": "আগস্ট" + }, + "september": { + "message": "সেপ্টেম্বর" + }, + "october": { + "message": "অক্টোবর" + }, + "november": { + "message": "নভেম্বর" + }, + "december": { + "message": "ডিসেম্বর" + }, + "title": { + "message": "শিরোনাম" + }, + "mr": { + "message": "জনাব" + }, + "mrs": { + "message": "জনাবা" + }, + "ms": { + "message": "জনাবা" + }, + "dr": { + "message": "ডাঃ" + }, + "expirationMonth": { + "message": "মেয়াদোত্তীর্ণ মাস" + }, + "expirationYear": { + "message": "মেয়াদোত্তীর্ণ বছর" + }, + "authenticatorKeyTotp": { + "message": "প্রমাণীকরণকারী কী (TOTP)" + }, + "folder": { + "message": "ফোল্ডার" + }, + "newCustomField": { + "message": "নতুন পছন্দসই ক্ষেত্র" + }, + "value": { + "message": "মান" + }, + "dragToSort": { + "message": "বাছাই করতে টানুন" + }, + "cfTypeText": { + "message": "পাঠ্য" + }, + "cfTypeHidden": { + "message": "লুকায়িত" + }, + "cfTypeBoolean": { + "message": "বুলিয়ান" + }, + "remove": { + "message": "সরান" + }, + "unassigned": { + "message": "Unassigned" + }, + "noneFolder": { + "message": "কোন ফোল্ডার নেই", + "description": "This is the folder for uncategorized items" + }, + "addFolder": { + "message": "ফোল্ডার জুড়ুন" + }, + "editFolder": { + "message": "ফোল্ডার সম্পাদনা" + }, + "baseDomain": { + "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": "হুবহু" + }, + "startsWith": { + "message": "শুরু করুন" + }, + "regEx": { + "message": "নিয়মিত অভিব্যাক্তি", + "description": "A programming term, also known as 'RegEx'." + }, + "matchDetection": { + "message": "মিল সনাক্তকরণ", + "description": "URI match detection for auto-fill." + }, + "defaultMatchDetection": { + "message": "পূর্ব-নির্ধারিত মিল সনাক্তকরণ", + "description": "Default URI match detection for auto-fill." + }, + "never": { + "message": "কখনই না" + }, + "toggleVisibility": { + "message": "দৃশ্যমানতা টগল করুন" + }, + "toggleCollapse": { + "message": "Toggle Collapse", + "description": "Toggling an expand/collapse state." + }, + "generatePassword": { + "message": "পাসওয়ার্ড তৈরি করুন" + }, + "checkPassword": { + "message": "Check if password has been exposed." + }, + "passwordExposed": { + "message": "ডেটা লঙ্ঘনে এই পাসওয়ার্ডটি $VALUE$ সময় (গুলি) উন্মুক্ত করা হয়েছে। আপনার এটি পরিবর্তন করা উচিত।", + "placeholders": { + "value": { + "content": "$1", + "example": "2" + } + } + }, + "passwordSafe": { + "message": "এই পাসওয়ার্ডটি কোনও পরিচিত তথ্য লঙ্ঘনে পাওয়া যায় নি। এটি ব্যবহার করা নিরাপদ হওয়া উচিত।" + }, + "save": { + "message": "সংরক্ষণ" + }, + "cancel": { + "message": "বাতিল" + }, + "canceled": { + "message": "বাতিলকৃত" + }, + "close": { + "message": "বন্ধ করুন" + }, + "delete": { + "message": "মুছুন" + }, + "favorite": { + "message": "প্রিয়" + }, + "unfavorite": { + "message": "অপ্রিয়" + }, + "edit": { + "message": "সম্পাদনা" + }, + "searchCollection": { + "message": "সংগ্রহ অনুসন্ধান" + }, + "searchFolder": { + "message": "ফোল্ডার অনুসন্ধান" + }, + "searchFavorites": { + "message": "Search Favorites" + }, + "searchType": { + "message": "অনুসন্ধানের ধরন", + "description": "Search item type" + }, + "searchVault": { + "message": "ভল্ট খুঁজুন" + }, + "allItems": { + "message": "সকল বস্তু" + }, + "favorites": { + "message": "প্রিয়গুলো" + }, + "types": { + "message": "প্রকার" + }, + "typeLogin": { + "message": "লগইন" + }, + "typeCard": { + "message": "কার্ড" + }, + "typeIdentity": { + "message": "পরিচয়" + }, + "typeSecureNote": { + "message": "সুরক্ষিত নোট" + }, + "folders": { + "message": "ফোল্ডারসমূহ" + }, + "collections": { + "message": "সংগ্রহ" + }, + "firstName": { + "message": "নামের প্রথম অংশ" + }, + "middleName": { + "message": "নামের মাঝের অংশ" + }, + "lastName": { + "message": "নামের শেষ অংশ" + }, + "address1": { + "message": "ঠিকানা ১" + }, + "address2": { + "message": "ঠিকানা ২" + }, + "address3": { + "message": "ঠিকানা ৩" + }, + "cityTown": { + "message": "শহর" + }, + "stateProvince": { + "message": "রাজ্য / প্রদেশ" + }, + "zipPostalCode": { + "message": "জিপ / ডাক কোড" + }, + "country": { + "message": "দেশ" + }, + "shared": { + "message": "ভাগকৃত" + }, + "attachments": { + "message": "সংযুক্তি" + }, + "select": { + "message": "নির্বাচন করুন" + }, + "addItem": { + "message": "বস্তু জুড়ুন" + }, + "editItem": { + "message": "বস্তু সম্পাদনা" + }, + "viewItem": { + "message": "বস্তু দেখুন" + }, + "ex": { + "message": "উদাহরণ", + "description": "Short abbreviation for 'example'." + }, + "other": { + "message": "অন্যান্য" + }, + "share": { + "message": "ভাগ করুন" + }, + "valueCopied": { + "message": "$VALUE$ অনুলিপিত", + "description": "Value has been copied to the clipboard.", + "placeholders": { + "value": { + "content": "$1", + "example": "Password" + } + } + }, + "copyValue": { + "message": "মান অনুলিপিত করুন", + "description": "Copy value to clipboard" + }, + "copyPassword": { + "message": "পাসওয়ার্ড অনুলিপিত করুন", + "description": "Copy password to clipboard" + }, + "copyUsername": { + "message": "ব্যবহারকারীর নাম অনুলিপিত করুন", + "description": "Copy username to clipboard" + }, + "copyNumber": { + "message": "Copy Number", + "description": "Copy credit card number" + }, + "copySecurityCode": { + "message": "Copy Security Code", + "description": "Copy credit card security code (CVV)" + }, + "copyUri": { + "message": "Copy URI", + "description": "Copy URI to clipboard" + }, + "myVault": { + "message": "আমার ভল্ট" + }, + "vault": { + "message": "Vault" + }, + "shareSelected": { + "message": "Share Selected" + }, + "deleteSelected": { + "message": "Delete Selected" + }, + "moveSelected": { + "message": "Move Selected" + }, + "selectAll": { + "message": "Select All" + }, + "unselectAll": { + "message": "Unselect All" + }, + "launch": { + "message": "Launch" + }, + "newAttachment": { + "message": "Add New Attachment" + }, + "deletedAttachment": { + "message": "Deleted attachment" + }, + "deleteAttachmentConfirmation": { + "message": "Are you sure you want to delete this attachment?" + }, + "attachmentSaved": { + "message": "The attachment has been saved." + }, + "file": { + "message": "ফাইল" + }, + "selectFile": { + "message": "একটি ফাইল নির্বাচন করুন।" + }, + "maxFileSize": { + "message": "সর্বোচ্চ ফাইলের আকার ১০০ এমবি।" + }, + "updateKey": { + "message": "You cannot use this feature until you update your encryption key." + }, + "addedItem": { + "message": "Added item" + }, + "editedItem": { + "message": "Edited item" + }, + "sharedItem": { + "message": "Shared item" + }, + "sharedItems": { + "message": "Shared items" + }, + "deleteItem": { + "message": "Delete Item" + }, + "deleteFolder": { + "message": "Delete Folder" + }, + "deleteAttachment": { + "message": "Delete Attachment" + }, + "deleteItemConfirmation": { + "message": "Do you really want to send to the trash?" + }, + "deletedItem": { + "message": "Item sent to trash" + }, + "deletedItems": { + "message": "Items sent to trash" + }, + "movedItems": { + "message": "Moved items" + }, + "overwritePasswordConfirmation": { + "message": "Are you sure you want to overwrite the current password?" + }, + "editedFolder": { + "message": "Edited folder" + }, + "addedFolder": { + "message": "Added folder" + }, + "deleteFolderConfirmation": { + "message": "Are you sure you want to delete this folder?" + }, + "deletedFolder": { + "message": "Deleted folder" + }, + "loggedOut": { + "message": "Logged out" + }, + "loginExpired": { + "message": "Your login session has expired." + }, + "logOutConfirmation": { + "message": "Are you sure you want to log out?" + }, + "logOut": { + "message": "Log Out" + }, + "ok": { + "message": "Ok" + }, + "yes": { + "message": "Yes" + }, + "no": { + "message": "No" + }, + "loginOrCreateNewAccount": { + "message": "আপনার সুরক্ষিত ভল্টে প্রবেশ করতে লগ ইন করুন অথবা একটি নতুন অ্যাকাউন্ট তৈরি করুন।" + }, + "createAccount": { + "message": "অ্যাকাউন্ট তৈরি" + }, + "logIn": { + "message": "Log In" + }, + "submit": { + "message": "Submit" + }, + "emailAddressDesc": { + "message": "You'll use your email address to log in." + }, + "yourName": { + "message": "Your Name" + }, + "yourNameDesc": { + "message": "What should we call you?" + }, + "masterPass": { + "message": "Master Password" + }, + "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." + }, + "masterPassHintDesc": { + "message": "A master password hint can help you remember your password if you forget it." + }, + "reTypeMasterPass": { + "message": "পুনরায় মূল পাসওয়ার্ডটি লিখুন" + }, + "masterPassHint": { + "message": "মূল পাসওয়ার্ড ইঙ্গিত (ঐচ্ছিক)" + }, + "masterPassHintLabel": { + "message": "মূল পাসওয়ার্ডের ইঙ্গিত" + }, + "settings": { + "message": "সেটিংস" + }, + "passwordHint": { + "message": "পাসওয়ার্ড ইঙ্গিত" + }, + "enterEmailToGetHint": { + "message": "আপনার মূল পাসওয়ার্ডের ইঙ্গিতটি পেতে আপনার অ্যাকাউন্টের ইমেল ঠিকানা প্রবেশ করুন।" + }, + "getMasterPasswordHint": { + "message": "মূল পাসওয়ার্ডের ইঙ্গিত পান" + }, + "emailRequired": { + "message": "ইমেইল ঠিকানা প্রয়োজন।" + }, + "invalidEmail": { + "message": "অকার্যকর ইমেইল ঠিকানা।" + }, + "masterPassRequired": { + "message": "মূল পাসওয়ার্ড প্রয়োজন।" + }, + "masterPassLength": { + "message": "মূল পাসওয়ার্ড কমপক্ষে ৮ অক্ষর দীর্ঘ হওয়া উচিত।" + }, + "masterPassDoesntMatch": { + "message": "মূল পাসওয়ার্ড নিশ্চিতকরণ মেলেনি।" + }, + "newAccountCreated": { + "message": "আপনার নতুন অ্যাকাউন্ট তৈরি করা হয়েছে! আপনি এখন প্রবেশ করতে পারেন।" + }, + "masterPassSent": { + "message": "আমরা আপনাকে আপনার মূল পাসওয়ার্ডের ইঙ্গিতসহ একটি ইমেল প্রেরণ করেছি।" + }, + "unexpectedError": { + "message": "একটি অপ্রত্যাশিত ত্রুটি ঘটেছে।" + }, + "emailAddress": { + "message": "ইমেইল ঠিকানা" + }, + "yourVaultIsLocked": { + "message": "আপনার ভল্ট লক করা আছে। চালিয়ে যেতে আপনার মূল পাসওয়ার্ডটি যাচাই করান।" + }, + "unlock": { + "message": "আনলক" + }, + "loggedInAsEmailOn": { + "message": "$HOSTNAME$ এ $EMAIL$ হিসাবে লগ ইনকৃত।", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + }, + "hostname": { + "content": "$2", + "example": "bitwarden.com" + } + } + }, + "invalidMasterPassword": { + "message": "অবৈধ মূল পাসওয়ার্ড" + }, + "lockNow": { + "message": "এখনই লক করুন" + }, + "noItemsInList": { + "message": "তালিকার জন্য কোনও বস্তু নেই।" + }, + "noCollectionsInList": { + "message": "তালিকার জন্য কোনও সংগ্রহ নেই।" + }, + "noGroupsInList": { + "message": "There are no groups to list." + }, + "noUsersInList": { + "message": "There are no users to list." + }, + "noEventsInList": { + "message": "There are no events to list." + }, + "newOrganization": { + "message": "নতুন সংগঠন" + }, + "noOrganizationsList": { + "message": "আপনি কোনও সংস্থার অন্তর্ভুক্ত নন। সংগঠনগুলি আপনাকে নিরাপদে অন্য ব্যবহারকারীর সাথে বস্তুসমূহ ভাগ করে নেওয়ার অনুমতি দেয়।" + }, + "versionNumber": { + "message": "সংস্করণ $VERSION_NUMBER$", + "placeholders": { + "version_number": { + "content": "$1", + "example": "1.2.3" + } + } + }, + "enterVerificationCodeApp": { + "message": "আপনার প্রমাণীকরণকারী অ্যাপ থেকে ৬ সংখ্যার যাচাইকরণ কোডটি প্রবেশ করুন।" + }, + "enterVerificationCodeEmail": { + "message": "$EMAIL$ এ ইমেইল করা ৬ সংখ্যার যাচাই কোডটি প্রবেশ করুন।", + "placeholders": { + "email": { + "content": "$1", + "example": "example@gmail.com" + } + } + }, + "verificationCodeEmailSent": { + "message": "$EMAIL$ এ যাচাইকরণ ইমেইল প্রেরণ করা হয়েছে।", + "placeholders": { + "email": { + "content": "$1", + "example": "example@gmail.com" + } + } + }, + "rememberMe": { + "message": "আমাকে মনে রাখবেন" + }, + "sendVerificationCodeEmailAgain": { + "message": "আবার যাচাইকরণ কোড ইমেইলে প্রেরণ করুন" + }, + "useAnotherTwoStepMethod": { + "message": "অন্য দ্বি-পদক্ষেপ প্রবেশ পদ্ধতি ব্যবহার করুন" + }, + "insertYubiKey": { + "message": "আপনার কম্পিউটারের ইউএসবি পোর্টে আপনার YubiKey ঢোকান, তারপরে তার বোতামটি স্পর্শ করুন।" + }, + "insertU2f": { + "message": "আপনার কম্পিউটারের ইউএসবি পোর্টে আপনার সুরক্ষা কী ঢোকান। এটিতে যদি একটি বোতাম থাকে তবে তা স্পর্শ করুন।" + }, + "loginUnavailable": { + "message": "লগইন অনুপলব্ধ" + }, + "noTwoStepProviders": { + "message": "এই অ্যাকাউন্টে দ্বি-পদক্ষেপ লগইন সক্ষম রয়েছে, তবে কনফিগারকৃত দ্বি-পদক্ষেপ সরবরাহকারীদের কোনওটিই এই ওয়েব ব্রাউজার দ্বারা সমর্থিত নয়।" + }, + "noTwoStepProviders2": { + "message": "দয়া করে একটি সমর্থিত ওয়েব ব্রাউজার ব্যবহার করুন (যেমন ক্রোম) এবং/অথবা অতিরিক্ত সরবরাহকারী যুক্ত করুন যা ওয়েব ব্রাউজারগুলিতে আরও ভাল সমর্থিত (যেমন একটি প্রমাণীকরণকারী অ্যাপ)।" + }, + "twoStepOptions": { + "message": "দ্বি-পদক্ষেপ লগইন বিকল্প" + }, + "recoveryCodeDesc": { + "message": "আপনার সমস্ত দ্বি-গুণক সরবরাহকারীদের অ্যাক্সেস হারিয়েছেন? আপনার অ্যাকাউন্ট থেকে সমস্ত দ্বি-গুণক সরবরাহকারীদের অক্ষম করতে আপনার পুনরুদ্ধার কোডটি ব্যবহার করুন।" + }, + "recoveryCodeTitle": { + "message": "পুনরুদ্ধার কোড" + }, + "authenticatorAppTitle": { + "message": "প্রমাণীকরণকারী অ্যাপ" + }, + "authenticatorAppDesc": { + "message": "সময় ভিত্তিক যাচাইকরণ কোড উৎপন্ন করতে একটি প্রমাণীকরণকারী অ্যাপ্লিকেশন (যেমন Authy বা Google Authenticator) ব্যবহার করুন।", + "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." + }, + "yubiKeyTitle": { + "message": "YubiKey OTP সুরক্ষা কী" + }, + "yubiKeyDesc": { + "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." + }, + "duoDesc": { + "message": "Duo Mobile app, এসএমএস, ফোন কল, বা U2F সুরক্ষা কী ব্যবহার করে Duo Security এর মাধ্যমে যাচাই করুন।", + "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." + }, + "duoOrganizationDesc": { + "message": "Duo Mobile app, এসএমএস, ফোন কল, বা U2F সুরক্ষা কী ব্যবহার করে আপনার সংস্থার জন্য Duo Security এর মাধ্যমে যাচাই করুন।", + "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." + }, + "u2fDesc": { + "message": "আপনার অ্যাকাউন্ট ব্যাবহার করতে যেকোন FIDO U2F সক্ষম সুরক্ষা কী ব্যবহার করুন।" + }, + "u2fTitle": { + "message": "FIDO U2F সুরক্ষা কী" + }, + "emailTitle": { + "message": "Email" + }, + "emailDesc": { + "message": "Verification codes will be emailed to you." + }, + "continue": { + "message": "Continue" + }, + "organization": { + "message": "Organization" + }, + "organizations": { + "message": "Organizations" + }, + "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" + } + } + }, + "shareSelectedItemsCountDesc": { + "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", + "placeholders": { + "count": { + "content": "$1", + "example": "10" + }, + "shareable_count": { + "content": "$2", + "example": "8" + }, + "nonshareable_count": { + "content": "$3", + "example": "2" + } + } + }, + "verificationCodeTotp": { + "message": "Verification Code (TOTP)" + }, + "copyVerificationCode": { + "message": "Copy Verification Code" + }, + "warning": { + "message": "Warning" + }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, + "exportWarningDesc": { + "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." + }, + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, + "exportMasterPassword": { + "message": "Enter your master password to export your vault data." + }, + "exportVault": { + "message": "Export Vault" + }, + "fileFormat": { + "message": "File Format" + }, + "exportSuccess": { + "message": "Your vault data has been exported." + }, + "passwordGenerator": { + "message": "পাসওয়ার্ড উৎপাদক" + }, + "minComplexityScore": { + "message": "Minimum Complexity Score" + }, + "minNumbers": { + "message": "Minimum Numbers" + }, + "minSpecial": { + "message": "Minimum Special", + "description": "Minimum Special Characters" + }, + "ambiguous": { + "message": "Avoid Ambiguous Characters" + }, + "regeneratePassword": { + "message": "Regenerate Password" + }, + "length": { + "message": "Length" + }, + "numWords": { + "message": "Number of Words" + }, + "wordSeparator": { + "message": "Word Separator" + }, + "capitalize": { + "message": "Capitalize", + "description": "Make the first letter of a work uppercase." + }, + "includeNumber": { + "message": "Include Number" + }, + "passwordHistory": { + "message": "Password History" + }, + "noPasswordsInList": { + "message": "There are no passwords to list." + }, + "clear": { + "message": "Clear", + "description": "To clear something out. example: To clear browser history." + }, + "accountUpdated": { + "message": "Account Updated" + }, + "changeEmail": { + "message": "Change Email" + }, + "newEmail": { + "message": "New Email" + }, + "code": { + "message": "Code" + }, + "changeEmailDesc": { + "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize the email address change.", + "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": "Email Changed" + }, + "logBackIn": { + "message": "Please log back in." + }, + "logBackInOthersToo": { + "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" + }, + "masterPasswordChanged": { + "message": "Master Password Changed" + }, + "currentMasterPass": { + "message": "Current Master Password" + }, + "newMasterPass": { + "message": "নতুন মূল পাসওয়ার্ড" + }, + "confirmNewMasterPass": { + "message": "নতুন মূল পাসওয়ার্ড নিশ্চিত করুন" + }, + "encKeySettings": { + "message": "Encryption Key Settings" + }, + "kdfAlgorithm": { + "message": "KDF Algorithm" + }, + "kdfIterations": { + "message": "KDF Iterations" + }, + "kdfIterationsDesc": { + "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", + "placeholders": { + "value": { + "content": "$1", + "example": "100,000" + } + } + }, + "kdfIterationsWarning": { + "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", + "placeholders": { + "increment": { + "content": "$1", + "example": "50,000" + } + } + }, + "changeKdf": { + "message": "Change KDF" + }, + "encKeySettingsChanged": { + "message": "Encryption Key Settings Changed" + }, + "dangerZone": { + "message": "Danger Zone" + }, + "dangerZoneDesc": { + "message": "Careful, these actions are not reversible!" + }, + "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": "Purge Vault" + }, + "purgedOrganizationVault": { + "message": "Purged organization vault." + }, + "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." + }, + "purgeOrgVaultDesc": { + "message": "Proceed below to delete all items in the organization's vault." + }, + "purgeVaultWarning": { + "message": "Purging your vault is permanent. It cannot be undone." + }, + "vaultPurged": { + "message": "Your vault has been purged." + }, + "deleteAccount": { + "message": "Delete Account" + }, + "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": "Account Deleted" + }, + "accountDeletedDesc": { + "message": "Your account has been closed and all associated data has been deleted." + }, + "myAccount": { + "message": "My Account" + }, + "tools": { + "message": "Tools" + }, + "importData": { + "message": "Import Data" + }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, + "importSuccess": { + "message": "Data has been successfully imported into your vault." + }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, + "importFormatError": { + "message": "Data is not formatted correctly. Please check your import file and try again." + }, + "importNothingError": { + "message": "Nothing was imported." + }, + "selectFormat": { + "message": "Select the format of the import file" + }, + "selectImportFile": { + "message": "Select the import file" + }, + "orCopyPasteFileContents": { + "message": "or copy/paste the import file contents" + }, + "instructionsFor": { + "message": "$NAME$ Instructions", + "description": "The title for the import tool instructions.", + "placeholders": { + "name": { + "content": "$1", + "example": "LastPass (csv)" + } + } + }, + "options": { + "message": "Options" + }, + "optionsDesc": { + "message": "Customize your web vault experience." + }, + "optionsUpdated": { + "message": "Options updated" + }, + "language": { + "message": "ভাষা" + }, + "languageDesc": { + "message": "Change the language used by the web vault." + }, + "disableIcons": { + "message": "ওয়েবসাইট আইকন অক্ষম করুন" + }, + "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." + }, + "enableFullWidth": { + "message": "Enable Full Width Layout", + "description": "Allows scaling the web vault UI's width" + }, + "enableFullWidthDesc": { + "message": "Allow the web vault to expand the full width of the browser window." + }, + "default": { + "message": "পূর্ব-নির্ধারিত" + }, + "domainRules": { + "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." + }, + "globalEqDomains": { + "message": "Global Equivalent Domains" + }, + "customEqDomains": { + "message": "Custom Equivalent Domains" + }, + "exclude": { + "message": "Exclude" + }, + "include": { + "message": "Include" + }, + "customize": { + "message": "Customize" + }, + "newCustomDomain": { + "message": "New Custom Domain" + }, + "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." + }, + "customDomainX": { + "message": "Custom Domain $INDEX$", + "placeholders": { + "index": { + "content": "$1", + "example": "2" + } + } + }, + "domainsUpdated": { + "message": "Domains updated" + }, + "twoStepLogin": { + "message": "দ্বি-পদক্ষেপের লগইন" + }, + "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": "পুনরুদ্ধার কোড দেখুন" + }, + "providers": { + "message": "Providers", + "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." + }, + "enable": { + "message": "Enable" + }, + "enabled": { + "message": "Enabled" + }, + "premium": { + "message": "প্রিমিয়াম", + "description": "Premium Membership" + }, + "premiumMembership": { + "message": "প্রিমিয়াম সদস্যতা" + }, + "premiumRequired": { + "message": "প্রিমিয়াম আবশ্যক" + }, + "premiumRequiredDesc": { + "message": "এই বৈশিষ্ট্যটি ব্যবহার করতে একটি প্রিমিয়াম সদস্যতার প্রয়োজন।" + }, + "youHavePremiumAccess": { + "message": "You have premium access" + }, + "alreadyPremiumFromOrg": { + "message": "You already have access to premium features because of an organization you are a member of." + }, + "manage": { + "message": "Manage" + }, + "disable": { + "message": "Disable" + }, + "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 devices" + }, + "androidDevices": { + "message": "Android devices" + }, + "windowsDevices": { + "message": "Windows devices" + }, + "twoStepAuthenticatorAppsRecommended": { + "message": "These apps are recommended, however, other authenticator apps will also work." + }, + "twoStepAuthenticatorScanCode": { + "message": "Scan this QR code with your authenticator app" + }, + "key": { + "message": "Key" + }, + "twoStepAuthenticatorEnterCode": { + "message": "Enter the resulting 6 digit verification code from the 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." + }, + "twoStepDisableDesc": { + "message": "Are you sure you want to disable this two-step login provider?" + }, + "twoStepDisabled": { + "message": "Two-step login provider disabled." + }, + "twoFactorYubikeyAdd": { + "message": "Add a new YubiKey to your account" + }, + "twoFactorYubikeyPlugIn": { + "message": "Plug the YubiKey into your computer's USB port." + }, + "twoFactorYubikeySelectKey": { + "message": "Select 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 data port that can accept your YubiKey." + }, + "yubikeyX": { + "message": "YubiKey $INDEX$", + "placeholders": { + "index": { + "content": "$1", + "example": "2" + } + } + }, + "u2fkeyX": { + "message": "U2F Key $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" + }, + "removeU2fConfirmation": { + "message": "Are you sure you want to remove this security key?" + }, + "readKey": { + "message": "Read Key" + }, + "keyCompromised": { + "message": "Key is compromised." + }, + "twoFactorU2fGiveName": { + "message": "Give the security key a friendly name to identify it." + }, + "twoFactorU2fPlugInReadKey": { + "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." + }, + "twoFactorU2fTouchButton": { + "message": "If the security key has a button, touch it." + }, + "twoFactorU2fSaveForm": { + "message": "Save the form." + }, + "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" + }, + "twoFactorU2fClickSave": { + "message": "Click the \"Save\" button below to enable this security key for two-step login." + }, + "twoFactorU2fProblemReadingTryAgain": { + "message": "There was a problem reading the security key. Try again." + }, + "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": "Print Code", + "description": "Print 2FA recovery code" + }, + "reports": { + "message": "Reports" + }, + "unsecuredWebsitesReport": { + "message": "Unsecured Websites Report" + }, + "unsecuredWebsitesReportDesc": { + "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." + }, + "unsecuredWebsitesFound": { + "message": "Unsecured Websites Found" + }, + "unsecuredWebsitesFoundDesc": { + "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "noUnsecuredWebsites": { + "message": "No items in your vault have unsecured URIs." + }, + "inactive2faReport": { + "message": "Inactive 2FA Report" + }, + "inactive2faReportDesc": { + "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." + }, + "inactive2faFound": { + "message": "Logins Without 2FA Found" + }, + "inactive2faFoundDesc": { + "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "noInactive2fa": { + "message": "No websites were found in your vault with a missing two-factor authentication configuration." + }, + "instructions": { + "message": "Instructions" + }, + "exposedPasswordsReport": { + "message": "Exposed Passwords Report" + }, + "exposedPasswordsReportDesc": { + "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." + }, + "exposedPasswordsFound": { + "message": "Exposed Passwords Found" + }, + "exposedPasswordsFoundDesc": { + "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "noExposedPasswords": { + "message": "No items in your vault have passwords that have been exposed in known data breaches." + }, + "checkExposedPasswords": { + "message": "Check Exposed Passwords" + }, + "exposedXTimes": { + "message": "Exposed $COUNT$ time(s)", + "placeholders": { + "count": { + "content": "$1", + "example": "52" + } + } + }, + "weakPasswordsReport": { + "message": "Weak Passwords Report" + }, + "weakPasswordsReportDesc": { + "message": "দুর্বল পাসওয়ার্ডগুলি সহজেই হ্যাকার এবং স্বয়ংক্রিয় সরঞ্জামগুলির দ্বারা অনুমান করা যায় যা পাসওয়ার্ড ক্র্যাক করার জন্য ব্যবহৃত হয়। Bitwarden পাসওয়ার্ড উৎপাদক আপনাকে শক্তিশালী পাসওয়ার্ড তৈরি করতে সহায়তা করতে পারে।" + }, + "weakPasswordsFound": { + "message": "Weak Passwords Found" + }, + "weakPasswordsFoundDesc": { + "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "noWeakPasswords": { + "message": "No items in your vault have weak passwords." + }, + "reusedPasswordsReport": { + "message": "Reused Passwords Report" + }, + "reusedPasswordsReportDesc": { + "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." + }, + "reusedPasswordsFound": { + "message": "Reused Passwords Found" + }, + "reusedPasswordsFoundDesc": { + "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "noReusedPasswords": { + "message": "No logins in your vault have passwords that are being reused." + }, + "reusedXTimes": { + "message": "Reused $COUNT$ times", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "dataBreachReport": { + "message": "Data Breach Report" + }, + "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": "Check any usernames or email addresses that you use." + }, + "checkBreaches": { + "message": "Check Breaches" + }, + "breachUsernameNotFound": { + "message": "$USERNAME$ was not found in any known data breaches.", + "placeholders": { + "username": { + "content": "$1", + "example": "user@example.com" + } + } + }, + "goodNews": { + "message": "ভাল খবর", + "description": "ex. Good News, No Breached Accounts Found!" + }, + "breachUsernameFound": { + "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", + "placeholders": { + "username": { + "content": "$1", + "example": "user@example.com" + }, + "count": { + "content": "$2", + "example": "7" + } + } + }, + "breachFound": { + "message": "Breached Accounts Found" + }, + "compromisedData": { + "message": "Compromised data" + }, + "website": { + "message": "Website" + }, + "affectedUsers": { + "message": "Affected Users" + }, + "breachOccurred": { + "message": "Breach Occurred" + }, + "breachReported": { + "message": "Breach Reported" + }, + "reportError": { + "message": "An error occurred trying to load the report. Try again" + }, + "billing": { + "message": "Billing" + }, + "accountCredit": { + "message": "Account Credit", + "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." + }, + "accountBalance": { + "message": "Account Balance", + "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." + }, + "addCredit": { + "message": "Add Credit", + "description": "Add more credit to your account's balance." + }, + "amount": { + "message": "Amount", + "description": "Dollar amount, or quantity." + }, + "creditDelayed": { + "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." + }, + "makeSureEnoughCredit": { + "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." + }, + "creditAppliedDesc": { + "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." + }, + "goPremium": { + "message": "Go Premium", + "description": "Another way of saying \"Get a premium membership\"" + }, + "premiumUpdated": { + "message": "You've upgraded to premium." + }, + "premiumUpgradeUnlockFeatures": { + "message": "Upgrade your account to a premium membership and unlock some great additional features." + }, + "premiumSignUpStorage": { + "message": "ফাইল সংযুক্তির জন্য ১ জিবি এনক্রিপ্টেড স্থান।" + }, + "premiumSignUpTwoStep": { + "message": "YubiKey, FIDO U2F, ও Duo এর মতো অতিরিক্ত দ্বি-পদক্ষেপ লগইন বিকল্পগুলি।" + }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, + "premiumSignUpReports": { + "message": "আপনার ভল্টটি সুরক্ষিত রাখতে পাসওয়ার্ড স্বাস্থ্যকরন, অ্যাকাউন্ট স্বাস্থ্য এবং ডেটা লঙ্ঘনের প্রতিবেদন।" + }, + "premiumSignUpTotp": { + "message": "আপনার ভল্টে লগইনগুলির জন্য TOTP যাচাইকরণ কোড (2FA) উৎপাদক।" + }, + "premiumSignUpSupport": { + "message": "অগ্রাধিকার গ্রাহক সমর্থন।" + }, + "premiumSignUpFuture": { + "message": "ভবিষ্যতের সমস্ত প্রিমিয়াম বৈশিষ্ট্য। আরও শীঘ্রই আসছে!" + }, + "premiumPrice": { + "message": "সমস্ত মাত্র $PRICE$ / বছরের জন্য!", + "placeholders": { + "price": { + "content": "$1", + "example": "$10" + } + } + }, + "addons": { + "message": "Addons" + }, + "premiumAccess": { + "message": "Premium Access" + }, + "premiumAccessDesc": { + "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", + "placeholders": { + "price": { + "content": "$1", + "example": "$3.33" + }, + "interval": { + "content": "$2", + "example": "'month' or 'year'" + } + } + }, + "additionalStorageGb": { + "message": "Additional Storage (GB)" + }, + "additionalStorageGbDesc": { + "message": "# of additional GB" + }, + "additionalStorageIntervalDesc": { + "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", + "placeholders": { + "size": { + "content": "$1", + "example": "1 GB" + }, + "price": { + "content": "$2", + "example": "$4.00" + }, + "interval": { + "content": "$3", + "example": "'month' or 'year'" + } + } + }, + "summary": { + "message": "সারাংশ" + }, + "total": { + "message": "মোট" + }, + "year": { + "message": "বছর" + }, + "month": { + "message": "মাস" + }, + "monthAbbr": { + "message": "mo.", + "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." + }, + "paymentCharged": { + "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", + "placeholders": { + "interval": { + "content": "$1", + "example": "month or year" + } + } + }, + "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": "month or year" + } + } + }, + "paymentInformation": { + "message": "Payment Information" + }, + "billingInformation": { + "message": "Billing Information" + }, + "creditCard": { + "message": "Credit Card" + }, + "paypalClickSubmit": { + "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." + }, + "cancelSubscription": { + "message": "Cancel Subscription" + }, + "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": "Never Expires" + }, + "status": { + "message": "Status" + }, + "nextCharge": { + "message": "Next Charge" + }, + "details": { + "message": "Details" + }, + "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" + }, + "invoices": { + "message": "Invoices" + }, + "noInvoices": { + "message": "No invoices." + }, + "paid": { + "message": "Paid", + "description": "Past tense status of an invoice. ex. Paid or unpaid." + }, + "unpaid": { + "message": "Unpaid", + "description": "Past tense status of an invoice. ex. Paid or unpaid." + }, + "transactions": { + "message": "Transactions", + "description": "Payment/credit transactions." + }, + "noTransactions": { + "message": "No transactions." + }, + "chargeNoun": { + "message": "Charge", + "description": "Noun. A charge from a payment method." + }, + "refundNoun": { + "message": "Refund", + "description": "Noun. A refunded payment that was charged." + }, + "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" + }, + "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-premises 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", + "description": "Free as in 'free beer'." + }, + "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)" + }, + "usersGetPremium": { + "message": "Users get access to Premium Features" + }, + "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!" + }, + "organizationUpgraded": { + "message": "Your organization has been upgraded." + }, + "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" + }, + "policies": { + "message": "Policies" + }, + "editPolicy": { + "message": "Edit Policy" + }, + "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" + }, + "externalIdDesc": { + "message": "The external id can be used as a reference or to link this resource 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" + } + } + }, + "userUsingTwoStep": { + "message": "This user is using two-step login to protect their account." + }, + "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 assigned collections in your organization." + }, + "manager": { + "message": "Manager" + }, + "managerDesc": { + "message": "Managers can access and manage assigned collections in your organization." + }, + "all": { + "message": "All" + }, + "refresh": { + "message": "Refresh" + }, + "timestamp": { + "message": "Timestamp" + }, + "event": { + "message": "Event" + }, + "unknown": { + "message": "অজানা" + }, + "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": "ওয়েব ভল্ট" + }, + "loggedIn": { + "message": "Logged in." + }, + "changedPassword": { + "message": "Changed account password." + }, + "enabledUpdated2fa": { + "message": "Enabled/updated 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." + }, + "exportedVault": { + "message": "Exported vault." + }, + "exportedOrganizationVault": { + "message": "Exported organization vault." + }, + "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": "Sent item $ID$ to trash.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "sharedItemId": { + "message": "Shared item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "'Google'" + } + } + }, + "viewedItemId": { + "message": "Viewed item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "viewedPasswordItemId": { + "message": "Viewed password for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "viewedHiddenFieldItemId": { + "message": "Viewed hidden field for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "viewedSecurityCodeItemId": { + "message": "Viewed security code for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "copiedPasswordItemId": { + "message": "Copied password for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "copiedHiddenFieldItemId": { + "message": "Copied hidden field for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "copiedSecurityCodeItemId": { + "message": "Copied security code for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "autofilledItemId": { + "message": "Auto-filled 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" + } + } + }, + "editedPolicyId": { + "message": "Edited policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "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" + } + } + }, + "unlinkedSsoUser": { + "message": "Unlinked SSO 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" + }, + "confirmUser": { + "message": "Confirm User" + }, + "hasBeenConfirmed": { + "message": "$USER$ has been confirmed.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "confirmUsers": { + "message": "Confirm Users" + }, + "usersNeedConfirmed": { + "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." + }, + "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." + }, + "inviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "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": "আরও জানুন" + }, + "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": "আমার সংগঠন" + }, + "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": "ট্যাক্স তথ্য" + }, + "taxInformationDesc": { + "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on 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." + }, + "changeBillingPlanUpgrade": { + "message": "Upgrade your account to another plan by providing the information below. Please ensure that you have an active payment method added to the account.", + "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." + }, + "invoiceNumber": { + "message": "Invoice #$NUMBER$", + "description": "ex. Invoice #79C66F0-0001", + "placeholders": { + "number": { + "content": "$1", + "example": "79C66F0-0001" + } + } + }, + "viewInvoice": { + "message": "View Invoice" + }, + "downloadInvoice": { + "message": "Download 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." + }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, + "subscription": { + "message": "Subscription" + }, + "loading": { + "message": "লোড হচ্ছে" + }, + "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." + }, + "acceptPolicies": { + "message": "এই বাক্সটি টিক করে আপনি নিম্নলিখিতগুলিতে সম্মত হন:" + }, + "acceptPoliciesError": { + "message": "পরিষেবার শর্তাদি এবং গোপনীয়তা নীতি স্বীকার করা হয়নি।" + }, + "termsOfService": { + "message": "সেবা পাবার শর্ত" + }, + "privacyPolicy": { + "message": "গোপনীয়তা নীতি" + }, + "filters": { + "message": "ফিল্টার" + }, + "vaultTimeout": { + "message": "Vault Timeout" + }, + "vaultTimeoutDesc": { + "message": "Choose when your vault will timeout and perform the selected action." + }, + "oneMinute": { + "message": "১ মিনিট" + }, + "fiveMinutes": { + "message": "৫ মিনিট" + }, + "fifteenMinutes": { + "message": "১৫ মিনিট" + }, + "thirtyMinutes": { + "message": "৩০ মিনিট" + }, + "oneHour": { + "message": "১ ঘণ্টা" + }, + "fourHours": { + "message": "৪ ঘন্টা" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "হালনাগাদকৃত", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "পাসওয়ার্ড হালনাগাদকৃত", + "description": "ex. Date this password was updated" + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "licenseIsExpired": { + "message": "License is expired." + }, + "updatedUsers": { + "message": "Updated users" + }, + "selected": { + "message": "Selected" + }, + "ownership": { + "message": "Ownership" + }, + "whoOwnsThisItem": { + "message": "এই বস্তুটির মালিক কে?" + }, + "strong": { + "message": "শক্তিশালী", + "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" + }, + "good": { + "message": "ভাল", + "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" + }, + "weak": { + "message": "দুর্বল", + "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" + }, + "veryWeak": { + "message": "খুবই দুর্বল", + "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" + }, + "weakMasterPassword": { + "message": "দুর্বল মূল পাসওয়ার্ড" + }, + "weakMasterPasswordDesc": { + "message": "আপনার চয়নকৃত মূল পাসওয়ার্ডটি দুর্বল। আপনার Bitwarden অ্যাকাউন্টটি সঠিকভাবে সুরক্ষিত করার জন্য আপনার একটি শক্তিশালী মূল পাসওয়ার্ড (বা একটি পাসফ্রেজ) ব্যবহার করা উচিত। আপনি কি নিশ্চিত যে এই মূল পাসওয়ার্ডটি ব্যবহার করতে চান?" + }, + "rotateAccountEncKey": { + "message": "Also rotate my account's encryption key" + }, + "rotateEncKeyTitle": { + "message": "Rotate Encryption Key" + }, + "rotateEncKeyConfirmation": { + "message": "Are you sure you want to rotate your account's encryption key?" + }, + "attachmentsNeedFix": { + "message": "This item has old file attachments that need to be fixed." + }, + "attachmentFixDesc": { + "message": "This is an old file attachment the needs to be fixed. Click to learn more." + }, + "fix": { + "message": "Fix", + "description": "This is a verb. ex. 'Fix The Car'" + }, + "oldAttachmentsNeedFixDesc": { + "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." + }, + "yourAccountsFingerprint": { + "message": "Your account's fingerprint phrase", + "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." + }, + "fingerprintEnsureIntegrityVerify": { + "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", + "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." + }, + "dontAskFingerprintAgain": { + "message": "Don't ask to verify fingerprint phrase again", + "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." + }, + "free": { + "message": "Free", + "description": "Free, as in 'Free beer'" + }, + "apiKey": { + "message": "API Key" + }, + "apiKeyDesc": { + "message": "Your API key can be used to authenticate to the Bitwarden public API." + }, + "apiKeyRotateDesc": { + "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." + }, + "apiKeyWarning": { + "message": "Your API key has full access to the organization. It should be kept secret." + }, + "userApiKeyDesc": { + "message": "Your API key can be used to authenticate in the Bitwarden CLI." + }, + "userApiKeyWarning": { + "message": "Your API key is an alternative authentication mechanism. It should be kept secret." + }, + "oauth2ClientCredentials": { + "message": "OAuth 2.0 Client Credentials", + "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." + }, + "viewApiKey": { + "message": "View API Key" + }, + "rotateApiKey": { + "message": "Rotate API Key" + }, + "selectOneCollection": { + "message": "You must select at least one collection." + }, + "couldNotChargeCardPayInvoice": { + "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." + }, + "inAppPurchase": { + "message": "In-app Purchase" + }, + "cannotPerformInAppPurchase": { + "message": "You cannot perform this action while using an in-app purchase payment method." + }, + "manageSubscriptionFromStore": { + "message": "You must manage your subscription from the store where your in-app purchase was made." + }, + "minLength": { + "message": "Minimum Length" + }, + "clone": { + "message": "Clone" + }, + "masterPassPolicyDesc": { + "message": "Set minimum requirements for master password strength." + }, + "twoStepLoginPolicyDesc": { + "message": "Require users to set up two-step login on their personal accounts." + }, + "twoStepLoginPolicyWarning": { + "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." + }, + "twoStepLoginPolicyUserWarning": { + "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." + }, + "passwordGeneratorPolicyDesc": { + "message": "পাসওয়ার্ড উৎপাদকের কনফিগারেশনের জন্য ন্যূনতম প্রয়োজনীয়তা সেট করুন।" + }, + "passwordGeneratorPolicyInEffect": { + "message": "এক বা একাধিক সংস্থার নীতিগুলি আপনার উৎপাদকের সেটিংসকে প্রভাবিত করছে।" + }, + "masterPasswordPolicyInEffect": { + "message": "One or more organization policies require your master password to meet the following requirements:" + }, + "policyInEffectMinComplexity": { + "message": "Minimum complexity score of $SCORE$", + "placeholders": { + "score": { + "content": "$1", + "example": "4" + } + } + }, + "policyInEffectMinLength": { + "message": "Minimum length of $LENGTH$", + "placeholders": { + "length": { + "content": "$1", + "example": "14" + } + } + }, + "policyInEffectUppercase": { + "message": "Contain one or more uppercase characters" + }, + "policyInEffectLowercase": { + "message": "এক বা একাধিক ছোট হাতের অক্ষর রয়েছে" + }, + "policyInEffectNumbers": { + "message": "এক বা একাধিক সংখ্যা রয়েছে" + }, + "policyInEffectSpecial": { + "message": "নিম্নলিখিত বিশেষ অক্ষরগুলির একটি বা একাধিক রয়েছে $CHARS$", + "placeholders": { + "chars": { + "content": "$1", + "example": "!@#$%^&*" + } + } + }, + "masterPasswordPolicyRequirementsNotMet": { + "message": "আপনার নতুন মূল পাসওয়ার্ড নীতির প্রয়োজনীয়তা পূরণ করে না।" + }, + "minimumNumberOfWords": { + "message": "Minimum Number of Words" + }, + "defaultType": { + "message": "Default Type" + }, + "userPreference": { + "message": "User Preference" + }, + "vaultTimeoutAction": { + "message": "Vault Timeout Action" + }, + "vaultTimeoutActionLockDesc": { + "message": "A locked vault requires that you re-enter your master password to access it again." + }, + "vaultTimeoutActionLogOutDesc": { + "message": "A logged out vault requires that you re-authenticate to access it again." + }, + "lock": { + "message": "Lock", + "description": "Verb form: to make secure or inaccesible by" + }, + "trash": { + "message": "Trash", + "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" + }, + "searchTrash": { + "message": "Search Trash" + }, + "permanentlyDelete": { + "message": "Permanently Delete" + }, + "permanentlyDeleteSelected": { + "message": "Permanently Delete Selected" + }, + "permanentlyDeleteItem": { + "message": "Permanently Delete Item" + }, + "permanentlyDeleteItemConfirmation": { + "message": "Are you sure you want to permanently delete this item?" + }, + "permanentlyDeletedItem": { + "message": "Permanently Deleted item" + }, + "permanentlyDeletedItems": { + "message": "Permanently Deleted items" + }, + "permanentlyDeleteSelectedItemsDesc": { + "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", + "placeholders": { + "count": { + "content": "$1", + "example": "150" + } + } + }, + "permanentlyDeletedItemId": { + "message": "Permanently Deleted item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "restore": { + "message": "Restore" + }, + "restoreSelected": { + "message": "Restore Selected" + }, + "restoreItem": { + "message": "Restore Item" + }, + "restoredItem": { + "message": "Restored Item" + }, + "restoredItems": { + "message": "Restored Items" + }, + "restoreItemConfirmation": { + "message": "Are you sure you want to restore this item?" + }, + "restoreItems": { + "message": "Restore items" + }, + "restoreSelectedItemsDesc": { + "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", + "placeholders": { + "count": { + "content": "$1", + "example": "150" + } + } + }, + "restoredItemId": { + "message": "Restored item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "vaultTimeoutLogOutConfirmation": { + "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" + }, + "vaultTimeoutLogOutConfirmationTitle": { + "message": "Timeout Action Confirmation" + }, + "hidePasswords": { + "message": "Hide Passwords" + }, + "countryPostalCodeRequiredDesc": { + "message": "We require this information for calculating sales tax and financial reporting only." + }, + "includeVAT": { + "message": "Include VAT/GST Information (optional)" + }, + "taxIdNumber": { + "message": "VAT/GST Tax ID" + }, + "taxInfoUpdated": { + "message": "Tax information updated." + }, + "setMasterPassword": { + "message": "মূল পাসওয়ার্ড ধার্য করুন" + }, + "ssoCompleteRegistration": { + "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." + }, + "identifier": { + "message": "Identifier" + }, + "organizationIdentifier": { + "message": "Organization Identifier" + }, + "ssoLogInWithOrgIdentifier": { + "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." + }, + "enterpriseSingleSignOn": { + "message": "Enterprise Single Sign-On" + }, + "ssoHandOff": { + "message": "You may now close this tab and continue in the extension." + }, + "businessPortal": { + "message": "Business Portal", + "description": "The web portal used by business organizations for configuring certain features." + }, + "includeAllTeamsFeatures": { + "message": "All Teams features, plus:" + }, + "includeSsoAuthentication": { + "message": "SSO Authentication via SAML2.0 and OpenID Connect" + }, + "includeEnterprisePolicies": { + "message": "Enterprise Policies" + }, + "ssoValidationFailed": { + "message": "SSO Validation Failed" + }, + "ssoIdentifierRequired": { + "message": "Organization Identifier is required." + }, + "unlinkSso": { + "message": "Unlink SSO" + }, + "linkSso": { + "message": "Link SSO" + }, + "webPoliciesDeprecationWarning": { + "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + }, + "singleOrg": { + "message": "Single Organization" + }, + "singleOrgDesc": { + "message": "Restrict users from being able to join any other organizations." + }, + "singleOrgBlockCreateMessage": { + "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + }, + "singleOrgPolicyWarning": { + "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + }, + "requireSso": { + "message": "Single Sign-On Authentication" + }, + "requireSsoPolicyDesc": { + "message": "Require users to log in with the Enterprise Single Sign-On method." + }, + "prerequisite": { + "message": "Prerequisite" + }, + "requireSsoPolicyReq": { + "message": "The Single Organization enterprise policy must be enabled before activating this policy." + }, + "requireSsoPolicyReqError": { + "message": "Single Organization policy not enabled." + }, + "requireSsoExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "sendTypeFile": { + "message": "ফাইল" + }, + "sendTypeText": { + "message": "পাঠ্য" + }, + "createSend": { + "message": "Create New Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "editSend": { + "message": "Edit Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "createdSend": { + "message": "Created Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "editedSend": { + "message": "Edited Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deletedSend": { + "message": "Deleted Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deleteSend": { + "message": "Delete Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deleteSendConfirmation": { + "message": "Are you sure you want to delete this Send?", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "whatTypeOfSend": { + "message": "What type of Send is this?", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deletionDate": { + "message": "Deletion Date" + }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "expirationDate": { + "message": "Expiration Date" + }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "maxAccessCount": { + "message": "Maximum Access Count" + }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "currentAccessCount": { + "message": "Current Access Count" + }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disabled": { + "message": "Disabled" + }, + "sendLink": { + "message": "লিঙ্ক পাঠান", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "copySendLink": { + "message": "Copy Send Link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "removePassword": { + "message": "Remove Password" + }, + "removedPassword": { + "message": "Removed Password" + }, + "removePasswordConfirmation": { + "message": "Are you sure you want to remove the password?" + }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "allSends": { + "message": "All Sends" + }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, + "searchSends": { + "message": "Search Sends", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendProtectedPassword": { + "message": "This Send is protected with a password. Please type the password below to continue.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendProtectedPasswordDontKnow": { + "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendHiddenByDefault": { + "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "downloadFile": { + "message": "Download File" + }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "noSendsInList": { + "message": "There are no Sends to list.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact 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." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." + } +} diff --git a/locales/ca/messages.json b/locales/ca/messages.json index 0e2d5908..5a045b82 100644 --- a/locales/ca/messages.json +++ b/locales/ca/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Aquesta exportació conté les dades de la vostra caixa forta en un format no xifrat. No hauríeu d'emmagatzemar o enviar el fitxer exportat a través de canals no segurs (com ara el correu electrònic). Elimineu-lo immediatament després d'haver acabat d'usar-lo." }, - "encExportWarningDesc": { - "message": "Aquesta exportació xifra les vostres dades mitjançant la vostra clau de xifratge. Si alguna vegada gireu eixa clau, hauríeu d'exportar de nou, ja que no podreu desxifrar aquest fitxer d'exportació." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Introduïu la contrasenya mestra per exportar les dades de la caixa forta." @@ -1000,9 +1003,24 @@ "importData": { "message": "Importa dades" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Les dades s'han importat amb èxit a la vostra caixa forta." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Les dades no estan formatades correctament. Comproveu el fitxer d'importació i torneu-ho a provar." }, @@ -1364,7 +1382,7 @@ "message": "S'han trobat registres sense 2FA" }, "inactive2faFoundDesc": { - "message": "Hem trobat $COUNT$ llocs web a la vostra caixa forta que no es poden configurar amb l'autenticació de dos factors (d'acord amb 2fa.directory). Per protegir encara més aquests comptes, haureu d'habilitar l'autenticació de dos factors.", + "message": "Hem trobat $COUNT$ llocs web a la vostra caixa forta que no es poden configurar amb l'autenticació de dos factors (d'acord amb twofactorauth.org). Per protegir encara més aquests comptes, haureu d'habilitar l'autenticació de dos factors.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Opcions addicionals d'inici de sessió en dues passes com ara YubiKey, FIDO U2F i Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Requisits d'higiene de la contrasenya, salut del compte i informe d'infraccions de dades per mantenir la seguretat de la vostra caixa forta." }, @@ -3407,6 +3428,10 @@ "message": "L'enviament al qual intenteu accedir no existeix o ja no està disponible.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "No hi ha cap Send a llistar.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Concediu i gestioneu l'accés d'emergència per a contactes de confiança. Els contactes de confiança poden sol·licitar accés per Visualitzar o Adquirir el vostre compte en cas d’emergència. Visiteu la nostra pàgina d’ajuda per obtenir més informació i detalls sobre com funciona l’intercanvi de coneixement zero." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Contactes d’emergència de confiança" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "A causa d'una política empresarial, no podeu guardar elements a la vostra caixa forta personal. Canvieu l'opció Propietat en organització i trieu entre les col·leccions disponibles." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Política modificada $ID$.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Quan accediu a Enviar, amaga el text per defecte", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/cs/messages.json b/locales/cs/messages.json index a34ce450..ced9b383 100644 --- a/locales/cs/messages.json +++ b/locales/cs/messages.json @@ -464,13 +464,13 @@ "message": "Smazat přílohu" }, "deleteItemConfirmation": { - "message": "Opravdu chcete tuto položku smazat?" + "message": "Opravdu chcete položku přesunout do koše?" }, "deletedItem": { - "message": "Položka byla smazána" + "message": "Položka byla přesunuta do koše" }, "deletedItems": { - "message": "Položky byly smazány" + "message": "Položky byly přesunuty do koše" }, "movedItems": { "message": "Položky byly přesunuty" @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Tento export obsahuje data vašeho trezoru v nezašifrovaném formátu. Soubor exportu byste neměli ukládat ani odesílat přes nezabezpečené kanály (např. e-mailem). Odstraňte jej okamžitě po jeho použití." }, - "encExportWarningDesc": { - "message": "Tento export šifruje vaše data pomocí šifrovacího klíče vašeho účtu. Pokud někdy změníte šifrovací klíč svého účtu, měli byste jej znovu exportovat, protože tento exportní soubor nebude možné dešifrovat." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Zadejte své hlavní heslo pro export dat." @@ -1000,9 +1003,24 @@ "importData": { "message": "Import dat" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data byla úspěšně importována" }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data nemají správný formát. Zkontrolujte importovaný soubor a zkuste to znovu." }, @@ -1061,7 +1079,7 @@ "description": "Allows scaling the web vault UI's width" }, "enableFullWidthDesc": { - "message": "Povolit webovému trezoru roztáhnout se na celou šířku okna." + "message": "Povolit webovému trezoru rozšířit se na celou šířku okna prohlížeče." }, "default": { "message": "Výchozí" @@ -1364,7 +1382,7 @@ "message": "Nalezena přihlášení bez 2FA" }, "inactive2faFoundDesc": { - "message": "Některé weby ($COUNT$) ve vašem trezoru zřejmě nejsou nakonfigurovány pro použití dvoufaktorového přihlášení (dle 2fa.directory). Pro lepší ochranu vašich účtů byste měli dvoufaktorové přihlášení povolit.", + "message": "Některé weby ($COUNT$) ve vašem trezoru zřejmě nejsou nakonfigurovány pro použití dvoufaktorového přihlášení (dle twofactorauth.org). Pro lepší ochranu vašich účtů byste měli dvoufaktorové přihlášení povolit.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Další možnosti dvoufázového přihlášení, jako je například YubiKey, FIDO U2F a Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Reporty o hygieně vašich hesel, zdraví účtu a narušeních bezpečnosti." }, @@ -2076,7 +2097,7 @@ "message": "Zásady" }, "editPolicy": { - "message": "Upravit zásady" + "message": "Upravit zásadu" }, "groups": { "message": "Skupiny" @@ -2271,7 +2292,7 @@ } }, "deletedItemId": { - "message": "Položka $ID$ byla smazána.", + "message": "Položka $ID$ byla přesunuta do koše.", "placeholders": { "id": { "content": "$1", @@ -2388,7 +2409,7 @@ } }, "editedPolicyId": { - "message": "Zásady $ID$ upraveny.", + "message": "Zásada $ID$ byla upravena.", "placeholders": { "id": { "content": "$1", @@ -2808,7 +2829,7 @@ "message": "Po aktualizace šifrovacího klíče dojde k odhlášení a budete se muset opětovně přihlásit do všech Bitwarden aplikací, které aktuálně používáte (např. mobilní aplikace či rozšíření pro prohlížeč). Nezdaří-li se odhlášení a opětovné přihlášení (během něhož bude stažen nový šifrovací klíč), může dojít k poškození údajů. Pokusíme se vás automaticky odhlásit, nicméně, může to chvíli trvat." }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "Jakékoliv šifrované exporty, které jste uložili, budou také neplatné." }, "subscription": { "message": "Odběr" @@ -2841,7 +2862,7 @@ "message": "Zaškrtnutím tohoto políčka souhlasím s následujícím:" }, "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "message": "Podmínky služby a zásady ochrany osobních údajů nebyly uznány." }, "termsOfService": { "message": "Podmínky služby" @@ -2978,10 +2999,10 @@ "message": "Váš API klíč má plný přístup k organizaci. Měl by být uchován v tajnosti." }, "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." + "message": "Váš API klíč může být použit k ověření v Bitwarden CLI." }, "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." + "message": "Váš API klíč je alternativní ověřovací mechanismus, který by měl být zachován v tajnosti." }, "oauth2ClientCredentials": { "message": "OAuth 2.0 klientské údaje", @@ -3072,7 +3093,7 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Vaše nové hlavní heslo nesplňuje požadavky zásad." + "message": "Vaše nové hlavní heslo nesplňuje požadavky zásad organizace." }, "minimumNumberOfWords": { "message": "Minimální počet slov" @@ -3116,10 +3137,10 @@ "message": "Opravdu chcete tuto položku trvale smazat?" }, "permanentlyDeletedItem": { - "message": "Trvale smazaná položka" + "message": "Položka byla trvale smazána" }, "permanentlyDeletedItems": { - "message": "Trvale smazané položky" + "message": "Položky byly trvale smazány" }, "permanentlyDeleteSelectedItemsDesc": { "message": "Vybrané položky ($COUNT$) budou trvale smazány. Opravdu chcete všechny vybrané položky trvale smazat?", @@ -3131,7 +3152,7 @@ } }, "permanentlyDeletedItemId": { - "message": "Položka $ID$ trvale smazána.", + "message": "Položka $ID$ byla trvale smazána.", "placeholders": { "id": { "content": "$1", @@ -3149,10 +3170,10 @@ "message": "Obnovit položku" }, "restoredItem": { - "message": "Obnovená položka" + "message": "Položka byla obnovena" }, "restoredItems": { - "message": "Obnovené položky" + "message": "Položky byly obnoveny" }, "restoreItemConfirmation": { "message": "Opravdu chcete tuto položku obnovit?" @@ -3170,7 +3191,7 @@ } }, "restoredItemId": { - "message": "Položka $ID$ obnovena.", + "message": "Položka $ID$ byla obnovena.", "placeholders": { "id": { "content": "$1", @@ -3203,7 +3224,7 @@ "message": "Nastavit hlavní heslo" }, "ssoCompleteRegistration": { - "message": "Chcete-li dokončit přihlášení pomocí SSO, nastavte prosím hlavní heslo pro přístup a ochranu vašeho trezoru." + "message": "Chcete-li dokončit přihlášení pomocí SSO, nastavte prosím hlavní přístupové heslo k vašemu trezoru." }, "identifier": { "message": "Identifikátor" @@ -3218,7 +3239,7 @@ "message": "Jednotné podnikové přihlášení" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Nyní můžete zavřít tuto kartu a pokračovat v rozšíření." }, "businessPortal": { "message": "Podnikový portál", @@ -3246,37 +3267,37 @@ "message": "Propojit s podnikovým přihlášením" }, "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + "message": "Konfigurace přístupového práva byla přesunuta a tato stránka bude brzy zastaralá. Klikněte prosím níže a použijte místo toho stránku pravidel obchodního portálu." }, "singleOrg": { - "message": "Single Organization" + "message": "Jedna organizace" }, "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." + "message": "Omezí uživatelům možnost připojit se k jiným organizacím." }, "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + "message": "Vaše současná organizace má pravidla, která vám nedovolují připojit se k více než jedné organizaci. Obraťte se na správce organizace nebo se zaregistrujte z jiného účtu Bitwarden." }, "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + "message": "Členové organizace, kteří nejsou vlastníky nebo správci, a jsou již členy jiné organizace, budou odstraněni z vaší organizace." }, "requireSso": { - "message": "Single Sign-On Authentication" + "message": "Ověření jednotného přihlášení" }, "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." + "message": "Vyžaduje přihlášení uživatelů pomocí metody jednotného přihlášení." }, "prerequisite": { - "message": "Prerequisite" + "message": "Předpoklady" }, "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." + "message": "Před aktivací této politiky musí být povolena politika jednotné organizace." }, "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." + "message": "Jednotná pravidla organizace není povolena." }, "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Majitelé a správci organizací jsou od prosazování těchto zásad osvobozeni." }, "sendTypeFile": { "message": "Soubor" @@ -3285,188 +3306,195 @@ "message": "Text" }, "createSend": { - "message": "Create New Send", + "message": "Vytvořit nový Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "Upravit Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "Vytvořit nový Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "Upravený Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Deleted Send", + "message": "Smazaný Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Delete Send", + "message": "Smazat Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "Jste si jisti, že chcete odstranit tento Send?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "What type of Send is this?", + "message": "Jaký typ Send je tento?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { "message": "Datum odstranění" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "Send bude trvale odstraněno v určené datumu a čase.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { "message": "Datum expirace" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "Je-li nastaveno, přístup k tomuto Send vyprší v určeném datumu a času.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Maximum Access Count" + "message": "Maximální počet přístupů" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "Je-li nastaveno, uživatelé již nebudou mít přístup k tomuto Send, jakmile bude dosaženo maximálního počtu přístupů.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Current Access Count" + "message": "Počet aktuálních přístupů" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "Volitelně vyžaduje heslo pro přístup k tomuto Send.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "Soukromé poznámky o tomto Send.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "Zakázáno" }, "sendLink": { "message": "Odeslat odkaz", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Copy Send Link", + "message": "Kopírovat Send odkaz", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { "message": "Odstranit heslo" }, "removedPassword": { - "message": "Removed Password" + "message": "Odstraněné heslo" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "Jste si jisti, že chcete odstranit heslo?" }, "disableThisSend": { - "message": "Disable this Send so that no one can access it.", + "message": "Zakažte tento Send, aby k němu nikdo neměl přístup.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "All Sends" + "message": "Všechny Sends" }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "Dosažen maximální počet přístupů" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "Čeká na zrušení" }, "expired": { - "message": "Expired" + "message": "Vypršela platnost" }, "searchSends": { - "message": "Search Sends", + "message": "Hledat Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", + "message": "Toto Send je chráněno heslem. Pro pokračování zadejte prosím níže heslo.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "message": "Neznáte heslo? Požádejte odesílatele o heslo potřebné pro přístup k tomuto Send.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "message": "Toto Send je ve výchozím nastavení skryté. Viditelnost můžete přepnout pomocí tlačítka níže.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { "message": "Stáhnout soubor" }, "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", + "message": "Send, ke kterému se pokoušíte přistupovat, neexistuje nebo již není k dispozici.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { - "message": "There are no Sends to list.", + "message": "Nebyly nalezeny žádné Send položky.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "Nouzový přístup" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Udělit a spravovat nouzový přístup důvěryhodným kontaktům. Důvěryhodné kontakty mohou požádat o přístup k zobrazení nebo převzetí vašeho účtu v případě nouze. Navštivte naši stránku nápovědy pro více informací a podrobností o tom, jak funguje nulové sdílení znalostí." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" + "message": "Důvěryhodné nouzové kontakty" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "Zatím jste nepřidali žádné nouzové kontakty, pozvěte důvěryhodný kontakt, abyste mohli začít." }, "addEmergencyContact": { - "message": "Add emergency contact" + "message": "Přidat nouzový kontakt" }, "designatedEmergencyContacts": { - "message": "Designated as emergency contact" + "message": "Určeno jako nouzový kontakt" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "Zatím jste nebyl určen jako nouzový kontakt pro nikoho." }, "inviteEmergencyContact": { - "message": "Invite emergency contact" + "message": "Pozvat nouzový kontakt" }, "editEmergencyContact": { - "message": "Edit emergency contact" + "message": "Upravit nouzový kontakt" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "Pozvěte nový nouzový kontakt zadáním níže uvedené e-mailové adresy účtu Bitwarden. Pokud nemají Bitwarden účet, budou vyzváni k vytvoření nového účtu." }, "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" + "message": "Nouzový přístup zahájen" }, "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" + "message": "Nouzový přístup schválen" }, "viewDesc": { - "message": "Can view all items in your own vault." + "message": "Může zobrazit všechny položky ve vašem trezoru." }, "takeover": { - "message": "Takeover" + "message": "Převzetí" }, "takeoverDesc": { - "message": "Can reset your account with a new master password." + "message": "Může obnovit váš účet s novým hlavním heslem." }, "waitTime": { - "message": "Wait Time" + "message": "Čas čekání" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "Čas potřebný před automatickým udělením přístupu." }, "oneDay": { - "message": "1 day" + "message": "1 den" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$ dní", "placeholders": { "days": { "content": "$1", @@ -3475,16 +3503,16 @@ } }, "invitedUser": { - "message": "Pozvaný uživatel." + "message": "Uživatel byl pozván." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Byli jste pozváni, abyste se stali nouzovým kontaktem pro výše uvedené uživatele. Chcete-li přijmout pozvánku, musíte se přihlásit nebo vytvořit nový účet Bitwarden." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "Pozvánku nelze přijmout. Požádejte uživatele o zaslání nové pozvánky." }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Pozvánku nelze přijmout. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "Po potvrzení Vaší identity můžete pro tohoto uživatele přistupovat k nouzovým možnostem. Jakmile se tak stane, pošleme vám e-mail." }, "requestAccess": { - "message": "Request Access" + "message": "Požádat o přístup" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Jste si jisti, že chcete požádat o nouzový přístup? Přístup vám bude poskytnut po $WAITTIME$ dnech nebo po ručním schválení žádosti.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "Požádáno o nouzový přístup k $USER$. Jakmile bude možné pokračovat, budeme vás informovat e-mailem.", "placeholders": { "user": { "content": "$1", @@ -3517,13 +3545,13 @@ } }, "approve": { - "message": "Approve" + "message": "Schválit" }, "reject": { - "message": "Reject" + "message": "Odmítnout" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "Jste si jisti, že chcete schválit nouzový přístup? To umožní $USER$ $ACTION$ na váš účet.", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "Emergency access approved." + "message": "Nouzový přístup byl schválen." }, "emergencyRejected": { - "message": "Emergency access rejected" + "message": "Nouzový přístup odmítnut" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "Heslo obnoveno pro $USER$. Nyní se můžete přihlásit pomocí nového hesla.", "placeholders": { "user": { "content": "$1", @@ -3551,19 +3579,37 @@ } }, "personalOwnership": { - "message": "Personal Ownership" + "message": "Osobní vlastnictví" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "Vyžaduje po uživatelích uložení položek trezoru do organizace odstraněním možnosti osobního vlastnictví." }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Majitelé a správci organizací jsou od prosazování těchto zásad osvobozeni." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Vzhledem k podnikovým zásadám je zakázáno ukládat položky do vašeho osobního trezoru. Změňte možnost vlastnictví na organizaci a vyberte z dostupných kolekcí." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "Změněné zásady $ID$.", "placeholders": { "id": { "content": "$1", @@ -3572,61 +3618,149 @@ } }, "planPrice": { - "message": "Plan price" + "message": "Cena plánu" }, "estimatedTax": { - "message": "Estimated tax" + "message": "Odhadovaná daň" }, "custom": { - "message": "Custom" + "message": "Vlastní" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "Umožňuje větší kontrolu nad uživatelských oprávnění pro pokročilé konfigurace." }, "permissions": { - "message": "Permissions" + "message": "Oprávnění" }, "accessBusinessPortal": { - "message": "Access Business Portal" + "message": "Přístup k podnikovému portálu" }, "accessEventLogs": { - "message": "Access Event Logs" + "message": "Přístup k protokolům událostí" }, "accessImportExport": { - "message": "Access Import/Export" + "message": "Přístup k importu/exportu" }, "accessReports": { - "message": "Access Reports" + "message": "Hlášení přístupu" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "Spravovat všechny kolekce" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "Spravovat přiřazené kolekce" }, "manageGroups": { - "message": "Manage Groups" + "message": "Spravovat skupiny" }, "managePolicies": { - "message": "Manage Policies" + "message": "Spravovat zásady" }, "manageSso": { - "message": "Manage SSO" + "message": "Spravovat SSO" }, "manageUsers": { - "message": "Manage Users" + "message": "Spravovat uživatele" }, "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + "message": "Před vypnutím této zásady musíte ručně zakázat jednotné přihlášení (SSO)." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "Zásady organizace ovlivňují možnosti vlastnictví." }, "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" + "message": "Zakázat osobní vlastnictví pro uživatele organizace" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "Při přístupu k Send, skrýt text ve výchozím nastavení", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/da/messages.json b/locales/da/messages.json index cec29804..46452ef3 100644 --- a/locales/da/messages.json +++ b/locales/da/messages.json @@ -62,7 +62,7 @@ "message": "Udløb" }, "securityCode": { - "message": "Sikkerhedskode (CVV)" + "message": "Kortverifikationskode (CVC)" }, "identityName": { "message": "Identitetsnavn" @@ -387,7 +387,7 @@ "description": "Copy credit card number" }, "copySecurityCode": { - "message": "Kopiér sikkerhedskode", + "message": "Kopiér kortverifikationskode", "description": "Copy credit card security code (CVV)" }, "copyUri": { @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "Denne eksport indeholder dine boksdata i ukrypteret form. Du bør ikke gemme eller sende den eksporterede fil over usikre kanaler (f.eks. e-mail). Slet den straks efter at du er færdig med at bruge den." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Indtast din hovedadgangskode for at eksportere dine data fra boksen." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Importér data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data er blevet importeret til din boks med success." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data er ikke formateret korrekt. Kontroller din importfil og prøv igen." }, @@ -1343,7 +1361,7 @@ "message": "Ikke-sikrede hjemmesider fundet" }, "unsecuredWebsitesFoundDesc": { - "message": "Vi fandt $COUNT$ elementer i din boks med ikke-sikreded URI'er. Du bør ændre deres URI-protokol til https:// hvis hjemmesiden tillader det.", + "message": "Vi fandt $COUNT$ elementer i din boks med ikke-sikrede URI'er. Du bør ændre deres URI-protokol til https:// hvis hjemmesiden tillader det.", "placeholders": { "count": { "content": "$1", @@ -1364,7 +1382,7 @@ "message": "Logins uden 2FA fundet" }, "inactive2faFoundDesc": { - "message": "Vi har fundet $COUNT$ hjemmeside(r) i din boks, der muligvis ikke er konfigureret med to-faktor autentificering (ifølge 2fa.directory). For at beskytte disse konti yderligere bør du aktivere to-faktor autentificering.", + "message": "Vi har fundet $COUNT$ hjemmeside(r) i din boks, der muligvis ikke er konfigureret med to-faktor autentificering (ifølge twofactorauth.org). For at beskytte disse konti yderligere bør du aktivere to-faktor autentificering.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Yderligere to-trins-loginmuligheder såsom YubiKey, FIDO U2F og Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Adgangskodehygiejne, kontosundhed og rapporter om datalæk til at holde din boks sikker." }, @@ -2496,7 +2517,7 @@ } }, "unlinkedSsoUser": { - "message": "Ikke-linket SSO for bruger $ID$.", + "message": "Af-linket SSO for bruger $ID$.", "placeholders": { "id": { "content": "$1", @@ -2808,7 +2829,7 @@ "message": "Efter opdatering af din krypteringsnøgle skal du logge ud og ind igen i alle Bitwarden-programmer, du bruger i øjeblikket (f.eks. mobilapp eller browserudvidelser). Hvis du ikke logger ud og ind (som downloader din nye krypteringsnøgle), kan det resultere i data korruption. Vi vil forsøge at logge dig ud automatisk, men det kan blive forsinket." }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "Enhver krypteret eksport du har gemt, vil også blive utilgængelig." }, "subscription": { "message": "Abonnement" @@ -3320,32 +3341,32 @@ "message": "Sletningsdato" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "Send slettes permanent på den angivne dato og tidspunkt.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { "message": "Udløbsdato" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "Hvis opsat, udløber adgangen til denne Send på den angivne dato og tidspunkt.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { "message": "Maksimal antal tilgange" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "Hvis opsat, vil brugere ikke længere kunne tilgå denne Send, når det maksimale adgangsantal er nået.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { "message": "Aktuelt antal tilgange" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "Valgfrit brugeradgangskodekrav for tilgang til denne Send.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "Fortrolige notater om denne Send.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { @@ -3369,17 +3390,17 @@ "message": "Er du sikker på, at du vil fjerne adgangskoden?" }, "disableThisSend": { - "message": "Disable this Send so that no one can access it.", + "message": "Deaktivér denne Send så ingen kan tilgå den.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { "message": "Alle Send" }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "Maks. adgangsantal nået" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "Afventer sletning" }, "expired": { "message": "Udløbet" @@ -3404,7 +3425,11 @@ "message": "Download fil" }, "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", + "message": "Den Send, du forsøger at tilgå, findes ikke eller er ikke længere tilgængelig.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { @@ -3412,61 +3437,64 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "Nødadgang" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Tildel og håndter nødadgang for betroede kontakter. Betroede kontakter kan anmode om adgang til enten at vise eller overtage din konto i nødstilfælde. Besøg vores hjælpeside for yderligere oplysninger om, hvordan nul-vidensdeling fungerer." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" + "message": "Betroede nødkontakter" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "Du har endnu ikke tilføjet nødkontakter. Invitér en betroet kontakt for at komme i gang." }, "addEmergencyContact": { - "message": "Add emergency contact" + "message": "Tilføj nødkontakt" }, "designatedEmergencyContacts": { - "message": "Designated as emergency contact" + "message": "Udpeget som nødkontakt" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "Du er endnu ikke blevet udpeget som en nødkontakt for nogen." }, "inviteEmergencyContact": { - "message": "Invite emergency contact" + "message": "Invitér nødkontakt" }, "editEmergencyContact": { - "message": "Edit emergency contact" + "message": "Redigér nødkontakt" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "Invitér en ny nødkontakt ved at angive e-mailadressen på vedkommendes Bitwarden-konto nedenfor. Har vedkommende ikke allerede en Bitwarden-konto, anmoders vedkommende om at oprette én." }, "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" + "message": "Nødadgang igangsat" }, "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" + "message": "Nødadgang godkendt" }, "viewDesc": { - "message": "Can view all items in your own vault." + "message": "Kan se alle elementer i din egen boks." }, "takeover": { - "message": "Takeover" + "message": "Overtagelse" }, "takeoverDesc": { - "message": "Can reset your account with a new master password." + "message": "Kan nulstille din konto med en ny hovedadgangskode." }, "waitTime": { - "message": "Wait Time" + "message": "Ventetid" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "Tid krævet inden automatisk adgangstildeling." }, "oneDay": { - "message": "1 day" + "message": "1 dag" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$ dage", "placeholders": { "days": { "content": "$1", @@ -3475,16 +3503,16 @@ } }, "invitedUser": { - "message": "Invited user." + "message": "Inviteret bruger." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Du er inviteret som nødadgangskontakt for ovenfor anførte bruger. For at acceptere invitationen, så log først ind eller opret en ny Bitwarden-konto." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "Kan ikke acceptere invitation. Bed brugeren sende en ny invitation." }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Kan ikke acceptere invitation. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "Du kan tilgå nødindstillingerne for denne bruger, når din identitet er bekræftet. En e-mail sendes til dig, når det sker." }, "requestAccess": { - "message": "Request Access" + "message": "Anmod om adgang" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Er du sikker på, at du vil anmode om nødadgang? Du vil opnå adgang efter $WAITTIME$ dag(e) eller når brugeren godkender anmodningen.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "Nødadgang udbedt for $USER$. Du får besked via e-mail, når det er muligt at fortsætte.", "placeholders": { "user": { "content": "$1", @@ -3520,10 +3548,10 @@ "message": "Godkend" }, "reject": { - "message": "Afvist" + "message": "Afvis" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "Er du sikker på, at du vil godkende nødadgang? Dette vil tillade $USER$ at $ACTION$ din konto.", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "Emergency access approved." + "message": "Nødadgang godkendt." }, "emergencyRejected": { - "message": "Emergency access rejected" + "message": "Nødadgang afvist" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "Adgangskode nulstillet for $USER$. Du kan nu logge ind med den nye adgangskode.", "placeholders": { "user": { "content": "$1", @@ -3551,19 +3579,37 @@ } }, "personalOwnership": { - "message": "Personlig Ejerskab" + "message": "Personligt ejerskab" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "Kræv at brugere gemmer boks-elementer til en organisation ved at fjerne den personlige ejerskabsmulighed." }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Organisationsejere og administratorer er undtaget fra denne politik." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "En virksomhedspolitik forhindrer dig i at gemme emner i din personlige boks. Skift indstillingen Ejerskab til en organisation, og vælg fra de tilgængelige samlinger." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "Redigerede politik $ID$.", "placeholders": { "id": { "content": "$1", @@ -3572,52 +3618,52 @@ } }, "planPrice": { - "message": "Plan price" + "message": "Abonnementspris" }, "estimatedTax": { - "message": "Estimated tax" + "message": "Anslået moms" }, "custom": { - "message": "Custom" + "message": "Tilpasset" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "Tillader mere granulær kontrol af brugertilladelser for avancerede opsætninger." }, "permissions": { "message": "Tilladelser" }, "accessBusinessPortal": { - "message": "Adgang Til Forretningsportal" + "message": "Tilgå Forretningsportal" }, "accessEventLogs": { - "message": "Tilgå Begivenheds Logs" + "message": "Tilgå begivenhedslogger" }, "accessImportExport": { - "message": "Adgang Til Import/Eksport" + "message": "Tilgå import/eksport" }, "accessReports": { - "message": "Adgangs Rapporter" + "message": "Tilgå rapporter" }, "manageAllCollections": { - "message": "Administrer Alle Samlinger" + "message": "Håndtér alle samlinger" }, "manageAssignedCollections": { - "message": "Administrer Tildelte Samlinger" + "message": "Håndtér tildelte samlinger" }, "manageGroups": { - "message": "Håndtér Grupper" + "message": "Håndtér grupper" }, "managePolicies": { - "message": "Administrer Politikker" + "message": "Håndtér politikker" }, "manageSso": { "message": "Håndtér SSO" }, "manageUsers": { - "message": "Administrér brugere" + "message": "Håndtér brugere" }, "disableRequireSsoError": { - "message": "Du skal manuelt deaktivere Single Sign-On Authentication policy før denne politik kan deaktiveres." + "message": "Single Sign-On godkendelsespolitikken skal manuelt deaktiveres, før denne politik kan deaktiveres." }, "personalOwnershipPolicyInEffect": { "message": "En organisationspolitik påvirker dine ejerskabsmuligheder." @@ -3626,7 +3672,95 @@ "message": "Deaktivér personligt ejerskab for organisationsbrugere" }, "textHiddenByDefault": { - "message": "Når du tilgår Send, så skjul teksten som standard", + "message": "Når Send tilgås, skjul som standard teksten", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/de/messages.json b/locales/de/messages.json index 95eed836..7aa7b831 100644 --- a/locales/de/messages.json +++ b/locales/de/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "Dieser Export enthält Ihre Tresor-Daten in einem unverschlüsseltem Format. Sie sollten die Datei daher nicht über unsichere Kanäle (z.B. E-Mail) versenden oder speichern. Löschen Sie die Datei sofort nach ihrer Verwendung." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "Dieser Export verschlüsselt Ihre Daten mit dem Verschlüsselungscode Ihres Kontos. Falls Sie Ihren Verschlüsselungscode erneuern, sollten Sie den Export erneut durchführen, da Sie die zuvor erstellte Datei ansonsten nicht mehr entschlüsseln können." }, + "encExportAccountWarningDesc": { + "message": "Die Verschlüsselungscodes eines Kontos sind für jedes Bitwarden Benutzerkonto einzigartig, deshalb können Sie keinen verschlüsselten Export in ein anderes Konto importieren." + }, "exportMasterPassword": { "message": "Geben Sie das Master-Passwort ein, um Ihre Tresordaten zu exportieren." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Daten importieren" }, + "importError": { + "message": "Importfehler" + }, + "importErrorDesc": { + "message": "Es gab ein Problem mit den Daten, die Sie importieren wollten. Bitte beheben Sie die unten aufgeführten Fehler in Ihrer Quelldatei und versuchen Sie es erneut." + }, "importSuccess": { "message": "Daten wurden erfolgreich in Ihren Tresor importiert." }, + "importWarning": { + "message": "Sie importieren Daten nach $ORGANIZATION$. Ihre Daten können mit Mitgliedern dieser Organisation geteilt werden. Möchten Sie fortfahren?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Die Daten sind nicht richtig formatiert. Kontrollieren Sie bitte Ihre Import-Datei und versuchen Sie es erneut." }, @@ -1364,7 +1382,7 @@ "message": "Anmeldungen ohne 2FA gefunden" }, "inactive2faFoundDesc": { - "message": "Wir haben $COUNT$ Webseiten in Ihrem Tresor gefunden, die eine Zwei-Faktor Authentifizierung anbieten (laut 2fa.directory), aber bei denen diese Funktion möglicherweise nicht aktiviert ist. Um diese Accounts abzusichern, sollten Sie die Zwei-Faktor Authentifizierung aktivieren.", + "message": "Wir haben $COUNT$ Webseiten in Ihrem Tresor gefunden, die eine Zwei-Faktor Authentifizierung anbieten (laut twofactorauth.org), aber bei denen diese Funktion möglicherweise nicht aktiviert ist. Um diese Accounts abzusichern, sollten Sie die Zwei-Faktor Authentifizierung aktivieren.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Zusätzliche Zwei-Faktor-Authentifizierungsmöglichkeiten wie z.B. YubiKey, FIDO U2F und Duo." }, + "premiumSignUpEmergency": { + "message": "Notfallzugriff" + }, "premiumSignUpReports": { "message": "Berichte über Passwort-Hygiene, Kontostatus und Datendiebstähle, um Ihren Tresor sicher zu halten." }, @@ -3407,6 +3428,10 @@ "message": "Das Send, auf das Sie zugreifen möchten, existiert nicht oder ist nicht mehr verfügbar.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "Die mit diesem Send verbundene Datei konnte nicht gefunden werden.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Es gibt keine Sends aufzulisten.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Gewähren und verwalten Sie einen Notfallzugriff für vertrauenswürdige Kontakte. Vertrauenswürdige Kontakte können im Notfall Zugriff verlangen, um Ihr Konto entweder einzusehen oder es zu übernehmen. Besuchen Sie unsere Hilfeseite für weitere Informationen und Details, wie der Austausch über Zero-Knowledge funktioniert." }, + "emergencyAccessOwnerWarning": { + "message": "Sie sind Eigentümer einer oder mehrerer Organisationen. Wenn Sie dem Übernahmezugang zu einem Notfallkontakt gewähren, können diese nach einer Übernahme alle Ihre Berechtigungen als Eigentümer nutzen." + }, "trustedEmergencyContacts": { "message": "Vertrauenswürdige Notfallkontakte" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Aufgrund einer Unternehmensrichtlinie dürfen Sie keine Einträge in Ihrem persönlichen Tresor speichern. Ändern Sie die Eigentümer-Option in eine Organisation und wählen Sie aus den verfügbaren Sammlungen." }, + "disableSend": { + "message": "Send deaktivieren" + }, + "disableSendPolicyDesc": { + "message": "Benutzern das Erstellen oder Bearbeiten eines Bitwarden Sends nicht gestatten. Das Löschen eines bestehenden Sends ist weiterhin erlaubt.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Richtlinie $ID$ geändert.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Beim Zugriff auf dieses Send den Text standardmäßig ausblenden", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/el/messages.json b/locales/el/messages.json index 6bcc9344..96777537 100644 --- a/locales/el/messages.json +++ b/locales/el/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Αυτή η εξαγωγή περιέχει τα δεδομένα σε μη κρυπτογραφημένη μορφή. Δεν πρέπει να αποθηκεύετε ή να στείλετε το εξαγόμενο αρχείο μέσω μη ασφαλών τρόπων (όπως μέσω email). Διαγράψτε το αμέσως μόλις τελειώσετε με τη χρήση του." }, - "encExportWarningDesc": { - "message": "Αυτή η εξαγωγή κρυπτογραφεί τα δεδομένα σας χρησιμοποιώντας το κλειδί κρυπτογράφησης του λογαριασμού σας. Εάν ποτέ περιστρέψετε το κλειδί κρυπτογράφησης του λογαριασμού σας, θα πρέπει να κάνετε εξαγωγή ξανά, καθώς δεν θα μπορείτε να αποκρυπτογραφήσετε αυτό το αρχείο εξαγωγής." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Πληκτρολογήστε τον κύριο κωδικό για εξαγωγή των δεδομένων vault." @@ -1000,9 +1003,24 @@ "importData": { "message": "Εισαγωγή Δεδομένων" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Τα δεδομένα έχουν εισαχθεί με επιτυχία στο vault σας." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Τα δεδομένα δεν έχουν διαμορφωθεί σωστά. Ελέγξτε το αρχείο εισαγωγής και δοκιμάστε ξανά." }, @@ -1364,7 +1382,7 @@ "message": "Βρέθηκαν Συνδέσεις Χωρίς 2FA" }, "inactive2faFoundDesc": { - "message": "Βρήκαμε $COUNT$ ιστοσελίδα(ες) στο vault σας, που ενδέχεται να μην έχει ρυθμιστεί ο έλεγχος ταυτότητας δύο παραγόντων (σύμφωνα με το 2fa.directory). Για επιπλέον προστασία αυτών των λογαριασμών, θα πρέπει να ενεργοποιήσετε τον έλεγχο ταυτότητας δύο παραγόντων.", + "message": "Βρήκαμε $COUNT$ ιστοσελίδα(ες) στο vault σας, που ενδέχεται να μην έχει ρυθμιστεί ο έλεγχος ταυτότητας δύο παραγόντων (σύμφωνα με το twofactorauth.org). Για επιπλέον προστασία αυτών των λογαριασμών, θα πρέπει να ενεργοποιήσετε τον έλεγχο ταυτότητας δύο παραγόντων.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Πρόσθετες επιλογές σύνδεσης δύο παραγόντων, όπως το YubiKey, το FIDO U2F και το Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Ασφάλεια κωδικών, υγεία λογαριασμού και αναφορές διαρροής δεδομένων, προκειμένου να διατηρήσετε ασφαλές το vault σας." }, @@ -3407,6 +3428,10 @@ "message": "Το Send που προσπαθείτε να αποκτήσετε πρόσβαση, δεν υπάρχει ή δεν είναι πλέον διαθέσιμο.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Δεν υπάρχουν Sends στη λίστα.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Εκχώρηση και διαχείριση πρόσβασης έκτακτης ανάγκης για αξιόπιστες επαφές. Οι επαφές εμπίστευσης μπορούν να ζητήσουν πρόσβαση είτε στην Προβολή είτε στην ανάληψη του λογαριασμού σας σε περίπτωση έκτακτης ανάγκης. Επισκεφθείτε τη σελίδα βοήθειας μας για περισσότερες πληροφορίες και λεπτομέρειες σχετικά με το πώς λειτουργεί o μηδενικός διαμοιρασμός πληροφοριών." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Έμπιστες επαφές έκτακτης ανάγκης" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Λόγω μιας Πολιτικής Επιχειρήσεων, δεν επιτρέπεται η αποθήκευση στοιχείων στο προσωπικό σας vault. Αλλάξτε την επιλογή Ιδιοκτησίας σε έναν οργανισμό και επιλέξτε από τις διαθέσιμες Συλλογές." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Τροποποιημένη πολιτική $ID$.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Κατά την πρόσβαση στην αποστολή, απόκρυψη του κειμένου από προεπιλογή", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/en/messages.json b/locales/en/messages.json index 39736fdd..7f88d2b8 100644 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Import Data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data has been successfully imported into your vault." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data is not formatted correctly. Please check your import file and try again." }, @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Password hygiene, account health, and data breach reports to keep your vault safe." }, @@ -3352,7 +3373,7 @@ "message": "Disabled" }, "sendLink": { - "message": "Send Link", + "message": "Send link", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3622,14 +3668,99 @@ "personalOwnershipPolicyInEffect": { "message": "An organization policy is affecting your ownership options." }, - "custom": { - "message": "Custom" - }, "personalOwnershipCheckboxDesc": { "message": "Disable personal ownership for organization users" }, "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/en_GB/messages.json b/locales/en_GB/messages.json index 21866253..fa0dc16e 100644 --- a/locales/en_GB/messages.json +++ b/locales/en_GB/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over insecure channels (such as email). Delete it immediately after you are done using it." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Import data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data has been successfully imported into your vault." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data is not formatted correctly. Please check your import file and try again." }, @@ -1364,7 +1382,7 @@ "message": "Logins without 2FA found" }, "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", + "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to twofactorauth.org). To further protect these accounts, you should enable two-factor authentication.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Password hygiene, account health, and data breach reports to keep your vault safe." }, @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organisation and choose from available Collections." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Modified policy $ID$.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/en_IN/messages.json b/locales/en_IN/messages.json index d2a3f32e..ed3dd46b 100644 --- a/locales/en_IN/messages.json +++ b/locales/en_IN/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over insecure channels (such as email). Delete it immediately after you are done using it." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Import data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data has been successfully imported into your vault." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data is not formatted correctly. Please check your import file and try again." }, @@ -1364,7 +1382,7 @@ "message": "Logins without 2FA found" }, "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", + "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to twofactorauth.org). To further protect these accounts, you should enable two-factor authentication.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Password hygiene, account health, and data breach reports to keep your vault safe." }, @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Modified policy $ID$.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/eo/messages.json b/locales/eo/messages.json index 4af103a5..bbe3e5e9 100644 --- a/locales/eo/messages.json +++ b/locales/eo/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Importi Datumojn" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data has been successfully imported into your vault." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data is not formatted correctly. Please check your import file and try again." }, @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Password hygiene, account health, and data breach reports to keep your vault safe." }, @@ -3352,7 +3373,7 @@ "message": "Disabled" }, "sendLink": { - "message": "Send Link", + "message": "Send link", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/es/messages.json b/locales/es/messages.json index 47e957ae..d13f0dd5 100644 --- a/locales/es/messages.json +++ b/locales/es/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Esta exportación contiene los datos de tu caja fuerte en un formato no cifrado. No deberías almacenar o enviar el archivo exportado por canales no seguros (como el correo electrónico). Elimínalo inmediatamente cuando termines de utilizarlo." }, - "encExportWarningDesc": { - "message": "Esta exportación encripta tus datos usando la clave de cifrado de tu cuenta. Si alguna vez cambias la clave de cifrado de tu cuenta debes volver a exportar, ya que no podrás descifrar este archivo de exportación." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Introduce tu contraseña maestra para exportar la información de tu caja fuerte." @@ -1000,9 +1003,24 @@ "importData": { "message": "Importar datos" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "La información ha sido importada correctamente en tu caja fuerte." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "El formato de la información no es correcto. Por favor, comprueba el fichero y prueba de nuevo." }, @@ -1364,7 +1382,7 @@ "message": "Inicios de sesión sin 2FA encontrados" }, "inactive2faFoundDesc": { - "message": "Hemos encontrado $COUNT$ sitio(s) web en su caja fuerte que no pueden ser configuradas con autenticación de dos factores (según 2fa.directory). Para proteger estas cuentas, debe habilitar autenticación de dos factores.", + "message": "Hemos encontrado $COUNT$ sitio(s) web en su caja fuerte que no pueden ser configuradas con autenticación de dos factores (según twofactorauth.org). Para proteger estas cuentas, debe habilitar autenticación de dos factores.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Opciones adicionales de inicio de sesión de dos pasos como YubiKey, Fido U2F y Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Higiene de contraseña, salud de la cuenta e informes de violaciones de datos para mantener su caja fuerte segura." }, @@ -3407,6 +3428,10 @@ "message": "El envío al que está intentando acceder no existe o ya no está disponible.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "No hay Sends que listar.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Conceder y administrar el acceso de emergencia para los contactos de confianza. Los contactos de confianza pueden solicitar acceso a Ver o Tomar su cuenta en caso de emergencia. Visite nuestra página de ayuda para obtener más información y detalles sobre cómo funciona el intercambio de conocimiento cero." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Contactos de emergencia confiables" }, @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/et/messages.json b/locales/et/messages.json index c7be584c..af00e7be 100644 --- a/locales/et/messages.json +++ b/locales/et/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Eksporditav fail on krüpteeringuta ja sisaldab hoidla sisu. Seda faili ei tohiks kaua käidelda ning mitte mingil juhul ebaturvaliselt saata (näiteks e-postiga). Kustuta see koheselt pärast kasutamist." }, - "encExportWarningDesc": { - "message": "Eksporditavate andmete krüpteerimiseks kasutatakse kontol olevat krüpteerimisvõtit. Kui sa peaksid seda krüpteerimise võtit roteerima, ei saa sa järgnevalt eksporditavaid andmeid enam dekrüpteerida." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Hoidlas olevate andmete eksportimiseks on vajalik ülemparooli sisestamine." @@ -1000,9 +1003,24 @@ "importData": { "message": "Andmete importimine" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Andmed on edukalt hoidlasse imporditud." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Andmed ei ole korrektse vorminguga. Palun kontrolli imporditavat faili ja proovi uuesti." }, @@ -1364,7 +1382,7 @@ "message": "Kaheastmelise kinnituseta kontod" }, "inactive2faFoundDesc": { - "message": "Leidsime sinu hoidlast $COUNT$ veebilehte, kus kaheastmeline kinnitamine ei pruugi olla sisselülitatud (kontrolliks kasutatakse 2fa.directory). Nende kontode paremaks kaitsmiseks soovitame kaheastmelise kinnitamise sisse lülitada.", + "message": "Leidsime sinu hoidlast $COUNT$ veebilehte, kus kaheastmeline kinnitamine ei pruugi olla sisselülitatud (kontrolliks kasutatakse twofactorauth.org). Nende kontode paremaks kaitsmiseks soovitame kaheastmelise kinnitamise sisse lülitada.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Lisavõimalused kaheastmeliseks kinnitamiseks, näiteks YubiKey, FIDO U2F ja Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Parooli hügieen, konto seisukord ja andmelekete raportid aitavad hoidlat turvalisena hoida." }, @@ -2823,7 +2844,7 @@ "message": "Täienda organisatsiooni" }, "upgradeOrganizationDesc": { - "message": "See funktsioon ei ole \"tasuta\" litsentsi kasutatavatele organisatsioonidele saadaval. Hangi tasuline versioon, mis sisaldab rohkem funktsioone." + "message": "See funktsioon ei ole tasuta organisatsioonidele saadaval. Hangi tasuline versioon, mis sisaldab rohkem funktsioone." }, "createOrganizationStep1": { "message": "Organisatsiooni loomine: Samm 1" @@ -3407,6 +3428,10 @@ "message": "Send, millele üritad ligi pääseda, ei eksisteeri või see pole enam saadaval.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Puuduvad Sendid, mida kuvada.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Siin saad hallata ning seadistada usaldusväärseid kontakte, kes saavad hädaolukorral sinu Hoidla sisu kas Vaadata või Üle võtta. Rohkema info saamiseks vaata meie abilehekülge. Tegemist on turvalise ja „zero-knowledge“ lahendusega." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Usaldusväärsed hädaolukorra kontaktid" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Ettevõtte poliitika tõttu ei saa sa andmeid oma personaalsesse Hoidlasse salvestada. Vali Omanikuks organisatsioon ja vali mõni saadavaolevatest Kogumikest." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Muutis poliitikat $ID$.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Sendi avamisel peida tekst automaatselt", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/fi/messages.json b/locales/fi/messages.json index 30233a31..bfdb6717 100644 --- a/locales/fi/messages.json +++ b/locales/fi/messages.json @@ -80,7 +80,7 @@ "message": "Ajokortin numero" }, "email": { - "message": "Sähköposti" + "message": "Sähköpostiosoite" }, "phone": { "message": "Puhelinnumero" @@ -726,7 +726,7 @@ "message": "FIDO U2F ‑todennuslaite" }, "emailTitle": { - "message": "Sähköposti" + "message": "Sähköpostiosoite" }, "emailDesc": { "message": "Todennuskoodit lähetetään sinulle sähköpostitse." @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Tämä vienti sisältää holvisi tiedot salaamattomassa muodossa. Sinun ei tulisi säilyttää tai lähettää vietyä tiedostoa suojaamattomien kanavien (kuten sähköpostin) välityksellä. Poista se välittömästi kun sille ei enää ole käyttöä." }, - "encExportWarningDesc": { - "message": "Tämä vienti salaa tietosi käyttäjätilisi salausavaimella. Jos joskus uudistat tilisi salausavaimen, on teitojen vienti tehtävä uudelleen, koska et voi enää purkaa nyt viedyn tiedoston salausta." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Syötä pääsalasanasi viedäksesi holvisi tiedot." @@ -1000,9 +1003,24 @@ "importData": { "message": "Tuo tiedot" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Tietojen tuonti holviisi onnistui." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Tietoja ei ole muotoiltu oikein. Tarkista tuotavan tiedoston muotoilu ja yritä uudelleen." }, @@ -1091,7 +1109,7 @@ "message": "Lisää oma verkkotunnus" }, "newCustomDomainDesc": { - "message": "Syötä verkkotunnukset pilkulla eroteltuina. Vain \"juuritason\" verkkotunnukset sallitaan, ei aliverkkotunnuksia. Eli syötä esimerkiksi \"www.google.com\" sijasta \"google.com\". Voit myös syöttää \"androidapp://package.name\" -muotoisia osoitteita liittääksesi myös Android-sovelluksia verkkotunnuksiin." + "message": "Syötä verkkotunnukset pilkulla eroteltuina. Vain \"juuritason\" verkkotunnukset sallitaan, ei aliverkkotunnuksia. Eli syötä esimerkiksi \"www.google.com\" sijasta \"google.com\". Voit syöttää myös \"androidapp://package.name\" -muotoisia osoitteita yhdistääksesi Android-sovelluksia verkkotunnuksiin." }, "customDomainX": { "message": "Oma verkkotunnus $INDEX$", @@ -1364,7 +1382,7 @@ "message": "Löydettiin tunnuksia ilman kaksivaiheista kirjautumista" }, "inactive2faFoundDesc": { - "message": "Löysimme holvistasi $COUNT$ sivustoa, joita ei ehkä ole määritetty käyttämään kaksivaiheista kirjautumista (2fa.directory-sivuston mukaan). Suojataksesi nämä tilit paremmin, sinun tulisi ottaa kaksivaiheinen kirjautuminen käyttöön.", + "message": "Löysimme holvistasi $COUNT$ sivustoa, joita ei ehkä ole määritetty käyttämään kaksivaiheista kirjautumista (twofactorauth.org-sivuston mukaan). Suojataksesi nämä tilit paremmin, sinun tulisi ottaa kaksivaiheinen kirjautuminen käyttöön.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Muita kaksivaiheisen kirjautumisen todennusmenetelmiä kuten YubiKey, FIDO U2F ja Duo Security." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Salasanahygienian, tilin terveyden ja tietovuotojen raportointitoiminnot pitävät holvisi turvassa." }, @@ -1690,7 +1711,7 @@ "message": "Tilaus on merkitty päättyväksi kuluvan laskutuskauden lopussa." }, "reinstateSubscription": { - "message": "Plauta tilaus voimaan" + "message": "Palauta tilaus voimaan" }, "reinstateConfirmation": { "message": "Haluatko varmasti poistaa odottavan peruutuspyynnön ja pitää tilauksesi voimassa?" @@ -2106,7 +2127,7 @@ "message": "Käyttöoikeuden laajuus" }, "groupAccessAllItems": { - "message": "Tällä ryhmällä on käyttö- ja muokkausoikeus kaikkiin kohteisiin." + "message": "Tällä ryhmällä on käyttö- ja muokkausoikeudet kaikkiin kohteisiin." }, "groupAccessSelectedCollections": { "message": "Tällä ryhmällä on käyttöoikeus vain valittuihin kokoelmiin." @@ -2133,7 +2154,7 @@ "message": "Kutsu käyttäjä" }, "inviteUserDesc": { - "message": "Kutsu organisaatioosi uusi käyttäjä syöttämällä alle heidän Bitwarden-tilinsä sähköpostiosoite. Jos heillä ei vielä ole Bitwarden-tiliä, heitä pyydetään uomaan uusi tili." + "message": "Kutsu organisaatioosi uusi käyttäjä syöttämällä alle heidän Bitwarden-tilinsä sähköpostiosoite. Jos heillä ei vielä ole Bitwarden-tiliä, heitä pyydetään luomaan uusi tili." }, "inviteMultipleEmailDesc": { "message": "Voit kutsua korkeintaan $COUNT$ käyttäjää kerrallaan, erottelemalla listan sähköpostiosoitteista pilkuilla.", @@ -2496,7 +2517,7 @@ } }, "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", + "message": "Poistettu yrityksen kertakirjautuminen (SSO) käyttäjältä $ID$.", "placeholders": { "id": { "content": "$1", @@ -2511,7 +2532,7 @@ "message": "Näytä" }, "invalidDateRange": { - "message": "Virheellinen aikaväli." + "message": "Virheellinen ajanjakso." }, "errorOccurred": { "message": "Tapahtui virhe." @@ -2808,7 +2829,7 @@ "message": "Salausavaimesi päivityksen jälkeen, sinun tulee kirjautua ulos ja sitten takaisin sisään kaikissa Bitwarden-sovelluksissa, jotka ovat käytössäsi (esim. mobiilisovellus ja selainlaajennukset). Uudelleenkirjautumisen (joka lataa uuden salausavaimen) suorittamatta jättäminen saattaa johtaa tietojen vaurioitumiseen. Yritämme kirjata sinut ulos autmaattisesti, mutta tämä voi tapahtua vasta jonkin ajan kuluttua." }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "Tallentamistasi salatuista vienneistä tulee käyttökelvottomia." }, "subscription": { "message": "Tilaus" @@ -3320,32 +3341,32 @@ "message": "Poistopäivä" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "Send poistetaan pysyvästi määritettynä ajankohtana.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { "message": "Erääntymispäivä" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "Jos määritetty, Send vanhenee määritettynä ajankohtana.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Suurin käyttömäärä" + "message": "Käyttöoikeuksien enimmäismäärä" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "Kun asetettu, käyttäjät eivät voi avata Sendiä käyttökertojen enimmäismäärän täytyttyä.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { "message": "Nykyinen käyttömäärä" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "Halutessasi, vaadi käyttäjiä syöttämään salasana Sendin avaamiseksi.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "Yksityiset muistiot tästä Sendistä.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { @@ -3369,14 +3390,14 @@ "message": "Haluatko varmasti poistaa salasanan?" }, "disableThisSend": { - "message": "Disable this Send so that no one can access it.", + "message": "Poista Send käytöstä, jottei kukaan voi avata sitä.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { "message": "Kaikki Sendit" }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "Käyttökertojen enimmäismäärä saavutettu" }, "pendingDeletion": { "message": "Odottaa poistoa" @@ -3404,7 +3425,11 @@ "message": "Lataa tiedosto" }, "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", + "message": "Sendiä, jota yrität avata, ei ole olemassa tai se ei ole enää käytettävissä.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { @@ -3412,34 +3437,37 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "Hätäyhteys" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Myönnä ja hallitse luotettujen kontaktien hätäkäyttöoikeuksia. Luotetut kontaktit voivat anoa oikeutta tilisi tarkasteluun tai hallintaan hätätilanteessa. Käy ohjesivullamme saadaksesi lisätietoja ja tarkempia tietoja siitä, miten tiedon nollajako toimii." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" + "message": "Luotetut hätäkontaktit" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "Et ole vielä lisännyt hätäkontakteja. Kutsu luotettu kontakti aloittaaksesi." }, "addEmergencyContact": { - "message": "Lisää hätäyhteystieto" + "message": "Lisää hätäkontakti" }, "designatedEmergencyContacts": { - "message": "Designated as emergency contact" + "message": "Määritetty hätäkontaktiksi" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "Sinua ei ole vielä määritetty kenenkään hätäkontaktiksi." }, "inviteEmergencyContact": { - "message": "Kutsu hätäyhteystieto" + "message": "Kutsu hätäkontakti" }, "editEmergencyContact": { - "message": "Muokkaa hätäyhteystietoa" + "message": "Muokkaa hätäkontaktia" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "Kutsu uusi hätäkontakti syöttämällä alle heidän Bitwarden-tilinsä sähköpostiosoite. Jos heillä ei vielä ole Bitwarden-tiliä, heitä pyydetään luomaan uusi tili." }, "emergencyAccessRecoveryInitiated": { "message": "Hätäkäyttö aloitettu" @@ -3460,7 +3488,7 @@ "message": "Odotusaika" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "Aika, joka vaaditaan ennen kuin pääsy myönnetään automaattisesti." }, "oneDay": { "message": "1 päivä" @@ -3478,13 +3506,13 @@ "message": "Kutsuttu käyttäjä." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Sinut on kutsuttu yllä mainitun käyttäjän hätäkontaktiksi. Hyväksyäksesi kutsun, sinun tulee kirjautua tilillesi tai luoda uusi Bitwarden tili." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "Kutsun hyväksyntä ei onnistu. Pyydä käyttäjää lähettämään uusi kutsu." }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Kutsun hyväksyntä ei onnistunut. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "Voit käyttää tämän käyttäjän hätävalintoja kun henkilöllisyytesi on vahvistettu. Saat vahvistuksesta ilmoituksen sähköpostitse." }, "requestAccess": { "message": "Pyydä käyttöoikeutta" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Haluatko varmasti anoa hätäkäyttöoikeutta? Pääsy myönnetään $WAITTIME$ päivän kuluttua tai käyttäjän hyväksyessä käyttöoikeuden manuaalisesti.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "Hätäkäyttöoikeutta pyydetty käyttäjältä $USER$. Kun voit jatkaa, saat ilmoituksen sähköpostitse.", "placeholders": { "user": { "content": "$1", @@ -3523,7 +3551,7 @@ "message": "Hylkää" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "Haluatko varmasti sallia hätäyhteyden? Tämä sallii käyttäjälle $USER$ tiliisi oikeuden: $ACTION$.", "placeholders": { "user": { "content": "$1", @@ -3539,10 +3567,10 @@ "message": "Hätäkäyttö sallittu." }, "emergencyRejected": { - "message": "Hätäkäyttö kielletty" + "message": "Hätäyhteys hylätty" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "Käyttäjän $USER$ salasana on palautettu. Voit nyt kirjautua sisään käyttäen uutta salasanaa.", "placeholders": { "user": { "content": "$1", @@ -3551,19 +3579,37 @@ } }, "personalOwnership": { - "message": "Personal Ownership" + "message": "Henkilökohtainen omistus" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "Vaadi käyttäjiä tallentamaan holvin kohteet organisaatiolle poistamalla henkilökohtaisen omistuksen valinta." }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Organisaation omistajat ja järjestelmänvalvojat on vapautettu tämän käytännön piiristä." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Yrityksen asettaman käytännön johdosta kohteiden tallennus omaan holviisi ei ole mahdollista. Muuta omistusasetus organisaatiolle ja valitse käytettävissä olevista kokoelmista." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "Muokattiin käytäntöä $ID$.", "placeholders": { "id": { "content": "$1", @@ -3572,7 +3618,7 @@ } }, "planPrice": { - "message": "Plan price" + "message": "Tilauksen hinta" }, "estimatedTax": { "message": "Arvioitu vero" @@ -3581,28 +3627,28 @@ "message": "Mukautettu" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "Mahdollistaa käyttäjien oikeuksien tarkemman hallinnan edistyneemmissä käyttöympäristöissä." }, "permissions": { "message": "Käyttöoikeudet" }, "accessBusinessPortal": { - "message": "Access Business Portal" + "message": "Yritysportaalin käyttö" }, "accessEventLogs": { - "message": "Access Event Logs" + "message": "Tutki tapahtumalokeja" }, "accessImportExport": { - "message": "Access Import/Export" + "message": "Tuonnin/viennin käyttö" }, "accessReports": { - "message": "Access Reports" + "message": "Raporttien käyttö" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "Hallinnoi kaikkia kokoelmia" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "Hallinnoi määritettyjä kokoelmia" }, "manageGroups": { "message": "Hallitse ryhmiä" @@ -3611,22 +3657,110 @@ "message": "Hallitse käytäntöjä" }, "manageSso": { - "message": "Manage SSO" + "message": "Hallinnoi yrityksen kertakirjautumista (SSO)" }, "manageUsers": { - "message": "Käyttäjien hallinta" + "message": "Hallinnoi käyttäjiä" }, "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + "message": "Yrityksen kertakirjautuminen (SSO) on poistettava käytöstä manuaalisesti ennen kuin tämän käytännön voi poistaa käytöstä." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "Organisaatiokäytäntö vaikuttaa omistajuusvalintoihisi." }, "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" + "message": "Poista henkilökohtaisen omistajuuden valinta käytöstä organisaation käyttäjiltä" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "Piilota teksti avattaessa Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/fr/messages.json b/locales/fr/messages.json index c7bd632c..2f11cb73 100644 --- a/locales/fr/messages.json +++ b/locales/fr/messages.json @@ -425,7 +425,7 @@ "message": "Pièce jointe supprimée" }, "deleteAttachmentConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer cette pièce jointe ?" + "message": "Êtes-vous sûr de vouloir supprimer cette pièce jointe ?" }, "attachmentSaved": { "message": "La pièce jointe a été enregistrée." @@ -464,7 +464,7 @@ "message": "Supprimer la pièce jointe" }, "deleteItemConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir déplacer cet élément vers la corbeille ?" + "message": "Êtes-vous sûr de vouloir déplacer cet élément vers la corbeille ?" }, "deletedItem": { "message": "L'élément a été envoyé dans la corbeille" @@ -476,7 +476,7 @@ "message": "Éléments déplacés" }, "overwritePasswordConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir écraser le mot de passe actuel ?" + "message": "Êtes-vous sûr de vouloir écraser le mot de passe actuel ?" }, "editedFolder": { "message": "Dossier modifié" @@ -485,7 +485,7 @@ "message": "Dossier ajouté" }, "deleteFolderConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer ce dossier ?" + "message": "Êtes-vous sûr de vouloir supprimer ce dossier ?" }, "deletedFolder": { "message": "Dossier supprimé" @@ -497,7 +497,7 @@ "message": "Votre session a expiré." }, "logOutConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir vous déconnecter ?" + "message": "Êtes-vous sûr de vouloir vous déconnecter ?" }, "logOut": { "message": "Déconnexion" @@ -750,7 +750,7 @@ "message": "Modifier les collections avec lesquelles cet élément est partagé. Seuls les utilisateurs de l'organisation avec un accès à ces collections pourront voir cet élément." }, "deleteSelectedItemsDesc": { - "message": "Vous avez sélectionné $COUNT$ élément(s) à supprimer. Êtes-vous sûr(e) de vouloir supprimer tous ces éléments ?", + "message": "Vous avez sélectionné $COUNT$ élément(s) à supprimer. Êtes-vous sûr de vouloir supprimer tous ces éléments ?", "placeholders": { "count": { "content": "$1", @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "Cet export contient les données de votre coffre dans un format non chiffré. Vous ne devriez ni le stocker ni l'envoyer via des canaux non sécurisés (tel que l'e-mail). Supprimez-le immédiatement après l'avoir utilisé." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "Cet export chiffre vos données en utilisant la clé de chiffrement de votre compte. Si jamais vous modifiez la clé de chiffrement de votre compte, vous devriez exporter à nouveau car vous ne pourrez pas déchiffrer ce fichier." }, + "encExportAccountWarningDesc": { + "message": "Les clés de chiffrement du compte sont spécifiques à chaque utilisateur Bitwarden. Vous ne pouvez donc pas importer d'export chiffré dans un compte différent." + }, "exportMasterPassword": { "message": "Saisissez votre mot de passe maître pour exporter les données de votre coffre." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Importer des données" }, + "importError": { + "message": "Erreur d'importation" + }, + "importErrorDesc": { + "message": "Il y a eu un problème avec les données que vous avez essayé d'importer. Veuillez résoudre les erreurs listées ci-dessous dans votre fichier source et réessayer." + }, "importSuccess": { "message": "Les données ont été importées dans votre coffre avec succès." }, + "importWarning": { + "message": "Vous importez des données vers $ORGANIZATION$. Vos données pourraient être partagées avec les membres de cette organisation. Voulez-vous continuer ?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Les données ne sont pas correctement mises en forme. Veuillez vérifier le fichier importé et réessayer." }, @@ -1195,7 +1213,7 @@ "message": "Dans le cas où vous devez l’ajouter à un autre appareil, voici le code QR (ou clé) requis par votre application d'authentification." }, "twoStepDisableDesc": { - "message": "Êtes-vous sûr(e) de que vouloir désactiver ce fournisseur de connexion en deux étapes ?" + "message": "Êtes-vous sûr de que vouloir désactiver ce fournisseur de connexion en deux étapes ?" }, "twoStepDisabled": { "message": "Fournisseur de connexion en deux étapes désactivé." @@ -1285,7 +1303,7 @@ "message": "Ajouter une clé de sécurité FIDO U2F à votre compte" }, "removeU2fConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer cette clé de sécurité ?" + "message": "Êtes-vous sûr de vouloir supprimer cette clé de sécurité ?" }, "readKey": { "message": "Lire la clé" @@ -1364,7 +1382,7 @@ "message": "Identifiants sans 2FA trouvés" }, "inactive2faFoundDesc": { - "message": "Nous avons trouvé $COUNT$ site(s) web(s) dans votre coffre qui ne sont peut-être pas configurés avec une authentification à deux facteurs (d'après 2fa.directory). Pour mieux protéger ces comptes, vous devriez activer l'authentification à deux facteurs.", + "message": "Nous avons trouvé $COUNT$ site(s) web(s) dans votre coffre qui ne sont peut-être pas configurés avec une authentification à deux facteurs (d'après twofactorauth.org). Pour mieux protéger ces comptes, vous devriez activer l'authentification à deux facteurs.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Options d'identification en deux étapes additionnelles comme YubiKey, FIDO U2F et Duo." }, + "premiumSignUpEmergency": { + "message": "Accès d'urgence" + }, "premiumSignUpReports": { "message": "Rapports sur l'hygiène des mots de passe, la santé des comptes et les fuites de données pour assurer la sécurité de votre coffre." }, @@ -1693,13 +1714,13 @@ "message": "Rétablir l’abonnement" }, "reinstateConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir retirer la demande d’annulation en attente et rétablir votre abonnement ?" + "message": "Êtes-vous sûr de vouloir retirer la demande d’annulation en attente et rétablir votre abonnement ?" }, "reinstated": { "message": "Votre abonnement a été rétabli." }, "cancelConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir annuler ? Vous perdrez l’accès à toutes les fonctionnalités de l’abonnement à la fin de ce cycle de facturation." + "message": "Êtes-vous sûr de vouloir annuler ? Vous perdrez l’accès à toutes les fonctionnalités de l’abonnement à la fin de ce cycle de facturation." }, "canceledSubscription": { "message": "L'abonnement a été annulé." @@ -2049,7 +2070,7 @@ "message": "Quitter" }, "leaveOrganizationConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir quitter cette organisation ?" + "message": "Êtes-vous sûr de vouloir quitter cette organisation ?" }, "leftOrganization": { "message": "Vous avez quitté l'organisation." @@ -2091,10 +2112,10 @@ "message": "Modifier le groupe" }, "deleteGroupConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer ce groupe?" + "message": "Êtes-vous sûr de vouloir supprimer ce groupe?" }, "removeUserConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir retirer cet utilisateur ?" + "message": "Êtes-vous sûr de vouloir retirer cet utilisateur ?" }, "externalId": { "message": "Identifiant externe" @@ -2124,7 +2145,7 @@ "message": "Modifier la collection" }, "deleteCollectionConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer cette collection?" + "message": "Êtes-vous sûr de vouloir supprimer cette collection?" }, "editUser": { "message": "Modifier un utilisateur" @@ -2925,7 +2946,7 @@ "message": "Mot de passe maître faible" }, "weakMasterPasswordDesc": { - "message": "Le mot de passe maître que vous avez choisi est faible. Vous devriez utiliser un mot de passe (ou une phrase de passe) fort(e) pour protéger correctement votre compte Bitwarden. Êtes-vous sûr(e) de vouloir utiliser ce mot de passe maître ?" + "message": "Le mot de passe maître que vous avez choisi est faible. Vous devriez utiliser un mot de passe (ou une phrase de passe) fort(e) pour protéger correctement votre compte Bitwarden. Êtes-vous sûr de vouloir utiliser ce mot de passe maître ?" }, "rotateAccountEncKey": { "message": "Révoquer également la clé de chiffrement de mon compte" @@ -2934,7 +2955,7 @@ "message": "Révoquer la clé de chiffrement" }, "rotateEncKeyConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir révoquer la clé de chiffrement de votre compte ?" + "message": "Êtes-vous sûr de vouloir révoquer la clé de chiffrement de votre compte ?" }, "attachmentsNeedFix": { "message": "Cet élément a d'anciennes pièces jointes qui doivent être réparées." @@ -3113,7 +3134,7 @@ "message": "Supprimer définitivement l'élément" }, "permanentlyDeleteItemConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer définitivement cet élément ?" + "message": "Êtes-vous sûr de vouloir supprimer définitivement cet élément ?" }, "permanentlyDeletedItem": { "message": "Élément supprimé définitivement" @@ -3155,7 +3176,7 @@ "message": "Éléments restaurés" }, "restoreItemConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir restaurer cet élément ?" + "message": "Êtes-vous sûr de vouloir restaurer cet élément ?" }, "restoreItems": { "message": "Restaurer les éléments" @@ -3366,7 +3387,7 @@ "message": "Mot de passe supprimé" }, "removePasswordConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer le mot de passe ?" + "message": "Êtes-vous sûr de vouloir supprimer le mot de passe ?" }, "disableThisSend": { "message": "Désactiver ce Send pour que personne ne puisse y accéder.", @@ -3407,6 +3428,10 @@ "message": "Le Send que vous essayez d'accéder n'existe pas ou n'est plus disponible.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "Le fichier associé à ce Send est introuvable.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Il n'y a aucun Send à afficher.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Accorder et gérer l'accès d'urgence pour les contacts de confiance. Les contacts de confiance peuvent demander l'accès à votre compte pour l'afficher ou en prendre le contrôle en cas d'urgence. Visitez notre page d'aide pour plus d'informations et de détails sur le fonctionnement du partage à divulgation nulle de connaissance." }, + "emergencyAccessOwnerWarning": { + "message": "Vous êtes propriétaire d'une ou de plusieurs organisations. Si vous autorisez la prise de contrôle à un contact d'urgence, il sera en mesure d'utiliser toutes vos permissions de propriétaire après la prise de contrôle." + }, "trustedEmergencyContacts": { "message": "Contacts d'urgence de confiance" }, @@ -3557,11 +3585,29 @@ "message": "Exiger que les utilisateurs enregistrent des éléments du coffre dans une organisation en retirant l'option de propriété individuelle." }, "personalOwnershipExemption": { - "message": "Les propriétaires et les administrateurs d'organisations sont dispensés de l'application de cette politique." + "message": "Les propriétaires et les administrateurs de l'organisation sont exonérés de l'application de cette politique." }, "personalOwnershipSubmitError": { "message": "En raison d'une politique d'entreprise, il vous est interdit d'enregistrer des éléments dans votre coffre personnel. Sélectionnez une organisation dans l'option Propriété et choisissez parmi les collections disponibles." }, + "disableSend": { + "message": "Désactiver le Send" + }, + "disableSendPolicyDesc": { + "message": "Ne pas autoriser les utilisateurs à créer ou modifier un Send Bitwarden. La suppression d'un envoi existant est toujours autorisée.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Les utilisateurs de l'organisation qui peuvent gérer les politiques de l'organisation sont exonérés de l'application de cette politique." + }, + "sendDisabled": { + "message": "Send désactivé", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "En raison d'une politique d'entreprise, vous ne pouvez que supprimer un Send existant.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Politique $ID$ modifiée.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Lors de l'accès à ce Send, masquer le texte par défaut", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "Un nom convivial pour décrire ce Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "Le texte que vous voulez envoyer." + }, + "sendFileDesc": { + "message": "Le fichier que vous voulez envoyer." + }, + "copySendLinkOnSave": { + "message": "Copier le lien de ce Send dans mon presse-papiers lors de l'enregistrement." + }, + "sendLinkLabel": { + "message": "Lien du Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Les Send Bitwarden permettent d'envoyer des informations sensibles et temporaires à d'autres, facilement et en toute sécurité.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Apprenez-en plus sur", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Partagez du texte ou des fichiers directement avec n'importe qui." + }, + "sendVaultCardLearnMore": { + "message": "Apprenez-en plus", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "découvrez", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "comment cela fonctionne", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "ou", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "essayez-le maintenant", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "ou", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "inscrivez-vous", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "pour l'essayer dès aujourd'hui.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "L'utilisateur Bitwarden $USER_IDENTIFIER$ a partagé ce qui suit avec vous", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "La date d'expiration indiquée n'est pas valide." + }, + "deletionDateIsInvalid": { + "message": "La date de suppression indiquée n'est pas valide." + }, + "expirationDateAndTimeRequired": { + "message": "Une date et une heure d'expiration sont requises." + }, + "deletionDateAndTimeRequired": { + "message": "Une date et une heure de suppression sont requises." + }, + "dateParsingError": { + "message": "Une erreur s'est produite lors de l'enregistrement de vos dates de suppression et d'expiration." } } diff --git a/locales/he/messages.json b/locales/he/messages.json index ff8d2eaa..45d5eccb 100644 --- a/locales/he/messages.json +++ b/locales/he/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "הקובץ מכיל את פרטי הכספת שלך בפורמט לא מוצפן. מומלץ להעביר את הקובץ רק בדרכים מוצפנות, ומאוד לא מומלץ לשמור או לשלוח את הקובץ הזה בדרכים לא מוצפנות (כדוגמת סתם אימייל). מחק את הקובץ מיד לאחר שסיימת את השימוש בו." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "הזן את הסיסמה הראשית שלך עבור יצוא המידע מהכספת." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "ייבא נתונים" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "נתונים יובאו בהצלחה אל תוך הכספת שלך." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "המידע לא מפורמט בצורה נכונה. אנא בדוק את הקובץ ונסה שוב." }, @@ -1364,7 +1382,7 @@ "message": "נמצאו פרטי כניסות שלא פעילה בהן אופציית 2FA" }, "inactive2faFoundDesc": { - "message": "מצאנו $COUNT$ אתר(ים) בכספת שלך שלא מוגדרים לעבוד עם אימות דו-שלבי (לפי 2fa.directory). בכדי להגן על החשבונות הללו, עליך להפעיל את האימות הדו-שלבי עבורם.", + "message": "מצאנו $COUNT$ אתר(ים) בכספת שלך שלא מוגדרים לעבוד עם אימות דו-שלבי (לפי twofactorauth.org). בכדי להגן על החשבונות הללו, עליך להפעיל את האימות הדו-שלבי עבורם.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "אפשרויות כניסה דו שלבית מתקדמות כמו YubiKey, FIDO U2F, וגם Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "היגיינת סיסמאות, מצב בריאות החשבון, ודיווחים מעודכנים על פרצות חדשות בכדי לשמור על הכספת שלך בטוחה." }, @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "אין Sendים להצגה ברשימה.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/hr/messages.json b/locales/hr/messages.json index a89c36e4..17c24a4d 100644 --- a/locales/hr/messages.json +++ b/locales/hr/messages.json @@ -16,10 +16,10 @@ "message": "Ime" }, "uri": { - "message": "URL" + "message": "URI" }, "uriPosition": { - "message": "URL $POSITION$", + "message": "URI $POSITION$", "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", "placeholders": { "position": { @@ -29,7 +29,7 @@ } }, "newUri": { - "message": "Novi URL" + "message": "Novi URI" }, "username": { "message": "Korisničko ime" @@ -38,10 +38,10 @@ "message": "Lozinka" }, "newPassword": { - "message": "New Password" + "message": "Nova lozinka" }, "passphrase": { - "message": "Lozinka" + "message": "Frazna lozinka" }, "notes": { "message": "Bilješke" @@ -50,34 +50,34 @@ "message": "Prilagođena polja" }, "cardholderName": { - "message": "Ime vlasnika kartice" + "message": "Vlasnik kartice" }, "number": { "message": "Broj" }, "brand": { - "message": "Marka" + "message": "Vrsta kartice" }, "expiration": { "message": "Istek" }, "securityCode": { - "message": "Security Code (CVV)" + "message": "Kontrolni broj" }, "identityName": { - "message": "Naziv identiteta" + "message": "Ime identiteta" }, "company": { "message": "Tvrtka" }, "ssn": { - "message": "Social Security Number" + "message": "Broj socijalnog osiguranja" }, "passportNumber": { "message": "Broj putovnice" }, "licenseNumber": { - "message": "Broj licence" + "message": "Broj vozačke dozvole" }, "email": { "message": "E-pošta" @@ -86,76 +86,76 @@ "message": "Telefon" }, "january": { - "message": "Siječanj" + "message": "siječanj" }, "february": { - "message": "Veljača" + "message": "veljača" }, "march": { - "message": "Ožujak" + "message": "ožujak" }, "april": { - "message": "Travanj" + "message": "travanj" }, "may": { - "message": "Svibanj" + "message": "svibanj" }, "june": { - "message": "Lipanj" + "message": "lipanj" }, "july": { - "message": "Srpanj" + "message": "srpanj" }, "august": { - "message": "Kolovoz" + "message": "kolovoz" }, "september": { - "message": "Rujan" + "message": "rujan" }, "october": { - "message": "Listopad" + "message": "listopad" }, "november": { - "message": "Studeni" + "message": "studeni" }, "december": { - "message": "Prosinac" + "message": "prosinac" }, "title": { "message": "Titula" }, "mr": { - "message": "G." + "message": "g." }, "mrs": { - "message": "Gđa" + "message": "gđa." }, "ms": { - "message": "Gđica" + "message": "gđica." }, "dr": { "message": "dr." }, "expirationMonth": { - "message": "Expiration Month" + "message": "Mjesec isteka" }, "expirationYear": { "message": "Godina isteka" }, "authenticatorKeyTotp": { - "message": "Authenticator Key (TOTP)" + "message": "Ključ autentifikatora (TOTP)" }, "folder": { "message": "Mapa" }, "newCustomField": { - "message": "New Custom Field" + "message": "Novo prilagođeno polje" }, "value": { "message": "Vrijednost" }, "dragToSort": { - "message": "Povucite za sortiranje" + "message": "Povuci za sortiranje" }, "cfTypeText": { "message": "Tekst" @@ -186,14 +186,14 @@ "message": "Primarna domena" }, "host": { - "message": "Domaćin", + "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": "Točno" }, "startsWith": { - "message": "Počinje sa" + "message": "Počinje s" }, "regEx": { "message": "Regularni izraz", @@ -211,20 +211,20 @@ "message": "Nikad" }, "toggleVisibility": { - "message": "Promijeni vidljivost" + "message": "Prikaži/Sakrij" }, "toggleCollapse": { - "message": "Toggle Collapse", + "message": "Sažmi/Proširi", "description": "Toggling an expand/collapse state." }, "generatePassword": { - "message": "Generate Password" + "message": "Generiraj lozinku" }, "checkPassword": { - "message": "Provjerite je li lozinka kompromitirana." + "message": "Provjeri je li lozinka bila ukradena." }, "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", + "message": "Ova lozinka je otkrivena $VALUE$ put(a) prilikom krađe podataka. Trebalo bi ju promijeniti.", "placeholders": { "value": { "content": "$1", @@ -233,7 +233,7 @@ } }, "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." + "message": "Lozinka nije pronađena niti u jednoj krađi podataka. Sigurna je za korištenje." }, "save": { "message": "Spremi" @@ -254,19 +254,19 @@ "message": "Favorit" }, "unfavorite": { - "message": "Nije favorit" + "message": "Ukloni iz favorita" }, "edit": { "message": "Uredi" }, "searchCollection": { - "message": "Search Collection" + "message": "Pretraživanje zbirke" }, "searchFolder": { "message": "Pretraživanje mape" }, "searchFavorites": { - "message": "Search Favorites" + "message": "Pretraživanje favorita" }, "searchType": { "message": "Tip pretrage", @@ -288,7 +288,7 @@ "message": "Prijava" }, "typeCard": { - "message": "Kartica" + "message": "Platna kartica" }, "typeIdentity": { "message": "Identitet" @@ -327,7 +327,7 @@ "message": "State / Province" }, "zipPostalCode": { - "message": "Zip / Postal Code" + "message": "Poštanski broj" }, "country": { "message": "Zemlja" @@ -348,7 +348,7 @@ "message": "Uredi stavku" }, "viewItem": { - "message": "View Item" + "message": "Prikaz stavke" }, "ex": { "message": "npr.", @@ -361,7 +361,7 @@ "message": "Podijeli" }, "valueCopied": { - "message": "$VALUE$ kopirana", + "message": " kopirano", "description": "Value has been copied to the clipboard.", "placeholders": { "value": { @@ -387,7 +387,7 @@ "description": "Copy credit card number" }, "copySecurityCode": { - "message": "Copy Security Code", + "message": "Kopiraj kontrolni broj", "description": "Copy credit card security code (CVV)" }, "copyUri": { @@ -407,7 +407,7 @@ "message": "Obriši odabrano" }, "moveSelected": { - "message": "Premjesti označeno" + "message": "Premjesti odabrano" }, "selectAll": { "message": "Odaberi sve" @@ -419,13 +419,13 @@ "message": "Pokreni" }, "newAttachment": { - "message": "Add New Attachment" + "message": "Dodaj novi privitak" }, "deletedAttachment": { "message": "Izbrisani privitak" }, "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" + "message": "Sigurno želiš izbrisati ovaj privitak?" }, "attachmentSaved": { "message": "Privitak je spremljen." @@ -437,13 +437,13 @@ "message": "Odaberi datoteku." }, "maxFileSize": { - "message": "Maksimalna veličina datoteke je 100 MB." + "message": "Najveća veličina datoteke je 100 MB." }, "updateKey": { - "message": "You cannot use this feature until you update your encryption key." + "message": "Ne možeš koristiti ovu značajku prije nego ažuriraš ključ za šifriranje." }, "addedItem": { - "message": "Dodaj stavku" + "message": "Stavka dodana" }, "editedItem": { "message": "Uređena stavka" @@ -461,43 +461,43 @@ "message": "Izbriši mapu" }, "deleteAttachment": { - "message": "Delete Attachment" + "message": "Izbriši privitak" }, "deleteItemConfirmation": { - "message": "Do you really want to send to the trash?" + "message": "Želiš li zaista poslati u smeće?" }, "deletedItem": { - "message": "Izbrisana stavka" + "message": "Stavka poslana u smeće" }, "deletedItems": { - "message": "Izbrisane stavke" + "message": "Stavke poslane u smeće" }, "movedItems": { "message": "Premještene stavke" }, "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" + "message": "Sigurno želiš prebrisati trenutnu lozinku?" }, "editedFolder": { "message": "Uređena mapa" }, "addedFolder": { - "message": "Dodana je mapa" + "message": "Mapa dodana" }, "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" + "message": "Sigurno želiš izbrisati ovu mapu?" }, "deletedFolder": { - "message": "Izbrisana mapa" + "message": "Mapa izbrisana" }, "loggedOut": { - "message": "Odjavljen" + "message": "Odjavljen/a" }, "loginExpired": { - "message": "Vaša sesija je istekla." + "message": "Sesija je istekla." }, "logOutConfirmation": { - "message": "Jeste li sigurni da se želite odjaviti?" + "message": "Sigurno se želiš odjaviti?" }, "logOut": { "message": "Odjavi se" @@ -512,7 +512,7 @@ "message": "Ne" }, "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." + "message": "Prijavi se ili stvori novi račun za pristup svojem sigurnom trezoru." }, "createAccount": { "message": "Stvori račun" @@ -524,31 +524,31 @@ "message": "Pošalji" }, "emailAddressDesc": { - "message": "You'll use your email address to log in." + "message": "Upotrijebi svoju adresu e-pošte za prijavu." }, "yourName": { - "message": "Vaše ime" + "message": "Tvoje ime" }, "yourNameDesc": { - "message": "Kako da vas zovemo?" + "message": "Kako da te zovemo?" }, "masterPass": { "message": "Glavna lozinka" }, "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": "Glavnu lozinku koristiš za pristup svom trezoru. Vrlo je važno da ne zaboraviš glavnu lozinku. Ne postoji način za oporavak lozinke u slučaju da ju zaboraviš." }, "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." + "message": "Podsjetnik glavne lozinke ti može pomoći da se prisjetiš svoje lozinke ako ju zaboraviš." }, "reTypeMasterPass": { - "message": "Re-type Master Password" + "message": "Ponovno upiši glavnu lozinku" }, "masterPassHint": { - "message": "Master Password Hint (optional)" + "message": "Podsjetnik glavne lozinke (neobavezno)" }, "masterPassHintLabel": { - "message": "Master Password Hint" + "message": "Podsjetnik glavne lozinke" }, "settings": { "message": "Postavke" @@ -557,31 +557,31 @@ "message": "Podsjetnik za lozinku" }, "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." + "message": "Unesi adresu e-pošte svog računa za primitak podsjetnika glavne lozinke." }, "getMasterPasswordHint": { - "message": "Dobijte podsjetnik za glavnu lozinku" + "message": "Slanje podsjetnika glavne lozinke" }, "emailRequired": { "message": "Adresa e-pošte je obavezna." }, "invalidEmail": { - "message": "Nevažeća adresa e-pošte." + "message": "Neispravna adresa e-pošte." }, "masterPassRequired": { "message": "Potrebna je glavna lozinka." }, "masterPassLength": { - "message": "Master password must be at least 8 characters long." + "message": "Glavna lozinka mora imati najmanje 8 znakova." }, "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." + "message": "Potvrda glavne lozinke se ne podudara." }, "newAccountCreated": { - "message": "Your new account has been created! You may now log in." + "message": "Tvoj novi račun je kreiran! Sada se možeš prijaviti." }, "masterPassSent": { - "message": "We've sent you an email with your master password hint." + "message": "Poslali smo e-poštu s podsjetnikom glavne lozinke." }, "unexpectedError": { "message": "Došlo je do neočekivane pogreške." @@ -590,13 +590,13 @@ "message": "Adresa e-pošte" }, "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." + "message": "Tvoj trezor je zaključan. Potvrdi glavnu lozinku za nastavak." }, "unlock": { "message": "Otključaj" }, "loggedInAsEmailOn": { - "message": "Logged in as $EMAIL$ on $HOSTNAME$.", + "message": "Prijavljen kao $EMAIL$ na $HOSTNAME$.", "placeholders": { "email": { "content": "$1", @@ -609,7 +609,7 @@ } }, "invalidMasterPassword": { - "message": "Nevažeća glavna lozinka" + "message": "Neispravna glavna lozinka" }, "lockNow": { "message": "Zaključaj sada" @@ -618,7 +618,7 @@ "message": "Nema stavki za prikaz." }, "noCollectionsInList": { - "message": "Nema kolekcija za prikaz." + "message": "Nema zbirki za prikaz." }, "noGroupsInList": { "message": "Nema grupa za prikaz." @@ -630,10 +630,10 @@ "message": "Nema događaja za prikaz." }, "newOrganization": { - "message": "New Organization" + "message": "Nova organizacija" }, "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." + "message": "Ne pripadaš niti jednoj organizaciji. Organizacije omogućuju sigurno dijeljenje stavki s drugim korisnicima." }, "versionNumber": { "message": "Verzija $VERSION_NUMBER$", @@ -645,10 +645,10 @@ } }, "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." + "message": "Unesi 6-znamenkasti kontrolni kôd iz autentifikatorske aplikacije." }, "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", + "message": "Unesi 6-znamenkasti kontrolni kôd poslan e-poštom na $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -669,67 +669,67 @@ "message": "Zapamti me" }, "sendVerificationCodeEmailAgain": { - "message": "Ponovno pošaljite kontrolni kod na adresu e-pošte" + "message": "Ponovno slanje kontrolnog koda e-poštom" }, "useAnotherTwoStepMethod": { "message": "Koristiti drugi način prijave u dva koraka" }, "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." + "message": "Umetni svoj YubiKey u USB priključak računala, a zatim dodirni njegovu tipku." }, "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." + "message": "Umetni svoj sigurnosni ključ u USB priključak računala. Ako ima tipku, dodirni ju." }, "loginUnavailable": { - "message": "Login Unavailable" + "message": "Prijava nije dostupna" }, "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." + "message": "Ovaj račun ima omogućenu prijavu u dva koraka, međutim ovaj web preglednik ne podržava niti jednog konfiguriranog pružatelja prijave u dva koraka." }, "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": "Koristi podržani web-preglednik (npr. Chrome) i/ili dodaj dodatne usluge koje su bolje podržane u web preglednicima (npr. aplikacija Autentifikator)." }, "twoStepOptions": { - "message": "Two-step Login Options" + "message": "Mogućnosti prijave u dva koraka" }, "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": "Izgubljen je pristup uređaju za dvostruku autentifikaciju? Koristi svoj kôd za oporavak za onemogućavanje svih pružatelja usluga dvostruke autentifikacije na tvojem računu." }, "recoveryCodeTitle": { "message": "Kôd za oporavak" }, "authenticatorAppTitle": { - "message": "Authenticator App" + "message": "Autentifikatorska aplikacija" }, "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", + "message": "Koristi autentifikatorsku aplikaciju (npr. Authy ili Google Authentifikator) za generiranje kontrolnih kodova.", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" + "message": "YubiKey OTP sigurnosni ključ" }, "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." + "message": "Koristi YubiKey za pristup svojem računu. Radi s YubiKey 4, 4 Nano, 4C i NEO uređajima." }, "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "Potvrdi s Duo Security pomoću aplikacije Duo Mobile, SMS-om, telefonskim pozivom ili U2F sigurnosnim ključem.", "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": "Potvrdi s Duo Security za svoju organizaciju pomoću aplikacije Duo Mobile, SMS-om, telefonskim pozivom ili U2F sigurnosnim ključem.", "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": "Koristi bilo koji FIDO U2F omogućen sigurnosni ključ za pristup svojem računu." }, "u2fTitle": { - "message": "FIDO U2F Security Key" + "message": "FIDO U2F sigurnosni ključ" }, "emailTitle": { "message": "E-pošta" }, "emailDesc": { - "message": "Verification codes will be emailed to you." + "message": "Verifikacijski kodovi će biti poslani e-poštom." }, "continue": { "message": "Nastavi" @@ -741,16 +741,16 @@ "message": "Organizacije" }, "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": "Odaberi organizaciju s kojom želiš podijeliti ovu stavku. Dijeljenje prenosi vlasništvo stavke na organizaciju. Nakon dijeljenja više nećeš biti izravni vlasnik ove stavke." }, "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": "Odaberi organizaciju s kojom želiš podijeliti ove stavke. Dijeljenje prenosi vlasništvo stavki na organizaciju. Nakon dijeljenja više nećeš biti izravni vlasnik ovih stavki." }, "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": "Uredi zbirke s kojima se ova stavka koristi. Samo korisnici organizacije s pristupom ovim zbirkama će ih moći vidjeti." }, "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", + "message": "Odabrano je $COUNT$ stavke/i za brisanje. Sigurno želiš obrisati sve ove stavke?", "placeholders": { "count": { "content": "$1", @@ -759,7 +759,7 @@ } }, "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", + "message": "Odaberi mapu u koju želiš premjestiti odabranih $COUNT$ stavke/i.", "placeholders": { "count": { "content": "$1", @@ -768,7 +768,7 @@ } }, "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", + "message": "Odabrano je $COUNT$ stavke/i. $SHAREABLE_COUNT$ se može dijeliti, $NONSHAREABLE_COUNT$ se ne može dijeliti.", "placeholders": { "count": { "content": "$1", @@ -785,72 +785,75 @@ } }, "verificationCodeTotp": { - "message": "Verification Code (TOTP)" + "message": "Kôd za provjeru (TOTP)" }, "copyVerificationCode": { - "message": "Copy Verification Code" + "message": "Kopiraj kôd za provjeru" }, "warning": { "message": "Upozorenje" }, "confirmVaultExport": { - "message": "Confirm Vault Export" + "message": "Potvrdi izvoz trezora" }, "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." + "message": "Ovaj izvoz sadrži podatke trezora u nešifriranom obliku! Izvezenu datoteku se ne bi smjelo pohranjivati ili slati putem nesigurnih kanala (npr. e-poštom). Izbriši ju odmah nakon završetka korištenja." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { - "message": "Enter your master password to export your vault data." + "message": "Unesi glavnu lozinku za izvoz podataka iz trezora." }, "exportVault": { - "message": "Izvoz trezora" + "message": "Izvezi trezor" }, "fileFormat": { "message": "Format datoteke" }, "exportSuccess": { - "message": "Vaši podaci iz trezora su izvezeni." + "message": "Tvoji podaci iz trezora su izvezeni." }, "passwordGenerator": { - "message": "Password Generator" + "message": "Generator lozinki" }, "minComplexityScore": { - "message": "Minimum Complexity Score" + "message": "Minimalna ocjena složenosti" }, "minNumbers": { "message": "Najmanje brojeva" }, "minSpecial": { - "message": "Najmanje specijalnih znakova", + "message": "Najmanje specijalnih", "description": "Minimum Special Characters" }, "ambiguous": { - "message": "Avoid Ambiguous Characters" + "message": "Izbjegavaj dvosmislene znakove" }, "regeneratePassword": { - "message": "Regenerate Password" + "message": "Ponovno generiraj lozinku" }, "length": { - "message": "Dužina" + "message": "Duljina" }, "numWords": { - "message": "Number of Words" + "message": "Broj riječi" }, "wordSeparator": { "message": "Razdjelitelj riječi" }, "capitalize": { - "message": "Pretvori u velika početna slova", + "message": "Prva slova velika", "description": "Make the first letter of a work uppercase." }, "includeNumber": { "message": "Uključi broj" }, "passwordHistory": { - "message": "Password History" + "message": "Povijest" }, "noPasswordsInList": { "message": "Nema lozinki na popisu." @@ -863,16 +866,16 @@ "message": "Račun je ažuriran" }, "changeEmail": { - "message": "Promijeni adresu e-pošte" + "message": "Promijeni e-poštu" }, "newEmail": { "message": "Nova adresa e-pošte" }, "code": { - "message": "Kod" + "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 the email address change.", + "message": "Verifikacijski kôd je poslan na $EMAIL$. Provjeri poštu i unesi primljeni verifikacijski kôd za završetak promjene adrese e-pošte.", "placeholders": { "email": { "content": "$1", @@ -881,43 +884,43 @@ } }, "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": "Ako nastaviš, biti će zatvorena trenutna sesija, što će zahtijevati ponovnu prijavu uklljučujući i dvostruku autentifikaciju, ako je aktivna. Aktivne sesije na drugim uređajima ostati će aktivne još jedan sat." }, "emailChanged": { "message": "Adresa e-pošte je promijenjena" }, "logBackIn": { - "message": "Molimo prijavite se ponovno." + "message": "Molimo, ponovno se prijavi." }, "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." + "message": "Molimo, ponovno se prijavi. Ako koristiš druge aplikacije Bitwarden i u njima napravi odjavu/prijavu." }, "changeMasterPassword": { - "message": "Change Master Password" + "message": "Promjeni glavnu lozinku" }, "masterPasswordChanged": { - "message": "Master Password Changed" + "message": "Glavna lozinka promijenjena" }, "currentMasterPass": { - "message": "Current Master Password" + "message": "Trenutna glavna lozinka" }, "newMasterPass": { - "message": "New Master Password" + "message": "Nova glavna lozinka" }, "confirmNewMasterPass": { - "message": "Confirm New Master Password" + "message": "Potvrdi novu glavnu lozinku" }, "encKeySettings": { - "message": "Encryption Key Settings" + "message": "Postavke ključa za šifriranje" }, "kdfAlgorithm": { "message": "KDF algoritam" }, "kdfIterations": { - "message": "KDF iteracije" + "message": "KDF iteracija" }, "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", + "message": "Veće KDF iteracije mogu pomoći zaštititi tvoju glavnu lozinku kako ju napadač ne bi pogodio. Predlažemo vrijednost od $VALUE$ ili više.", "placeholders": { "value": { "content": "$1", @@ -926,7 +929,7 @@ } }, "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", + "message": "Postavljanje previsoke KDF iteracije može rezultirati slabijom izvedbom prilikom otključavanja Bitwardena na uređajima sa sporijim CPU-om. Predlažemo da vrijednost povećavaš za $INCREMENT$ i isprobaš na svim svojim uređajima.", "placeholders": { "increment": { "content": "$1", @@ -938,58 +941,58 @@ "message": "Promijeni KDF" }, "encKeySettingsChanged": { - "message": "Encryption Key Settings Changed" + "message": "Postavke ključa za šifriranje promijenjene" }, "dangerZone": { "message": "Opasna zona" }, "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" + "message": "Pažljivo, ove akcije su konačne i ne mogu se poništiti!" }, "deauthorizeSessions": { - "message": "Deauthorize Sessions" + "message": "Deautoriziraj sesije" }, "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": "Sumnjaš da je na tvoj račun prijavljeno s nekog drugog uređaja? Deautoriziranje sesija koje su prethodno korištene je sigurnosni korak koji se savjetuje ako je prethodno korišteno neko javno računalo ili je lozinka slučajno spremljena na tuđe računalo. Ovaj će koriak, također, očistiti sve prehodno zapamćene prijave u dva koraka." }, "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": "Ako nastaviš, biti će zatvorena trenutna sesija, što će zahtijevati ponovnu prijavu uklljučujući i prijavu u dva koraka, ako je aktivna. Aktivne sesije na drugim uređajima mogu ostati aktivne još jedan sat." }, "sessionsDeauthorized": { - "message": "All Sessions Deauthorized" + "message": "Sve sesije deautorizirane" }, "purgeVault": { - "message": "Očisti trezor" + "message": "Pročisti trezor" }, "purgedOrganizationVault": { - "message": "Purged organization vault." + "message": "Pročišćen organizacijski 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": "Nastavi za brisanje SVIH stavki i mapa u tvom trezoru. Stavke koje pripadaju organizaciji s kojom dijeliš neće biti izbrisane." }, "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organization's vault." + "message": "Nastavi za brisanje SVIH stavki u organizacijskom trezoru." }, "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." + "message": "Pročišćénje tvog trezora je TRAJNO i NEPOVRATNO i naknadno ga nije moguće vratiti." }, "vaultPurged": { - "message": "Vaš trezor je očišćen." + "message": "Vaš trezor je pročišćen." }, "deleteAccount": { "message": "Obriši račun" }, "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." + "message": "Nastavite za brisanje tvog računa i SVIH povezanih podataka." }, "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." + "message": "Brisanje tvog računa je TRAJNO i NEPOVRATNO i naknadno ga nije moguće vratiti." }, "accountDeleted": { - "message": "Račun je izbrisan" + "message": "Račun izbrisan" }, "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." + "message": "Tvoj račun je zatvoren i svi povezani podaci su obrisani." }, "myAccount": { "message": "Moj račun" @@ -1000,26 +1003,41 @@ "importData": { "message": "Uvezi podatke" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { - "message": "Data has been successfully imported into your vault." + "message": "Uvoz podataka u trezor je uspjelo." + }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } }, "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." + "message": "Podaci nisu ispravno formatirani. Provjeri uvoznu datoteku i pokušaj ponovno." }, "importNothingError": { "message": "Ništa nije uvezeno." }, "selectFormat": { - "message": "Odaberite format datoteke za uvoz" + "message": "Odaberi format datoteke za uvoz" }, "selectImportFile": { - "message": "Odaberite datoteke za uvoz" + "message": "Odaberi datoteku za uvoz" }, "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" + "message": "ili kopiraj/zalijepi sadržaj uvozne datoteke" }, "instructionsFor": { - "message": "$NAME$ Instructions", + "message": "$NAME$ upute", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -1029,25 +1047,25 @@ } }, "options": { - "message": "Opcije" + "message": "Mogućnosti" }, "optionsDesc": { - "message": "Customize your web vault experience." + "message": "Prilagodi svoje iskustvo trezora." }, "optionsUpdated": { - "message": "Opcije su ažurirane" + "message": "Mogućnosti su ažurirane" }, "language": { "message": "Jezik" }, "languageDesc": { - "message": "Change the language used by the web vault." + "message": "Promijeni jezik web trezora." }, "disableIcons": { - "message": "Disable Website Icons" + "message": "Onemogući ikone web mjesta" }, "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." + "message": "Ikone web mjesta nude prepoznatljivu ikonu pokraj svake stavke za prijavu u vašem trezoru." }, "enableGravatars": { "message": "Omogući Gravatar", @@ -1057,11 +1075,11 @@ "message": "Koristi slike učitane s gravatar.com." }, "enableFullWidth": { - "message": "Enable Full Width Layout", + "message": "Uključi raspored s punom širinom", "description": "Allows scaling the web vault UI's width" }, "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." + "message": "Dozvoli web trezoru da koristi cijelu širinu prozora preglednika." }, "default": { "message": "Zadano" @@ -1070,31 +1088,31 @@ "message": "Pravila domene" }, "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": "Ako imaš iste pristupne podatke na više web domena, možeš web mjesto označiti kao „ekvivalentno”. Globalne domene su one koje je za tebe već stvorio Bitwarden." }, "globalEqDomains": { - "message": "Global Equivalent Domains" + "message": "Globalne ekvivalentne domene" }, "customEqDomains": { - "message": "Custom Equivalent Domains" + "message": "Prilagođene ekvivalentne domene" }, "exclude": { - "message": "Izdvoji" + "message": "Izuzmi" }, "include": { - "message": "Uključi" + "message": "Obuhvati" }, "customize": { "message": "Prilagodi" }, "newCustomDomain": { - "message": "New Custom Domain" + "message": "Nova prilagođena domena" }, "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": "Unesi listu domena odvojenu zarezima. Dozvoljene su samo osnovne domene. Ne unosi poddomene. Npr. unesi „google.com” umjesto „www.google.com”. Možeš, također, unijeti „androidapp://package.name” za asociranje android aplikacoje s drugim web domenama." }, "customDomainX": { - "message": "Custom Domain $INDEX$", + "message": "Prilagođena domena $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1103,22 +1121,22 @@ } }, "domainsUpdated": { - "message": "Domene su ažurirane" + "message": "Domene ažurirane" }, "twoStepLogin": { "message": "Prijava u dva koraka" }, "twoStepLoginDesc": { - "message": "Osigurajte svoj račun dodavanjem dodatnog koraka pri prijavi." + "message": "Osiguraj svoj račun dodavanjem dodatnog koraka prilikom prijave." }, "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." + "message": "Zahtjevaj prijavu u dva koraka za svoje korisnike u organiziaciji konfigurirajući pružatelje usluga na razini organizacije." }, "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": "Uklkjučivanje prijave u dva koraka ti može trajno onemogućiti pristup tvojem Bitwarden računu. Kôd za oporavak ti omogućuje pristup računu u slučaju da više ne možeš koristiti redovnog pružatelja prijave u dva koraka (npr. izgubiš svoj uređaj). Bitwarden podrška ti neće moći pomoći ako izgubiš pristup svojem računu. Savjetujemo da zapišeš ili ispišeš kôd za oporavak i spremiš ga na sigurno mjesto." }, "viewRecoveryCode": { - "message": "View Recovery Code" + "message": "Kôd za oporavak" }, "providers": { "message": "Pružatelji", @@ -1135,40 +1153,40 @@ "description": "Premium Membership" }, "premiumMembership": { - "message": "Premium Membership" + "message": "Premium članstvo" }, "premiumRequired": { - "message": "Premium Required" + "message": "Potrebno je premium članstvo" }, "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." + "message": "Za korištenje ove značajke potrebno je premium članstvo." }, "youHavePremiumAccess": { - "message": "Imate premium pristup" + "message": "Imaš premium pristup" }, "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." + "message": "Već imaš pristup premium značajkama zbog organizacije čiji si član." }, "manage": { - "message": "Upravljanje" + "message": "Upravljaj" }, "disable": { "message": "Onemogući" }, "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." + "message": "Ovaj pružatelj prijave u dva koraka je omogućen na tvojem računu." }, "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." + "message": "Unesi svoju glavnu lozinku za promjenu postavki prijave u dva koraka." }, "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" + "message": "Za aktivaciju prijave u dva koraka autentifikatorskom aplikacijom slijedi ove korake:" }, "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" + "message": "Preuzmi autentifikatorsku aplikaciju" }, "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" + "message": "Trebaš aplikaciju za dvostruku autentifikaciju? Preuzmi jednu od ovih" }, "iosDevices": { "message": "iOS uređaji" @@ -1180,49 +1198,49 @@ "message": "Windows uređaji" }, "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." + "message": "Ove su aplikacije preporučene, no također je moguće koristiti i druge autentifikatorske aplikacije." }, "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" + "message": "Skeniraj ovaj QR kôd svojom autentifikatorskom aplikacijom" }, "key": { "message": "Ključ" }, "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" + "message": "Unesi 6-znamenkasti kontrolni kôd iz autentifikatorske aplikacije" }, "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": "Ako trebaš dodati novi uređaj, dolje se nalazi QR kôd (ili ključ) kojeg zahtijeva tvoja autentifikatorska aplikacija." }, "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" + "message": "Sigurno želiš onemogućiti ovog pružatelja prijave u dva koraka?" }, "twoStepDisabled": { "message": "Pružatelj usluge prijave u dva koraka je onemogućen." }, "twoFactorYubikeyAdd": { - "message": "Dodajte novi YubiKey u vaš račun" + "message": "Dodaj novi YubiKey u vaš račun" }, "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." + "message": "Umetni YubiKey u USB priključak računala." }, "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." + "message": "Odaberi prvo prazno YubiKey polje za unos." }, "twoFactorYubikeyTouchButton": { - "message": "Dodirnite gumb na YubiKeyu." + "message": "Dodirni tipku na YubiKey-u." }, "twoFactorYubikeySaveForm": { "message": "Spremite obrazac." }, "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": "Zbog platformskih ograničenja, YubiKey nije moguće koristiti s Bitwarden aplikacijama na svim platformama. Za pristup računu kada nije moguće koristiti YubiKey, trebalo bi uključiti drugog pružatelja prijave u dva koraka. Platforme na kojima je YubiKey podržan:" }, "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 trezor, desktop aplikacija, CLI i sva proširenja preglednika na uređajima s USB priključkom na koji se može spojiti tvoj YubiKey." }, "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." + "message": "Mobilne aplikacije na uređajima s NFC-om ili podatkovni priključak u koji se može priključiti tvoj YubiKey." }, "yubikeyX": { "message": "YubiKey $INDEX$", @@ -1234,7 +1252,7 @@ } }, "u2fkeyX": { - "message": "U2F Key $INDEX$", + "message": "U2F ključ $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1249,16 +1267,16 @@ "message": "Jedan od mojih ključeva podržava 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": "Ako jedan od tvojih YubiKey-eva podržava NFC (npr. YubiKey NEO), kod detektiranog NFC-a će mobilni uređaj upitati za korištenje YubiKey-a." }, "yubikeysUpdated": { "message": "YubiKey ažuriran" }, "disableAllKeys": { - "message": "Disable All Keys" + "message": "Onemogući sve ključeve" }, "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." + "message": "Unesi podatke o Bitwarden aplikaciji iz svoje Duo Admin ploče." }, "twoFactorDuoIntegrationKey": { "message": "Integracijski ključ" @@ -1270,80 +1288,80 @@ "message": "API Hostname" }, "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" + "message": "Za korištenje prijave u dva koraka e-poštom prati ove korake:" }, "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" + "message": "Unesi e-poštu na koju želiš primati verifikacijske kodove" }, "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" + "message": "Unesi 6-znamenkasti verifikacijski kôd primljen e-poštom" }, "sendEmail": { "message": "Pošalji poruku e-pošte" }, "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" + "message": "Dodaj FIDO U2F sigurnosni ključ svojem računu" }, "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" + "message": "Sigurno želiš ukloniti ovaj sigurnosni ključ?" }, "readKey": { - "message": "Read Key" + "message": "Očitaj ključ" }, "keyCompromised": { - "message": "Ključ je ugrožen." + "message": "Ključ je kompromitiran." }, "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." + "message": "Dodaj sigurnosom ključu neko prepoznatljivo ime." }, "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." + "message": "Priključi sigurnosni ključ u USB priključak svojeg računala i klikni na tipku „Očitaj ključ”." }, "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." + "message": "Ako sigurnosni ključ ima tipku, dodirni ju." }, "twoFactorU2fSaveForm": { - "message": "Spremite obrazac." + "message": "Spremi obrazac." }, "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": "Zbog platformskih ograničenja, FIDO U2F nije moguće koristiti s Bitwarden aplikacijama na svim platformama. Za pristup računu kada nije moguće koristiti FIDO U2F trebalo bi uključiti drugog pružatelja prijave u dva koraka. Platforme na kojima je FIDO U2F podržan:" }, "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": "Web trezor i proširenja preglednika na stolnim/prijenosnim računalima s U2F omogućenim preglednikom (npr. Chrome, Opera, Vivaldi ili Firefox s omogućenim FIDO U2F)." }, "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" + "message": "Sustav čeka da dodirneš tipku na svom sigurnosnom ključu" }, "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." + "message": "Klikni na tipku „Spremi” za omogućavanje ovog sigurnosnog ključa za prijavu u dva koraka." }, "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." + "message": "Došlo je do pogreške kod očitavanja sigurnosnog ključa. Pokušaj ponovno." }, "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" + "message": "Tvoj kôd za oporavak Bitwarden prijave u dva koraka" }, "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": "Još nije omogućen niti jedan pružatelj prijave u dva koraka. Nakon omogućavanja prijave u dva koraka, ovdje ćeš pronaći svoj kôd za oporavak." }, "printCode": { - "message": "Ispis koda", + "message": "Ispis kôda", "description": "Print 2FA recovery code" }, "reports": { "message": "Izvještaji" }, "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" + "message": "Izvještaj neosiguranih web mjesta" }, "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." + "message": "Pristupanje neosiguranim web stranicama (http://) može biti opasno. Ako web mjesto omogućuje, uvijek mu pristupaj koristeći siguran način (https://) kako bi tvoja veza bila šifrirana." }, "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" + "message": "Pronađena neosigurana web mjesta" }, "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", + "message": "Pronašli smo $COUNT$ stavki u tvom trezoru koje koriste neosigurane URI-je (http://). Ako web mjesto omogućuje trebalo bi URI-je promijeniti na https://", "placeholders": { "count": { "content": "$1", @@ -1352,19 +1370,19 @@ } }, "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." + "message": "Niti jedna stavka u tvom trezoru nema neosigurane URI-je." }, "inactive2faReport": { - "message": "Inactive 2FA Report" + "message": "Izvještaj o neaktivnim 2FA" }, "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." + "message": "Dvostruka autentifikacija (2FA) je važna postavka sigurnosti koja ti pomaže osigurati svoj račun. Ako web mjesto nudi, uvijek bi trebalo omogućiti dvostruku autentifikaciju." }, "inactive2faFound": { - "message": "Logins Without 2FA Found" + "message": "Pronađene prijave bez 2FA" }, "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", + "message": "Pronašli smo $COUNT$ web mjesta u tvom trezoru za koje nije omogućena dvostruka autentifikacija (izvor: 2fa.directory). Za bolju zaštitu ovih računa, treba na njima omogućiti dvostruku autentifikaciju.", "placeholders": { "count": { "content": "$1", @@ -1373,22 +1391,22 @@ } }, "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." + "message": "Nije pronađeno niti jedno web mjesto u tvom trezoru za koje nedostaje dvostruka autentifikacija." }, "instructions": { "message": "Upute" }, "exposedPasswordsReport": { - "message": "Exposed Passwords Report" + "message": "Izvještaj o izloženim lozinkama" }, "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." + "message": "Izložene lozinke su su one otkrivene prilikom znanih krađa podataka pri čemu su javno objavljene ili su ih hakeri prodavali na dark webu." }, "exposedPasswordsFound": { - "message": "Exposed Passwords Found" + "message": "Pronađene izložene lozinke" }, "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", + "message": "Pronašli smo $COUNT$ stavki u tvom trezoru koje imaju lozinke koje su otkrivene prilikom znanih curenja podataka. Trebalo bi ih zamijentii novim lozinkama.", "placeholders": { "count": { "content": "$1", @@ -1397,13 +1415,13 @@ } }, "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." + "message": "Niti jedna lozinka u tvom trezoru nije bila izložena prilikom znanih krađa podataka." }, "checkExposedPasswords": { - "message": "Check Exposed Passwords" + "message": "Provjeri izložene lozinke" }, "exposedXTimes": { - "message": "Otkriveno $COUNT$ put(a)", + "message": "Izložene $COUNT$ put(a)", "placeholders": { "count": { "content": "$1", @@ -1412,16 +1430,16 @@ } }, "weakPasswordsReport": { - "message": "Weak Passwords Report" + "message": "Izvještaj o slabim lozinkama" }, "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." + "message": "Slabe lozinke relativno jednostanvo mogu pogoditi hakeri i automatski alati koji se koriste za probijanje lozniki. Bitwardenov generator lozinki ti može pomoći stvoriti jake lozinke." }, "weakPasswordsFound": { - "message": "Weak Passwords Found" + "message": "Pronađene slabe lozinke" }, "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", + "message": "Pronašli smo $COUNT$ stavki u tvom trezoru s lozinkama koje nisu jake. Trebalo bi ih zamijeniti jakim lozinkama.", "placeholders": { "count": { "content": "$1", @@ -1430,19 +1448,19 @@ } }, "noWeakPasswords": { - "message": "No items in your vault have weak passwords." + "message": "Niti jedna stavka u tvom trezoru nema slabu lozinku." }, "reusedPasswordsReport": { - "message": "Reused Passwords Report" + "message": "Izvještaj o istim lozinkama" }, "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." + "message": "Ako je usluga koju koristiš kompromitirana, korištenje iste lozinke negdje drugdje omogućuješ hakerima da jednostavno pristupe tvojim drugim računima. Za svaku bi uslugu trebalo korsititi drugu lozinku." }, "reusedPasswordsFound": { - "message": "Reused Passwords Found" + "message": "Pronađene iste lozinke" }, "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", + "message": "Pronašli smo $COUNT$ istih lozinki u tvom trezoru. Trebalo bi ih zamijeniti jedinstvenim lozinkama.", "placeholders": { "count": { "content": "$1", @@ -1451,10 +1469,10 @@ } }, "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." + "message": "Niti jedna prijava u tvom trezoru ne koristi iste lozinke." }, "reusedXTimes": { - "message": "Ponovno korišteno $COUNT$ puta", + "message": "Korišteno $COUNT$ puta", "placeholders": { "count": { "content": "$1", @@ -1463,19 +1481,19 @@ } }, "dataBreachReport": { - "message": "Data Breach Report" + "message": "Izvještaj o probojima" }, "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": "Proboj je incident u kojem su hakeri ilegalno pristupili podacima nekog web mjesta i javno ih objavili. Treba provjeriti koja vrsta podataka je iscurila (adrese e-pošte, lozinke, kreditne kartice, itd.) i poduzeti odgovarajuće korake, kao npr. promijeniti lozinke." }, "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." + "message": "Provjeri sva korisnička imena ili adrese e-pošte koje koristiš." }, "checkBreaches": { "message": "Provjerite proboje" }, "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", + "message": "$USERNAME$ nije pronađeno u znanim curenjima podataka.", "placeholders": { "username": { "content": "$1", @@ -1488,7 +1506,7 @@ "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", + "message": "$USERNAME$ je pronađeno u $COUNT$ slučajeva različitih curenja podataka.", "placeholders": { "username": { "content": "$1", @@ -1501,7 +1519,7 @@ } }, "breachFound": { - "message": "Breached Accounts Found" + "message": "Pronađeni probijeni računi" }, "compromisedData": { "message": "Kompromitirani podaci" @@ -1519,13 +1537,13 @@ "message": "Proboj je prijavljen" }, "reportError": { - "message": "An error occurred trying to load the report. Try again" + "message": "Došlo je do greške kod pokušaja učitavanja izvještaja. Pokušaj ponovno." }, "billing": { "message": "Naplata" }, "accountCredit": { - "message": "Kredit računa", + "message": "Sredstva računa", "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "accountBalance": { @@ -1533,7 +1551,7 @@ "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "addCredit": { - "message": "Dodaj kredit", + "message": "Dodaj sredstva", "description": "Add more credit to your account's balance." }, "amount": { @@ -1541,44 +1559,47 @@ "description": "Dollar amount, or quantity." }, "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." + "message": "Dodana sredstva biti će vidljiva na tvom računu nakon što se plaćanje u potpunosti obradi. Neki načini plaćanja mogu kasniti i trajati duže od ostalih." }, "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." + "message": "Osiguraj da tvoj račun ima dovoljno raspoloživih sredstava za kupnju. Ako tvoj račun nema dovoljno sredstava za kupnju, sredstva će biti dopunjena iz tvojeg zadanog spremljenog načina plaćanja. Sredstva svojem računu možeš dodati na stranici Naplata." }, "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." + "message": "Sredstva na tvojem računu mogu se koristiti za kupnju. Sva raspoloživa sredstva će automatski biti upotrijebljena za plaćanje kupnji napravljenih na tvojem računu." }, "goPremium": { - "message": "Pređite na Premium", + "message": "Prijeđi na premium", "description": "Another way of saying \"Get a premium membership\"" }, "premiumUpdated": { - "message": "Nadograđeni ste na premium." + "message": "Premium nadogradnja uspješna." }, "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." + "message": "Nadogradi svoj račun na premium članstvo i omogući pristup odličnim dodatnim značajkama." }, "premiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." + "message": "1 GB šifriranog prostora za pohranu podataka." }, "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." + "message": "Dodatne mogućnosti za prijavu u dva koraka kao što su YubiKey, FIDO U2F i Duo." + }, + "premiumSignUpEmergency": { + "message": "Emergency Access" }, "premiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." + "message": "Higijenu lozinki, zdravlje računa i izvještaje o krađi podatak radi zaštite svojeg trezora." }, "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." + "message": "Generator TOTP kontrolnog koda (2FA) za prijave u tvom trezoru." }, "premiumSignUpSupport": { - "message": "Prioritetna korisnička podrška." + "message": "Prioritetnu korisničku podršku." }, "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" + "message": "Sve buduće premium značajke. Uskoro više!" }, "premiumPrice": { - "message": "Sve samo za $PRICE$ /godišnje!", + "message": "Sve za samo $PRICE$ /godišnje!", "placeholders": { "price": { "content": "$1", @@ -1593,7 +1614,7 @@ "message": "Premium pristup" }, "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", + "message": "Možeš dodati premium pristup svim članovima tvoje organizacije za $PRICE$ /$INTERVAL$.", "placeholders": { "price": { "content": "$1", @@ -1606,13 +1627,13 @@ } }, "additionalStorageGb": { - "message": "Additional Storage (GB)" + "message": "Dodatni prostor za pohranu (GB)" }, "additionalStorageGbDesc": { - "message": "broj dodatnih GB" + "message": "dodatnih GB" }, "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", + "message": "Tvoj paket uključuje $SIZE$ šifriranog prostora za pohranu. Možeš dokupiti dodatni prostor za $PRICE$ po GB/$INTERVAL$", "placeholders": { "size": { "content": "$1", @@ -1635,20 +1656,20 @@ "message": "Ukupno" }, "year": { - "message": "godina" + "message": "godišnje" }, "month": { - "message": "mjesec" + "message": "mjesečno" }, "monthAbbr": { - "message": "mjesec", + "message": "mj.", "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." + "message": "Tvoj način plaćanja biti će terećen sada i onda ponovno svake godine. Možeš otkazati u bilo kojem trenutku." }, "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", + "message": "Tvoj način plaćanja biti će terećen sada i onda ponovno jednom $INTERVAL$. Možeš otkazati u bilo kojem trenutku.", "placeholders": { "interval": { "content": "$1", @@ -1657,7 +1678,7 @@ } }, "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.", + "message": "Tvoj način plaćanja biti će terećen nakon isteka besplatnog probnog perioda od 7 dana i onda ponovno jednom $INTERVAL$. Možeš otkazati u bilo kojem trenutku.", "placeholders": { "interval": { "content": "$1", @@ -1666,43 +1687,43 @@ } }, "paymentInformation": { - "message": "Payment Information" + "message": "Podaci o plaćanju" }, "billingInformation": { - "message": "Billing Information" + "message": "Podaci za dostavu računa" }, "creditCard": { "message": "Kreditna kartica" }, "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." + "message": "Klikni PayPay za prijavu na svoj PayPal račun, a zatim „Nastavi” za plaćanje." }, "cancelSubscription": { - "message": "Cancel Subscription" + "message": "Otkaži pretplatu" }, "subscriptionCanceled": { - "message": "The subscription has been canceled." + "message": "Pretplata otkazana." }, "pendingCancellation": { - "message": "Pending Cancellation" + "message": "Otkaz u tijeku" }, "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." + "message": "Pretplata traje do isteka roka naplate i neće biti ponovno naplaćena." }, "reinstateSubscription": { - "message": "Reinstate Subscription" + "message": "Vrati pretplatu" }, "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" + "message": "Sigurno želiš poništiti zahtjev za otkaz pretplate i vratiti svoju pretplatu?" }, "reinstated": { - "message": "The subscription has been reinstated." + "message": "Pretplata je vraćena" }, "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": "Sigurno želiš otkazati? Izgubiti ćeš pristup svim ovim pretplatnim značajkama kad istekne rok naplate." }, "canceledSubscription": { - "message": "The subscription has been canceled." + "message": "Pretplata otkazana." }, "neverExpires": { "message": "Nikada ne istječe" @@ -1711,34 +1732,34 @@ "message": "Status" }, "nextCharge": { - "message": "Iduća naplata" + "message": "Sljedeća naplata" }, "details": { "message": "Detalji" }, "downloadLicense": { - "message": "Download License" + "message": "Preuzmi licencu" }, "updateLicense": { "message": "Ažuriraj licencu" }, "updatedLicense": { - "message": "Updated license" + "message": "Licenca ažurirana" }, "manageSubscription": { - "message": "Manage Subscription" + "message": "Upravljaj pretplatom" }, "storage": { "message": "Prostor za pohranu" }, "addStorage": { - "message": "Dodaj prostora za pohranu" + "message": "Dodaj prostor za pohranu" }, "removeStorage": { "message": "Ukloni prostor za pohranu" }, "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", + "message": "Tvoja pretplata uključuje $MAX_STORAGE$ GB šifriranog prostora za pohranu od čega trenutno koristiš $USED_STORAGE$.", "placeholders": { "max_storage": { "content": "$1", @@ -1757,16 +1778,16 @@ "message": "Nema spremljenih načina plaćanja." }, "addPaymentMethod": { - "message": "Add Payment Method" + "message": "Dodaj način plaćanja" }, "changePaymentMethod": { - "message": "Change Payment Method" + "message": "Promijeni način plaćanja" }, "invoices": { "message": "Fakture" }, "noInvoices": { - "message": "Nema računa." + "message": "Nema faktura." }, "paid": { "message": "Plaćeno", @@ -1784,15 +1805,15 @@ "message": "Nema transakcija." }, "chargeNoun": { - "message": "Naplata", + "message": "Terećenje", "description": "Noun. A charge from a payment method." }, "refundNoun": { - "message": "Povrat novca", + "message": "Povrat", "description": "Noun. A refunded payment that was charged." }, "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", + "message": "Stavke će na izvodu kartice biti navedene kao $STATEMENT_NAME$.", "placeholders": { "statement_name": { "content": "$1", @@ -1801,16 +1822,16 @@ } }, "gbStorageAdd": { - "message": "GB of Storage To Add" + "message": "GB pohrane za dodati" }, "gbStorageRemove": { - "message": "GB of Storage To Remove" + "message": "GB pokrane za ukloniti" }, "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": "Dodavanje pohrane rezultirati će povećanjem ukupnog zaduženja i trenutnim terećenjem spremljenog sredstva plaćanja. Iznos će biti umanjen proporcionalno ostatku tekućeg obračunskog razdoblja." }, "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + "message": "Uklanjanje pohrane rezultirati će smanjenjem ukupnog zaduženja. Iznos će biti umanjen proporcionalno ostatku tekućeg razdoblja i iskorišten kao umanjenje kod sljedeće naplate." }, "adjustedStorage": { "message": "Prilagođeno $AMOUNT$ GB prostora za pohranu.", @@ -1822,19 +1843,19 @@ } }, "contactSupport": { - "message": "Kontaktirajte službu za korisnike" + "message": "Kontaktiraj službu za korisnike" }, "updatedPaymentMethod": { - "message": "Ažuriran način plaćanja." + "message": "Ažurirani način plaćanja." }, "purchasePremium": { - "message": "Purchase Premium" + "message": "Kupi Premium članstvo" }, "licenseFile": { - "message": "Datoteka licence" + "message": "Licencna datoteka" }, "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", + "message": "Tvoja licencna datoteka zvati će se nekako ovako $FILE_NAME$", "placeholders": { "file_name": { "content": "$1", @@ -1843,25 +1864,25 @@ } }, "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." + "message": "Za nadogradnju svojeg računa na premium članstvo, trebaš prenijeti valjanu licencnu datoteku." }, "uploadLicenseFileOrg": { - "message": "To create an on-premise hosted organization you need to upload a valid license file." + "message": "Za stvaranje svoje vlastite lokalno smještene organizacije, potrrebno je prenijeti valjanu licencnu datoteku." }, "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." + "message": "Adresa e-pošte tvog računa mora biti verificirana." }, "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": "Organizacije omogućuju dijeljenje dijelova svog trezora s drugima, kao i upravljanje povezanim korisnicima za određeni entitent kap. npr. obitelj, mali tim ili velika tvrtka." }, "generalInformation": { - "message": "General Information" + "message": "Opće informacije" }, "organizationName": { - "message": "Organization Name" + "message": "Naziv organizacije" }, "accountOwnedBusiness": { - "message": "This account is owned by a business." + "message": "Ovaj je račun vlasništvo tvrtke." }, "billingEmail": { "message": "Adresa e-pošte za naplatu" @@ -1870,22 +1891,22 @@ "message": "Naziv tvrtke" }, "chooseYourPlan": { - "message": "Choose Your Plan" + "message": "Odaberi svoju paket" }, "users": { "message": "Korisnici" }, "userSeats": { - "message": "Korisnička sjedala" + "message": "Korisničke licence" }, "additionalUserSeats": { - "message": "Additional User Seats" + "message": "Dodatna korisnička licenca" }, "userSeatsDesc": { - "message": "broj korisničkih sjedala" + "message": "Broj korisničkih licenci" }, "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", + "message": "Tvoj paket uključuje $BASE_SEATS$ korisničkih licenci. Možeš dokupiti dodatne korisničke licence za $SEAT_PRICE$ po korisniku mjesečno.", "placeholders": { "base_seats": { "content": "$1", @@ -1898,14 +1919,14 @@ } }, "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." + "message": "Koliko trebaš korisničkih licenci? Kasnije možeš dodati još, ako je potrebno." }, "planNameFree": { "message": "Besplatno", "description": "Free as in 'free beer'." }, "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", + "message": "Za testiranje ili privatne korisnike za dijeljenje s $COUNT$ drugih korisnika.", "placeholders": { "count": { "content": "$1", @@ -1917,19 +1938,19 @@ "message": "Obitelji" }, "planDescFamilies": { - "message": "For personal use, to share with family & friends." + "message": "Za privatnu upotrebu, za dijeljenje s obitelji i prijateljima." }, "planNameTeams": { "message": "Timovi" }, "planDescTeams": { - "message": "For businesses and other team organizations." + "message": "Za male tvtke ili druge manje organizacije." }, "planNameEnterprise": { - "message": "Enterprise" + "message": "Tvrtke" }, "planDescEnterprise": { - "message": "For businesses and other large organizations." + "message": "Za srednje i velike tvrtke ili druge velike organizacije." }, "freeForever": { "message": "Besplatno zauvijek" @@ -1944,7 +1965,7 @@ } }, "additionalUsers": { - "message": "Additional Users" + "message": "Dodatni korisnici" }, "costPerUser": { "message": "$COST$ po korisniku", @@ -1956,7 +1977,7 @@ } }, "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", + "message": "Ograničeno na $COUNT$ korisnika (uključujći tebe)", "placeholders": { "count": { "content": "$1", @@ -1974,7 +1995,7 @@ } }, "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", + "message": "Dodaj i dijeli sa do $COUNT$ korisnika", "placeholders": { "count": { "content": "$1", @@ -1983,10 +2004,10 @@ } }, "addShareUnlimitedUsers": { - "message": "Dodajte i dijelite s neograničenim brojem korisnika" + "message": "Dodaj i dijeli s neograničenim brojem korisnika" }, "createUnlimitedCollections": { - "message": "Stvorite neograničen broj zbirki" + "message": "Neograničen broj zbirki" }, "gbEncryptedFileStorage": { "message": "$SIZE$ šifriranog prostora za pohranu podataka", @@ -1998,28 +2019,28 @@ } }, "onPremHostingOptional": { - "message": "Lokalni hosting (neobavezno)" + "message": "Lokalni poslužitelj (neobavezno)" }, "usersGetPremium": { - "message": "Users get access to Premium Features" + "message": "Korisnici imaju pristup premium značajkama" }, "controlAccessWithGroups": { - "message": "Upravljajte korisničkim pristupom pomoću grupa" + "message": "Upravljanje korisničkim pristupom pomoću grupa" }, "syncUsersFromDirectory": { - "message": "Sync your users and Groups from a directory" + "message": "Sinkronizacija korisnika i grupa iz adresara" }, "trackAuditLogs": { - "message": "Pratite aktivnosti korisnika s zapisnicima" + "message": "Praćenje aktivnosti korisnika sa zapisnicima" }, "enforce2faDuo": { - "message": "Provedite 2FA sa Duo" + "message": "Uvjetovanje 2FA s Duo" }, "priorityCustomerSupport": { "message": "Prioritetna korisnička podrška" }, "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", + "message": "$COUNT$ dana besplatnog probnog korištenje. Može se otkazati bilo kada.", "placeholders": { "count": { "content": "$1", @@ -2028,61 +2049,61 @@ } }, "monthly": { - "message": "Mjesečno" + "message": "mjesečno" }, "annually": { - "message": "Godišnje" + "message": "godišnje" }, "basePrice": { "message": "Osnovna cijena" }, "organizationCreated": { - "message": "Organization Created" + "message": "Organizacija stvorena" }, "organizationReadyToGo": { - "message": "Your new organization is ready to go!" + "message": "Tvoja nova organizacija je spremna za početak!" }, "organizationUpgraded": { - "message": "Your organization has been upgraded." + "message": "Tvoja organizacija je nadograđena." }, "leave": { "message": "Izađi" }, "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" + "message": "Sigurno želiš napustiti ovu organizaciju?" }, "leftOrganization": { - "message": "You have left the organization." + "message": "Organizacija napuštena." }, "defaultCollection": { - "message": "Default Collection" + "message": "Zadana Zbirka" }, "getHelp": { "message": "Potraži pomoć" }, "getApps": { - "message": "Preuzmite aplikacije" + "message": "Preuzmi aplikacije" }, "loggedInAs": { - "message": "Prijavljen kao" + "message": "Prijavljeni kao" }, "eventLogs": { - "message": "Zapisi o događajima" + "message": "Zapisnici o događajima" }, "people": { "message": "Ljudi" }, "policies": { - "message": "Policies" + "message": "Smjernice" }, "editPolicy": { - "message": "Edit Policy" + "message": "Uredi smjernice" }, "groups": { "message": "Grupe" }, "newGroup": { - "message": "Nova Grupa" + "message": "Nova grupa" }, "addGroup": { "message": "Dodaj grupu" @@ -2091,25 +2112,25 @@ "message": "Uredi grupu" }, "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" + "message": "Sigurno želiš obrisati ovu grupu?" }, "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" + "message": "Sigurno želiš ukoniti ovog korisnika?" }, "externalId": { "message": "Vanjski Id" }, "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." + "message": "Vanjski id se može koristiti kao referenca ili vezati ovaj resurs na vanjski sustav kao što je npr. direktorij korisnika." }, "accessControl": { "message": "Kontrola pristupa" }, "groupAccessAllItems": { - "message": "This group can access and modify all items." + "message": "Ova grupa može pristupiti i urediti sve stavke." }, "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." + "message": "Ova grupa može pristupiti samo određenim zbirkama." }, "readOnly": { "message": "Samo za čitanje" @@ -2121,10 +2142,10 @@ "message": "Dodaj zbirku" }, "editCollection": { - "message": "Edit Collection" + "message": "Uredi zbirku" }, "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" + "message": "Sigurno želiš obrisati ovu zbirku?" }, "editUser": { "message": "Uredi korisnika" @@ -2133,10 +2154,10 @@ "message": "Pozovi korisnika" }, "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": "Pozovi novog korisnika u svoju organizaciju unosom njihove Bitwarden adrese e-pošte. Ako još nemaju Bitwarden račun, biti će pozvani da stvore novi." }, "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", + "message": "Možeš pozvati do $COUNT$ korisnika odjednom. Odvoji adrese e-pošte zarezima.", "placeholders": { "count": { "content": "$1", @@ -2145,16 +2166,16 @@ } }, "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." + "message": "Ovaj korisnik upotrebljava prijavu u dva koraka za zaštitu svog računa." }, "userAccessAllItems": { - "message": "This user can access and modify all items." + "message": "Ovaj korisnik može pristupiti i urediti sve stavke." }, "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." + "message": "Ovaj korisnik može pristupiti samo određenim zbirkama." }, "search": { - "message": "Pretraga" + "message": "Traži" }, "invited": { "message": "Pozvan" @@ -2169,25 +2190,25 @@ "message": "Vlasnik" }, "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." + "message": "Korisnik s najvišim pravima pristupa koji može upravljati svim mogućnostima tvoje organziacije." }, "admin": { "message": "Admin" }, "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organization." + "message": "Admini mogu pristupiti i upravljati svim stavkama, zbirkama i korisnicima u organizaciji." }, "user": { "message": "Korisnik" }, "userDesc": { - "message": "A regular user with access to assigned collections in your organization." + "message": "Obični korisnik s pristupom dodijeljenim zbirkama u tvojoj organizaciji." }, "manager": { "message": "Upravitelj" }, "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." + "message": "Upravitelji mogu pristupiti i upravljati dodijeljenim zbirkama u tvojoj organizaciji." }, "all": { "message": "Sve" @@ -2223,7 +2244,7 @@ "message": "Web trezor" }, "loggedIn": { - "message": "Prijavljen." + "message": "Prijava" }, "changedPassword": { "message": "Promijenjena lozinka računa." @@ -2232,25 +2253,25 @@ "message": "Omogućena/ažurirana prijava u dva koraka." }, "disabled2fa": { - "message": "Onemogućen pristup u dva koraka." + "message": "Onemogućena prijava u dva koraka." }, "recovered2fa": { - "message": "Recovered account from two-step login." + "message": "Račun oporavljen prijavom u dva koraka." }, "failedLogin": { - "message": "Login attempt failed with incorrect password." + "message": "Prijava pogrešnom lozinkom neuspješna." }, "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." + "message": "Prijava pogrešnom prijavom u dva koraka neuspješna." }, "exportedVault": { - "message": "Exported vault." + "message": "Izvezeni trezor." }, "exportedOrganizationVault": { - "message": "Exported organization vault." + "message": "Izvezen organizacijski trezor." }, "editedOrgSettings": { - "message": "Edited organization settings." + "message": "Uređene mogućnosti organizacije." }, "createdItemId": { "message": "Stvorena stavka $ID$.", @@ -2271,7 +2292,7 @@ } }, "deletedItemId": { - "message": "Izbrisana stavka $ID$.", + "message": "Stavka $ID$ poslana u smeće.", "placeholders": { "id": { "content": "$1", @@ -2289,7 +2310,7 @@ } }, "viewedItemId": { - "message": "Viewed item $ID$.", + "message": "Gledana stavka $ID$.", "placeholders": { "id": { "content": "$1", @@ -2298,7 +2319,7 @@ } }, "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", + "message": "Gledana lozinka za stavku $ID$.", "placeholders": { "id": { "content": "$1", @@ -2307,7 +2328,7 @@ } }, "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", + "message": "Gledano skriveno polje za stavku $ID$.", "placeholders": { "id": { "content": "$1", @@ -2316,7 +2337,7 @@ } }, "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", + "message": "Gledan kontrolni broj za stavku $ID$.", "placeholders": { "id": { "content": "$1", @@ -2325,7 +2346,7 @@ } }, "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", + "message": "Kopirana lozinka za stavku $ID$.", "placeholders": { "id": { "content": "$1", @@ -2334,7 +2355,7 @@ } }, "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", + "message": "Kopirano skriveno polje za stavku $ID$.", "placeholders": { "id": { "content": "$1", @@ -2343,7 +2364,7 @@ } }, "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", + "message": "Kopiran kontrolni broj za stavku $ID$.", "placeholders": { "id": { "content": "$1", @@ -2352,7 +2373,7 @@ } }, "autofilledItemId": { - "message": "Auto-filled item $ID$.", + "message": "Auto-ispuna za stavku $ID$.", "placeholders": { "id": { "content": "$1", @@ -2388,7 +2409,7 @@ } }, "editedPolicyId": { - "message": "Edited policy $ID$.", + "message": "Uređene smjernice $ID$.", "placeholders": { "id": { "content": "$1", @@ -2496,7 +2517,7 @@ } }, "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", + "message": "Odspojen SSO za korisnika $ID$.", "placeholders": { "id": { "content": "$1", @@ -2511,7 +2532,7 @@ "message": "Prikaz" }, "invalidDateRange": { - "message": "Nevažeći raspon datuma." + "message": "Neispravan raspon datuma." }, "errorOccurred": { "message": "Došlo je do pogreške." @@ -2526,13 +2547,13 @@ "message": "Grupni pristup" }, "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." + "message": "Uredi grupe kojima ovaj korisnik pripada." }, "invitedUsers": { - "message": "Pozvani korisnici." + "message": "Pozvan/i korisnik/ci." }, "resendInvitation": { - "message": "Resend Invitation" + "message": "Ponovno slanje pozivnice" }, "hasBeenReinvited": { "message": "$USER$ je ponovno pozvan.", @@ -2544,13 +2565,13 @@ } }, "confirm": { - "message": "Potvrdi" + "message": "Autoriziraj" }, "confirmUser": { - "message": "Potvrdi korisnika" + "message": "Autoriziraj korisnika" }, "hasBeenConfirmed": { - "message": "$USER$ je potvrđen.", + "message": "$USER$ je autoriziran.", "placeholders": { "user": { "content": "$1", @@ -2559,13 +2580,13 @@ } }, "confirmUsers": { - "message": "Potvrdi korisnike" + "message": "Autoriziraj korisnike" }, "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." + "message": "Postoje korisnici koji su potvrdili svoj poziv, ali neće imati pristup organizaciji sve dok ih se ne autorizira." }, "startDate": { - "message": "Početni datum" + "message": "Datum početka" }, "endDate": { "message": "Datum završetka" @@ -2574,43 +2595,43 @@ "message": "Potvrdi adresu e-pošte" }, "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." + "message": "Potvrdi e-poštu svojeg računa za otključavanje svih značajki." }, "verifyEmailFirst": { - "message": "Your account's email address first must be verified." + "message": "Adresa e-pošte tvojeg računa mora biti potvrđena." }, "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." + "message": "U primljenoj e-pošti nalazi se veza za potvrdu." }, "emailVerified": { - "message": "Vaša adresa e-pošte je provjerena." + "message": "Adresa e-pošte je provjerena." }, "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." + "message": "Ne možeš potvrditi svoju e-poštu? Pošalji novu poruku." }, "updateBrowser": { "message": "Ažuriraj preglednik" }, "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." + "message": "Koristiš nepodržani preglednik. Web trezor možda neće ispravno raditi." }, "joinOrganization": { - "message": "Join Organization" + "message": "Pridruži se organizaciji" }, "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": "Primljen je poziv za pridruživanje gore navedenoj organizaciji. Za prihvaćanje poziva potrebno je prijaviti se na svoj postojeći Bitwarden račun ili stvoriti novi." }, "inviteAccepted": { - "message": "Invitation Accepted" + "message": "Poziv prihvaćen" }, "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." + "message": "Pristup organizaciji biti će ti omogućen čim administrator potvrdi tvoje članstvo, o čemu ćemo te obavijestiti e-poštom." }, "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." + "message": "Nije moguće prihvatiti poziv. Zamoli administratora organizacije da ti pošalje novi poziv." }, "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Nije moguće prihvatiti poziv. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -2622,71 +2643,71 @@ "message": "Zapamti adresu e-pošte" }, "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": "Ako ne možeš pristupiti računu koristeći svoje redovne metode prijave u dva koraka, možeš iskoristiti svoj kôd za oporavak kako bi se u potpunosti onesposobili svi pružatelji prijave u dva koraka na tvojem računu." }, "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" + "message": "Oporavi račun prijave u dva koraka" }, "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." + "message": "Prijava u dva koraka je onemogućena na tvojem računu." }, "learnMore": { "message": "Saznaj više" }, "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." + "message": "Unesi svoju e-poštu za oporavak i brisanje svojeg računa." }, "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." + "message": "Ako tvoj račun postoji, poslali smo ti e-poštu s daljnjim uputama." }, "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." + "message": "Zatraženo je brisanje tvojeg Bitwarden računa. Klikni u nastavku za potvrdu brisanja računa." }, "myOrganization": { - "message": "My Organization" + "message": "Moja organizacija" }, "deleteOrganization": { - "message": "Delete Organization" + "message": "Izbriši organizaciju" }, "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": "Nastavite dalje za brisanje ove organizacije i svih povezanih podataka. Pojedinačni korisnički računi će ostati, no više neće biti povezani s ovom organizacijom. " }, "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." + "message": "Brisanje organizacije je TRAJNO i NEPOVRATNO i naknadno je nije moguće vratiti." }, "organizationDeleted": { - "message": "Organization Deleted" + "message": "Organizacija izbrisana" }, "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." + "message": "Organizacija i svi njeni povezani podaci su izbrisani." }, "organizationUpdated": { - "message": "Organization updated" + "message": "Organizacija izmijenjena" }, "taxInformation": { - "message": "Tax Information" + "message": "Porezne informacije" }, "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." + "message": "Možete unijeti svoj porezni broj (VAT ID) i/ili adresu za prikaz na fakturama." }, "billingPlan": { - "message": "Plan", + "message": "Paket", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlan": { - "message": "Promijeni plan", + "message": "Promijeni paket", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan be providing the information below. Please ensure that you have an active payment method added to the account.", + "message": "Unesi podatke u nastavku za nadogradnju svog računa na drugi paket. Provjeri imaš li na svom računu aktivno neko sredstvo plaćanja.", "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": "Za promjenu paketa, molimo kontaktiraj službu podrške. Provjeri imaš li na svom računu aktivno neko sredstvo plaćanja.", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "invoiceNumber": { - "message": "Faktura #$NUMBER$", + "message": "Faktura br. $NUMBER$", "description": "ex. Invoice #79C66F0-0001", "placeholders": { "number": { @@ -2696,28 +2717,28 @@ } }, "viewInvoice": { - "message": "Prikaz računa" + "message": "Prikaz fakture" }, "downloadInvoice": { - "message": "Preuzmite račun" + "message": "Preuzmi fakturu" }, "verifyBankAccount": { - "message": "Verify Bank Account" + "message": "Potvrdi broj računa u banci" }, "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": "Izvršili smo dvije male uplate na račun u banci (možda će trebati 1 do 2 radna dana da budu vidljive). Unesi iznose ovih uplata za potvrdu broja računa." }, "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": "Plaćanje putem računa u banci dostupno je samo korisnicima u SAD-u. Biti će potrebno potvrditi broj računa u banci. Izvršiti ćemo dvije male uplate na račun u banci (možda će trebati 1 do 2 radna dana da budu vidljive). Unesi iznose ovih uplata za potvrdu broja računa." }, "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." + "message": "Neuspješna provjera računa u banci rezultirati će propuštenim plaćanjem i prekidom pretplate." }, "verifiedBankAccount": { - "message": "Bankovni račun je potvrđen." + "message": "Račun u banci potvrđen." }, "bankAccount": { - "message": "Bankovni račun" + "message": "Račun u banci" }, "amountX": { "message": "Iznos $COUNT$", @@ -2730,37 +2751,37 @@ } }, "routingNumber": { - "message": "Routing Number (USA)", + "message": "Routing Number (SAD)", "description": "Bank account routing number" }, "accountNumber": { "message": "Broj računa" }, "accountHolderName": { - "message": "Account Holder Name" + "message": "Vlasnik računa" }, "bankAccountType": { "message": "Vrsta računa" }, "bankAccountTypeCompany": { - "message": "Company (Business)" + "message": "Pravna osoba" }, "bankAccountTypeIndividual": { - "message": "Individual (Personal)" + "message": "Fizička osoba" }, "enterInstallationId": { - "message": "Enter your installation id" + "message": "Unesi id instalacije" }, "addSeats": { - "message": "Dodaj sjedala", + "message": "Dodaj licence", "description": "Seat = User Seat" }, "removeSeats": { - "message": "Ukloni sjedala", + "message": "Ukloni licence", "description": "Seat = User Seat" }, "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", + "message": "Tvoja pretplata uključuje $COUNT$ korisnika.", "placeholders": { "count": { "content": "$1", @@ -2769,19 +2790,19 @@ } }, "seatsToAdd": { - "message": "Sjedala za dodati" + "message": "Licence za dodati" }, "seatsToRemove": { - "message": "Seats To Remove" + "message": "Licence za ukloniti" }, "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": "Dodavanje korisničkih licenci rezultirati će povećanjem ukupnog zaduženja i trenutnim terećenjem spremljenog sredstva plaćanja. Iznos će btii umanjen proporcionlano ostatku tekuđeg obračunskog razdoblja. " }, "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": "Uklanjanje korisničkih licenci rezultirati će smanjenjem ukupnog zaduženja. Iznos će biti umanjen proporcionalno ostatku tekućeg razdoblja i iskorišten kao umanjenje kod sljedeće naplate." }, "adjustedSeats": { - "message": "Prilagođeno $AMOUNT$ korisničkih sjedala.", + "message": "Prilagođeno $AMOUNT$ korisničkih licenci.", "placeholders": { "amount": { "content": "$1", @@ -2790,25 +2811,25 @@ } }, "keyUpdated": { - "message": "Ažuriran je ključ" + "message": "Ključ ažuriran" }, "updateKeyTitle": { - "message": "Ažurirajte ključ" + "message": "Ažuriraj ključ" }, "updateEncryptionKey": { - "message": "Update Encryption Key" + "message": "Ažuriraj ključ za šifriranje" }, "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." + "message": "Trenutno koristiš zastarjeli način šifriranja." }, "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": "Prešli smo na korištenje duljih ključeva za šifriranje koji pružaju bolju zaštitu kao i pristup novim uslugama. Ažuriranje ključa za šifriranje je brzo i jednostavno. Samo unesi svoju glavnu lozinku. Ova nadogradnja će uskoro postati obavezna." }, "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": "Nakon ažuriranja svojeg ključa za šifriranje, obavezno se trebaš odjaviti i ponovno prijaviti u sve Bitwarden aplikacije koje trenutno koristiš (npr. mobilna aplikacija, proširenje preglednika, ...). Ako se ne odjaviš i ponovno prijaviš (čime se preuzima tvoj novi ključ za šifriranje) može doći do oštećenja spremljenih podataka. Pokušati ćemo te automatski odjaviti, no, to bi možda moglo potrajati." }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "Svi spremljeni šifrirani izvozi također će postati nevažeći." }, "subscription": { "message": "Pretplata" @@ -2820,31 +2841,31 @@ "message": "Nadogradnja" }, "upgradeOrganization": { - "message": "Upgrade Organization" + "message": "Nadogradi organizaciju" }, "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." + "message": "Ova značajka nije dostupna organizacijama koje koriste besplatnu uslugu. Prebaci se na plaćeni paket za pristup ovoj i drugim značajkama." }, "createOrganizationStep1": { - "message": "Create Organization: Step 1" + "message": "Stvori organizaciju: 1. korak" }, "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." + "message": "Prije stvaranja svoje organizacije, moraš napraviti svoj privatni, besplatni račun." }, "refunded": { "message": "Refundirano" }, "nothingSelected": { - "message": "Niste ništa odabrali." + "message": "Ništa nije odabrano." }, "acceptPolicies": { - "message": "By checking this box you agree to the following:" + "message": "Označavanjem ove kućice slažete se sa sljedećim:" }, "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "message": "Uvjeti korištenja i Pravila privatnosti nisu prihvaćeni." }, "termsOfService": { - "message": "Terms of Service" + "message": "Uvjeti korištenja" }, "privacyPolicy": { "message": "Pravila privatnosti" @@ -2853,10 +2874,10 @@ "message": "Filtri" }, "vaultTimeout": { - "message": "Vault Timeout" + "message": "Istek trezora" }, "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." + "message": "Odaberi kada će isteći trezor i koja će se radnja izvršiti." }, "oneMinute": { "message": "1 minuta" @@ -2877,21 +2898,21 @@ "message": "4 sata" }, "onRefresh": { - "message": "On Browser Refresh" + "message": "Pri osvježavanju preglednika" }, "dateUpdated": { "message": "Ažurirano", "description": "ex. Date this item was updated" }, "datePasswordUpdated": { - "message": "Password Updated", + "message": "Lozinka ažurirana", "description": "ex. Date this password was updated" }, "organizationIsDisabled": { - "message": "Organization is disabled." + "message": "Organizacija je onemogućena." }, "licenseIsExpired": { - "message": "License is expired." + "message": "Licenca je istekla." }, "updatedUsers": { "message": "Ažurirani korisnici" @@ -2906,59 +2927,59 @@ "message": "Tko je vlasnik ove stavke?" }, "strong": { - "message": "Jako", + "message": "Jaka", "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" }, "good": { - "message": "Dobro", + "message": "Dobra", "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" }, "weak": { - "message": "Slabo", + "message": "Slaba", "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "veryWeak": { - "message": "Jako slabo", + "message": "Vrlo slaba", "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "weakMasterPassword": { - "message": "Weak Master Password" + "message": "Slaba glavna lozinka" }, "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" + "message": "Odabrana glavna lozinka je slaba. Trebaš koristiti jaču glavnu lozinku (ili frazu) kako bi tvoj Bitwarden račun bio pravilno zaštićen. Sigurno želiš koristiti ovakvu, slabu glavnu lozinku?" }, "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" + "message": "Dodatno rotiraj ključ za šifriranje mojeg računa" }, "rotateEncKeyTitle": { - "message": "Rotate Encryption Key" + "message": "Rotiraj ključ za šifriranje" }, "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" + "message": "Sigurno želiš rotirati ključ za šifriranje svojeg računa?" }, "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." + "message": "Ova stavka ima stare privitke koje je potrebno popraviti." }, "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." + "message": "Ovo je stari privitak kojeg je potrebno popraviti. Klikni ovdje za više informacija." }, "fix": { "message": "Popravi", "description": "This is a verb. ex. 'Fix The Car'" }, "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." + "message": "Postoje stari privitci u tvom trezoru koje je potrebno popraviti prije rotacije ključa za šifriranje." }, "yourAccountsFingerprint": { - "message": "Jedinstveni izraz Vašeg računa", + "message": "Jedinstvena fraza tvog računa", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", + "message": "Kako bi se osgurala cjelovitost tvojih ključeva za šifriranje, provjeri korisnikovu jedinstvenu frazu prije nastavka.", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", + "message": "Ne pitaj više za potvrdu jedinstvene fraze", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "free": { @@ -2969,19 +2990,19 @@ "message": "API ključ" }, "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." + "message": "API ključ se može koristiti za autentifikaciju prema javnom Bitwarden API-ju." }, "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." + "message": "Rotacija API ključa poništiti će prethodno važeći ključ. Možeš napraviti rotaciju svog API ključa ako misliš da treutni ključ više nije siguran za upotrebu." }, "apiKeyWarning": { - "message": "Your API key has full access to the organization. It should be kept secret." + "message": "API ključ ima potpuni pristup organizaciji. Treba ga držati tajnim." }, "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." + "message": "API ključ se može koristiti za autentifikaciju u Bitwarden CLI-ju." }, "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." + "message": "API ključ je zamjenska mogućnost autentifikacije. Treba ga držati tajnim." }, "oauth2ClientCredentials": { "message": "OAuth 2.0 vjerodajnice klijenta", @@ -2994,49 +3015,49 @@ "message": "Rotiraj API ključ" }, "selectOneCollection": { - "message": "You must select at least one collection." + "message": "Moraš odabrati barem jednu zbirku." }, "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." + "message": "Nismo uspjeli teretiti karticu. Molimo, pogledaj i plati sljedeću neplaćenu fakturu." }, "inAppPurchase": { - "message": "In-app Purchase" + "message": "Kupnja putem aplikacije" }, "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." + "message": "Nije moguće izvršiti ovu radnju dok se koristi način plaćanja putem aplikcaije." }, "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." + "message": "Upravljanje pretplatom moguće je samo iz dućana u kojem je napravljena kupnja iz aplikacije." }, "minLength": { - "message": "Minimum Length" + "message": "Najmanja duljina" }, "clone": { - "message": "Clone" + "message": "Kloniraj" }, "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." + "message": "Postavi smjernice sigurnosti koju glavna lozinka mora zadovoljiti." }, "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." + "message": "Zahtijevaj da korisnici uključe prijavu u dva koraka na svojim osobnim računima." }, "twoStepLoginPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." + "message": "Članovi organizacije koji nisu Vlasnici ili Administratori i nemaju uključenu prijavu u dva koraka na svojim osobnim računima biti će uklonjeni iz organizacije i primiti će o tome obavijest e-poštom." }, "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." + "message": "Član si organizacije koja zahtijeva uključenu prijavu u dva koraka na tvojem računu. Ako onemogućiš sve pružatelje prijave u dva koraka, automatski ćeš biti uklonjen/a iz organizacije." }, "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." + "message": "Postavi smjernice sigurnosti koju generirana lozinka mora zadovoljiti." }, "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." + "message": "Jedna ili više organizacijskih smjernica utječe na postavke generatora." }, "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" + "message": "Jedna ili više organizacijskih smjernica zahtijeva da tvoja glavna lozinka ispunjava sljedeće uvjete:" }, "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", + "message": "Minimalna ocjena složenosti od $SCORE$", "placeholders": { "score": { "content": "$1", @@ -3045,7 +3066,7 @@ } }, "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", + "message": "Duljina najmanje $LENGTH$", "placeholders": { "length": { "content": "$1", @@ -3054,16 +3075,16 @@ } }, "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" + "message": "Sadrži jedno ili više velikih slova" }, "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" + "message": "Sadrži jedno ili više malih slova" }, "policyInEffectNumbers": { - "message": "Contain one or more numbers" + "message": "Sadrži jedan ili više brojeva" }, "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", + "message": "Sadrži jedan ili više sljedećih posebnih znakova $CHARS$", "placeholders": { "chars": { "content": "$1", @@ -3072,57 +3093,57 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." + "message": "Tvoja nova glavna lozinka ne ispunjava zahtjeve." }, "minimumNumberOfWords": { - "message": "Minimum Number of Words" + "message": "Najmanji broj riječi" }, "defaultType": { - "message": "Default Type" + "message": "Zadana vrsta" }, "userPreference": { - "message": "User Preference" + "message": "Korisnički definirano" }, "vaultTimeoutAction": { - "message": "Vault Timeout Action" + "message": "Nakon isteka trezora" }, "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." + "message": "Zaključani trezor, za ponovni pristup, zahtijeva ponovni unos tvoje glavne lozinke." }, "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." + "message": "Odjavljeni trezor, za ponovni pristup, zahtijeva ponovnu provjeru autentičnosti." }, "lock": { - "message": "Lock", + "message": "Zaključaj", "description": "Verb form: to make secure or inaccesible by" }, "trash": { - "message": "Trash", + "message": "Smeće", "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" }, "searchTrash": { - "message": "Search Trash" + "message": "Pretraži smeće" }, "permanentlyDelete": { - "message": "Permanently Delete" + "message": "Trajno izbriši" }, "permanentlyDeleteSelected": { - "message": "Permanently Delete Selected" + "message": "Trajno izbriši odabrano" }, "permanentlyDeleteItem": { - "message": "Permanently Delete Item" + "message": "Trajno izbriši stavku" }, "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" + "message": "Želiš li zaista trajno izbrisati ovu stavku?" }, "permanentlyDeletedItem": { - "message": "Permanently Deleted item" + "message": "Trajno izbrisana stavka" }, "permanentlyDeletedItems": { - "message": "Permanently Deleted items" + "message": "Trajno izbrisane stavke" }, "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", + "message": "Odabrano je $COUNT$ stavke/i za trajno brisanje. Sigurno želiš trajno izbrisati sve ove stavke?", "placeholders": { "count": { "content": "$1", @@ -3131,7 +3152,7 @@ } }, "permanentlyDeletedItemId": { - "message": "Permanently Deleted item $ID$.", + "message": "Trajno izbrisana stavka $ID$.", "placeholders": { "id": { "content": "$1", @@ -3140,28 +3161,28 @@ } }, "restore": { - "message": "Restore" + "message": "Vrati" }, "restoreSelected": { - "message": "Restore Selected" + "message": "Vrati odabrano" }, "restoreItem": { - "message": "Restore Item" + "message": "Vrati stavku" }, "restoredItem": { - "message": "Restored Item" + "message": "Stavka vraćena" }, "restoredItems": { - "message": "Restored Items" + "message": "Stavke vraćene" }, "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" + "message": "Želiš li sigurno vratiti ovu stavku?" }, "restoreItems": { - "message": "Restore items" + "message": "Vrati stavke" }, "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", + "message": "Odabrano je $COUNT$ stavke/i za vraćanje. Sigurno želiš vratiti sve ove stavke?", "placeholders": { "count": { "content": "$1", @@ -3170,7 +3191,7 @@ } }, "restoredItemId": { - "message": "Restored item $ID$.", + "message": "Stavka vraćena $ID$.", "placeholders": { "id": { "content": "$1", @@ -3179,294 +3200,301 @@ } }, "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" + "message": "Odjava će ukloniti pristup tvojem trezoru i zahtijeva mrežnu potvrdu identiteta nakon isteka vremenske neaktivnosti. Sigurno želiš koristiti ovu postavku?" }, "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" + "message": "Potvrda akcije vremenske neaktivnosti" }, "hidePasswords": { - "message": "Hide Passwords" + "message": "Sakrij lozinke" }, "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." + "message": "Ovaj podatak nam je potreban samo za izračun poreza i računovosdtvo." }, "includeVAT": { - "message": "Include VAT/GST Information (optional)" + "message": "Uključi podatke o PDV-u (neobavezno)" }, "taxIdNumber": { - "message": "VAT/GST Tax ID" + "message": "OIB/porezni broj" }, "taxInfoUpdated": { - "message": "Tax information updated." + "message": "Podaci oporezu ažurirani." }, "setMasterPassword": { - "message": "Set Master Password" + "message": "Postavi glavnu lozinku" }, "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." + "message": "Za dovršetak jedinstvene prijave na razini tvrtke (SSO), postavi glavnu lozinku za pristup i zaštitu tvog trezora." }, "identifier": { - "message": "Identifier" + "message": "Identifikator" }, "organizationIdentifier": { - "message": "Organization Identifier" + "message": "Identifikator organizacije" }, "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." + "message": "Prijavi se koristeći SSO portal tvoje tvrtke. Za nastavak unesi identifikator organizacije." }, "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" + "message": "Jedinstvena prijava na razini tvrtke (SSO)" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Sada možeš zatvoriti ovu karticu i nastaviti koristiti proširenje." }, "businessPortal": { - "message": "Business Portal", + "message": "Portal Business", "description": "The web portal used by business organizations for configuring certain features." }, "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" + "message": "Sve značajke Team, plus:" }, "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" + "message": "SSO autentifikacija putem SAML2.0 i OpenID Connect" }, "includeEnterprisePolicies": { - "message": "Enterprise Policies" + "message": "Smjernice za tvrtke" }, "ssoValidationFailed": { - "message": "SSO Validation Failed" + "message": "SSO provjera nije uspjela" }, "ssoIdentifierRequired": { - "message": "Organization Identifier is required." + "message": "Potreban je identifikator organizacije." }, "unlinkSso": { - "message": "Unlink SSO" + "message": "Odspoji SSO" }, "linkSso": { - "message": "Link SSO" + "message": "Spoji SSO" }, "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + "message": "Mogućnosti smjernica su premješteni i ova stranica će uskoro postati zastarjela. Kliknite u nastavku za korištenje stranice smjernica na portalu Business." }, "singleOrg": { - "message": "Single Organization" + "message": "Isključiva organizacija" }, "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." + "message": "Onemogući korisnicima da se pridruže drugim organizacijama." }, "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + "message": "Tvoja organizacija ima pravilo koje ti ne dozvoljava pridruživanje drugim organizacijama. Molimo kontaktiraj administratora svoje organizacije ili se prijavi s privatnim Bitwarden računom." }, "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + "message": "Članovi organizacije koji nisu Vlasnici ili Administratori, a već su članovi neke druge organizacije, biti će uklonjeni iz tvoje organizacije." }, "requireSso": { - "message": "Single Sign-On Authentication" + "message": "SSO autentifikacija" }, "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." + "message": "Zahtijeva da se korisnici prijave koristeći tvrtkin SSO." }, "prerequisite": { - "message": "Prerequisite" + "message": "Preduvjet" }, "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." + "message": "Pravilo Isključive organizacije mora biti uključeno prije aktivacije ovog pravila." }, "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." + "message": "Pravilo Isključive organizacije nije omogućeno." }, "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Vlasnici i Administratori organizacije nisu obuhvaćeni za provedbu ovog pravila." }, "sendTypeFile": { - "message": "File" + "message": "Datoteka" }, "sendTypeText": { - "message": "Text" + "message": "Tekst" }, "createSend": { - "message": "Create New Send", + "message": "Stvori novi „Send”", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "Uredi „Send”", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "„Send” stvoren", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "„Send” uređen", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Deleted Send", + "message": "„Send” izbrisan", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Delete Send", + "message": "Izbriši „Send”", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "Sigurno želiš izbrisati ovaj „Send”?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "What type of Send is this?", + "message": "Koja je ovo vrsta „Send-a”?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Deletion Date" + "message": "Datum brisanja" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "„Send” će biti trajno izbrisan specificiranog datuma.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Expiration Date" + "message": "Datum isteka" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "Ako je određen, pristup ovom „Send-u” će isteći specificranog datuma.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Maximum Access Count" + "message": "Najveći proj pristupanja" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "Ako je određen, korisnici neće moći pristupiti ovom „Send-u” nakon što se postigne najveći broj pristupanja.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Current Access Count" + "message": "Trenutni broj pristupanja" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "Neobavezno zahtijevaj korisnika lozinku za pristup ovom „Send-u”.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "Privatne bilješne o „Send-u”.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "Onemogućeno" }, "sendLink": { - "message": "Send Link", + "message": "Pošalji vezu", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Copy Send Link", + "message": "Kopiraj poslanu vezu", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Remove Password" + "message": "Ukloni lozinku" }, "removedPassword": { - "message": "Removed Password" + "message": "Lozinka uklonjena" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "Sigurno želiš ukloniti lozinku?" }, "disableThisSend": { "message": "Disable this Send so that no one can access it.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "All Sends" + "message": "Svi „Send-ovi”" }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "Dostignut najveći broj pristupanja" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "Čeka brisanje" }, "expired": { - "message": "Expired" + "message": "Isteklo" }, "searchSends": { - "message": "Search Sends", + "message": "Pretraži „Send-ove”", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", + "message": "Ovaj „Send” je zaštićen lozinkom. Unesi lozinku za nastavak.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "message": "Ne znaš lozinku? Upitaj pošiljatelja za lozinku za pristup ovom „Send-u”.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "message": "Ovaj je „Send” zadano skriven. Moguće mu je promijeniti vidljivost.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { - "message": "Download File" + "message": "Preuzmi datoteku" }, "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", + "message": "„Send” kojem pokušavaš pristupiti više ne postoji ili više nije dostupan.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { - "message": "There are no Sends to list.", + "message": "Nema „Send-ova”.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "Pristup u nuždi" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Odobri i upravljaj pristupu u nuždi za pouzdane kontakte. Oni, u slučaju nužde, mogu vidjeti ili preuzeti tvoj račun. Posjeti našu stranicu pomoći za više detalja kako funkcionira dijeljene na principu nula-znanja." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" + "message": "Pouzdani kontakti u nuždi" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "Još nije dodan niti jedan kontakt u nuždi. Za početak, pozovi pouzdani kontakt." }, "addEmergencyContact": { - "message": "Add emergency contact" + "message": "Dodaj kontakt u nuždi" }, "designatedEmergencyContacts": { - "message": "Designated as emergency contact" + "message": "Određen kao kontakt u nuždi" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "Nitko vas još nije odredio kao kontakt u nuždi." }, "inviteEmergencyContact": { - "message": "Invite emergency contact" + "message": "Pozovi kontakt u nuždi" }, "editEmergencyContact": { - "message": "Edit emergency contact" + "message": "Uredi kontakt u nuždi" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "Pozovi novi kontakt u nuždi unosom njihove Bitwarden adrese e-pošte. Ako još nemaju Bitwarden račun, biti će pozvani da stvore novi." }, "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" + "message": "Pokrenut pristup u nuždi" }, "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" + "message": "Odobren pristup u nuždi" }, "viewDesc": { - "message": "Can view all items in your own vault." + "message": "Može vidjeti sve stavke u tvom trezoru." }, "takeover": { - "message": "Takeover" + "message": "Preuzimanje" }, "takeoverDesc": { - "message": "Can reset your account with a new master password." + "message": "Može resetirati tvoj račun novom glavnom lozinkom." }, "waitTime": { - "message": "Wait Time" + "message": "Vrijeme čekanja" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "Potrebni vremenski period prije automatskog odobravanja pristupa." }, "oneDay": { - "message": "1 day" + "message": "1 dan" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$ dana", "placeholders": { "days": { "content": "$1", @@ -3475,16 +3503,16 @@ } }, "invitedUser": { - "message": "Invited user." + "message": "Pozvani korisnik." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Pozvani ste da postanete kontakt u nuždi za našeg gore navedenog korisnika. Za prihvat poziva, prijavite se u Bitwarden. Ako još nemate Bitwarden račun, možete jednostavno stvoriti novi." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "Nije moguće prihvatiti poziv. Zamolite korisnika da pošalje novi poziv." }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Nije moguće prihvatiti poziv. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "Možeš pristupiti opcijama u nuždi za ovog korisnika nakon potvrde tvog identiteta o čemu ćemo te obavijestiti e-poštom." }, "requestAccess": { - "message": "Request Access" + "message": "Zatraži pristup" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Sigurno želiš zatražiti pristup u nuždi? Pristup će biti odobren nakon isteka roka od $WAITTIME$ dan(a) ili kad drugi korisnik ručo odobri zahtjev.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "Pristup u nuždi je zatražen za $USER$. Obavijesitti ćemo te e-poštem kada će biti moguće nastaviti.", "placeholders": { "user": { "content": "$1", @@ -3517,13 +3545,13 @@ } }, "approve": { - "message": "Approve" + "message": "ODOBRI" }, "reject": { - "message": "Reject" + "message": "Odbij" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "Sigurno želiš odobriti pristup u nuždi svojem računu? Korisnik $USER$ će imati sljedeću mogućnost na tovm računu: $ACTION$.", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "Emergency access approved." + "message": "Pristup u nuždi odobren." }, "emergencyRejected": { - "message": "Emergency access rejected" + "message": "Pristup u nuždi odbijen" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "Lozinka za $USER$ resetirana. Sada se možeš prijaviti novom lozinkom.", "placeholders": { "user": { "content": "$1", @@ -3551,19 +3579,37 @@ } }, "personalOwnership": { - "message": "Personal Ownership" + "message": "Osobno vlasništvo" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "Zahtijevaj korisnike spremanje stavki trezora u organizaciju tako što će ukloniti opciju osobnog vlasništva." }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Vlasnici i Administratori organizacije nisu obuhvaćeni za provedbu ovog pravila." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Pravila tvrtke onemogućuju spremanje stavki u osobni trezor. Promijeni vlasništvo stavke na tvrtku i odaberi dostupnu Zbirku." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "Izmijenjena polica $ID$.", "placeholders": { "id": { "content": "$1", @@ -3572,61 +3618,149 @@ } }, "planPrice": { - "message": "Plan price" + "message": "Cijena paketa" }, "estimatedTax": { - "message": "Estimated tax" + "message": "Procjena poreza" }, "custom": { - "message": "Custom" + "message": "Prilagođeno" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "Omogućuje detaljnije upravljanje korisničkim dozvolama za napredne konfiguracije." }, "permissions": { - "message": "Permissions" + "message": "Dozvole" }, "accessBusinessPortal": { - "message": "Access Business Portal" + "message": "Pristup Busines portalu" }, "accessEventLogs": { - "message": "Access Event Logs" + "message": "Pristup zapisnicima događaja" }, "accessImportExport": { - "message": "Access Import/Export" + "message": "Pristup uvozu/izvozu" }, "accessReports": { - "message": "Access Reports" + "message": "Pristup izvještajima" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "Upravljanje svim zbirkama" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "Upravljanje dodijeljenim zbirkama" }, "manageGroups": { - "message": "Manage Groups" + "message": "Upravljanje grupama" }, "managePolicies": { - "message": "Manage Policies" + "message": "Upravljanje pravilima" }, "manageSso": { - "message": "Manage SSO" + "message": "Upravljanje SSO" }, "manageUsers": { - "message": "Manage Users" + "message": "Upravljanje korisnicima" }, "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + "message": "Pravilo SSO autentifikacije mora biti isključeno prije deaktivacije ovog pravila." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "Pravila organizacije utječu na tvoje mogućnosti vlasništva." }, "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" + "message": "Onemogući osobno vlasnišvo za organizacijske korisnike" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "Zadano sakrij tekst pri pristupanju „Send-u”", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/hu/messages.json b/locales/hu/messages.json index 27087b40..d17a4845 100644 --- a/locales/hu/messages.json +++ b/locales/hu/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Ez az exportálás titkosítás nélkül tartalmazza a széfadatokat.Nem célszerű az exportált fájlt nem biztonságos csatornákon tárolni és továbbküldeni (például emailben). A felhasználás után erősen ajánlott a törlés." }, - "encExportWarningDesc": { - "message": "Ez az exportálás titkosítja az adatokat a fiók titkosítási kulcsával. Ha valaha a fiók forgatási kulcsa más lesz, akkor újra exportálni kell, mert nem lehet visszafejteni ezt az exportálási fájlt." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "A mesterjelszó megadása a széfadatok exportálásához." @@ -1000,9 +1003,24 @@ "importData": { "message": "Adatok importálása" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Az adatok sikeresen importálásra kerültek a széfbe." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Az adatok formázása nem megfelelő. Ellenőrizzük az import fájlt és próbáljuk újra." }, @@ -1364,7 +1382,7 @@ "message": "2FA nélküli bejelentkezések találhatók." }, "inactive2faFoundDesc": { - "message": "$COUNT$ olyan webhely van a széfben, amely nincs kétlépcsős hitelesítéssel konfigurálva (a 2fa.directory alapján). Ezen fiókok további védelme érdekében, javasolt lenne a kétlépcsős hitelesítés használata.", + "message": "$COUNT$ olyan webhely van a széfben, amely nincs kétlépcsős hitelesítéssel konfigurálva (a twofactorauth.org alapján). Ezen fiókok további védelme érdekében, javasolt lenne a kétlépcsős hitelesítés használata.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "További olyan kétlépcsős bejelentkezési opciók mint a YubiKey, FIDO U2F és Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Jelszó higiénia, felhasználói fiók biztonsága, és adatszivárgási jelentések a széf biztonsága érdekében." }, @@ -3407,6 +3428,10 @@ "message": "Az elérendő küldés nem létezik vagy már nem elérhető.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "A listában nincs küldés.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Sürgősségi hozzáférés kezelése és megadása megbízható kapcsolatoknál. A megbízható kapcsolatok sürgősségi helyzet esetén hozzáférést kérhetnek a fiókhoz vagy azt átvehetik. A súgó oldalon további információkat és kezdőknek szóló megosztási munkákat kapunk." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Megbízható sürgősségi kapcsolatok" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Egy vállalati házirend miatt korlátozásra került az elemek személyes tárolóba történő mentése. Módosítsuk a Tulajdon opciót egy szervezetre és válasszunk az elérhető gyűjtemények közül." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "$ID$ szabály módosításra került.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "A Küldés elérésekor alapértelmezés szerint a szöveg elrejtése", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/id/messages.json b/locales/id/messages.json index 924771c3..be7aba5a 100644 --- a/locales/id/messages.json +++ b/locales/id/messages.json @@ -348,7 +348,7 @@ "message": "Ubah Item" }, "viewItem": { - "message": "View Item" + "message": "Lihat Item" }, "ex": { "message": "contoh", @@ -794,14 +794,17 @@ "message": "Peringatan" }, "confirmVaultExport": { - "message": "Confirm Vault Export" + "message": "Konfirmasi Ekspor Vault" }, "exportWarningDesc": { "message": "Ekspor ini berisi data vault Anda dalam format yang tidak dienkripsi. Anda tidak boleh menyimpan atau mengirim file yang diekspor melalui saluran yang tidak aman (seperti email). Hapus segera setelah Anda selesai menggunakannya." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Masukkan kata sandi utama Anda untuk mengekspor data brankas Anda." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Impor Data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data telah berhasil diimpor ke lemari besi Anda." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data tidak diformat dengan benar. Silakan periksa file impor Anda dan coba lagi." }, @@ -1364,7 +1382,7 @@ "message": "Login Tanpa Ditemukan 2FA" }, "inactive2faFoundDesc": { - "message": "Kami menemukan $COUNT$ situs web di lemari besi Anda yang mungkin tidak dikonfigurasi dengan otentikasi dua faktor (menurut 2fa.directory). Untuk lebih melindungi akun ini, Anda harus mengaktifkan otentikasi dua faktor.", + "message": "Kami menemukan $COUNT$ situs web di lemari besi Anda yang mungkin tidak dikonfigurasi dengan otentikasi dua faktor (menurut twofactorauth.org). Untuk lebih melindungi akun ini, Anda harus mengaktifkan otentikasi dua faktor.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Opsi login dua langkah tambahan seperti YubiKey, FIDO U2F, dan Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Kebersihan kata sandi, kesehatan akun, dan laporan pelanggaran data untuk menjaga brankas Anda tetap aman." }, @@ -1669,7 +1690,7 @@ "message": "Informasi Pembayaran" }, "billingInformation": { - "message": "Billing Information" + "message": "Informasi tagihan" }, "creditCard": { "message": "Kartu kredit" @@ -2496,7 +2517,7 @@ } }, "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", + "message": "SSO tidak ditautkan untuk pengguna $ID$.", "placeholders": { "id": { "content": "$1", @@ -2808,7 +2829,7 @@ "message": "Setelah memperbarui kunci enkripsi Anda, Anda diminta untuk keluar dan masuk kembali ke semua aplikasi Bitwarden yang saat ini Anda gunakan (seperti aplikasi seluler atau ekstensi browser). Kegagalan untuk keluar dan masuk kembali (yang mengunduh kunci enkripsi baru Anda) dapat menyebabkan kerusakan data. Kami akan mencoba mengeluarkan Anda secara otomatis, namun, hal itu mungkin tertunda." }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "Ekspor terenkripsi apa pun yang telah Anda simpan juga akan menjadi tidak valid." }, "subscription": { "message": "Langganan" @@ -3320,32 +3341,32 @@ "message": "Tanggal Penghapusan" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "Pengiriman akan dihapus secara permanen pada tanggal dan waktu yang ditentukan.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { "message": "Tanggal habis tempo" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "Jika disetel, akses ke Pengiriman ini akan berakhir pada tanggal dan waktu yang ditentukan.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { "message": "Hitungan Akses Maksimum" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "Jika disetel, pengguna tidak dapat lagi mengakses pengiriman ini setelah jumlah akses maksimum tercapai.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { "message": "Hitungan Akses Saat Ini" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "Secara opsional, minta kata sandi bagi pengguna untuk mengakses Kirim ini.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "Catatan pribadi tentang Send ini.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { @@ -3369,20 +3390,20 @@ "message": "Anda yakin ingin menghapus kata sandi?" }, "disableThisSend": { - "message": "Disable this Send so that no one can access it.", + "message": "Nonaktifkan Pengiriman ini sehingga tidak ada yang dapat mengaksesnya.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { "message": "Semua Dikirim" }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "Jumlah akses maksimum tercapai" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "Penghapusan menunggu keputusan" }, "expired": { - "message": "Expired" + "message": "Kedaluwarsa" }, "searchSends": { "message": "Pencarian Mengirim", @@ -3404,7 +3425,11 @@ "message": "Unduh berkas" }, "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", + "message": "Pengiriman yang Anda coba akses tidak ada atau tidak lagi tersedia.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { @@ -3412,61 +3437,64 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "Akses Darurat" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Berikan dan kelola akses darurat untuk kontak tepercaya. Kontak tepercaya dapat meminta akses ke Lihat atau Ambil alih akun Anda jika terjadi keadaan darurat. Kunjungi halaman bantuan kami untuk informasi lebih lanjut dan detail tentang cara kerja zero knowledge sharing." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" + "message": "Kontak darurat tepercaya" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "Anda belum menambahkan kontak darurat apa pun, undang kontak tepercaya untuk memulai." }, "addEmergencyContact": { - "message": "Add emergency contact" + "message": "Tambahkan kontak darurat" }, "designatedEmergencyContacts": { - "message": "Designated as emergency contact" + "message": "Ditunjuk sebagai kontak darurat" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "Anda belum ditunjuk sebagai kontak darurat untuk siapa pun." }, "inviteEmergencyContact": { - "message": "Invite emergency contact" + "message": "Undang kontak darurat" }, "editEmergencyContact": { - "message": "Edit emergency contact" + "message": "Edit kontak darurat" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "Undang kontak darurat baru dengan memasukkan alamat email akun Bitwarden mereka di bawah ini. Jika mereka belum memiliki akun Bitwarden, mereka akan diminta untuk membuat akun baru." }, "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" + "message": "Akses Darurat Dimulai" }, "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" + "message": "Akses Darurat Disetujui" }, "viewDesc": { - "message": "Can view all items in your own vault." + "message": "Dapat melihat semua item di lemari besi Anda sendiri." }, "takeover": { - "message": "Takeover" + "message": "Pengambilalihan" }, "takeoverDesc": { - "message": "Can reset your account with a new master password." + "message": "Dapat mengatur ulang akun Anda dengan kata sandi utama baru." }, "waitTime": { - "message": "Wait Time" + "message": "Waktu Tunggu" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "Waktu yang diperlukan sebelum memberikan akses secara otomatis." }, "oneDay": { - "message": "1 day" + "message": "1 hari" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$ hari", "placeholders": { "days": { "content": "$1", @@ -3475,16 +3503,16 @@ } }, "invitedUser": { - "message": "Invited user." + "message": "Pengguna yang diundang." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Anda telah diundang menjadi kontak darurat untuk pengguna yang tercantum di atas. Untuk menerima undangan, Anda harus masuk atau membuat akun Bitwarden baru." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "Tidak dapat menerima undangan. Minta pengguna untuk mengirim undangan baru." }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Tidak dapat menerima undangan. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "Anda dapat mengakses opsi darurat untuk pengguna ini setelah identitas Anda dikonfirmasi. Kami akan mengirimi Anda email jika itu terjadi." }, "requestAccess": { - "message": "Request Access" + "message": "Minta Akses" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Anda yakin ingin meminta akses darurat? Anda akan diberi akses setelah $WAITTIME$ hari atau setiap kali pengguna menyetujui permintaan secara manual.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "Akses darurat diminta sebesar $USER$. Kami akan memberi tahu Anda melalui email jika memungkinkan untuk melanjutkan.", "placeholders": { "user": { "content": "$1", @@ -3517,13 +3545,13 @@ } }, "approve": { - "message": "Approve" + "message": "Menyetujui" }, "reject": { - "message": "Reject" + "message": "Menolak" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "Yakin ingin menyetujui akses darurat? Ini akan memungkinkan $USER$ menjadi $ACTION$ akun Anda.", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "Emergency access approved." + "message": "Akses darurat disetujui." }, "emergencyRejected": { - "message": "Emergency access rejected" + "message": "Akses darurat ditolak" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "Setel ulang sandi untuk $USER$. Sekarang Anda dapat masuk menggunakan kata sandi baru.", "placeholders": { "user": { "content": "$1", @@ -3551,19 +3579,37 @@ } }, "personalOwnership": { - "message": "Personal Ownership" + "message": "Kepemilikan Pribadi" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "Wajibkan pengguna untuk menyimpan item vault ke organisasi dengan menghapus opsi kepemilikan pribadi." }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Pemilik dan Administrator Organisasi dibebaskan dari penegakan kebijakan ini." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Karena Kebijakan Perusahaan, Anda dilarang menyimpan item ke lemari besi pribadi Anda. Ubah opsi Kepemilikan ke organisasi dan pilih dari Koleksi yang tersedia." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "Kebijakan yang diubah $ID$.", "placeholders": { "id": { "content": "$1", @@ -3572,61 +3618,149 @@ } }, "planPrice": { - "message": "Plan price" + "message": "Harga paket" }, "estimatedTax": { - "message": "Estimated tax" + "message": "Cukai taksiran" }, "custom": { - "message": "Custom" + "message": "Adat" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "Memungkinkan kontrol yang lebih terperinci atas izin pengguna untuk konfigurasi lanjutan." }, "permissions": { - "message": "Permissions" + "message": "Izin" }, "accessBusinessPortal": { - "message": "Access Business Portal" + "message": "Akses Portal Bisnis" }, "accessEventLogs": { - "message": "Access Event Logs" + "message": "Akses Log Peristiwa" }, "accessImportExport": { - "message": "Access Import/Export" + "message": "Akses Impor / Ekspor" }, "accessReports": { - "message": "Access Reports" + "message": "Akses Laporan" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "Kelola Semua Koleksi" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "Kelola Koleksi yang Ditugaskan" }, "manageGroups": { - "message": "Manage Groups" + "message": "Kelola Grup" }, "managePolicies": { - "message": "Manage Policies" + "message": "Kelola Kebijakan" }, "manageSso": { - "message": "Manage SSO" + "message": "Kelola SSO" }, "manageUsers": { - "message": "Manage Users" + "message": "Kelola Pengguna" }, "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + "message": "Anda harus secara manual menonaktifkan kebijakan Autentikasi Sistem Masuk Tunggal sebelum kebijakan ini dapat dinonaktifkan." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "Kebijakan organisasi memengaruhi opsi kepemilikan Anda." }, "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" + "message": "Nonaktifkan kepemilikan pribadi untuk pengguna organisasi" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "Saat mengakses Send, sembunyikan teks secara default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/it/messages.json b/locales/it/messages.json index e23d242d..7e5030fc 100644 --- a/locales/it/messages.json +++ b/locales/it/messages.json @@ -50,7 +50,7 @@ "message": "Campi Personalizzati" }, "cardholderName": { - "message": "Titolare della Carta" + "message": "Titolare della carta" }, "number": { "message": "Numero" @@ -65,13 +65,13 @@ "message": "Codice di sicurezza (CVV)" }, "identityName": { - "message": "Nome dell'identità" + "message": "Nome identità" }, "company": { "message": "Azienda" }, "ssn": { - "message": "Codice fiscale" + "message": "Numero di previdenza sociale/codice fiscale" }, "passportNumber": { "message": "Numero del passaporto" @@ -143,7 +143,7 @@ "message": "Anno di scadenza" }, "authenticatorKeyTotp": { - "message": "Chiave di Autenticazione (TOTP)" + "message": "Chiave di autenticazione (TOTP)" }, "folder": { "message": "Cartella" @@ -211,10 +211,10 @@ "message": "Mai" }, "toggleVisibility": { - "message": "Mostra / nascondi" + "message": "Mostra/nascondi" }, "toggleCollapse": { - "message": "Comprimi / espandi", + "message": "Comprimi/espandi", "description": "Toggling an expand/collapse state." }, "generatePassword": { @@ -269,14 +269,14 @@ "message": "Cerca tra i preferiti" }, "searchType": { - "message": "Cerca in questo tipo", + "message": "Cerca tipo", "description": "Search item type" }, "searchVault": { "message": "Cerca nella cassaforte" }, "allItems": { - "message": "Tutti gli Elementi" + "message": "Tutti gli elementi" }, "favorites": { "message": "Preferiti" @@ -306,7 +306,7 @@ "message": "Nome" }, "middleName": { - "message": "Secondo Nome" + "message": "Secondo nome" }, "lastName": { "message": "Cognome" @@ -342,10 +342,10 @@ "message": "Seleziona" }, "addItem": { - "message": "Aggiungi Elemento" + "message": "Aggiungi elemento" }, "editItem": { - "message": "Modifica Elemento" + "message": "Modifica elemento" }, "viewItem": { "message": "Visualizza elemento" @@ -419,7 +419,7 @@ "message": "Avvia" }, "newAttachment": { - "message": "Aggiungi allegato" + "message": "Aggiungi nuovo allegato" }, "deletedAttachment": { "message": "Elimina Allegato" @@ -587,7 +587,7 @@ "message": "Si è verificato un errore imprevisto." }, "emailAddress": { - "message": "Indirizzo e-mail" + "message": "Indirizzo email" }, "yourVaultIsLocked": { "message": "La tua cassaforte è bloccata. Verifica la tua password principale per continuare." @@ -696,7 +696,7 @@ "message": "Hai perso l'accesso a tutti i tuoi metodi di verifica in due passaggi? Usa il tuo codice di recupero per disattivare tutti i metodi di verifica sul tuo account." }, "recoveryCodeTitle": { - "message": "Codice di Recupero" + "message": "Codice di recupero" }, "authenticatorAppTitle": { "message": "App di autenticazione" @@ -706,7 +706,7 @@ "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { - "message": "Chiave di Sicurezza YubiKey OTP" + "message": "Chiave di sicurezza YubiKey OTP" }, "yubiKeyDesc": { "message": "Utilizzate una YubiKey per accedere al vostro conto. Funziona con dispositivi YubiKey serie 4, serie 5 e NEO." @@ -747,7 +747,7 @@ "message": "Scegli un'organizzazione con cui desideri condividere questi elementi. La condivisione ne trasferisce la proprietà all'organizzazione. Non sarai più il proprietario diretto di questi elementi una volta condivisi." }, "collectionsDesc": { - "message": "Modifica le raccolte con le quali questo elemento viene condiviso. Solo gli utenti di organizzazioni che hanno accesso a queste collezioni saranno in grado di visualizzare questo elemento." + "message": "Modifica le raccolte con le quali questo elemento viene condiviso. Solo gli utenti di organizzazioni che hanno accesso a queste raccolte saranno in grado di visualizzare questo elemento." }, "deleteSelectedItemsDesc": { "message": "La selezione comprende $COUNT$ elemento/i da eliminare. Sei sicuro di voler procedere con l'eliminazione?", @@ -785,7 +785,7 @@ } }, "verificationCodeTotp": { - "message": "Codice di Verifica (TOTP)" + "message": "Codice di verifica (TOTP)" }, "copyVerificationCode": { "message": "Copia il codice di verifica" @@ -794,19 +794,22 @@ "message": "Attenzione" }, "confirmVaultExport": { - "message": "Conferma esportazione della Cassaforte" + "message": "Conferma esportazione della cassaforte" }, "exportWarningDesc": { - "message": "Questa esportazione contiene i dati della cassaforte in un formato non criptato. Non archiviare o inviare il file esportato su canali non protetti (come la posta elettronica). Eliminalo immediatamente dopo aver finito di usarlo." + "message": "Questa esportazione contiene i dati della tua cassaforte in un formato non criptato. Non salvare o inviare il file esportato su canali non protetti (come la posta elettronica). Eliminalo immediatamente dopo l'utilizzo." }, - "encExportWarningDesc": { - "message": "Questa esportazione cifra i tuoi dati utilizzando la chiave di crittografia del tuo account. Se cambi la chiave di crittografia del tuo account, non sarai più in grado di decifrare il file esportato e sarà necessario eseguire nuovo export." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Inserisci la tua password principale per esportare i dati della tua cassaforte." }, "exportVault": { - "message": "Esporta Cassaforte" + "message": "Esporta cassaforte" }, "fileFormat": { "message": "Formato file" @@ -821,14 +824,14 @@ "message": "Punteggio minimo di complessità" }, "minNumbers": { - "message": "Minimo di Numeri" + "message": "Minimo numeri" }, "minSpecial": { - "message": "Minimo di Speciali", + "message": "Minimo caratteri speciali", "description": "Minimum Special Characters" }, "ambiguous": { - "message": "Evita Caratteri Ambigui" + "message": "Evita caratteri ambigui" }, "regeneratePassword": { "message": "Rigenera password" @@ -863,7 +866,7 @@ "message": "Account aggiornato" }, "changeEmail": { - "message": "Cambia indirizzo Email" + "message": "Cambia indirizzo email" }, "newEmail": { "message": "Nuova Email" @@ -902,10 +905,10 @@ "message": "Password Principale Attuale" }, "newMasterPass": { - "message": "Nuova Password Principale" + "message": "Nuova password principale" }, "confirmNewMasterPass": { - "message": "Conferma Nuova Password Principale" + "message": "Conferma nuova password principale" }, "encKeySettings": { "message": "Impostazioni chiave di crittografia" @@ -1000,9 +1003,24 @@ "importData": { "message": "Importa dati" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "I dati sono stati importati con successo nella tua cassaforte." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "I dati non sono formattati correttamente. Si prega di ricontrollare il file da importare." }, @@ -1138,7 +1156,7 @@ "message": "Abbonamento Premium" }, "premiumRequired": { - "message": "Abbonamento Premium Richiesto" + "message": "Abbonamento Premium richiesto" }, "premiumRequiredDesc": { "message": "Un abbonamento premium è richiesto per utilizzare questa funzionalità." @@ -1364,7 +1382,7 @@ "message": "Login senza 2FA trovato" }, "inactive2faFoundDesc": { - "message": "Abbiamo trovato $COUNT$ sito(i) Web nella tua cassaforte che potrebbero non essere configurati con l'autenticazione a due fattori (secondo 2fa.directory). Per proteggere ulteriormente questi account, è necessario abilitare l'autenticazione a due fattori.", + "message": "Abbiamo trovato $COUNT$ sito(i) Web nella tua cassaforte che potrebbero non essere configurati con l'autenticazione a due fattori (secondo twofactorauth.org). Per proteggere ulteriormente questi account, è necessario abilitare l'autenticazione a due fattori.", "placeholders": { "count": { "content": "$1", @@ -1544,7 +1562,7 @@ "message": "Il credito aggiunto apparirà sul tuo account dopo che il pagamento è stato completamente elaborato. Alcuni metodi di pagamento sono in ritardo e possono richiedere più tempo per il processo rispetto ad altri." }, "makeSureEnoughCredit": { - "message": "Assicurati che il tuo account abbia abbastanza credito disponibile per questo acquisto. Se il tuo account non ha abbastanza credito disponibile, il tuo metodo di pagamento predefinito sul file verrà utilizzato per la differenza. Puoi aggiungere credito al tuo account dalla pagina di fatturazione." + "message": "Assicurati che il tuo account abbia abbastanza credito disponibile per questo acquisto. Se il tuo account non ha abbastanza credito disponibile, il tuo metodo di pagamento predefinito verrà utilizzato per la differenza. Puoi aggiungere credito al tuo account dalla pagina di fatturazione." }, "creditAppliedDesc": { "message": "Il credito del tuo account può essere utilizzato per effettuare acquisti. Ogni credito disponibile verrà automaticamente applicato alle fatture generate per questo account." @@ -1565,8 +1583,11 @@ "premiumSignUpTwoStep": { "message": "Opzioni di verifica in due passaggi addizionali come YubiKey, FIDO U2F, e Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { - "message": "Sicurezza delle password, integrità dell'account, e rapporti sulla violazione dei dati per mantenere sicura la tua cassaforte." + "message": "Sicurezza delle password, integrità dell'account e rapporti sulla violazione dei dati per mantenere sicura la tua cassaforte." }, "premiumSignUpTotp": { "message": "Generatore di codice (2FA) di verifica di TOTP per gli account di accesso nel tuo vault." @@ -1986,7 +2007,7 @@ "message": "Aggiungi e condividi con utenti illimitati" }, "createUnlimitedCollections": { - "message": "Creare raccolte illimitate" + "message": "Crea raccolte illimitate" }, "gbEncryptedFileStorage": { "message": "$SIZE$ di spazio di archiviazione crittografato", @@ -2115,13 +2136,13 @@ "message": "Sola lettura" }, "newCollection": { - "message": "Nuova Raccolta" + "message": "Nuova raccolta" }, "addCollection": { - "message": "Aggiungi Raccolta" + "message": "Aggiungi raccolta" }, "editCollection": { - "message": "Modifica Raccolta" + "message": "Modifica raccolta" }, "deleteCollectionConfirmation": { "message": "Sei sicuro di voler eliminare questa collezione?" @@ -2708,7 +2729,7 @@ "message": "Abbiamo fatto due micro-depositi sul tuo conto bancario (potrebbe richiedere 1-2 giorni lavorativi per presentarsi). Immettere questi importi per verificare il conto bancario." }, "verifyBankAccountInitialDesc": { - "message": "Il pagamento con un conto in banca è disponibile solo per i clienti negli Stati Uniti. Sarà necessario verificare il tuo conto in banca. Faremo due micro-depositi entro i prossimi 1-2 giorni lavorativi. Immettere questi importi nella pagina fatturazione dell'organizzazione per verificare il conto bancario." + "message": "Il pagamento con un conto in banca è disponibile solo per i clienti negli Stati Uniti. Sarà necessario verificare il tuo conto in banca. Faremo due micro-depositi entro i prossimi 1-2 giorni lavorativi. Immettere questi importi nella pagina di fatturazione dell'organizzazione per verificare il conto bancario." }, "verifyBankAccountFailureWarning": { "message": "Mancata verifica del conto in banca si tradurrà in un mancato pagamento e l'abbonamento viene disattivato." @@ -2841,7 +2862,7 @@ "message": "Selezionando la casella accetti quanto segue:" }, "acceptPoliciesError": { - "message": "I Termini di Servizio e l'Informativa sulla Privacy non sono stati accettati." + "message": "I termini di servizio e l'informativa sulla privacy non sono stati accettati." }, "termsOfService": { "message": "Termini del servizio" @@ -2853,7 +2874,7 @@ "message": "Filtri" }, "vaultTimeout": { - "message": "Timeout Cassaforte" + "message": "Timeout cassaforte" }, "vaultTimeoutDesc": { "message": "Scegli quando la tua cassaforte andrà in timeout ed esegui l'azione selezionata." @@ -2884,7 +2905,7 @@ "description": "ex. Date this item was updated" }, "datePasswordUpdated": { - "message": "Password Aggiornata", + "message": "Password aggiornata", "description": "ex. Date this password was updated" }, "organizationIsDisabled": { @@ -2922,10 +2943,10 @@ "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "weakMasterPassword": { - "message": "Password Principale Debole" + "message": "Password principale debole" }, "weakMasterPasswordDesc": { - "message": "La password principale che hai scelto è debole. È necessario utilizzare una password principale avanzata (o una Frase segreta) per proteggere adeguatamente il tuo account Bitwarden. Sei sicuro di voler utilizzare questa password principale?" + "message": "La password principale che hai scelto è debole. È necessario utilizzare una password principale forte (o una passphrase) per proteggere adeguatamente il tuo account Bitwarden. Sei sicuro di voler utilizzare questa password principale?" }, "rotateAccountEncKey": { "message": "Ruota anche la chiave di crittografia del mio account" @@ -2950,15 +2971,15 @@ "message": "Ci sono vecchi file allegati nella tua cassaforte che devono essere corretti prima di poter ruotare la chiave di crittografia del tuo account." }, "yourAccountsFingerprint": { - "message": "Frase dell'impronta digitale del tuo account", + "message": "Frase impronta del tuo account", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "fingerprintEnsureIntegrityVerify": { - "message": "Per garantire l'integrità delle tue chiavi di crittografia, verifica la frase dell'impronta digitale dell'utente prima di continuare.", + "message": "Per garantire l'integrità delle tue chiavi di crittografia, verifica la frase impronta dell'utente prima di continuare.", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "dontAskFingerprintAgain": { - "message": "Non chiedere di verificare di nuovo la frase dell'impronta digitale", + "message": "Non chiedere di verificare di nuovo la frase impronta", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "free": { @@ -2994,7 +3015,7 @@ "message": "Ruota chiave API" }, "selectOneCollection": { - "message": "Devi selezionare almeno una categoria." + "message": "Devi selezionare almeno una raccolta." }, "couldNotChargeCardPayInvoice": { "message": "Non siamo stati in grado di addebitare sulla tua carta. Per favore, visualizza e paga la fattura non pagata presente qui sotto." @@ -3149,7 +3170,7 @@ "message": "Ripristina elemento" }, "restoredItem": { - "message": "Ripristina Elemento" + "message": "Elemento ripristinato" }, "restoredItems": { "message": "Elementi Ripristinati" @@ -3182,7 +3203,7 @@ "message": "La disconnessione rimuove tutti gli accessi alla tua cassaforte e richiede l'autenticazione online dopo il periodo di timeout. Sei sicuro di voler utilizzare questa impostazione?" }, "vaultTimeoutLogOutConfirmationTitle": { - "message": "Conferma Azione di Timeout" + "message": "Conferma azione di timeout" }, "hidePasswords": { "message": "Nascondi Password" @@ -3200,7 +3221,7 @@ "message": "Dati fiscali aggiornati." }, "setMasterPassword": { - "message": "Impostare la password principale" + "message": "Imposta la password principale" }, "ssoCompleteRegistration": { "message": "Per completare il login con SSO, si prega di impostare una password principale per accedere e proteggere la cassaforte." @@ -3215,7 +3236,7 @@ "message": "Accedi usando il portale di accesso Single Sign-On della tua organizzazione. Inserisci l'identificativo della tua organizzazione per iniziare." }, "enterpriseSingleSignOn": { - "message": "Accesso con il portale dell'organizzazione Single Sign-On" + "message": "Accesso con il portale dell'organizzazione (SSO)" }, "ssoHandOff": { "message": "Puoi chiudere questa scheda e continuare nell'estensione." @@ -3407,6 +3428,10 @@ "message": "Il Send a cui stai provando ad accedere non esiste o non è più disponibile.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Non ci sono Sends da elencare.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Concedi e gestisci l'accesso di emergenza per un contatto fidato. I contatti fidati possono richiede di ereditare l'account o accedere in sola lettura in caso di emergenza. Visita la nostra pagina di aiuto per maggiori informazioni e dettagli." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Contatti di emergenza fidati" }, @@ -3499,7 +3527,7 @@ "message": "Richiedi l'accesso" }, "requestAccessConfirmation": { - "message": "Sei sicuro di voler richiedere l'accesso di emergenza? Ti sarà possibile accedere dopo $WAITTIME$ giorno/i o ogniqualvolta l'utente approva la richiesta.", + "message": "Sei sicuro di voler richiedere l'accesso di emergenza? Ti sarà possibile accedere dopo $WAITTIME$ giorno/i o subito, qualora l'utente approvi la richiesta.", "placeholders": { "waittime": { "content": "$1", @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "A causa di una policy aziendale, non è possibile salvare elementi nella tua cassaforte personale. Cambia l'opzione proprietà in un'organizzazione e scegli tra le raccolte disponibili." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Policy modificata $ID$.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Quando si accede al Send, nascondi il testo di default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/ja/messages.json b/locales/ja/messages.json index 00713793..669441e8 100644 --- a/locales/ja/messages.json +++ b/locales/ja/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "このエクスポートデータは暗号化されていない形式の保管庫データを含んでいます。メールなどのセキュリティ保護されていない方法で共有したり保管したりしないでください。使用した後はすぐに削除してください。" }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "保管庫のデータをエクスポートするにはマスターパスワードを入力してください。" }, @@ -1000,9 +1003,24 @@ "importData": { "message": "データをインポート" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "データを保管庫にインポートしました。" }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "データが正しい形式ではありません。インポートするファイルを確認してやり直してください。" }, @@ -1364,7 +1382,7 @@ "message": "二段階認証を利用していないアイテムが見つかりました" }, "inactive2faFoundDesc": { - "message": "保管庫内に二段階認証(ウェブサイトが対応しているかは2fa.directoryによる情報)が設定されていない可能性がある$COUNT$個のウェブサイトが見つかりました。これらのアカウントをよりセキュアにするため、二段階認証を有効化すべきです。", + "message": "保管庫内に二段階認証(ウェブサイトが対応しているかはtwofactorauth.orgによる情報)が設定されていない可能性がある$COUNT$個のウェブサイトが見つかりました。これらのアカウントをよりセキュアにするため、二段階認証を有効化すべきです。", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "YubiKey、FIDO U2F、Duoなどの追加の2段階認証ログインオプション" }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "保管庫を安全に保つための、パスワードやアカウントの健全性、データ侵害に関するレポート" }, @@ -3352,7 +3373,7 @@ "message": "Disabled" }, "sendLink": { - "message": "Send Link", + "message": "Send link", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/ko/messages.json b/locales/ko/messages.json index dc7d1107..27f8120d 100644 --- a/locales/ko/messages.json +++ b/locales/ko/messages.json @@ -348,7 +348,7 @@ "message": "항목 편집" }, "viewItem": { - "message": "View Item" + "message": "항목 보기" }, "ex": { "message": "예)", @@ -464,7 +464,7 @@ "message": "첨부 파일 삭제" }, "deleteItemConfirmation": { - "message": "정말 이 항목을 삭제하시겠습니까?" + "message": "정말로 휴지통으로 이동시킬까요?" }, "deletedItem": { "message": "항목 삭제함" @@ -794,14 +794,17 @@ "message": "경고" }, "confirmVaultExport": { - "message": "Confirm Vault Export" + "message": "보관함 내보내기 확인" }, "exportWarningDesc": { "message": "내보내기는 보관함 데이터가 암호화되지 않은 형식으로 포함됩니다. 내보낸 파일을 안전하지 않은 채널(예: 이메일)을 통해 저장하거나 보내지 마십시오. 사용이 끝난 후에는 즉시 삭제하십시오." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "보관함 데이터를 내보내려면 마스터 비밀번호를 입력하세요." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "데이터 가져오기" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "데이터를 보관함으로 성공적으로 불러왔습니다." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "데이터의 포맷이 올바르지 않습니다. 불러올 파일을 확인하고 다시 시도해 주십시오." }, @@ -1364,7 +1382,7 @@ "message": "2단계 인증이 없는 로그인이 발견됨" }, "inactive2faFoundDesc": { - "message": "보관함에 (2fa.directory에 따른) 2단계 인증이 설정되지 않은 웹 사이트를 $COUNT$개 발견했습니다. 이러한 계정을 더욱 보호하려면 2단계 인증을 사용하십시오.", + "message": "보관함에 (twofactorauth.org에 따른) 2단계 인증이 설정되지 않은 웹 사이트를 $COUNT$개 발견했습니다. 이러한 계정을 더욱 보호하려면 2단계 인증을 사용하십시오.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "YubiKey나 FIDO U2F, Duo 등의 추가적인 2단계 인증 옵션." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "보관함을 안전하게 유지하기 위한 암호 위생, 계정 상태, 데이터 유출 보고서" }, @@ -1669,7 +1690,7 @@ "message": "결제 정보" }, "billingInformation": { - "message": "Billing Information" + "message": "결제 정보" }, "creditCard": { "message": "신용카드" @@ -2388,7 +2409,7 @@ } }, "editedPolicyId": { - "message": "정책 $ID$을/를 수정했습니다.", + "message": "$ID$ 정책을 편집했습니다.", "placeholders": { "id": { "content": "$1", @@ -2496,7 +2517,7 @@ } }, "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", + "message": "$ID$ 사용자에 대한 SSO 연결이 해제되었습니다.", "placeholders": { "id": { "content": "$1", @@ -2808,7 +2829,7 @@ "message": "암호화 키를 업데이트하고난 후 현재 사용 중인 모든 Bitwarden 애플리케이션(예. 모바일 앱 혹은 브라우저 확장 기능)에서 로그아웃 후 다시 로그인해야 합니다. 재로그인하지 않으면 (새 암호화 키를 다운로드받는 경우) 데이터 손실이 발생할 수 있습니다. 자동으로 로그아웃을 시도하지만 지연될 수 있습니다." }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "이전에 암호화 상태로 내보내기하여 저장한 데이터도 무효화됩니다." }, "subscription": { "message": "구독" @@ -3221,7 +3242,7 @@ "message": "이제 이 탭을 닫고 확장 프로그램에서 계속 진행하셔도 됩니다." }, "businessPortal": { - "message": "비즈니스 포탈", + "message": "비즈니스 포털", "description": "The web portal used by business organizations for configuring certain features." }, "includeAllTeamsFeatures": { @@ -3246,7 +3267,7 @@ "message": "SSO 연결" }, "webPoliciesDeprecationWarning": { - "message": "정책 설정이 이동되었으며 이 페이지는 곧 지원이 종료될 예정입니다. 아래를 클릭해서 Business Portal 정책 페이지를 사용해주세요." + "message": "정책 설정이 이동되었으며 이 페이지는 곧 지원이 종료될 예정입니다. 아래를 클릭해서 비즈니스 포털 정책 페이지를 사용해주세요." }, "singleOrg": { "message": "통합 조직" @@ -3320,32 +3341,32 @@ "message": "삭제일" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "이 Send가 정해진 일시에 영구적으로 삭제됩니다.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { "message": "만료일" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "설정할 경우, 이 Send에 대한 접근 권한이 정해진 일시에 만료됩니다.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { "message": "최대 접근 횟수" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "설정할 경우, 최대 접근 횟수에 도달할 때 이 Send에 접근할 수 없게 됩니다.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { "message": "현재 접근 횟수" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "이 Send에 접근하기 위해 암호를 입력하도록 선택적으로 요구합니다.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "이 Send에 대한 비공개 메모", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { @@ -3369,20 +3390,20 @@ "message": "비밀번호를 제거하시겠습니까?" }, "disableThisSend": { - "message": "Disable this Send so that no one can access it.", + "message": "이 Send를 비활성화하여 아무도 접근할 수 없게 합니다.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { "message": "모든 Send" }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "최대 접근 횟수 도달" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "삭제 대기 중" }, "expired": { - "message": "Expired" + "message": "만료됨" }, "searchSends": { "message": "Send 검색", @@ -3404,7 +3425,11 @@ "message": "파일 다운로드" }, "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", + "message": "접근하려고 하는 Send가 존재하지 않거나 더이상 제공되지 않습니다.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { @@ -3412,61 +3437,64 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "긴급 접근" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "신뢰할 수 있는 연락처에 긴급 접근 권한을 부여하고 관리합니다. 신뢰할 수 있는 연락처는 보관함 내용을 보거나 계정을 넘겨받기 위해 권한을 요청할 수도 있습니다. 도움말 페이지를 방문하여 영지식 증명을 통한 공유의 작동 방식에 대해 더 자세히 알아보세요." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" + "message": "신뢰할 수 있는 긴급 연락처" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "아직 긴급 연락처를 추가하지 않으셨습니다. 시작하려면 신뢰할 수 있는 연락처를 초대하십시오." }, "addEmergencyContact": { - "message": "Add emergency contact" + "message": "긴급 연락처 추가" }, "designatedEmergencyContacts": { - "message": "Designated as emergency contact" + "message": "긴급 연락처로 지정됨" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "아직 당신을 긴급 연락처로 지정한 사람이 없습니다." }, "inviteEmergencyContact": { - "message": "Invite emergency contact" + "message": "긴급 연락처 초대" }, "editEmergencyContact": { - "message": "Edit emergency contact" + "message": "긴급 연락처 편집" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "긴급 연락처로 초대하고자 하는 사람의 Bitwarden 계정 이메일 주소를 아래에 입력하십시오. 초대받는 사람이 Bitwarden 계정을 가지고 있지 않은 경우에는 새로운 계정을 만들라는 메시지가 표시될 것입니다." }, "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" + "message": "긴급 접근 시작됨" }, "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" + "message": "긴급 접근 승인됨" }, "viewDesc": { - "message": "Can view all items in your own vault." + "message": "보관함의 모든 항목을 볼 수 있습니다." }, "takeover": { - "message": "Takeover" + "message": "넘겨받기" }, "takeoverDesc": { - "message": "Can reset your account with a new master password." + "message": "새로운 마스터 비밀번호를 만들어 계정을 재설정할 수 있습니다." }, "waitTime": { - "message": "Wait Time" + "message": "대기 시간" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "자동으로 접근 권한을 부여하기까지 필요한 시간." }, "oneDay": { - "message": "1 day" + "message": "1일" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$일", "placeholders": { "days": { "content": "$1", @@ -3475,16 +3503,16 @@ } }, "invitedUser": { - "message": "Invited user." + "message": "사용자를 초대했습니다." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "위에 표시된 사용자가 자신의 긴급 연락처에 당신을 초대했습니다. 이 초대를 수락하기 위해서는 로그인하거나 새로운 Bitwarden 계정을 만들어야 합니다." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "초대를 수락할 수 없습니다. 해당 사용자에게 새 초대장을 보내도록 요청하십시오." }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "초대를 수락할 수 없습니다. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "이 사용자가 당신의 신원을 확인하면 이 사용자에 대한 긴급 설정에 접근할 수 있게 됩니다. 확인이 진행되면 이메일을 보내드리겠습니다." }, "requestAccess": { - "message": "Request Access" + "message": "접근 요청" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "정말 긴급 접근을 요청하시겠습니까? $WAITTIME$일 후 혹은 해당 사용자가 직접 이 요청을 수락할 때 접근할 수 있게 됩니다.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "$USER$에 대한 긴급 접근을 요청했습니다. 다음 단계로 진행할 수 있을 때 이메일로 알려드리겠습니다.", "placeholders": { "user": { "content": "$1", @@ -3517,13 +3545,13 @@ } }, "approve": { - "message": "Approve" + "message": "승인" }, "reject": { - "message": "Reject" + "message": "거절" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "정말 긴급 접근을 승인하시겠습니까? 승인하는 경우 $USER$ 사용자가 이 계정에 다음의 동작을 수행할 수 있습니다: $ACTION$", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "Emergency access approved." + "message": "긴급 접근 승인됨." }, "emergencyRejected": { - "message": "Emergency access rejected" + "message": "긴급 접근 거절됨." }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "$USER$ 사용자의 비밀번호가 초기화되었습니다. 이제 새로운 비밀번호로 로그인할 수 있습니다.", "placeholders": { "user": { "content": "$1", @@ -3551,19 +3579,37 @@ } }, "personalOwnership": { - "message": "Personal Ownership" + "message": "개인 소유권" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "개인 소유권 옵션을 해제함으로써 보관함의 항목을 조직에 저장하도록 사용자에게 요청합니다." }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "조직 소유자와 관리자는 이 정책을 적용받지 않습니다." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "엔터프라이즈 정책으로 인해 개인 보관함에 항목을 저장할 수 없습니다. 조직에서 소유권 설정을 변경한 다음, 사용 가능한 컬렉션 중에서 선택해주세요." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "$ID$ 정책을 편집했습니다.", "placeholders": { "id": { "content": "$1", @@ -3572,61 +3618,149 @@ } }, "planPrice": { - "message": "Plan price" + "message": "요금제 가격" }, "estimatedTax": { - "message": "Estimated tax" + "message": "예상 세금" }, "custom": { - "message": "Custom" + "message": "사용자 지정" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "고급 설정을 위해 더욱 세분화된 사용자 권한 설정을 활성화합니다." }, "permissions": { - "message": "Permissions" + "message": "권한" }, "accessBusinessPortal": { - "message": "Access Business Portal" + "message": "비즈니스 포털 접근" }, "accessEventLogs": { - "message": "Access Event Logs" + "message": "이벤트 로그 접근" }, "accessImportExport": { - "message": "Access Import/Export" + "message": "가져오기/내보내기 접근" }, "accessReports": { - "message": "Access Reports" + "message": "보고서 접근" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "모든 컬렉션 관리" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "할당된 컬렉션 관리" }, "manageGroups": { - "message": "Manage Groups" + "message": "그룹 관리" }, "managePolicies": { - "message": "Manage Policies" + "message": "정책 관리" }, "manageSso": { - "message": "Manage SSO" + "message": "SSO 관리" }, "manageUsers": { - "message": "Manage Users" + "message": "사용자 관리" }, "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + "message": "이 정책을 비활성화하려면 먼저 SSO 인증 정책을 수동으로 비활성화해야 합니다." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "조직의 정책이 소유권 설정에 영향을 미치고 있습니다." }, "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" + "message": "조직 사용자의 개인 소유권 비활성화" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "Send에 접근할 때 기본적으로 텍스트를 숨김", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/lv/messages.json b/locales/lv/messages.json index 86d470af..6eda86e2 100644 --- a/locales/lv/messages.json +++ b/locales/lv/messages.json @@ -1,6 +1,6 @@ { "pageTitle": { - "message": "$APP_NAME$ Tīmekļa Seifs", + "message": "$APP_NAME$ tīmekļa glabātava", "description": "The title of the website in the browser window.", "placeholders": { "app_name": { @@ -10,7 +10,7 @@ } }, "whatTypeOfItem": { - "message": "Kāda veida vienums ir šis?" + "message": "Kāda veida vienums tas ir?" }, "name": { "message": "Nosaukums" @@ -41,16 +41,16 @@ "message": "Jauna parole" }, "passphrase": { - "message": "Paroles frāze" + "message": "Paroles vārdkopa" }, "notes": { "message": "Piezīmes" }, "customFields": { - "message": "Pielāgotie Lauki" + "message": "Pielāgoti lauki" }, "cardholderName": { - "message": "Kartes Īpašnieka Vārds" + "message": "Kartes īpašnieka vārds" }, "number": { "message": "Numurs" @@ -62,22 +62,22 @@ "message": "Derīgums" }, "securityCode": { - "message": "Drošības Kods (CVV)" + "message": "Drošības kods (CVV)" }, "identityName": { - "message": "Identitātes Nosaukums" + "message": "Identitātes nosaukums" }, "company": { "message": "Uzņēmums" }, "ssn": { - "message": "Personas Kods" + "message": "Personas kods" }, "passportNumber": { - "message": "Pases Numurs" + "message": "Pases numurs" }, "licenseNumber": { - "message": "Vadītāja Apliecības Numurs" + "message": "Autovadītāja apliecības numurs" }, "email": { "message": "E-pasts" @@ -122,7 +122,7 @@ "message": "Decembris" }, "title": { - "message": "Tituls" + "message": "Uzruna" }, "mr": { "message": "K-gs" @@ -134,28 +134,28 @@ "message": "Jk-dze" }, "dr": { - "message": "Dr" + "message": "Dr." }, "expirationMonth": { - "message": "Derīguma Mēnesis" + "message": "Derīguma mēnesis" }, "expirationYear": { - "message": "Derīguma Gads" + "message": "Derīguma gads" }, "authenticatorKeyTotp": { - "message": "Autentifikatora Kods (TOTP)" + "message": "Autentificētāja atslēga (TOTP)" }, "folder": { "message": "Mape" }, "newCustomField": { - "message": "Jauns Pielāgotais Lauks" + "message": "Jauns pielāgotais lauks" }, "value": { "message": "Vērtība" }, "dragToSort": { - "message": "Velc lai kārtotu" + "message": "Vilkt, lai kārtotu" }, "cfTypeText": { "message": "Teksts" @@ -164,67 +164,67 @@ "message": "Paslēpts" }, "cfTypeBoolean": { - "message": "Būla" + "message": "Patiesuma vērtība" }, "remove": { "message": "Noņemt" }, "unassigned": { - "message": "Nav Piešķirts" + "message": "Nav piešķirts" }, "noneFolder": { - "message": "Nav Mapes", + "message": "Nav mapes", "description": "This is the folder for uncategorized items" }, "addFolder": { - "message": "Pievienot Mapi" + "message": "Pievienot mapi" }, "editFolder": { - "message": "Rediģēt Mapi" + "message": "Labot mapi" }, "baseDomain": { - "message": "Galvenais domēns" + "message": "Pamata domēns" }, "host": { - "message": "Serveris", + "message": "Saimniekdators", "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." }, "exact": { - "message": "Precīzs" + "message": "Tiešs" }, "startsWith": { "message": "Sākas ar" }, "regEx": { - "message": "Regulāra izteiksme", + "message": "Regulārā izteiksme", "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Atbilstības Noteikšana", + "message": "Atbilstības noteikšana", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Noklusētā atbilstības noteikšana", + "message": "Noklusējuma atbilstības noteikšana", "description": "Default URI match detection for auto-fill." }, "never": { "message": "Nekad" }, "toggleVisibility": { - "message": "Pārslēgt Redzamību" + "message": "Pārslēgt redzamību" }, "toggleCollapse": { - "message": "Pārslēgt Sakļaušanu", + "message": "Pārslēgt sakļaušanu", "description": "Toggling an expand/collapse state." }, "generatePassword": { - "message": "Ģenerēt Paroli" + "message": "Veidot paroli" }, "checkPassword": { - "message": "Pārbaudi vai parole ir tikusi nopludināta." + "message": "Pārbaudīt, vai parole ir bijusi nopludināta." }, "passwordExposed": { - "message": "Šī paroli ir bijusi nopludināta $VALUE$ reizi(-es) datu noplūdēs. To vajadzētu nomainīt.", + "message": "Šī parole datu pārkāpumos ir atklāta $VALUE$ reizi(es). To vajag mainīt.", "placeholders": { "value": { "content": "$1", @@ -233,7 +233,7 @@ } }, "passwordSafe": { - "message": "Šī parole netika atrasta zināmās datu noplūdēs. Tai vajadzētu būt drošai priekš lietošanas." + "message": "Šī parole netika atrasta nevienā no zināmajiem datu pārkāpumiem. Tai vajadzētu būt droši izmantojamai." }, "save": { "message": "Saglabāt" @@ -251,62 +251,62 @@ "message": "Dzēst" }, "favorite": { - "message": "Favorīts" + "message": "Izlasē" }, "unfavorite": { - "message": "Noņemt Favorītu" + "message": "Izņemt no izlases" }, "edit": { - "message": "Rediģēt" + "message": "Labot" }, "searchCollection": { - "message": "Meklēt Kolekcijā" + "message": "Meklēt krājumā" }, "searchFolder": { - "message": "Meklēt Mapē" + "message": "Meklēt mapē" }, "searchFavorites": { - "message": "Meklēt Favorītos" + "message": "Meklēt izlasē" }, "searchType": { - "message": "Meklēšanas Veids", + "message": "Meklēt veidu", "description": "Search item type" }, "searchVault": { - "message": "Meklēt Seifā" + "message": "Meklēt glabātavā" }, "allItems": { - "message": "Visi Vienumi" + "message": "Visi vienumi" }, "favorites": { - "message": "Favorīti" + "message": "Izlase" }, "types": { "message": "Veidi" }, "typeLogin": { - "message": "Pieteikties" + "message": "Pierakstīšanās vienums" }, "typeCard": { - "message": "Kartes" + "message": "Karte" }, "typeIdentity": { - "message": "Identitātes" + "message": "Identitāte" }, "typeSecureNote": { - "message": "Droša Piezīme" + "message": "Droša piezīme" }, "folders": { "message": "Mapes" }, "collections": { - "message": "Kolekcijas" + "message": "Krājumi" }, "firstName": { "message": "Vārds" }, "middleName": { - "message": "Otrais Vārds" + "message": "Citi vārdi" }, "lastName": { "message": "Uzvārds" @@ -321,19 +321,19 @@ "message": "Adrese 3" }, "cityTown": { - "message": "Pilsēta / Ciems" + "message": "Pilsēta / ciems" }, "stateProvince": { - "message": "Reģions / Pagasts" + "message": "Novads / pagasts" }, "zipPostalCode": { - "message": "Pasta / Zip Indekss" + "message": "Pasta indekss" }, "country": { "message": "Valsts" }, "shared": { - "message": "Koplietoti" + "message": "Kopīgots" }, "attachments": { "message": "Pielikumi" @@ -342,13 +342,13 @@ "message": "Atlasīt" }, "addItem": { - "message": "Pievienot Vienumu" + "message": "Pievienot vienumu" }, "editItem": { - "message": "Rediģēt Vienumu" + "message": "Labot vienumu" }, "viewItem": { - "message": "View Item" + "message": "Skatīt vienumu" }, "ex": { "message": "piem.", @@ -358,10 +358,10 @@ "message": "Cits" }, "share": { - "message": "Koplietot" + "message": "Kopīgot" }, "valueCopied": { - "message": "$VALUE$ nokopēta", + "message": "$VALUE$ ievietota starpliktuvē", "description": "Value has been copied to the clipboard.", "placeholders": { "value": { @@ -371,136 +371,136 @@ } }, "copyValue": { - "message": "Kopēt Vērtību", + "message": "Ievietot vērtību starpliktuvē", "description": "Copy value to clipboard" }, "copyPassword": { - "message": "Kopēt Paroli", + "message": "Ievietot paroli starpliktuvē", "description": "Copy password to clipboard" }, "copyUsername": { - "message": "Kopēt Lietotājvārdu", + "message": "Ievietot lietotājvārdu starpliktuvē", "description": "Copy username to clipboard" }, "copyNumber": { - "message": "Kopēt Numuru", + "message": "Ievietot numuru starpliktuvē", "description": "Copy credit card number" }, "copySecurityCode": { - "message": "Kopēt Drošības Kodu", + "message": "Ievietot drošības kodu starpliktuvē", "description": "Copy credit card security code (CVV)" }, "copyUri": { - "message": "Kopēt Vietrādi", + "message": "Ievietot URI starpliktuvē", "description": "Copy URI to clipboard" }, "myVault": { - "message": "Mans Seifs" + "message": "Mana glabātava" }, "vault": { - "message": "Seifs" + "message": "Glabātava" }, "shareSelected": { - "message": "Koplietot Atlasītos" + "message": "Kopīgot atlasītos" }, "deleteSelected": { - "message": "Dzēst Atlasītos" + "message": "Izdzēst atlasītos" }, "moveSelected": { - "message": "Pārvietot Atlasītos" + "message": "Pārvietot atlasītos" }, "selectAll": { - "message": "Atlasīt Visu" + "message": "Atlasīt visu" }, "unselectAll": { - "message": "Noņemt Atlasi" + "message": "Noņemt atlasi" }, "launch": { "message": "Palaist" }, "newAttachment": { - "message": "Pievienot Jaunu Pielikumu" + "message": "Pievienot jaunu pielikumu" }, "deletedAttachment": { - "message": "Izdzēsa pielikumu" + "message": "Pielikums izdzēsts" }, "deleteAttachmentConfirmation": { - "message": "Vai tiešām vēlaties izdzēst šo pielikumu?" + "message": "Vai tiešām izdzēst šo pielikumu?" }, "attachmentSaved": { "message": "Pielikums tika saglabāts." }, "file": { - "message": "Fails" + "message": "Datne" }, "selectFile": { - "message": "Izvēlieties failu." + "message": "Atlasīt datni." }, "maxFileSize": { - "message": "Maksimālais faila lielums ir 100 MB." + "message": "Lielākais pieļaujamais datnes izmērs ir 100 MB." }, "updateKey": { - "message": "Jūs nevarat izmantot šo funkciju līdz jūs atjaunojat savu šifrēšanas atslēgu." + "message": "Šo iespēju nevar izmantot, kamēr nav atjaunināta šifrēšanas atslēga." }, "addedItem": { - "message": "Pievienoja vienumu" + "message": "Vienums pievienots" }, "editedItem": { - "message": "Rediģēja vienumu" + "message": "Vienums labots" }, "sharedItem": { - "message": "Koplietoja vienumu" + "message": "Vienums kopīgots" }, "sharedItems": { - "message": "Koplietoja vienumus" + "message": "Vienumi kopīgoti" }, "deleteItem": { - "message": "Dzēst Vienumu" + "message": "Izdzēst vienumu" }, "deleteFolder": { - "message": "Dzēst Mapi" + "message": "Izdzēst mapi" }, "deleteAttachment": { - "message": "Dzēst Pielikumu" + "message": "Izdzēst pielikumu" }, "deleteItemConfirmation": { - "message": "Vai tiešām vēlaties dzēst šo vienumu?" + "message": "Vai tiešām pārvietot uz atkritni?" }, "deletedItem": { - "message": "Vienums pārvietots uz miskasti" + "message": "Vienums pārvietots uz atkritni" }, "deletedItems": { - "message": "Vienumi pārvietoti uz miskasti" + "message": "Vienumi pārvietoti uz atkritni" }, "movedItems": { - "message": "Pārvietoja vienumus" + "message": "Vienumi pārvietoti" }, "overwritePasswordConfirmation": { - "message": "Vai tiešām vēlies pārrakstīt esošo paroli?" + "message": "Vai tiešām pārrakstīt esošo paroli?" }, "editedFolder": { - "message": "Rediģēja mapi" + "message": "Mape labota" }, "addedFolder": { - "message": "Pievienoja mapi" + "message": "Mape pievienota" }, "deleteFolderConfirmation": { - "message": "Vai tiešām vēlaties izdzēst šo mapi?" + "message": "Vai tiešām izdzēst šo mapi?" }, "deletedFolder": { - "message": "Izdzēsa mapi" + "message": "Mape izdzēsta" }, "loggedOut": { - "message": "Izgāja" + "message": "Izrakstījies" }, "loginExpired": { - "message": "Jūsu piekļuves sesija ir beigusies." + "message": "Pierakstīšanās sesija ir beigusies." }, "logOutConfirmation": { - "message": "Vai tiešām vēlies izrakstīties?" + "message": "Vai tiešām izrakstīties?" }, "logOut": { - "message": "Iziet" + "message": "Izrakstīties" }, "ok": { "message": "Labi" @@ -512,91 +512,91 @@ "message": "Nē" }, "loginOrCreateNewAccount": { - "message": "Ieej vai izveido jaunu kontu lai piekļūtu savam drošajam seifam." + "message": "Pieraksties vai izveido jaunu kontu, lai piekļūtu drošajai glabātavai!" }, "createAccount": { - "message": "Izveidot Kontu" + "message": "Izveidot kontu" }, "logIn": { - "message": "Ieiet" + "message": "Pierakstīties" }, "submit": { "message": "Iesniegt" }, "emailAddressDesc": { - "message": "Jūs izmantosiet savu e-pasta adresi lai ieietu." + "message": "E-pasta adrese būs jāizmanto, lai pierakstītos." }, "yourName": { - "message": "Jūsu Vārds" + "message": "Vārds" }, "yourNameDesc": { - "message": "Kā mums tevi saukt?" + "message": "Kā mums Tevi uzrunāt?" }, "masterPass": { - "message": "Galvenā Parole" + "message": "Galvenā parole" }, "masterPassDesc": { - "message": "Galvenā parole ir parole, ko jūs izmantosiet lai piekļūtu savam seifam. Ir ļoti svarīgi lai Jūs savu galveno paroli neaizmirstu, jo to nav iespējams atgūt aizmiršanas gadījumā." + "message": "Galvenā parole ir parole, kas tiek izmantota, lai piekļūtu glabātavai. Ir ļoti svarīgi, ka tā netiek aizmirsta, jo tādā gadījumā to nav iespējams atgūt." }, "masterPassHintDesc": { - "message": "Galvenās paroles atgādinājums var palīdzēt jums atcerēties savu paroli ja jūs to aizmirstiet." + "message": "Galvenās paroles norāde var palīdzēt atcerēties paroli, ja tā ir aizmirsta." }, "reTypeMasterPass": { - "message": "Atkārtoti Ievadiet Galveno Paroli" + "message": "Atkārtoti ievadīt galveno paroli" }, "masterPassHint": { - "message": "Galvenās Paroles Atgādinājums (neobligāts)" + "message": "Galvenās paroles norāde (nav nepieciešama)" }, "masterPassHintLabel": { - "message": "Galvenās Paroles Atgādinājums" + "message": "Galvenās paroles norāde" }, "settings": { "message": "Iestatījumi" }, "passwordHint": { - "message": "Paroles Atgādinājums" + "message": "Paroles norāde" }, "enterEmailToGetHint": { - "message": "Ievadi sava konta e-pasta adresi lai saņemtu savas galvenās paroles atgādinājumu." + "message": "Norādīt konta e-pasta adresi, lai saņemtu galvenās paroles norādi." }, "getMasterPasswordHint": { - "message": "Saņemt galvenās paroles atgādinājumu" + "message": "Saņemt galvenās paroles norādi" }, "emailRequired": { - "message": "E-pasta adrese ir nepieciešama." + "message": "Ir jānorāda e-pasta adrese." }, "invalidEmail": { "message": "Nederīga e-pasta adrese." }, "masterPassRequired": { - "message": "Galvenā parole ir nepieciešama." + "message": "Ir jānorāda galvenā parole." }, "masterPassLength": { - "message": "Galvenai parolei ir jābūt vismaz 8 rakstzīmju garai." + "message": "Galvenajai parolei ir jābūt vismaz 8 rakstzīmes garai." }, "masterPassDoesntMatch": { "message": "Galvenās paroles apstiprinājums nesakrīt." }, "newAccountCreated": { - "message": "Jūsu jaunais konts ir izveidots! Jūs varat tagad ieiet." + "message": "Tavs jaunais konts ir izveidots. Tagad Tu vari pierakstīties." }, "masterPassSent": { - "message": "Mēs esam nosūtījuši jums E-pastu ar galvenās paroles atgādinājumu." + "message": "Galvenās paroles norāde ir nosūtīta e-pastā." }, "unexpectedError": { "message": "Ir radusies neparedzēta kļūda." }, "emailAddress": { - "message": "E-pasta Adrese" + "message": "E-pasta adrese" }, "yourVaultIsLocked": { - "message": "Jūsu seifs ir slēgts. Ievadiet savu galveno paroli lai turpinātu." + "message": "Glabātava ir slēgta. Nepieciešams norādīt galveno paroli, lai turpinātu." }, "unlock": { "message": "Atslēgt" }, "loggedInAsEmailOn": { - "message": "Iegāja kā $EMAIL$ iekš $HOSTNAME$.", + "message": "Pierakstījies $HOSTNAME$ kā $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -612,31 +612,31 @@ "message": "Nederīga galvenā parole" }, "lockNow": { - "message": "Aizslēgt Tagad" + "message": "Aizslēgt" }, "noItemsInList": { - "message": "Nav vienumu ko parādīt." + "message": "Nav vienumu, ko parādīt." }, "noCollectionsInList": { - "message": "Nav kolekciju ko parādīt." + "message": "Nav krājumu, ko parādīt." }, "noGroupsInList": { - "message": "Nav grupu ko parādīt." + "message": "Nav kopu, ko parādīt." }, "noUsersInList": { - "message": "Nav lietotāju ko parādīt." + "message": "Nav lietotāju, ko parādīt." }, "noEventsInList": { - "message": "Nav notikumu ko parādīt." + "message": "Nav notikumu, ko parādīt." }, "newOrganization": { - "message": "Jauna Organizācija" + "message": "Jauna apvienība" }, "noOrganizationsList": { - "message": "Jūs nepiederat pie nevienas organizācijas. Organizācijas ļauj droši koplietot vienumus ar citiem lietotājiem." + "message": "Tu neesi iekļauts nevienā apvienībā. Apvienības sniedz iespēju droši kopīgot vienumus ar citiem lietotājiem." }, "versionNumber": { - "message": "Versija $VERSION_NUMBER$", + "message": "Laidiens $VERSION_NUMBER$", "placeholders": { "version_number": { "content": "$1", @@ -645,10 +645,10 @@ } }, "enterVerificationCodeApp": { - "message": "Ievadiet 6 skaitļu verifikācijas kodu no savas autentifikātora lietotnes." + "message": "Ievadi 6 ciparu apstiprinājuma kodu no autentificētāja lietotnes!" }, "enterVerificationCodeEmail": { - "message": "Ievadiet 6 skaitļu verifikācijas kodu, kas tika nosūtīts $EMAIL$.", + "message": "Ievadi 6 ciparu apstiprinājuma kodu, kas tika nosūtīts uz $EMAIL$!", "placeholders": { "email": { "content": "$1", @@ -657,7 +657,7 @@ } }, "verificationCodeEmailSent": { - "message": "Verifikācijas e-pasts nosūtīts uz $EMAIL$.", + "message": "E-pasts apstiprināšanai nosūtīts uz $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -669,88 +669,88 @@ "message": "Atcerēties mani" }, "sendVerificationCodeEmailAgain": { - "message": "Nosūtīt verifikācijas kodu atkārtoti" + "message": "Atkārtoti nosūtīt apstiprinājuma kodu" }, "useAnotherTwoStepMethod": { - "message": "Izmantot citu divpakāpju ieejas metodi" + "message": "Izmantot citu divpakāpju pierakstīšanās veidu" }, "insertYubiKey": { - "message": "Ievieto savu YubiKey datora USB ligzdā un pieskaries tā pogai." + "message": "Ievieto savu YubiKey datora USB ligzdā un pieskaries tā pogai!" }, "insertU2f": { - "message": "Ievieto savu drošības atslēgu datora USB ligzdā. Ja tai ir poga, pieskaries tai." + "message": "Ievieto savu drošības atslēgu datora USB ligzdā! Ja tai ir poga, pieskaries tai!" }, "loginUnavailable": { - "message": "Ieeja Nepieejama" + "message": "Pierakstīšanās nav pieejama" }, "noTwoStepProviders": { - "message": "Šim kontam ir iespējota divpakāpju piekļuve, bet šis pārlūks neatbalsta nevienu no uzstādītajiem divpakāpju verifikācijas nodrošinātājiem." + "message": "Šim kontam ir iespējota divpakāpju pierakstīšanās, bet šajā pārlūkā netiek atbalstīts neviens no uzstādītajiem divpakāpju pārbaudes nodrošinātājiem." }, "noTwoStepProviders2": { - "message": "Lūdzu izmantojiet atbalstītu tīmekļa pārlūku (piemēram Chrome) un/vai pievienojiet papildus nodrošinātājus kas ir labāk atbalstīti visos pārlūkos (piemēram autentifikatora lietotni)." + "message": "Lūgums izmantot atbalstītu tīmekļa pārlūku (piemēram Chrome) un/vai pievienot papildus nodrošinātājus, kas tiek labāk atbalstīti dažādos pārlūkos (piemēram autentificētāja lietotni)." }, "twoStepOptions": { - "message": "Divpakāpju Piekļuves Iestatījumi" + "message": "Divpakāpju pierakstīšanās iespējas" }, "recoveryCodeDesc": { - "message": "Zaudēji piekļuvi visiem divpakāpju nodrošinātājiem? Izmanto atjaunošanas kodus lai atspējotu visus divpakāpju nodrošinātājus no sava konta." + "message": "Zaudēta piekļuve visiem divpakāpju nodrošinātājiem? Izmanto atkopšanas kodus, lai atspējotu visus sava konta divpakāpju nodrošinātājus!" }, "recoveryCodeTitle": { - "message": "Atjaunošanas Kods" + "message": "Atgūšanas kods" }, "authenticatorAppTitle": { - "message": "Autentifikātora Lietotne" + "message": "Autentificētāja lietotne" }, "authenticatorAppDesc": { - "message": "Izmanto autentifikātora lietotni (kā Authy vai Google Autentifikators) lai izveidotu laika-bāzētus verifikācijas kodus.", + "message": "Izmanto autentificētāja lietotni (piemēram, Authy vai Google autentifikators), lai izveidotu laikā balstītus apstiprinājuma kodus!", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { - "message": "YubiKey OTP Drošības Atslēga" + "message": "YubiKey OTP drošības atslēga" }, "yubiKeyDesc": { - "message": "Izmanto YubiKey lai piekļūtu savam kontam. Strādā ar YubiKey 4. sērijas, 5. sērijas un NEO ierīcēm." + "message": "Izmanto YubiKey, lai piekļūtu savam kontam! Darbojas ar YubiKey 4. un 5. sērijas un NEO ierīcēm." }, "duoDesc": { - "message": "Verificē izmantojot Duo Sercurity izmantojot Duo Mobile lietotni, SMS, telefona zvanu vai U2F drošības atslēgu.", + "message": "Apstiprini ar Duo Security, izmantojot Duo Mobile lietotni, īsziņu, tālruņa zvanu vai U2F drošības atslēgu!", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "Verificē izmantojot Duo Security priekš savas organizācijas izmantojot Duo Mobile lietotni, SMS, telefona zvanu vai U2F drošības atslēgu.", + "message": "Apstiprini ar Duo Security savā apvienībā, izmantojot Duo Mobile lietotni, īsziņu, tālruņa zvanu vai U2F drošības atslēgu!", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "u2fDesc": { - "message": "Izmanto jebkuru FIDO U2F atbalstošu drošības atslēgu lai piekļūtu savam kontam." + "message": "Izmanto jebkuru FIDO U2F atbalstošu drošības atslēgu, lai piekļūtu kontam!" }, "u2fTitle": { - "message": "FIDO U2F Drošības Atslēga" + "message": "FIDO U2F drošības atslēga" }, "emailTitle": { "message": "E-pasts" }, "emailDesc": { - "message": "Verifikācijas kodi tiks nosūtīti uz jūsu E-pastu." + "message": "Apstiprinājuma kodi tiks nosūtīti e-pastā." }, "continue": { "message": "Turpināt" }, "organization": { - "message": "Organizācija" + "message": "Apvienība" }, "organizations": { - "message": "Organizācijas" + "message": "Apvienības" }, "shareDesc": { - "message": "Izvēlies organizāciju ar kuru koplietot šo vienumu. Koplietošana pārvieto šī vienuma piederību organizācijai. Jūs vairs nebūsiet šī vienuma tiešais īpašnieks kad tas tiks koplietots." + "message": "Izvēlies apvienību, ar kuru koplietot šo vienumu. Koplietošana nodod šī vienuma piederību apvienībai. Tu vairs nebūsi šī vienuma tiešais īpašnieks pēc tā kopīgošanas." }, "shareManyDesc": { - "message": "Izvēlies organizāciju ar kuru koplietot šos vienumus. Koplietošana pārvieto šo vienumu piederību organizācijai. Jūs vairs nebūsiet šo vienumu tiešais īpašnieks kad tie tiks koplietoti." + "message": "Izvēlies apvienību, ar kuru kopīgot šos vienumus. Kopīgošana nodod šo vienumu piederību apvienībai. Pēc to koplietodanas Tu vairs nebūsi šo vienumu tiešais īpašnieks." }, "collectionsDesc": { - "message": "Rediģējiet kolekcijas ar kurām šis vienums tiek koplietots. Tikai organizāciju lietotāji ar piekļuvi šīm kolekcijām varēs redzēt šo vienumu." + "message": "Labot krājumus, ar kuriem šis vienums ir kopīgots. Tikai apvienības lietotāji, kam ir piekļuve šiem krājumiem, redzēs šo vienumu." }, "deleteSelectedItemsDesc": { - "message": "Jūs esat atlasījis $COUNT$ vienumu(s) dzēšanai. Vai jūs tiešām vēlaties šos vienumus izdzēst?", + "message": "Izdzēšanai ir atlasīts(i) $COUNT$ vienums(i). Vai tiešām izdzēst tos visus?", "placeholders": { "count": { "content": "$1", @@ -759,7 +759,7 @@ } }, "moveSelectedItemsDesc": { - "message": "Izvēlieties mapi uz kuru pārvietot $COUNT$ izvēlēto(s) vienumu(s).", + "message": "Izvēlēties mapi, uz kuru pārvietot atlasīto(s) $COUNT$ vienumu(s).", "placeholders": { "count": { "content": "$1", @@ -768,7 +768,7 @@ } }, "shareSelectedItemsCountDesc": { - "message": "Jūs esiet atlasījis $COUNT$ vienumu(s), $SHAREABLE_COUNT$ vienumi ir koplietojami, $NONSHAREABLE_COUNT$ nav.", + "message": "Ir atlasīts(i) $COUNT$ vienums(i). $SHAREABLE_COUNT$ no tiem ir kopīgojams(i), atlikušais(ie) $NONSHAREABLE_COUNT$ nē.", "placeholders": { "count": { "content": "$1", @@ -785,94 +785,97 @@ } }, "verificationCodeTotp": { - "message": "Verifikācijas Kods (TOTP)" + "message": "Apstiprinājuma kods (TOTP)" }, "copyVerificationCode": { - "message": "Kopēt Verifikācijas Kodu" + "message": "Ievietot apstiprinājuma kodu starpliktuvē" }, "warning": { "message": "Brīdinājums" }, "confirmVaultExport": { - "message": "Confirm Vault Export" + "message": "Apstiprināt glabātavas satura izdošanu" }, "exportWarningDesc": { - "message": "Šis eksports satur jūsu datus nešifrētā formātā. Eksportēto failu nevajadzētu saglabāt vai sūtīt izmantojot nedrošus kanālus (piemēram E-pastu). Izdzēsiet to līdzko esiet beidzis to izmantot." + "message": "Šī datu izdošana satur glabātavas datus nešifrētā veidā. Izdoto datni nevajadzētu glabāt vai sūtīt nedrošos veidos (piemēram, e-pastā). Izdzēst to uzreiz pēc izmantošanas." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { - "message": "Ievadiet savu galveno paroli lai eksportētu sava seifa datus." + "message": "Ievadīt galveno paroli, lai izdotu glabātavas saturu." }, "exportVault": { - "message": "Eksportēt Seifu" + "message": "Izdot glabātavas saturu" }, "fileFormat": { - "message": "Faila Formāts" + "message": "Datnes veids" }, "exportSuccess": { - "message": "Jūsu seifa dati ir tikuši eksportēti." + "message": "Glabātavas saturs ir izdots." }, "passwordGenerator": { - "message": "Paroles Ģenerātors" + "message": "Paroļu veidotājs" }, "minComplexityScore": { - "message": "Minimālās Sarežģītības Vērtība" + "message": "Mazākais pieļaujamais sarežģītības novērtējums" }, "minNumbers": { - "message": "Minimālie Skaitļi" + "message": "Mazākais pieļaujamais ciparu skaits" }, "minSpecial": { - "message": "Minimālās Speciālās Rakstzīmes", + "message": "Mazākais pieļaujamais īpašo rakstzīmju skaits", "description": "Minimum Special Characters" }, "ambiguous": { - "message": "Izvairīties no viegli jaucamām rakstzīmēm" + "message": "Izvairīties no viegli sajaucamām rakstzīmēm" }, "regeneratePassword": { - "message": "Pārģenerēt Paroli" + "message": "Pārizveidot paroli" }, "length": { "message": "Garums" }, "numWords": { - "message": "Vārdu Skaits" + "message": "Vārdu skaits" }, "wordSeparator": { - "message": "Vārdu Atdalītājs" + "message": "Vārdu atdalītājs" }, "capitalize": { - "message": "Kapitalizēt", + "message": "Izmantot lielos sākumburtus", "description": "Make the first letter of a work uppercase." }, "includeNumber": { - "message": "Ievietot Skaitli" + "message": "Iekļaut ciparu" }, "passwordHistory": { - "message": "Paroļu Vēsture" + "message": "Paroles izmaiņu vēsture" }, "noPasswordsInList": { - "message": "Nav paroļu ko parādīt." + "message": "Nav paroļu, ko parādīt." }, "clear": { "message": "Notīrīt", "description": "To clear something out. example: To clear browser history." }, "accountUpdated": { - "message": "Konts Atjaunots" + "message": "Konts atjaunināts" }, "changeEmail": { - "message": "Mainīt E-pastu" + "message": "Mainīt e-pasta adresi" }, "newEmail": { - "message": "Jauns E-pasts" + "message": "Jauna e-pasta adrese" }, "code": { "message": "Kods" }, "changeEmailDesc": { - "message": "Mēs esam nosūtījuši verifikācijas kodu uz $EMAIL$. Lūdzu pārbaudi savu e-pastu un ievadi šo kodu zemāk lai pabeigtu e-pasta adreses maiņu.", + "message": "Uz e-pasta adresi $EMAIL$ ir nosūtīts apstiprinājuma kods. Lūgums pārbaudīt e-pastu, vai tas ir saņemts, un ievadīt kodu zemāk esošajā laukā, lai pabeigtu e-pasta adreses maiņu.", "placeholders": { "email": { "content": "$1", @@ -881,43 +884,43 @@ } }, "loggedOutWarning": { - "message": "Turpināšana tevi izrakstīs no esošās sesijas, liekot tev atkārtoti ieiet. Aktīvās sesijas citās ierīcēs var palikt aktīvas līdz vienai stundai." + "message": "Tiks veikta izrakstīšanās no pašreizējās sesijas, un pēc tam būs nepieciešams pierakstīties. Citās ierīcēs darbojošās sesijas var būt spēkā līdz vienai stundai." }, "emailChanged": { - "message": "E-pasts Nomainīts" + "message": "E-pasta adrese nomainīta" }, "logBackIn": { - "message": "Lūdzu ieej atkārtoti." + "message": "Lūgums atkārtoti pierakstīties." }, "logBackInOthersToo": { - "message": "Lūdzu ieej atkārtoti. Ja tu izmanto citas Bitwarden lietotnes, izej un ieej atkārtoti arī tajās." + "message": "Lūgums pierakstīties atkārtoti. Ja tiek izmantotas citas Bitwarden lietotnes, ir nepieciešams izrakstīties un atkārtoti pierakstīties arī tajās." }, "changeMasterPassword": { - "message": "Nomainīt Galveno Paroli" + "message": "Mainīt galveno paroli" }, "masterPasswordChanged": { - "message": "Galvenā Parole Nomainīta" + "message": "Galvenā parole nomainīta" }, "currentMasterPass": { - "message": "Pašreizējā Galvenā Parole" + "message": "Pašreizējā galvenā parole" }, "newMasterPass": { - "message": "Jaunā Galvenā Parole" + "message": "Jaunā galvenā parole" }, "confirmNewMasterPass": { - "message": "Apstiprini Jauno Galveno Paroli" + "message": "Apstiprināt jauno galveno paroli" }, "encKeySettings": { - "message": "Šifrēšanas Atslēgu Iestatījumi" + "message": "Šifrēšanas atslēgas iestatījumi" }, "kdfAlgorithm": { - "message": "KDF Algoritms" + "message": "KDF algoritms" }, "kdfIterations": { - "message": "KDF Iterācijas" + "message": "KDF atkārtojumi" }, "kdfIterationsDesc": { - "message": "Vairāk KDF Iterāciju var palīdzēt pasargāt tavu galveno paroli no pārlases uzbrukumiem. Mēs iesakām vērtību $VALUE$ vai vairāk.", + "message": "Lielāks KDF atkārtojumu skaits var palīdzēt aizsargāt galveno paroli no pārlases uzbrukumiem. Ieteicamā vērtība ir $VALUE$ vai lielāka.", "placeholders": { "value": { "content": "$1", @@ -926,7 +929,7 @@ } }, "kdfIterationsWarning": { - "message": "Iestatot KDF Iterāciju vērtību pārāk augstu var izraisīt sliktu veiktspēju piekļūstot (un atslēdzot) Bitwarden izmantojot ierīces ar lēnākiem procesoriem. Mēs iesakām šo vērtību paaugstināt pieaugumos par $INCREMENT$ un pārbaudīt visās savās ierīcēs.", + "message": "Iestatot pārāk lielu KDF atkārtojumu skaitu var novest pie vājas veiktspējas, kad notiek pierakstīšanās Bitwarden (un atslēgšana) ierīcēs ar lēnākiem procesoriem. Ir ieteicams secīgi palielināt vērtību par $INCREMENT$ un tad pārbaudīt ietekmi visās ierīcēs.", "placeholders": { "increment": { "content": "$1", @@ -938,88 +941,103 @@ "message": "Mainīt KDF" }, "encKeySettingsChanged": { - "message": "Šifrēšanas Atslēgu Iestatījumi Mainīti" + "message": "Šifrēšanas atslēgas iestatījumi mainīti" }, "dangerZone": { - "message": "Bīstamā Zona" + "message": "Bīstamā sadaļa" }, "dangerZoneDesc": { - "message": "Uzmanību, šīs darbības nav atdarāmas!" + "message": "Piesardzību, šīs darbības nav atsaucamas!" }, "deauthorizeSessions": { - "message": "Deautorizēt Sesijas" + "message": "Padarīt sesijas spēkā neesošas" }, "deauthorizeSessionsDesc": { - "message": "Uztraucies ka tavs konts ir palicis ieiets citā ierīcē? Turpini zemāk lai deautorizētu visus datorus un ierīces, kas iepriekš tikušas lietotas. Šis solis ir ieteicams ja iepriekš esiet izmantojis publisku datoru vai saglabājis savu paroli ierīcē, kas nav jūsu. Šis solis arī notīrīs visas iepriekšēji saglabātās divpakāpju piekļuves sesijas." + "message": "Vai ir raizes par to, ka pierakstīšanās kontā ir notikusi citā ierīcē? Turpināt zemāk, lai atsauktu pierakstīšanos visos datoros un ierīcēs, kas iepriekš ir izmantoti. Šis solis ir nepieciešams, ja tika izmantots koplietošanas dators vai nejauši saglabāta parole nepiederošā ierīcē. Šis solis notīrīs arī visas iepriekš iegaumētās divpakāpju pierakstīšanās sesijas." }, "deauthorizeSessionsWarning": { - "message": "Turpināšana jūs izrakstīs arī no esošās sesijas, liekot jums ieiet atkārtoti. Jums arī tiks atkārtoti pieprasīta divpakāpju verifikācija, ja tā ir iespējota. Aktīvās sesijas citās ierīcēs var palikt aktīvas līdz vienai stundai." + "message": "Tiks veikta izrakstīšanās no pašreizējāš sesijas, un pēc tam būs nepieciešams atkārtoti pierakstīties. Būs nepieciešama arī divpakāpju pierakstīšanās, ja tā ir iespējota. Citās ierīcēs darbojošās sesijas var būt spēkā līdz vienai stundai." }, "sessionsDeauthorized": { - "message": "Visas Sesijas Deautorizētas" + "message": "Visu sesiju darbība ir atsaukta" }, "purgeVault": { - "message": "Notīrīt Seifu" + "message": "Iztīrīt glabātavu" }, "purgedOrganizationVault": { - "message": "Notīrija organizācijas seifu." + "message": "Apvienības glabātava iztīrīta." }, "purgeVaultDesc": { - "message": "Turpini zemāk lai izdzēstu visus vienumus un mapes no sava seifa. Vienumi kas pieder organizācijai, ko jūs koplietojat netiks izdzēsti." + "message": "Turpnāt zemāk, lai izdzēstu visus glabātavas vienumus un mapes. Vienumi, kas pieder apvienībai un kas tiek koplietoti, netiks izdzēsti." }, "purgeOrgVaultDesc": { - "message": "Turpiniet zemāk lai izdzēstu visus vienumus organizācijas seifā." + "message": "Turpināt zemāk, lai izdzēstu visus apvienības glabātavas vienumus." }, "purgeVaultWarning": { - "message": "Seifa tīrīšana ir paliekoša. To nevar atdarīt." + "message": "Glabātavas iztīrīšana ir paliekoša. To nevar tikt atsaukta." }, "vaultPurged": { - "message": "Tavs seifs ir ticis iztīrīts." + "message": "Glabātava tika iztīrīta." }, "deleteAccount": { - "message": "Dzēst Kontu" + "message": "Dzēst kontu" }, "deleteAccountDesc": { - "message": "Turpini zemāk lai izdzēstu savu kontu un visus saistītos datus." + "message": "Turpināt zemāk, lai izdzēstu kontu un visus saistītos datus." }, "deleteAccountWarning": { - "message": "Konta dzēšana ir paliekoša. To nevar atdarīt." + "message": "Konta dzēšana ir paliekoša. To nevar atsaukt." }, "accountDeleted": { - "message": "Konts Izdzēsts" + "message": "Konts izdzēsts" }, "accountDeletedDesc": { - "message": "Jūsu konts ir aiztaisīts un visi ar to saistītie dati ir izdzēsti." + "message": "Konts ir slēgts, un visi saistītie dati ir izdzēsti." }, "myAccount": { - "message": "Mans Konts" + "message": "Mans konts" }, "tools": { "message": "Rīki" }, "importData": { - "message": "Importēt Datus" + "message": "Ievietot datus" + }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." }, "importSuccess": { - "message": "Dati ir veiksmīgi importēti tavā seifā." + "message": "Dati ir veiksmīgi ievietoti glabātavā." + }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } }, "importFormatError": { - "message": "Dati nav pareizi formatēti. Lūdzu pārbaudi savu importa failu un mēģini vēlreiz." + "message": "Dati nav pareizā veidolā. Lūgums pārbaudīt ievietošanas datni un mēģināt vēlreiz." }, "importNothingError": { - "message": "Nekas netika importēts." + "message": "Nekas netika ievietots." }, "selectFormat": { - "message": "Izvēlies importa faila formātu" + "message": "Atlasīt ievietošanas datnes veidolu" }, "selectImportFile": { - "message": "Izvēlies importa failu" + "message": "Atlasīt ievietošanas datni" }, "orCopyPasteFileContents": { - "message": "vai kopē/ielīmē importējamā faila saturu" + "message": "vai ievietot starpliktuvē un ielīmēt ievietošanas datnes saturu" }, "instructionsFor": { - "message": "$NAME$ Instrukcijas", + "message": "Norādījumi $NAME$", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -1032,54 +1050,54 @@ "message": "Iespējas" }, "optionsDesc": { - "message": "Pielāgo savu tīmekļa seifa pieredzi." + "message": "Pielāgot tīmekļa glabātavas lietošanas pieredzi." }, "optionsUpdated": { - "message": "Iespējas atjaunotas" + "message": "Iespējas atjauninātas" }, "language": { "message": "Valoda" }, "languageDesc": { - "message": "Nomaini valodu, ko izmanto tīmekļa seifs." + "message": "Nomainīt tīmekļa glabātavā izmantoto valodu." }, "disableIcons": { - "message": "Atspējot Vietņu Ikonas" + "message": "Atspējot tīmekļa vietņu ikonas" }, "disableIconsDesc": { - "message": "Vietņu Ikonas nodrošina atpazīstamu attēlu pie katra piekļuves vienuma jūsu seifā." + "message": "Tīmekļa vietņu ikonas nodrošina atpazīstamu attēlu pie katra glabātavas pieteikšanās vienuma." }, "enableGravatars": { - "message": "Iespējot Gravatar", + "message": "Iespējot Gravatārus", "description": "'Gravatar' is the name of a service. See www.gravatar.com" }, "enableGravatarsDesc": { - "message": "Izmantot profilu attēlus ielādētus no gravatar.com." + "message": "Izmantot no gravatar.com ielādētus avatāra attēlus." }, "enableFullWidth": { "message": "Iespējot pilna platuma izkārtojumu", "description": "Allows scaling the web vault UI's width" }, "enableFullWidthDesc": { - "message": "Ļaut tīmekļa seifam aizpildīt pārlūka loga pilno platumu." + "message": "Ļauj tīmekļa glabātavai aizņemt visu pārlūka loga platumu." }, "default": { "message": "Noklusējums" }, "domainRules": { - "message": "Domēnu Noteikumi" + "message": "Domēnu nosacījumi" }, "domainRulesDesc": { - "message": "Ja jums ir tas pats konts vairākos vietnes domēnos, jūs varat atzīmēt vietni kā \"līdzvērtīgu\". \"Globālus\" domēnus jau ir jūsu vietā izveidojis Bitwarden." + "message": "Ja viens pierakstīšanās vienums tiek izmantots dažādos tīmekļa vietņu domēnos, tīmekļa vietni var atzīmēt kā \"līdzvērtīgu\". \"Vispārējie\" domēni jau ir Bitwarden izveidoti." }, "globalEqDomains": { - "message": "Globāli Vienlīdzīgi Domēni" + "message": "Vispārēji vienlīdzīgie domēni" }, "customEqDomains": { - "message": "Pielāgoti Vienlīdzīgi Domēni" + "message": "Pielāgoti vienlīdzīgie domēni" }, "exclude": { - "message": "Izņemt" + "message": "Izslēgt" }, "include": { "message": "Iekļaut" @@ -1088,13 +1106,13 @@ "message": "Pielāgot" }, "newCustomDomain": { - "message": "Jauns Pielāgots Domēns" + "message": "Jauns pielāgotais domēns" }, "newCustomDomainDesc": { - "message": "Ievadiet domēnu sarakstu, atdalītu ar komatiem. Tikai 'bāzes' domēni ir atļauti. Nevadiet apakšdomēnus. Piemēram, ievadiet \"google.com\" nevis \"www.google.com\". Jūs arī varat ievadīt \"androidapp://pakotnes.nosaukums\" lai asociētu android lietotni ar citiem vietņu domēniem." + "message": "Jāievada ar komatiem atdalīts domēnu saraksts. Ir atļauti tikai \"pamata\" domēni. Neievadīt apakšdomēnus. Piemēram, ievadīt \"google.com\" \"www.google.com\" vietā. Ir iespējams ievadīt arī \"androidapp://package.name\", lai saistītu Android lietotni ar citiem tīmekļa vietņu domēniem." }, "customDomainX": { - "message": "Pielāgots Domēns $INDEX$", + "message": "Pielāgotais domēns $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1103,22 +1121,22 @@ } }, "domainsUpdated": { - "message": "Domēni atjaunoti" + "message": "Domēni atjaunināti" }, "twoStepLogin": { - "message": "Divpakāpju Ieeja" + "message": "Divpakāpju pierakstīšanās" }, "twoStepLoginDesc": { - "message": "Nodrošini savu kontu pieprasot papildus soli ieejot." + "message": "Nodrošināt kontu, pieprasot papildus darbību pierakstoties." }, "twoStepLoginOrganizationDesc": { - "message": "Pieprasi divpakāpju ieeju savas organizācijas lietotājiem konfigurējot nodrošinātājus organizācijas līmenī." + "message": "Pieprasīt divpakāpju pierakstīšanos apvienības lietotājiem, uzstādot nodrošinātājus apvienības līmenī." }, "twoStepLoginRecoveryWarning": { - "message": "Divpakāpju piekļuves iespējošana var neatgriezeniski zaudēt piekļuvi jūsu Bitwarden kontam. Atjaunošanas kods ļauj jums piekļūt savam kontam gadījumā ja jūs vairs nevarat izmantot savu parasto divpakāpju nodrošinātāju (piem. zaudējat savu mobilo ierīci). Bitwarden atbalsts nevarēs jums palīdzēt ja zaudēsiet piekļuvi savam kontam. Mēs iesakām pierakstīt vai izdrukāt savu atjaunošanas kodu un noglabāt to drošā vietā." + "message": "Divpakāpju pierakstīšanās var pastāvīgi liegt piekļuvi Bitwarden kontam. Atkopšanas kods ļauj piekļūt tam gadījumā, kad vairs nav iespējams izmantot ierasto divpakāpju pierakstīšanās nodrošinātāju (piemēram, ir pazaudēta ierīce). Bitwarden atbalsts nevarēs palīdzēt, ja tiks pazaudēta piekļuve kontam. Ir ieteicams, ka atkopšanas kods tiek pierakstīts vai izdrukāts un turēts drošā vietā." }, "viewRecoveryCode": { - "message": "Skatīt Atjaunošanas Kodu" + "message": "Skatīt atkopšanas kodu" }, "providers": { "message": "Nodrošinātāji", @@ -1135,19 +1153,19 @@ "description": "Premium Membership" }, "premiumMembership": { - "message": "Premium Dalība" + "message": "Premium dalība" }, "premiumRequired": { - "message": "Vajadzīgs Premium" + "message": "Nepieciešams Premium" }, "premiumRequiredDesc": { - "message": "Lai izmantotu šo funkciju ir vajadzīga premium dalība." + "message": "Ir nepieciešama Premium dalība, lai izmantotu šo iespēju." }, "youHavePremiumAccess": { - "message": "Tev ir premium piekļuve" + "message": "Tev ir Premium piekļuve" }, "alreadyPremiumFromOrg": { - "message": "Tev jau ir premium funkciju piekļuve dēļ organizācijas, kuras sastāvā tu esi." + "message": "Tev jau ir piekļuve Premium iespējām no apvienības, kuras dalībnieks Tu esi." }, "manage": { "message": "Pārvaldīt" @@ -1156,19 +1174,19 @@ "message": "Atspējot" }, "twoStepLoginProviderEnabled": { - "message": "Šis divpakāpju nodrošinātājs ir iespējots tavam kontam." + "message": "Šis divpakāpju pierakstīšanās nodrošinātājs ir iespējots kontā." }, "twoStepLoginAuthDesc": { - "message": "Ievadi savu galveno paroli lai rediģētu divpakāpju piekļuves iestatījumus." + "message": "Ievadīt galveno paroli, lai mainītu divpakāpju pierakstīšanās iestatījumus." }, "twoStepAuthenticatorDesc": { - "message": "Seko šiem soļiem lai iespējotu divpakāpju piekļuvi ar autentifikatora lietotni:" + "message": "Sekot šiem soļiem, lai uzstādīt divpakāpju pierakstīšanos ar autentificētāja lietotni:" }, "twoStepAuthenticatorDownloadApp": { - "message": "Lejupielādē divpakāpju autentifikatora lietotni" + "message": "Jālejupielādē divpakāpju autentificētāja lietotne" }, "twoStepAuthenticatorNeedApp": { - "message": "Vajag divpakāpju autentifikātora lietotni? Lejupielādē vienu no sekojošām" + "message": "Ir nepieciešama divpakāpju autentificētāja lietotne? Lejupielādē vienu no sekojošām" }, "iosDevices": { "message": "iOS ierīces" @@ -1180,49 +1198,49 @@ "message": "Windows ierīces" }, "twoStepAuthenticatorAppsRecommended": { - "message": "Šīs lietotnes ir ieteicamas, bet arī citas lietotnes strādās." + "message": "Šīs ir ieteicamās lietotnes, bet darbosies arī citas autentificētāja lietotnes." }, "twoStepAuthenticatorScanCode": { - "message": "Noskanē šo QR kodu ar savu autentifikācijas lietotni" + "message": "Nolasīt šo kvadrātkodu ar autentificētāja lietotni" }, "key": { "message": "Atslēga" }, "twoStepAuthenticatorEnterCode": { - "message": "Ievadi rezultējušo 6 ciparu verifikācijas kodu no lietotnes" + "message": "Ievadīt lietotnes izveidoto 6 ciparu apstiprināšanas kodu" }, "twoStepAuthenticatorReaddDesc": { - "message": "Ja vēlies pievienot to citām ierīcēm, zemāk ir QR kods (vai atslēga), kas ir vajadzīga autentifikācijas lietotnei." + "message": "Ja ir vajadzība pievienot citās ierīcēs, zemāk ir kvadrātkods (vai atslēga), kas ir izmantojams autentificētāja lietotnē." }, "twoStepDisableDesc": { - "message": "Vai tiešām vēlies atspējot šo divpakāpju verifikācijas nodrošinātāju?" + "message": "Vai tiešām atspējot šo divpakāpju pierakstīšanās nodrošinātāju?" }, "twoStepDisabled": { - "message": "Divpakāpju verifikācijas nodrošinātājs atspējots." + "message": "Divpakāpju pierakstīšanāš nodrošinātājs atspējots." }, "twoFactorYubikeyAdd": { - "message": "Pievienot jaunu YubiKey savam kontam" + "message": "Pievienot jaunu YubiKey kontam" }, "twoFactorYubikeyPlugIn": { - "message": "Ievieto YubiKey sava datora USB ligzdā." + "message": "YubiKey ir jāievieto datora USB ligzdā." }, "twoFactorYubikeySelectKey": { - "message": "Izvēlies pirmo tukšo YubiKey ievades lauku zemāk." + "message": "Jāizvēlas pirmais tukšais zemāk esošais YubiKey ievades lauks." }, "twoFactorYubikeyTouchButton": { - "message": "Pieskaries YubiKey pogai." + "message": "Jāpieskaras YubiKey pogai." }, "twoFactorYubikeySaveForm": { - "message": "Saglabāt formu." + "message": "Saglabāt veidlapu." }, "twoFactorYubikeyWarning": { - "message": "Dēļ platformu ierobežojumiem, YubiKey nevar izmantot visās Bitwarden lietotnēs. Ieteicams iespējot papildus divpakāpju nodrošinātāju lai jūs varētu piekļūt savam kontam kad YubiKey nevar izmantot. Atbalstītās platformas:" + "message": "Platformas ierobežojumu dēļ YubiKey nevar izmantot visās Bitwarden lietotnēs. Ir ieteicams iespējot vēl kādu divpakāpju pierakstīšanās nodrošinātāju, lai varētu piekļūt kontam, kad nevar izmantot YubiKey. Atbalstītās platformas:" }, "twoFactorYubikeySupportUsb": { - "message": "Tīmekļa seifs, darbvirsmas lietotne, CLI, un visi pārlūka paplašinājumi ierīcēs ar USB portu, kurā var ievietot jūsu YubiKey." + "message": "Tīmekļa glabātava, darbvirsmas lietotne, CLI un visi pārlūku paplašinājums ierīcēs ar USB ligzdu, kas pieņem YubiKey." }, "twoFactorYubikeySupportMobile": { - "message": "Mobilās lietotnes ierīcē ar NFC funkcionalitāti vai datu portu, kurā var ievietot jūsu YubiKey." + "message": "Tālruņa lietotnes ierīcē ar NFC iespējām vai datu ligzdu, kas pieņem YubiKey." }, "yubikeyX": { "message": "YubiKey $INDEX$", @@ -1234,7 +1252,7 @@ } }, "u2fkeyX": { - "message": "U2F Atslēga $INDEX$", + "message": "U2F atslēga $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1243,107 +1261,107 @@ } }, "nfcSupport": { - "message": "NFC Atbalsts" + "message": "NFC atbalsts" }, "twoFactorYubikeySupportsNfc": { - "message": "Viena no manām atslēgām atbalsta NFC." + "message": "Viena no atslēgām atbalsta NFC." }, "twoFactorYubikeySupportsNfcDesc": { - "message": "Ja viena no jūsu YubiKey atbalsta NFC (kā piemēram YubiKey NEO), jums tā tiks pieprasīta mobilās ierīcēs, kas atbalsta NFC funkcionalitāti." + "message": "Ja kāda no YubiKey atbalsta NFC (kā, piemēram, YubiKey NEO), pārvietojamajās ierīcēs tiks attēlota uzvedne, kad vien tiks noteikta NFC pieejamība." }, "yubikeysUpdated": { - "message": "YubiKey atjaunots" + "message": "YubiKey atjauninātas" }, "disableAllKeys": { - "message": "Atspējot Visas Atslēgas" + "message": "Atspējot visas atslēgas" }, "twoFactorDuoDesc": { - "message": "Ievadiet Bitwarden lietotnes informāciju no jūsu Duo Administrātora paneļa." + "message": "Ievadīt Bitwarden lietotnes informāciju no Duo pārvaldības rīka." }, "twoFactorDuoIntegrationKey": { - "message": "Integrācijas Atslēga" + "message": "Iekļaušanas atslēga" }, "twoFactorDuoSecretKey": { - "message": "Slepenā Atslēga" + "message": "Slepenā atslēga" }, "twoFactorDuoApiHostname": { - "message": "Api Resursdators" + "message": "API saimniekdatora nosaukums" }, "twoFactorEmailDesc": { - "message": "Seko šiem soļiem lai iespējotu divpakāpju piekļuvi ar e-pastu:" + "message": "Sekot šiem soļiem, lai uzstādīt divpakāpju pierakstīšanos ar e-pastu:" }, "twoFactorEmailEnterEmail": { - "message": "Ievadiet E-pastu uz kuru vēlaties saņemt verifikācijas kodus" + "message": "Ievadīt e-pasta adresi, uz kuru saņemt apstiprināšanas kodus" }, "twoFactorEmailEnterCode": { - "message": "Ievadiet saņemto 6 ciparu verifikācijas kodu no epasta" + "message": "Ievadīt e-pastā saņemto 6 ciparu apstiprinājuma kodu" }, "sendEmail": { - "message": "Sūtīt E-pastu" + "message": "Nosūtīt e-pastu" }, "twoFactorU2fAdd": { - "message": "Pievienot FIDO U2F drošības atslēgu savam kontam" + "message": "Pievienot FIDO U2F drošības atslēgu kontam" }, "removeU2fConfirmation": { - "message": "Vai tiešām vēlaties noņemt šo drošības atslēgu?" + "message": "Vai tiešām noņemt šo drošības atslēgu?" }, "readKey": { - "message": "Lasīt Atslēgu" + "message": "Nolasīt atslēgu" }, "keyCompromised": { - "message": "Atslēga ir kompromitēta." + "message": "Atslēgas drošība ir ietekmēta." }, "twoFactorU2fGiveName": { - "message": "Iedodiet drošības atslēgai draudzīgu nosaukumu lai palīdzētu to identificēt." + "message": "Piešķirt drošības atslēgai vienkāršu nosaukumu, lai tā būtu vieglāk nosakāma." }, "twoFactorU2fPlugInReadKey": { - "message": "Ievietojiet drošības atslēgu sava datora USB ligzdā un nospiediet pogu \"Lasīt Atslēgu\"." + "message": "Ievietot drošības atslēgu datora USB ligzdā un nospiest pogu \"Nolasīt atslēgu\"." }, "twoFactorU2fTouchButton": { - "message": "Ja drošības atslēgai ir poga, pieskarieties tai." + "message": "Ja drošības atslēgai ir poga, tai ir jāpieskaras." }, "twoFactorU2fSaveForm": { - "message": "Saglabājiet formu." + "message": "Saglabāt veidlapu." }, "twoFactorU2fWarning": { - "message": "Dēļ platformu ierobežojumiem, FIDO U2F nevar izmantot visās Bitwarden lietotnēs. Ieteicams iespējot papildus divpakāpju nodrošinātāju lai jūs varētu piekļūt savam kontam kad FIDO U2F nevar izmantot. Atbalstītās platformas:" + "message": "Platformas ierobežojumu dēļ FIDO U2F nevar izmantot visās Bitwarden lietotnēs. Ir Ieteicams iespējot vēl kādu divpakāpju pierakstīšanās nodrošinātāju, lai varētu piekļūt kontam, kad FIDO U2F nevar izmantot. Atbalstītās platformas:" }, "twoFactorU2fSupportWeb": { - "message": "Tīmekļa seifs un pārlūka paplašinājumi stacionārā datorā/portatīvajā datorā ar U2F atbalstošu pārlūku (Chrome, Opera, Vivaldi vai Firefox ar FIDO U2F iespējotu)." + "message": "Tīmekļa glabātava un pārlūku paplašinājums galddatorā/klēpjdatorā ar U2F iespējotu pārlūku (Chrome, Opera, Vivaldi vai Firefox ar iespējotu FIDO U2F)." }, "twoFactorU2fWaiting": { - "message": "Gaidām līdz jūs pieskarsieties uz jūsu drošības atslēgas esošai pogai" + "message": "Tiek gaidīts, līdz tiks veikta pieskaršanās drošības atslēgas pogai" }, "twoFactorU2fClickSave": { - "message": "Nospiediet zemāk esošo \"Saglabāt\" pogu lai iespējotu šo drošības atslēgu priekš divpakāpju ieejas." + "message": "Nospist zemāk esošo pogu \"Saglabāt\", lai iespējotu šo drošības atslēgu divpakāpju pierakstīšanās pārbaudei." }, "twoFactorU2fProblemReadingTryAgain": { - "message": "Notika problēma nolasot drošības atslēgu. Lūdzu mēģiniet vēlreiz." + "message": "Radās sarežģījumi, nolasot drošības atslēgu. Jāmēģina vēlreiz." }, "twoFactorRecoveryYourCode": { - "message": "Jūsu Bitwarden divpakāpju ieejas atjaunošanas kods" + "message": "Bitwarden divpakāpju pierakstīšanās atkopšanas kods" }, "twoFactorRecoveryNoCode": { - "message": "Jūs vēl neesat iespējojis nevienu divpakāpju piekļuves nodrošinātāju. Pēc divpakāpju piekļuves nodrošinātāja iespējošanas jūs varēsiet šeit redzēt savu atjaunošanas kodu." + "message": "Vēl nav iespējots neviens divpakāpju pierakstīšanās nodrošinātāju. Kad tas būs izdarīts, šeit varēs apskatīt atkopšanas kodu." }, "printCode": { - "message": "Drukāt Kodu", + "message": "Izdrukāt kodu", "description": "Print 2FA recovery code" }, "reports": { "message": "Pārskati" }, "unsecuredWebsitesReport": { - "message": "Nedrošu Tīmekļa Lapu Pārskats" + "message": "Nedrošu tīmekļa vietņu pārskats" }, "unsecuredWebsitesReportDesc": { - "message": "Nedrošu lapu izmantošana ar http:// shēmu var būt bīstama. Ja vietne to atbalsta, tai vienmēr piekļūstiet izmantojot https:// shēmu lai jūsu savienojums tiktu šifrēts." + "message": "Nedrošu tīmekļa vietņu, kuru adrese sākas ar http://, apmeklēšana var būt bīstama. Ja tīmekļa vietne to nodrošina, vienmēr ir ieteicams tai piekļūt, izmantojot adresi ar https://, lai savienojums būtu šifrēts." }, "unsecuredWebsitesFound": { - "message": "Nedrošas Tīmekļa Vietnes Atrastas" + "message": "Atrastas nedrošās tīmekļa vietnes" }, "unsecuredWebsitesFoundDesc": { - "message": "Mēs atradām $COUNT$ vienumus jūsu seifā ar nedrošiem URL. Jums vajadzētu nomainīt to URL shēma uz https://, ja vietne to atbalsta.", + "message": "Glabātavā tika atrasts(i) $COUNT$ vienums(i) ar nedrošām adresēm. Ir ieteicams tās mainīt uz URI ar https://, ja tīmekļa vietne to nodrošina.", "placeholders": { "count": { "content": "$1", @@ -1352,19 +1370,19 @@ } }, "noUnsecuredWebsites": { - "message": "Nevienam vienumam jūsu seifā nav nedrošs URL." + "message": "Nevienam glabātavas vienumam nav nedrošu URI." }, "inactive2faReport": { - "message": "Neaktīvu 2FA Pārskats" + "message": "Neizmantoto 2FA pārskats" }, "inactive2faReportDesc": { - "message": "Divfaktoru autentifikācija (2FA) ir svarīgs drošības iestatījums kas palīdz nodrošināt jūsu kontus. Ja tīmekļa vietne to atbalsta, jums vajadzētu vienmēr iespējot divfaktoru autentifikāciju." + "message": "Divfaktoru autentificēšanās (2FA) ir būtisks drošības iestatījums, kas palīdz nodrošināt kontus. Ja tīmekļa vietne to piedāvā, vienmēr vajadzētu iespējot divfaktoru autentificēšanos." }, "inactive2faFound": { - "message": "Atrasti konti bez 2FA" + "message": "Atrastie pierakstīšanās vienumi bez 2FA" }, "inactive2faFoundDesc": { - "message": "Mēs atradām $COUNT$ vietni(-es) jūsu seifā kurām iespējams nav uzstādīta divpakāpju autentifikācija (atbilstoši 2fa.directory). Lai labāk aizsargātu šos kontus jums vajadzētu iespējot divfaktoru autentifikāciju.", + "message": "Glabātavā tika atrasta(s) $COUNT$ tīmekļa vietne(s), kurās nav uzstādīta divfaktoru autentificēšanās (vadoties pēc twofactorauth.org). Lai labāk aizsargātu šos kontus, ir ieteicams iespējot divfaktoru autentificēšanos.", "placeholders": { "count": { "content": "$1", @@ -1373,22 +1391,22 @@ } }, "noInactive2fa": { - "message": "Mēs neatradām nevienu vietni jūsu seifā ar trūkstošām divfaktoru autentifikācijas konfigurācijām." + "message": "Glabātavā netika atrasta neviena tīmekļa vietne bez uzstādītas divfaktoru autentificēšanās." }, "instructions": { - "message": "Instrukcijas" + "message": "Norādes" }, "exposedPasswordsReport": { - "message": "Noplūdušo Paroļu Pārskats" + "message": "Atklāto paroļu pārskats" }, "exposedPasswordsReportDesc": { - "message": "Nopludinātas paroles ir paroles kas ir tikušas atrastas labi zināmās datu noplūdēs publiski vai tikušas pārdotas tumšajā tīmeklī no hakeriem." + "message": "Atklātās paroles ir paroles, kas ir atrastas zināmos datu pārkāpumos, kuras urķi ir publicējuši vai pārdod tumšajā tīmeklī." }, "exposedPasswordsFound": { - "message": "Noplūdušas Paroles Atrastas" + "message": "Atrastas atklātās paroles" }, "exposedPasswordsFoundDesc": { - "message": "Mēs atradām $COUNT$ vienumus jūsu seifā, kas satur datu noplūdēs nopludinātas paroles. Jums tās vajadzētu nomainīt, izmantojot jaunu paroli.", + "message": "Glabātavā tika atrasts(i) $COUNT$ vienums(i), kuros ir paroles, kas ir atklātas zināmos datu pārkāpumos. Vienumus vajadzētu mainīt, lai izmantotu jaunu paroli.", "placeholders": { "count": { "content": "$1", @@ -1397,13 +1415,13 @@ } }, "noExposedPasswords": { - "message": "Nevienam vienumam jūsu seifā nav parole, kas ir tikusi nopludināta zināmās datu noplūdēs." + "message": "Glabātavā nav vienumu, kam būtu paroles, kas ir atklātas zināmos datu pārkāpumos." }, "checkExposedPasswords": { - "message": "Pārbaudīt Noplūdušas Paroles" + "message": "Pārbaudīt atklātās paroles" }, "exposedXTimes": { - "message": "Noplūdušas $COUNT$ reizi(-es)", + "message": "Atklātas $COUNT$ reizi(-es)", "placeholders": { "count": { "content": "$1", @@ -1412,16 +1430,16 @@ } }, "weakPasswordsReport": { - "message": "Vāju Paroļu Pārskats" + "message": "Vājo paroļu pārskats" }, "weakPasswordsReportDesc": { - "message": "Vājas paroles var viegli uzminēt hakeri un automātiski paroļu laušanas rīki. Bitwarden paroļu ģenerātors var palīdzēt tev izveidot drošas paroles." + "message": "Vājas paroles var viegli uzminēt urķi un automatizētie rīki, kas tiek izmantoti paroļu uzlaušanā. Bitwarden paroļu veidotājs var palīdzēt izveidot spēcīgas paroles." }, "weakPasswordsFound": { - "message": "Vāju Paroles Atrastas" + "message": "Atrastas vājas paroles" }, "weakPasswordsFoundDesc": { - "message": "Mēs atradām $COUNT$ vienumus jūsu seifā ar parolēm kas nav stipras. Jums tās vajadzētu atjaunot lai izmantotu stiprākas paroles.", + "message": "Glabātavā tika atrasts(i) $COUNT$ vienums(i) ar parolēm, kas nav spēcīgas. Tos vajadzētu atjaunināt, lai izmantotu spēcīgākas paroles.", "placeholders": { "count": { "content": "$1", @@ -1430,19 +1448,19 @@ } }, "noWeakPasswords": { - "message": "Nevienam vienumam jūsu seifā nav vājas paroles." + "message": "Glabātavā nav vienumu ar vājām parolēm." }, "reusedPasswordsReport": { - "message": "Atkārtotu Paroļu Pārskats" + "message": "Vairākkārt izmantoto paroļu pārskats" }, "reusedPasswordsReportDesc": { - "message": "Ja serviss ko izmantojat tiek uzlausts, vienas un tās pašas paroles izmantošana vairākās vietās var ļaut hakeriem vienkāršu piekļuvi vairākiem jūsu kontiem. Jums vajadzētu izmantot unikālu paroli katram kontam vai servisam." + "message": "Ja izmantota pakalpojuma drošība ir ietekmēta, vienādas paroles izmantošana citur rada urķiem iespēju viegli iegūt piekļuvi citiem tiešsaistes kontiem. Katrā kontā vai pakalpojumā ir ieteicams izmantot paroli, kas nav izmantota citur." }, "reusedPasswordsFound": { - "message": "Atkārtotas Paroles Atrastas" + "message": "Atrastās vairākkārt izmantotās paroles" }, "reusedPasswordsFoundDesc": { - "message": "Mēs atradām $COUNT$ paroles kas tiek lietotas atkārtoti jūsu seifā. Jums tās vajadzētu nomainīt uz unikālām.", + "message": "Glabātavā tika atrasta(s) $COUNT$ parole(s), kas tiek vairākkārt izmantotas. Ir ieteicams tās nomainīt uz vērtību, kas neatkārtojas citur.", "placeholders": { "count": { "content": "$1", @@ -1451,10 +1469,10 @@ } }, "noReusedPasswords": { - "message": "Nevienam kontam jūsu seifā nav paroles, kas tiek izmantotas atkārtoti." + "message": "Glabātavā nav pierakstīšanās vienumu ar vairākkārt izmantotām parolēm." }, "reusedXTimes": { - "message": "Atkārtojas $COUNT$ reizes", + "message": "Vairākkārt izmantota(s) $COUNT$ reizi(es)", "placeholders": { "count": { "content": "$1", @@ -1463,16 +1481,16 @@ } }, "dataBreachReport": { - "message": "Datu Noplūdes Pārskats" + "message": "Datu pārākumu pārskats" }, "breachDesc": { - "message": "Datu \"noplūde\" ir incidents kur vietnes datiem ir nelegāli piekļuvuši hakeri un tos izlaiduši publiski. Pārskatiet noplūdušo datu veidus (E-pasta adreses, paroles, kredītkaršu dati, utt.) un veiciet vajadzīgās darbības kā piemēram paroļu nomaiņu." + "message": "\"Pārkāpums\" ir notikums, kurā urķi ir nelikumīgi piekļuvuši tās datiem un tad tos ir publicējuši. Jāpārskata datu veidi, kas ir ietekmēti (e-pasta adreses, paroles, bankas kartes utt.) un jāveic atbilstošas darbības, piemēram, paroļu nomaiņa." }, "breachCheckUsernameEmail": { - "message": "Pārbaudiet jebkādus lietotājvārdus vai e-pasta adreses kuras jūs izmantojat." + "message": "Jāpārbauda jebkurš lietotājvārds vai e-pasta adrese, kas tiek izmantota." }, "checkBreaches": { - "message": "Pārbaudīt Noplūdes" + "message": "Pārbaudīt datu pārkāpumus" }, "breachUsernameNotFound": { "message": "$USERNAME$ netika atrasts nevienā zināmā datu noplūdē.", @@ -1484,11 +1502,11 @@ } }, "goodNews": { - "message": "Labas Ziņas", + "message": "Labas ziņas", "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { - "message": "$USERNAME$ tika atrasts $COUNT$ dažādās datu noplūdēs tīmeklī.", + "message": "$USERNAME$ tika atrasts $COUNT$ (dažādos) datu pārkāpumā(os) tīmeklī.", "placeholders": { "username": { "content": "$1", @@ -1501,39 +1519,39 @@ } }, "breachFound": { - "message": "Noplūduši Konti Atrasti" + "message": "Atrasti datu pārkāpumos iekļuvušie konti" }, "compromisedData": { - "message": "Noplūdušie dati" + "message": "Datu pārkāpumos iesaistītie dati" }, "website": { "message": "Tīmekļa vietne" }, "affectedUsers": { - "message": "Ietekmētie Lietotāji" + "message": "Ietekmētie lietotāji" }, "breachOccurred": { - "message": "Noplūde Notika" + "message": "Ir bijis datu pārkāpums" }, "breachReported": { - "message": "Noplūde Paziņota" + "message": "Par datu pārkāpumu ir ziņots" }, "reportError": { - "message": "Notika kļūda mēģinot ielādēt pārskatu. Lūdzu mēģini vēlreiz" + "message": "Radās kļūda, mēģinot ielādēt pārskatu. Lūgums mēģināt vēlreiz" }, "billing": { "message": "Norēķini" }, "accountCredit": { - "message": "Konta Kredīts", + "message": "Konta kredīts", "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "accountBalance": { - "message": "Konta Bilance", + "message": "Konta bilance", "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "addCredit": { - "message": "Pievienot Kredītu", + "message": "Pievienot kredītu", "description": "Add more credit to your account's balance." }, "amount": { @@ -1541,41 +1559,44 @@ "description": "Dollar amount, or quantity." }, "creditDelayed": { - "message": "Pievienotais kredīts parādīsies jūsu kontā pēc tam, kad norēķins būs pilnībā apstrādāts. Daži apmaksas veidi var tikt aizkavēti un aizņemt vairāk laika nekā citi." + "message": "Pievienotais kredīts būs redzams kontā, kad maksājums būs pilnībā apstrādāts. Daži norēķinu veidi aizkavējas un to apstrāde var aizņemt vairāk laika nekā citiem." }, "makeSureEnoughCredit": { - "message": "Lūdzu pārliecinieties ka jūsu kontam ir pietiekams kredīts priekš šī pirkuma. Ja jūsu kontam nav pietiekami daudz kredīta pieejama, jūsu noklusētais apmaksas veids tiks izmantots lai nosegtu starpību. Jūs varat pievienot kredītu savam kontam Norēķinu lapā." + "message": "Lūgums pārliecināties, ka kontā ir pieejams pietiekami daudz kredīta šim pirkumam. Ja kontā nav pieejams pietiekami daudz kredīta, tiks izmantots noklusējuma norēķinu veids, lai segtu starpību. Kredītu kontam var pievienot norēķinu sadaļā." }, "creditAppliedDesc": { - "message": "Jūsu konta kredīts var tikt izmantots lai veiktu pirkumus. Viss pieejamais kredīts tiek automātiski piemērots šī konta veidotajiem rēķiniem." + "message": "Konta kredīts var tikt izmantots, lai veiktu pirkumus. Viss pieejamais kredīts tiks automātiski izmantots kontam veidotajiem rēķiniem." }, "goPremium": { "message": "Iegūt Premium", "description": "Another way of saying \"Get a premium membership\"" }, "premiumUpdated": { - "message": "Jūs esat pārgājis uz premium." + "message": "Tu esi pārgājis uz Premium." }, "premiumUpgradeUnlockFeatures": { - "message": "Paaugstiniet savu kontu uz premium un atslēdziet dažas foršas papildus opcijas." + "message": "Kontu var uzlabot ar Premium dalību un piekļūt lieliskām papildiespējām." }, "premiumSignUpStorage": { - "message": "1 GB šifrētas glabātuves priekš failu pielikumiem." + "message": "1 GB šifrētas krātuves datņu pielikumiem." }, "premiumSignUpTwoStep": { - "message": "Papildus divpakāpju ieejas iespējas kā YubiKey, FIDO U2F un Duo." + "message": "Tādas papildus divpakāpju pierakstīšanās iespējas kā YubiKey, FIDO U2F un Duo." + }, + "premiumSignUpEmergency": { + "message": "Emergency Access" }, "premiumSignUpReports": { - "message": "Paroļu higiēnas, kontu veselības un datu noplūžu pārskatus lai uzturētu tavu seifu drošībā." + "message": "Paroļu higiēnas, kontu veselības un datu pārkāpumu atskaites, lai uzturētu glabātavu drošu." }, "premiumSignUpTotp": { - "message": "TOTP verifikācijas kodu (2FA) ģenerātors priekš kontiem jūsu seifā." + "message": "TOTP apstiprinājuma kodu (2FA) veidotājs piekļuves ierakstiem glabātavā." }, "premiumSignUpSupport": { - "message": "Prioritārs klientu atbalsts." + "message": "Priekšrocīgs lietotāju atbalsts." }, "premiumSignUpFuture": { - "message": "Visas nākotnes premium funkcijas. Vairāk drīzumā!" + "message": "Visas nākotnes Premium iespējas. Vairāk drīzumā!" }, "premiumPrice": { "message": "Viss par tikai $PRICE$ gadā!", @@ -1590,10 +1611,10 @@ "message": "Papildinājumi" }, "premiumAccess": { - "message": "Premium Piekļuve" + "message": "Premium piekļuve" }, "premiumAccessDesc": { - "message": "Jūs varat pievienot premium piekļuvi visiem organizācijas biedriem par $PRICE$ /$INTERVAL$.", + "message": "Ir iespējams pievienot Premium piekļuvi visiem apvienības dalībniekiem par $PRICE$/$INTERVAL$.", "placeholders": { "price": { "content": "$1", @@ -1606,13 +1627,13 @@ } }, "additionalStorageGb": { - "message": "Papildus Krātuve (GB)" + "message": "Papildus krātuve (GB)" }, "additionalStorageGbDesc": { "message": "# papildus GB" }, "additionalStorageIntervalDesc": { - "message": "Jūsu plāns nāk ar $SIZE$ šifrētas failu krātuves. Jūs varat palielināt krātuvi par $PRICE$ uz GB / $INTERVAL$.", + "message": "Pašreizējais plāns iever $SIZE$ šifrētas datņu krātuves. Ir iespējams pievienot papildus krātuvi par $PRICE$ GB / $INTERVAL$.", "placeholders": { "size": { "content": "$1", @@ -1645,10 +1666,10 @@ "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { - "message": "No jūsu apmaksas veida summa tiks iekasēta nekavējoties un atkārtoti ik gadu. To var atcelt jebkurā laikā." + "message": "Summa no apmaksas veida tiks iekasēta nekavējoties un atkārtoti ik gadu. To var atcelt jebkurā laikā." }, "paymentCharged": { - "message": "No jūsu apmaksas veida summa tiks iekasēta nekavējoties un atkārtoti katru $INTERVAL$. To var atcelt jebkurā laikā.", + "message": "Summa no apmaksas veida tiks iekasēta nekavējoties un atkārtoti katru $INTERVAL$. To var atcelt jebkurā laikā.", "placeholders": { "interval": { "content": "$1", @@ -1657,7 +1678,7 @@ } }, "paymentChargedWithTrial": { - "message": "Jūsu plāns nāk ar bezmaksas 7 dienu izmēģinājuma periodu. Jūsu apmaksas veids netiks iekasēts līdz izmēģinājuma perioda beigām. Iekasēšana notiks regulāri katru $INTERVAL$. To var atcelt jebkurā brīdī.", + "message": "Pašreizējā plānā ir iekļauts bezmaksas 7 dienu izmēģinājuma laiks. Izvēlētais apmaksas veids netiks izmantots līdz izmēģinājuma beigā. Norēķini notiks katru $INTERVAL$. To var atcelt jebkurā brīdī.", "placeholders": { "interval": { "content": "$1", @@ -1666,79 +1687,79 @@ } }, "paymentInformation": { - "message": "Maksājuma Informācija" + "message": "Maksājuma informācija" }, "billingInformation": { - "message": "Billing Information" + "message": "Norēķinu informācija" }, "creditCard": { - "message": "Kredītkarte" + "message": "Maksājumu karte" }, "paypalClickSubmit": { - "message": "Nospied PayPal pogu lai ieietu savā PayPal kontā, tad nospied Apstiprināt pogu zemāk lai turpinātu." + "message": "Nospiest PayPal pogu, lai pierakstītos PayPal kontā, pēc tam jāspiež poga \"Iesniegt\", lai turpinātu." }, "cancelSubscription": { - "message": "Atcelt Abonomentu" + "message": "Atcelt abonementu" }, "subscriptionCanceled": { - "message": "Abonēšana ir atcelta." + "message": "Abonements ir atcelts." }, "pendingCancellation": { - "message": "Gaida Atcelšanu" + "message": "Tiek gaidīta atcelšana" }, "subscriptionPendingCanceled": { "message": "Abonements ir atzīmēts atcelšanai pašreizējā norēķinu perioda beigās." }, "reinstateSubscription": { - "message": "Atjaunot Abonementu" + "message": "Atjaunot abonementu" }, "reinstateConfirmation": { - "message": "Vai tiešām vēlaties noņemt abonementa atcelšanas pieprasījumu un atjaunot abonementu?" + "message": "Vai tiešām noņemt abonementa atcelšanas pieprasījumu un atjaunot abonementu?" }, "reinstated": { - "message": "Jūsu abonements ir atjaunots." + "message": "Abonements tika atjaunots." }, "cancelConfirmation": { - "message": "Vai tiešām vēlaties atcelt? Jūs zaudēsiet piekļuvi visām šī abonementa iespējām šī norēķinu perioda beigās." + "message": "Vai tiešām atcelt? Tiks zaudēta piekļuve visām abonementa iespējām pēc pašreizējā norēķinu laika posma beigām." }, "canceledSubscription": { - "message": "Šis abonements ir atcelts." + "message": "Abonements ir atcelts." }, "neverExpires": { - "message": "Nekad Nebeidzas" + "message": "Nekad nebeidzas" }, "status": { - "message": "Statuss" + "message": "Stāvoklis" }, "nextCharge": { - "message": "Nākamais Maksājums" + "message": "Nākamais maksājums" }, "details": { - "message": "Informācija" + "message": "Izklāsts" }, "downloadLicense": { - "message": "Lejupielādēt Licenci" + "message": "Lejupielādēt licenci" }, "updateLicense": { - "message": "Atjaunināt Licenci" + "message": "Atjaunināt licenci" }, "updatedLicense": { "message": "Atjauninātā licence" }, "manageSubscription": { - "message": "Pārvaldīt Abonējumu" + "message": "Pārvaldīt abonementus" }, "storage": { "message": "Krātuve" }, "addStorage": { - "message": "Pievienot Krātuvi" + "message": "Pievienot krātuvi" }, "removeStorage": { - "message": "Noņemt Krātuvi" + "message": "Noņemt krātuvi" }, "subscriptionStorage": { - "message": "Jūsu abonementam ir $MAX_STORAGE$ GB šifrētas failu krātuves. Jūs pašlaik izmantojat $USED_STORAGE$.", + "message": "Pašreizējam abonementam ir $MAX_STORAGE$ GB šifrētas datņu krātuves. Pašreiz izmantotais apjoms ir $USED_STORAGE$.", "placeholders": { "max_storage": { "content": "$1", @@ -1751,7 +1772,7 @@ } }, "paymentMethod": { - "message": "Apmaksas Veids" + "message": "Apmaksas veids" }, "noPaymentMethod": { "message": "Nav norādīts apmaksas veids." @@ -1760,7 +1781,7 @@ "message": "Pievienot apmaksas veidu" }, "changePaymentMethod": { - "message": "Mainīt Apmaksas Veidu" + "message": "Mainīt apmaksas veidu" }, "invoices": { "message": "Rēķini" @@ -1784,15 +1805,15 @@ "message": "Nav darījumu." }, "chargeNoun": { - "message": "Maksāts", + "message": "Apmaksa", "description": "Noun. A charge from a payment method." }, "refundNoun": { - "message": "Atmaksāts", + "message": "Atmaksa", "description": "Noun. A refunded payment that was charged." }, "chargesStatement": { - "message": "Visi maksājumi parādīsies jūsu izrakstā kā $STATEMENT_NAME$.", + "message": "Visas apmaksas parādīsies izrakstā kā $STATEMENT_NAME$.", "placeholders": { "statement_name": { "content": "$1", @@ -1801,19 +1822,19 @@ } }, "gbStorageAdd": { - "message": "GB ko Pievienot Krātuvei" + "message": "Krātuves GB, ko pievienot" }, "gbStorageRemove": { - "message": "GB ko Noņemt no Krātuves" + "message": "Krātuves GB, ko noņemt" }, "storageAddNote": { - "message": "Krātuves palielināšana mainīs jūsu kopsummu un iekasēs starpību no noklusētā apmaksas veida. Maksājums iekasēs vajadzīgo summu līdz pašreizējā norēķinu cikla beigām." + "message": "Krātuves izmēra palielināšana ietekmēs norēķinu kopējo apjomu, un uzreiz tiks veikta apmaksa ar norādīto maksājumu veidu. Pirmās apmaksas lielums būs atbilstošs atlikušajai pašreizējā norēķinu laika posma daļai." }, "storageRemoveNote": { - "message": "Krātuves mazināšana mainīs jūsu kopsummu, kas tiks atgriezta kā kredīti nākamai norēķinu apmaksai." + "message": "Krātuves apjoma samazināšana ietekmēs apmaksas apjomu, kas tiks piešķirts kā kredīts, kas atbilst atlikušajam laikam līdz nākamajam apmaksas laika posmam." }, "adjustedStorage": { - "message": "Pārmainīja $AMOUNT$ GB krātuves.", + "message": "Tika mainīts(i) $AMOUNT$ GB krātuves.", "placeholders": { "amount": { "content": "$1", @@ -1822,19 +1843,19 @@ } }, "contactSupport": { - "message": "Sazināties ar Klientu Atbalstu" + "message": "Sazinieties ar klientu atbalstu" }, "updatedPaymentMethod": { - "message": "Atjaunoja apmaksas veidu." + "message": "Apmaksas veids atjaunināts." }, "purchasePremium": { - "message": "Nopirkt Premium" + "message": "Iegādāties Premium" }, "licenseFile": { - "message": "Licences Fails" + "message": "Licences datne" }, "licenseFileDesc": { - "message": "Jūsu licences fails būs nosaukts līdzīgi $FILE_NAME$", + "message": "Licences datne tiks nosaukta apmēram šādi: $FILE_NAME$", "placeholders": { "file_name": { "content": "$1", @@ -1843,49 +1864,49 @@ } }, "uploadLicenseFilePremium": { - "message": "Lai atjaunotu savu kontu uz premium jums ir nepieciešams augšupielādēt derīgu licences failu." + "message": "Lai uzlabotu kontu ar Premium dalību, ir nepieciešams augšupielādēt derīgu licences datni." }, "uploadLicenseFileOrg": { - "message": "Lai izveidotu lokāli uzturētu organizāciju jums vajag augšupielādēt derīgu licences failu." + "message": "Lai izveidotu pašizvietotu apvienību, ir nepieciešams augšupielādēt derīgu licences datni." }, "accountEmailMustBeVerified": { - "message": "Tava konta e-pasta adrese ir jāverificē." + "message": "Ir jāapstiprina konta e-pasta adrese." }, "newOrganizationDesc": { - "message": "Organizācijas ļauj jums koplietot daļas no sava seifa ar citiem, kā arī pārvaldīt lietotājus, kas ir saistīti ar konkrētu ģimeni, mazu komandu vai lielu kompāniju." + "message": "Apvienības sniedz iespēju kopīgot daļu no glabātavas ar citiem, kā arī pārvaldīt saistītos lietotājus tādos veidojumos kā ģimene, maza vienība vai liels uzņēmums." }, "generalInformation": { - "message": "Vispārīga Informācija" + "message": "Vispārīga informācija" }, "organizationName": { - "message": "Organizācijas Nosaukums" + "message": "Apvienības nosaukums" }, "accountOwnedBusiness": { "message": "Šis konts pieder uzņēmumam." }, "billingEmail": { - "message": "Norēķinu E-pasts" + "message": "E-pasta adrese norēķiniem" }, "businessName": { - "message": "Uzņēmuma Nosaukums" + "message": "Uzņēmuma nosaukums" }, "chooseYourPlan": { - "message": "Izvēlies Savu Plānu" + "message": "Izvēlēties plānu" }, "users": { "message": "Lietotāji" }, "userSeats": { - "message": "Lietotāju Vietas" + "message": "Lietotāju vietas" }, "additionalUserSeats": { - "message": "Papildus Lietotāju Vietas" + "message": "Papildus lietotāju vietas" }, "userSeatsDesc": { "message": "# lietotāju vietas" }, "userSeatsAdditionalDesc": { - "message": "Jūsu plānam ir $BASE_SEATS$ lietotāju vietas. Jūs varat pievienot papildus lietotāju vietas par $SEAT_PRICE$ par lietotāju /mēnesī.", + "message": "Pašreizējā plānā ir iekļauta(s) $BASE_SEATS$ lietotāju vieta(s). Papildus lietotājus var pievienot par $SEAT_PRICE$ mēnesī par katru.", "placeholders": { "base_seats": { "content": "$1", @@ -1898,14 +1919,14 @@ } }, "userSeatsHowManyDesc": { - "message": "Cik daudz lietotāju vietas jums ir vajadzīgas? Jūs varat pievienot papildus vietas vēlāk, ja vajadzīgs." + "message": "Cik daudz lietotāju vietas ir nepieciešamas? Vēlāk ir iespējams pievienot papildus vietas, ja nepieciešams." }, "planNameFree": { "message": "Bezmaksas", "description": "Free as in 'free beer'." }, "planDescFree": { - "message": "Priekš testēšanas vai personīgiem lietotājiem lai koplietotu ar $COUNT$ citiem lietotājiem.", + "message": "Pārbaudei vai personīgai izmantošanai, lai kopīgotu ar $COUNT$ citiem lietotājiem.", "placeholders": { "count": { "content": "$1", @@ -1917,25 +1938,25 @@ "message": "Ģimenes" }, "planDescFamilies": { - "message": "Priekš personīgas lietošanas, lai koplietotu ar ģimeni un draugiem." + "message": "Personīgai izmantošanai, lai kopīgotu ar ģimeni un draugiem." }, "planNameTeams": { - "message": "Komandas" + "message": "Vienības" }, "planDescTeams": { - "message": "Priekš biznesiem un citām komandu organizācijām." + "message": "Uzņēmumiem un citām apvienībām." }, "planNameEnterprise": { - "message": "Uzņēmuma" + "message": "Uzņēmējdarbība" }, "planDescEnterprise": { - "message": "Priekš biznesiem un citām lielām organizācijām." + "message": "Uzņēmumiem un citām lielām apvienībām." }, "freeForever": { - "message": "Bezmaksas Vienmēŗ" + "message": "Vienmēr bezmaksas" }, "includesXUsers": { - "message": "ietver $COUNT$ lietotājus", + "message": "ietver $COUNT$ lietotāju(s)", "placeholders": { "count": { "content": "$1", @@ -1944,7 +1965,7 @@ } }, "additionalUsers": { - "message": "Papildus Lietotāji" + "message": "Papildus lietotāji" }, "costPerUser": { "message": "$COST$ par lietotāju", @@ -1956,7 +1977,7 @@ } }, "limitedUsers": { - "message": "Ierobežots līdz $COUNT$ lietotājiem (ieskaitot tevi)", + "message": "Ierobežots līdz $COUNT$ lietotājiem (ieskaitot Tevi)", "placeholders": { "count": { "content": "$1", @@ -1965,7 +1986,7 @@ } }, "limitedCollections": { - "message": "Ierobežots līdz $COUNT$ kolekcijām", + "message": "Ierobežots līdz $COUNT$ krājumiem", "placeholders": { "count": { "content": "$1", @@ -1974,7 +1995,7 @@ } }, "addShareLimitedUsers": { - "message": "Pievieno un koplieto ar līdz $COUNT$ lietotājiem", + "message": "Pievieno un kopīgo ar līdz $COUNT$ lietotājiem", "placeholders": { "count": { "content": "$1", @@ -1983,13 +2004,13 @@ } }, "addShareUnlimitedUsers": { - "message": "Pievieno un koplieto ar bezlimita daudz lietotājiem" + "message": "Pievieno un kopīgo ar neierobežotu lietotāju skaitu" }, "createUnlimitedCollections": { - "message": "Izveido bezlimita daudz kolekciju" + "message": "Izveido neierobežotu daudzumu krājumu" }, "gbEncryptedFileStorage": { - "message": "$SIZE$ šifrēta failu krātuve", + "message": "$SIZE$ šifrēta datņu krātuve", "placeholders": { "size": { "content": "$1", @@ -1998,28 +2019,28 @@ } }, "onPremHostingOptional": { - "message": "Lokāla uzturēšana (neobligāts)" + "message": "Pašizvietošana (nav nepieciešama)" }, "usersGetPremium": { - "message": "Lietotāji saņem piekļuvi premium dalībnieku funkcijām" + "message": "Lietotāji saņem piekļuvi Premium iespējām" }, "controlAccessWithGroups": { - "message": "Pārvaldi lietotāju piekļuvi ar grupām" + "message": "Pārvaldi lietotāju piekļuvi ar kopām" }, "syncUsersFromDirectory": { - "message": "Sinhronizē savus lietotājus un grupas no direktorijas servisa" + "message": "Sinhronizē lietotājus un kopas no direktorija" }, "trackAuditLogs": { - "message": "Seko lietotāju darbībām ar auditu žurnāliem" + "message": "Seko lietotāju darbībām pārbaudes žurnālos" }, "enforce2faDuo": { - "message": "Ieviesiet 2FA ar Duo" + "message": "Ieviest 2FA ar Duo" }, "priorityCustomerSupport": { - "message": "Prioritārs klientu atbalsts" + "message": "Priekšrocīgs lietotāju atbalsts" }, "xDayFreeTrial": { - "message": "$COUNT$ dienu bezmaksas izmēģinājums, atcel jebkurā brīdī", + "message": "$COUNT$ dienu bezmaksas izmēģinājums, atcelt var jebkurā brīdī", "placeholders": { "count": { "content": "$1", @@ -2034,109 +2055,109 @@ "message": "Katru gadu" }, "basePrice": { - "message": "Pamata Cena" + "message": "Pamata cena" }, "organizationCreated": { - "message": "Organizācija Izveidota" + "message": "Apvienība izveidota" }, "organizationReadyToGo": { - "message": "Jūsu jaunā organizācija ir gatava darbam!" + "message": "Jaunā apvienība ir gatava darbam!" }, "organizationUpgraded": { - "message": "Jūsu organizācija tika paaugstināta." + "message": "Apvienība tika uzlabota." }, "leave": { - "message": "Iziet" + "message": "Pamest" }, "leaveOrganizationConfirmation": { - "message": "Vai tiešām vēlaties pamest šo organizāciju?" + "message": "Vai tiešām pamest šo apvienību?" }, "leftOrganization": { - "message": "Jūs pametāt organizāciju." + "message": "Apvienība ir pamesta." }, "defaultCollection": { - "message": "Noklusējuma Kolekcija" + "message": "Noklusējuma krājums" }, "getHelp": { - "message": "Saņemt Palīdzību" + "message": "Saņemt palīdzību" }, "getApps": { - "message": "Iegūsti Lietotnes" + "message": "Iegūt lietotnes" }, "loggedInAs": { - "message": "Iegājis kā" + "message": "Pierakstījies kā" }, "eventLogs": { - "message": "Notikumu Žurnāls" + "message": "Notikumu žurnāli" }, "people": { "message": "Cilvēki" }, "policies": { - "message": "Politikas" + "message": "Nosacījumi" }, "editPolicy": { - "message": "Rediģēt Politiku" + "message": "Labot nosacījumus" }, "groups": { - "message": "Grupas" + "message": "Kopas" }, "newGroup": { - "message": "Jauna Grupa" + "message": "Jauna kopa" }, "addGroup": { - "message": "Pievienot Grupu" + "message": "Pievienot kopu" }, "editGroup": { - "message": "Rediģēt Grupu" + "message": "Labot kopu" }, "deleteGroupConfirmation": { - "message": "Vai tiešām vēlaties dzēst šo grupu?" + "message": "Vai tiešām vēlaties dzēst šo kopu?" }, "removeUserConfirmation": { - "message": "Vai tiešām vēlaties noņemt šo lietotāju?" + "message": "Vai tiešām noņemt šo lietotāju?" }, "externalId": { - "message": "Ārējais Id" + "message": "Ārējais ID" }, "externalIdDesc": { - "message": "Ārējo Id var izmantot lai saistītu šo resursu ar ārēju sistēmu, kā piemēram lietotāju direktoriju." + "message": "Ārējo ID var izmanto kā atsauci vai kā saikni starp šo līdzekli un ārēju sistēmu, piemēram, lietotāju direktoriju." }, "accessControl": { - "message": "Piekļuves Kontrole" + "message": "Piekļuves pārraudzība" }, "groupAccessAllItems": { - "message": "Šī grupa var piekļūt pie un rediģēt visus vienumus." + "message": "Šī kopa var piekļūt visiem vienumiem un mainīt tos." }, "groupAccessSelectedCollections": { - "message": "Šī grupa var piekļūt tikai izvēlētajām kolekcijām." + "message": "Šī kopa var piekļūt tikai izvēlētajiem krājumiem." }, "readOnly": { - "message": "Tikai Lasīt" + "message": "Tikai lasāms" }, "newCollection": { - "message": "Jauna Kolekcija" + "message": "Jauns krājums" }, "addCollection": { - "message": "Pievienot Kolekciju" + "message": "Pievienot krājumu" }, "editCollection": { - "message": "Rediģēt Kolekciju" + "message": "Labot krājumu" }, "deleteCollectionConfirmation": { - "message": "Vai tiešām vēlaties dzēst šo kolekciju?" + "message": "Vai tiešām izdzēst šo krājumu?" }, "editUser": { - "message": "Rediģēt Lietotāju" + "message": "Labot lietotāju" }, "inviteUser": { - "message": "Uzaicināt Lietotāju" + "message": "Uzaicināt lietotāju" }, "inviteUserDesc": { - "message": "Uzaicini jaunu lietotāju savā organizācijā ievadot viņu Bitwarden konta e-pasta adresi zemāk. Ja viņiem vēl nav Bitwarden konta, viņiem tiks piedāvāts izveidot jaunu kontu." + "message": "Uziacināt apvienībā jaunu lietotāju, zemāk esošajā laukā ievadot viņa Bitwarden konta e-pasta adresi. Ja viņam vēl nav Bitwarden konta, tiks vaicāts izveidot jaunu." }, "inviteMultipleEmailDesc": { - "message": "Jūs varat uzaicināt līdz $COUNT$ lietotājiem vienlaicīgi, atdalot viņu e-pasta adreses ar komatiem.", + "message": "Ir iespējams vienlaicīgi uzaicināt līdz $COUNT$ lietotājiem, atdalot to e-pasta adreses ar komatiem.", "placeholders": { "count": { "content": "$1", @@ -2145,13 +2166,13 @@ } }, "userUsingTwoStep": { - "message": "Šis lietotājs izmanto divpakāpju piekļuvi lai aizsargātu savu kontu." + "message": "Šis lietotājs izmanto divpakāpju pierakstīšanos, lai aizsargātu savu kontu." }, "userAccessAllItems": { - "message": "Šis lietotājs var piekļūt pie un rediģēt visus vienumus." + "message": "Šis lietotājs var piekļūt visiem vienumiem un mainīt tos." }, "userAccessSelectedCollections": { - "message": "Šis lietotājs var piekļūt tikai pie izvēlētajām kolekcijām." + "message": "Šis lietotājs var piekļūt tikai pie atlasītajiem krājumiem." }, "search": { "message": "Meklēt" @@ -2169,31 +2190,31 @@ "message": "Īpašnieks" }, "ownerDesc": { - "message": "Augstākās piekļuves lietotājs, kas var pārvaldīt visus aspektus jūsu organizācijā." + "message": "Lietotājs ar augstākajām piekļuves tiesībām, kurš var pārvaldīt visu apvienībā." }, "admin": { - "message": "Administrators" + "message": "Pārvaldnieks" }, "adminDesc": { - "message": "Administratori var piekļūt un pārvaldīt visus vienumus, kolekcijas un lietotājus jūsu organizācijā." + "message": "Pārvaldnieki var piekļūt un pārvaldīt visus apvienības vienumus, krājumus un lietotājus." }, "user": { "message": "Lietotājs" }, "userDesc": { - "message": "Parasts lietotājs ar piekļuvi piešķirtām kolekcijām jūsu organizācijā." + "message": "Parasts lietotājs ar piekļuvi piešķirtajiem apvienības krājumiem." }, "manager": { - "message": "Pārvaldnieks" + "message": "Vadītājs" }, "managerDesc": { - "message": "Pārvaldnieks var piekļūt un pārvaldīt piešķirtām kolekcijām jūsu organizācijā." + "message": "Vadītāji var piekļūt un pārvaldīt piešķirtos apvienības krājumus." }, "all": { "message": "Visi" }, "refresh": { - "message": "Atjaunot" + "message": "Atsvaidzināt" }, "timestamp": { "message": "Laikspiedols" @@ -2205,10 +2226,10 @@ "message": "Nezināms" }, "loadMore": { - "message": "Ielādēt Vairāk" + "message": "Ielādēt vairāk" }, "mobile": { - "message": "Mobilais", + "message": "Tālrunis", "description": "Mobile app" }, "extension": { @@ -2220,40 +2241,40 @@ "description": "Desktop app" }, "webVault": { - "message": "Tīmekļa Seifs" + "message": "Tīmekļa glabātava" }, "loggedIn": { - "message": "Iegāja." + "message": "Pierakstījies." }, "changedPassword": { - "message": "Nomainīja konta paroli." + "message": "Konta parole nomainīta." }, "enabledUpdated2fa": { - "message": "Iespējoja/atjaunoja divpakāpju piekļuvi." + "message": "Divpakāpju pierakstīšanās iespējota/atjaunināta." }, "disabled2fa": { - "message": "Atspējoja divpakāpju piekļuvi." + "message": "Divpakāpju pierakstīšanās atspējota." }, "recovered2fa": { - "message": "Atjaunoja kontu no divpakāpju piekļuves." + "message": "Konts atkopts no divpakāpju pierakstīšanās." }, "failedLogin": { - "message": "Ieejas mēģinājums neizdevās ar nepareizu paroli." + "message": "Pierakstīšanās mēģinājums neizdevās nepareizas paroles dēļ." }, "failedLogin2fa": { - "message": "Ieejas mēģinājums neizdevās ar nepareizu divpakāpju ieeju." + "message": "Pierakstīšanās mēģinājums neizdevās nepareizas divpakāpju pierakstīšanās dēļ." }, "exportedVault": { - "message": "Eksportēja seifu." + "message": "Glabātavas saturs izdots." }, "exportedOrganizationVault": { - "message": "Eksportēja organizācijas seifu." + "message": "Izdots apvienības glabātavas saturs." }, "editedOrgSettings": { - "message": "Rediģēja organizācijas iestatījumus." + "message": "Laboti apvienības iestatījumi." }, "createdItemId": { - "message": "Izveidoja vienumu $ID$.", + "message": "Izveidots vienums $ID$.", "placeholders": { "id": { "content": "$1", @@ -2262,7 +2283,7 @@ } }, "editedItemId": { - "message": "Rediģēja vienumu $ID$.", + "message": "Labots vienums $ID$.", "placeholders": { "id": { "content": "$1", @@ -2271,7 +2292,7 @@ } }, "deletedItemId": { - "message": "Pārvietoja vienumu $ID$ uz miskasti.", + "message": "Vienumu $ID$ pārvietots uz atkritni.", "placeholders": { "id": { "content": "$1", @@ -2280,7 +2301,7 @@ } }, "sharedItemId": { - "message": "Koplietoja vienumu $ID$.", + "message": "Kopīgots vienums $ID$.", "placeholders": { "id": { "content": "$1", @@ -2289,7 +2310,7 @@ } }, "viewedItemId": { - "message": "Skatīja vienumu $ID$.", + "message": "Skatīts vienums $ID$.", "placeholders": { "id": { "content": "$1", @@ -2298,7 +2319,7 @@ } }, "viewedPasswordItemId": { - "message": "Skatīja paroli vienumam $ID$.", + "message": "Skatīta vienuma $ID$ parole.", "placeholders": { "id": { "content": "$1", @@ -2307,7 +2328,7 @@ } }, "viewedHiddenFieldItemId": { - "message": "Skatīja paslēptu lauku vienumam $ID$.", + "message": "Skatīts vienuma $ID$ slēpts lauks.", "placeholders": { "id": { "content": "$1", @@ -2316,7 +2337,7 @@ } }, "viewedSecurityCodeItemId": { - "message": "Skatīja drošības kodu vienumam $ID$.", + "message": "Skatīts vienuma $ID$ drošības kods.", "placeholders": { "id": { "content": "$1", @@ -2325,7 +2346,7 @@ } }, "copiedPasswordItemId": { - "message": "Nokopēja paroli vienumam $ID$.", + "message": "Vienuma $ID$ parole ievietota starpliktuvē.", "placeholders": { "id": { "content": "$1", @@ -2334,7 +2355,7 @@ } }, "copiedHiddenFieldItemId": { - "message": "Nopkopēja paslēptu lauku vienumam $ID$.", + "message": "Vienuma $ID$ slēpts lauks ievietots starpliktuvē.", "placeholders": { "id": { "content": "$1", @@ -2343,7 +2364,7 @@ } }, "copiedSecurityCodeItemId": { - "message": "Nokopēja drošības kodu vienumam $ID$.", + "message": "Vienuma $ID$ drošības kods ievietots starpliktuvē.", "placeholders": { "id": { "content": "$1", @@ -2352,7 +2373,7 @@ } }, "autofilledItemId": { - "message": "Auto-aizpildīja vienumu $ID$.", + "message": "Automātiski aizpildīts vienums $ID$.", "placeholders": { "id": { "content": "$1", @@ -2361,7 +2382,7 @@ } }, "createdCollectionId": { - "message": "Izveidoja kolekciju $ID$.", + "message": "Izveidots krājums $ID$.", "placeholders": { "id": { "content": "$1", @@ -2370,7 +2391,7 @@ } }, "editedCollectionId": { - "message": "Rediģēja kolekciju $ID$.", + "message": "Labots krājums $ID$.", "placeholders": { "id": { "content": "$1", @@ -2379,7 +2400,7 @@ } }, "deletedCollectionId": { - "message": "Izdzēsa kolekciju $ID$.", + "message": "Izdzēsts krājums $ID$.", "placeholders": { "id": { "content": "$1", @@ -2388,7 +2409,7 @@ } }, "editedPolicyId": { - "message": "Rediģēja politiku $ID$.", + "message": "Labots nosacījumu kopums $ID$.", "placeholders": { "id": { "content": "$1", @@ -2397,7 +2418,7 @@ } }, "createdGroupId": { - "message": "Izveidoja grupu $ID$.", + "message": "Izveidota kopa $ID$.", "placeholders": { "id": { "content": "$1", @@ -2406,7 +2427,7 @@ } }, "editedGroupId": { - "message": "Rediģēja grupu $ID$.", + "message": "Labota kopa $ID$.", "placeholders": { "id": { "content": "$1", @@ -2415,7 +2436,7 @@ } }, "deletedGroupId": { - "message": "Izdzēsa grupu $ID$.", + "message": "Izdzēsta kopa $ID$.", "placeholders": { "id": { "content": "$1", @@ -2424,7 +2445,7 @@ } }, "removedUserId": { - "message": "Noņēma lietotāju $ID$.", + "message": "Noņemts lietotājs $ID$.", "placeholders": { "id": { "content": "$1", @@ -2433,7 +2454,7 @@ } }, "createdAttachmentForItem": { - "message": "Izveidoja pielikumu vienumam $ID$.", + "message": "Izveidots pielikumu vienumam $ID$.", "placeholders": { "id": { "content": "$1", @@ -2442,7 +2463,7 @@ } }, "deletedAttachmentForItem": { - "message": "Izdzēsa pielikumu vienumam $ID$.", + "message": "Izdzēsts pielikums vienumam $ID$.", "placeholders": { "id": { "content": "$1", @@ -2451,7 +2472,7 @@ } }, "editedCollectionsForItem": { - "message": "Rediģēja kolekcijas vienumam $ID$.", + "message": "Laboti krājumi vienumam $ID$.", "placeholders": { "id": { "content": "$1", @@ -2460,7 +2481,7 @@ } }, "invitedUserId": { - "message": "Uzaicināja lietotāju $ID$.", + "message": "Uzaicināts lietotājs $ID$.", "placeholders": { "id": { "content": "$1", @@ -2469,7 +2490,7 @@ } }, "confirmedUserId": { - "message": "Apstiprināja lietotāju $ID$.", + "message": "Apstiprināts lietotājs $ID$.", "placeholders": { "id": { "content": "$1", @@ -2478,7 +2499,7 @@ } }, "editedUserId": { - "message": "Rediģēja lietotāju $ID$.", + "message": "Labots lietotājs $ID$.", "placeholders": { "id": { "content": "$1", @@ -2487,7 +2508,7 @@ } }, "editedGroupsForUser": { - "message": "Rediģēja grupas lietotājam $ID$.", + "message": "Labotas kopas lietotājam $ID$.", "placeholders": { "id": { "content": "$1", @@ -2496,7 +2517,7 @@ } }, "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", + "message": "Atsaistīta vienotā pieteikšanās lietotājam $ID$.", "placeholders": { "id": { "content": "$1", @@ -2511,25 +2532,25 @@ "message": "Skats" }, "invalidDateRange": { - "message": "Nederīgs datumu diapazons." + "message": "Nederīgs datumu apgabals." }, "errorOccurred": { "message": "Radusies kļūda." }, "userAccess": { - "message": "Lietotāja Piekļuve" + "message": "Lietotāja piekļuve" }, "userType": { - "message": "Lietotāja Veids" + "message": "Lietotāja veids" }, "groupAccess": { - "message": "Grupu Piekļuve" + "message": "Kopu piekļuve" }, "groupAccessUserDesc": { - "message": "Rediģēt grupas kurām šis lietotājs pieder." + "message": "Labot kopas, kurās ir iekļauts šis lietotājs." }, "invitedUsers": { - "message": "Uzaicināja lietotāju(s)." + "message": "Uzaicināts(i) lietotājs(i)." }, "resendInvitation": { "message": "Atkārtoti nosūtīt uzaicinājumu" @@ -2547,7 +2568,7 @@ "message": "Apstiprināt" }, "confirmUser": { - "message": "Apstiprināt Lietotāju" + "message": "Apstiprināt lietotāju" }, "hasBeenConfirmed": { "message": "$USER$ tika apstiprināts.", @@ -2559,55 +2580,55 @@ } }, "confirmUsers": { - "message": "Apstiprināt Lietotājus" + "message": "Apstiprināt lietotājus" }, "usersNeedConfirmed": { - "message": "Jums ir lietotāji, kas ir pieņēmuši savu uzaicinājumu, bet vēl nav apstiprināti. Lietotājiem nebūs piekļuves jūsu organizācijai līdz viņi ir tiek apstiprināti." + "message": "Ir lietotāji, kas nav pieņēmuši uzaicinājumu, bet joprojām ir jāapstiprina. Lietotājiem nebūs piekļuves apvienībai, līdz tie nebūs apstiprināti." }, "startDate": { - "message": "Sākuma Datums" + "message": "Sākuma datums" }, "endDate": { - "message": "Beigu Datums" + "message": "Beigu datums" }, "verifyEmail": { - "message": "Apstiprināt E-pastu" + "message": "Apstiprināt e-pastu" }, "verifyEmailDesc": { - "message": "Apstiprini sava konta e-pastu lai atslēgtu visas funkcijas." + "message": "Ir jāapstiprina konta e-pasta adrese, lai piekļūtu visām iespējām." }, "verifyEmailFirst": { - "message": "Tava konta e-pasta adrese vispirms ir jāapstiprina." + "message": "Vispirms ir jāapstiprina konta e-pasta adrese." }, "checkInboxForVerification": { - "message": "Pārbaudiet savu e-pastu priekš apstiprinājuma saites." + "message": "Jāpārbauda e-pasts, vai tajā ir ziņojums ar apstiprinājuma saiti." }, "emailVerified": { - "message": "Jūsu e-pasts ir apstiprināts." + "message": "E-pasta adrese ir apstiprināta." }, "emailVerifiedFailed": { - "message": "Nevarēja aptsiprināt e-pastu. Mēģiniet sūtīt atkārtotu apstiprinājuma e-pastu." + "message": "Nevarēja apstiprināt e-pasta adresi. Var mēģināt sūtīt atkārtotu apstiprinājuma e-pasta ziņojumu." }, "updateBrowser": { - "message": "Atjauniniet Pārlūkprogrammu" + "message": "Atjaunināt pārlūku" }, "updateBrowserDesc": { - "message": "Jūs izmantojat neatbalstītu tīmekļa pārlūku. Tīmekļa seifs var nefunkcionēt pareizi." + "message": "Tiek izmantots neatbalstīts tīmekļa pārlūks. Tīmekļa glabātava var darboties nepareizi." }, "joinOrganization": { - "message": "Pievienoties Organizācijai" + "message": "Pievienoties apvienībai" }, "joinOrganizationDesc": { - "message": "Jūs esat uzaicināti pievienoties augstāk redzamai organizācijai. Lai pieņemtu uzaicinājumu, jums būs jāieiet vai jāizveido jauns Bitwarden konts." + "message": "Tu esi uzaicināts pievienoties augstāk norādītajai apvienībai. Lai to pieņemtu, jāpierakstās vai jāizveido jauns Bitwarden konts." }, "inviteAccepted": { - "message": "Uzaicinājums Pieņemts" + "message": "Uzaicinājums pieņemts" }, "inviteAcceptedDesc": { - "message": "Jūs varēsiet piekļūt šai organizācijai kad administrators apstiprinās jūsu dalību. Mēs jums nosūtīsim e-pastu kad tas notiks." + "message": "Piekļūt apvienībai varēs, kad tās pārvaldnieks apstiprinās dalību. Tiks nosūtīts e-pasta ziņojums, kad tas notiks." }, "inviteAcceptFailed": { - "message": "Neizdevās pieņemt uzaicinājumu. Pajautājiet lai organizācijas administrators jums nosūta jaunu uzaicinājumu." + "message": "Nav iespējams pieņemt uzaicinājumu. Jālūdz apvienības pārvaldniekam nosūtīt jaunu." }, "inviteAcceptFailedShort": { "message": "Neizdevās pieņemt uzaicinājumu. $DESCRIPTION$", @@ -2619,70 +2640,70 @@ } }, "rememberEmail": { - "message": "Atcerēties e-pastu" + "message": "Atcerēties e-pasta adresi" }, "recoverAccountTwoStepDesc": { - "message": "Ja jūs nevarat piekļūt jūsu kontam caur parastām divpakāpju ieejas metodēm, jūs varat izmantot jūsu divpakāpju piekļuves atjaunošanas kodu lai atspējotu visus divpakāpju nodrošinātājus savam kontam." + "message": "Ja kontam nevar piekļūt ar ierastajiem divpakāpju pierakstīšanās veidiem, var izmantot atkopšanas kodu, lai atspējotu visus konta divpakāpju pierakstīšanās nodrošinātājus." }, "recoverAccountTwoStep": { - "message": "Atjaunot Konta Divpakāpju Piekļuvi" + "message": "Atkopt konta divpakāpju pierakstīšanos" }, "twoStepRecoverDisabled": { - "message": "Divpakāpju ieeja ir atspējota jūsu kontā." + "message": "Divpakāpju pierakstīšanās kontā ir atspējota." }, "learnMore": { "message": "Uzzināt vairāk" }, "deleteRecoverDesc": { - "message": "Ievadiet savu e-pasta adresi zemāk lai izdzēstu savu kontu." + "message": "Ievadīt e-pasta adresi zemāk esošajā laukā, lai atkoptu un izdzēstu kontu." }, "deleteRecoverEmailSent": { - "message": "Ja jūsu konts eksistē, mēs jums nosūtījām e-pastu ar tālākām instrukcijām." + "message": "Ja konts pastāv, tika nosūtīts e-pasta ziņojums ar turpmākām norādēm." }, "deleteRecoverConfirmDesc": { - "message": "Jūs pieprasījāt sava Bitwarden konta izdzēšanu. Nospiediet zemāk esošo pogu lai aptiprinātu." + "message": "Tika pieprasīts dzēst Bitwarden kontu. Nospiest zemāk esošo pogu, lai apstiprinātu." }, "myOrganization": { - "message": "Mana Organizācija" + "message": "Mana apvienība" }, "deleteOrganization": { - "message": "Dzēst Organizāciju" + "message": "Izdzēst apvienību" }, "deleteOrganizationDesc": { "message": "Turpiniet zemāk lai izdzēstu organizāciju un visus ar to saistītos datus. Individuāli lietotāju konti paliks, bet tie vairs nebūs saistīti ar šo organizāciju. " }, "deleteOrganizationWarning": { - "message": "Organizācijas dzēšana ir paliekoša. To nevar atdarīt." + "message": "Apvienības dzēšana ir paliekoša. To nevar atsaukt." }, "organizationDeleted": { - "message": "Organizācija Izdzēsta" + "message": "Apvienība izdzēsta" }, "organizationDeletedDesc": { - "message": "Organizācija un visi saistītie dati ir izdzēsti." + "message": "Apvienība un visi ar to saistītie dati ir izdzēsti." }, "organizationUpdated": { - "message": "Organizācija atjaunota" + "message": "Apvienība atjaunināta" }, "taxInformation": { - "message": "Nodokļu Informācija" + "message": "Nodokļu informācija" }, "taxInformationDesc": { - "message": "Klientiem, kas atrodas ASV, ZIP kods / Pasta indekss ir nepieciešams lai izpildītu nodokļu prasības. Citām valstīm var norādīt nodokļu identifikācijas numuru (VAT/GST) un/vai adresi kas parādīsies jūsu rēķinos." + "message": "Klientiem, kas atrodas ASV, pasta indeksu ir nepieciešams norādīt, lai izpildītu pārdošanas nodokļa prasības, un citām valstīm var norādīt nodokļu maksātāja numuru (VAT/GST) un/vai adresi kas, būs redzama rēķinos." }, "billingPlan": { "message": "Plāns", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlan": { - "message": "Mainīt Plānu", + "message": "Mainīt plānu", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanUpgrade": { - "message": "Paaugstiniet savu kontu uz citu plānu ievadot informāciju zemāk. Lūdzu pārliecinieties ka jūsu kontam ir pievienots aktīvs apmaksas veids.", + "message": "Uzlabot kontu uz citu plānu var norādot informāciju zemāk. Lūgums pārliecinieties, ka kontam ir pievienots derīgs apmaksas veids.", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanDesc": { - "message": "Sazinieties ar klientu atbalstu ja vēlaties mainīt plānu. Lūdzu pārliecinieties ka jūsu kontam ir pievienots aktīvs apmaksas veids.", + "message": "Jāsazinās ar klientu atbalstu, ja ir vēlme mainīt plānu. Lūgums nodrošināt, ka kontā ir pievienots derīgs apmaksas veids.", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "invoiceNumber": { @@ -2696,28 +2717,28 @@ } }, "viewInvoice": { - "message": "Skatīt Rēķinu" + "message": "Skatīt rēķinu" }, "downloadInvoice": { - "message": "Lejupielādēt Rēķinu" + "message": "Lejupielādēt rēķinu" }, "verifyBankAccount": { - "message": "Verificēt Bankas Kontu" + "message": "Apstiprināt bankas kontu" }, "verifyBankAccountDesc": { - "message": "Mēs veicām divus mikro-depozītus jūsu bankas kontā (var paiet 1-2 darba dienas līdz tie parādās). Ievadiet šos daudzumus lai verificētu bankas kontu." + "message": "Bankas kontā ir veiktas divas niecīga apjoma iemaksas (var būt nepieciešama 1 - 2 darba dienas, līdz tās tiks saņemtas). Šie daudzumi ir jāievada, lai apstiprinātu bankas kontu." }, "verifyBankAccountInitialDesc": { - "message": "Maksājumi ar bankas kontu ir pieejami tikai klientiem ASV. Jums tiks pieprasīts verificēt jūsu bankas kontu. Mēs veiksim divus mikro-depozītus nākamo 1-2 darba dienu laikā. Ievadiet šos daudzumus organizācijas Norēķinu lapā lai verificētu bankas kontu." + "message": "Apmaksa no bankas konta ir pieejama tikai Amerikas Savienoto Valstu klientiem. Būs nepieciešams apstiprināt bankas kontu. Tiks veiktas divas niecīga apjoma iemaksas nākamās 1 - 2 darba dienu laikā. To apjoms būs jāievada apvienības norēķinu sadaļā, lai apstiprinātu bankas kontu." }, "verifyBankAccountFailureWarning": { - "message": "Ja bankas kontu verificēt neizdosies, tiks nokavēts maksājums un jūsu abonements tiks atspējots." + "message": "Ja neizdosies apstiprināt bankas kontu, tiks kavēts maksājums, un abonements tiks atspējots." }, "verifiedBankAccount": { - "message": "Bankas konts verificēts." + "message": "Bankas konts tika apstiprināts." }, "bankAccount": { - "message": "Bankas Konts" + "message": "Bankas konts" }, "amountX": { "message": "Summa $COUNT$", @@ -2730,37 +2751,37 @@ } }, "routingNumber": { - "message": "Bankas Identifikācijas Numurs", + "message": "Maršrutēšanas numurs", "description": "Bank account routing number" }, "accountNumber": { - "message": "Konta Numurs" + "message": "Konta numurs" }, "accountHolderName": { - "message": "Konta Turētāja Vārds" + "message": "Konta īpašnieks vārds" }, "bankAccountType": { - "message": "Konta Veids" + "message": "Konta veids" }, "bankAccountTypeCompany": { - "message": "Uzņēmuma (Bizness)" + "message": "Uzņēmums (uzņēmējdarbība)" }, "bankAccountTypeIndividual": { - "message": "Induviduāls (Personīgs)" + "message": "Persona (personīgs)" }, "enterInstallationId": { - "message": "Ievadi savu instalācijas id" + "message": "Ievadīt uzstādīšanas ID" }, "addSeats": { - "message": "Pievieno Lietotāju Vietas", + "message": "Pievienot vietas", "description": "Seat = User Seat" }, "removeSeats": { - "message": "Noņemt Lietotāju Vietas", + "message": "Noņemt vietas", "description": "Seat = User Seat" }, "subscriptionUserSeats": { - "message": "Jūsu abonements ļauj maksimāli $COUNT$ lietotājus.", + "message": "Pašreizējais abonements pieļaujamais lietotāju skaits ir līdz $COUNT$.", "placeholders": { "count": { "content": "$1", @@ -2769,19 +2790,19 @@ } }, "seatsToAdd": { - "message": "Vietas Ko Pievienot" + "message": "Vietas, ko pievienot" }, "seatsToRemove": { - "message": "Vietas Ko Noņemt" + "message": "Vietas, ko noņemt" }, "seatsAddNote": { - "message": "Lietotāju vietu palielināšana mainīs jūsu kopsummu un iekasēs starpību no noklusētā maksājuma veida. Maksājums iekasēs vajadzīgo summu līdz pašreizējā norēķinu cikla beigām." + "message": "Lietotāju vietu pievienošana ietekmēs norēķinu kopējo apjomu, un uzreiz tiks veikta apmaksa ar norādīto maksājumu veidu. Pirmās apmaksas lielums būs atbilstošs atlikušajai pašreizējā norēķinu laika posma daļai." }, "seatsRemoveNote": { "message": "Lietotāju vietu mazināšana mainīs jūsu kopsummu, kas tiks atgriezta kā kredīti nākamai norēķinu apmaksai." }, "adjustedSeats": { - "message": "Pārmainīja $AMOUNT$ lietotāju vietu.", + "message": "Pielāgota(s) $AMOUNT$ lietotāju vieta(s).", "placeholders": { "amount": { "content": "$1", @@ -2790,73 +2811,73 @@ } }, "keyUpdated": { - "message": "Atslēga Atjaunota" + "message": "Atslēga atjaunināta" }, "updateKeyTitle": { - "message": "Atjaunot Atslēgu" + "message": "Atjaunināt atslēgu" }, "updateEncryptionKey": { - "message": "Atjaunot Šifrēšanas Atslēgu" + "message": "Atjaunināt šifrēšanas atslēgu" }, "updateEncryptionKeyShortDesc": { - "message": "Jūs pašlaik izmantojiet novecojušu šifrēšanas metodi." + "message": "Pašreiz tiek izmantots novecojis šifrēšanas veids." }, "updateEncryptionKeyDesc": { - "message": "Mēs pārgājām uz garākām šifrēšanas atslēgām, kas nodrošina labāku drošību un ļauj piekļūt jaunām funkcijām. Atjaunot savu šifrēšanas atslēgu ir ātri un vienkārši. Vienkārši ievadiet savu galveno paroli zemāk. Šis atjauninājums drīz paliks obligāts." + "message": "Tiek izmantotas garākas šifrēšanas atslēgas, kas nodrošina labāku drošību un piekļuvi jaunākām iespējām. Šifrēšanas atslēgas atjaunināšana ir ātra un vienkārša. Zemāk ir tikai jāievada galvenā parole. Ar laiku šis atjauninājums kļūs nepieciešams." }, "updateEncryptionKeyWarning": { - "message": "Pēc šifrēšanas atslēgas atjaunošanas, jums būs jāiziet un atkārtoti jāieiet visās Bitwarden lietotnēs, kuras jūs pašlaik izmantojiet (piemēram mobilā lietotnē vai pārlūku paplašinājumos). Atkārtotas ieiešanas neveikšana (kas lejupielādēs jūsu jauno šifrēšanas atslēgu) var radīt datu korupciju. Mēs mēģināsim jūs automātiski iziet, bet tas var būt aizkavēts." + "message": "Pēc šifrēšanas atslēgas atjaunināšanas ir nepieciešams izrakstīties un tad pierakstīties visās Bitwarden lietotnēs, kas pašreiz tiek izmantotas (piemēram, tālruņa lietotnē vai pārlūku paplašinājumā). Ja tas netiks darīts (tā tiek lejupielādēta jaunā šifrēšanas atslēga), dati var tikt bojāti. Tiks veikts automātiskās izrakstīšanās mēģinājums, tomēr tas var notikt ar aizkavi." }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "Arī jebkura šifrētā datu izdošana, kas ir saglabāta, kļūs nederīga." }, "subscription": { - "message": "Abonējums" + "message": "Abonements" }, "loading": { - "message": "Notiek ielāde" + "message": "Ielādē" }, "upgrade": { - "message": "Paaugstināt" + "message": "Uzlabot" }, "upgradeOrganization": { - "message": "Paaugstināt Organizāciju" + "message": "Uzlabot apvienību" }, "upgradeOrganizationDesc": { - "message": "Šī opcija nav pieejama bezmaksas organizācijām. Pārslēdzieties uz maksas plānu lai atslēgtu vairāk opciju." + "message": "Šī iespēja nav pieejama bezmaksas apvienībām. Maksas plāna izvēle sniedz plašākas iespējas." }, "createOrganizationStep1": { - "message": "Izveidot Organizāciju: Solis 1" + "message": "Apvienības izveidošana: 1. solis" }, "createOrganizationCreatePersonalAccount": { - "message": "Pirms izveidojiet organizāciju jums ir jāizveido bezmaksas personīgais konts." + "message": "Pirms apvienības izveidošanas, vispirms ir nepieciešams izveidot bezmaksas personīgo kontu." }, "refunded": { - "message": "Atgriezts" + "message": "Atmaksa veikta" }, "nothingSelected": { - "message": "Jūs neesat neko atlasījis." + "message": "Nekas nav atlasīts." }, "acceptPolicies": { - "message": "By checking this box you agree to the following:" + "message": "Atzīmējot šo rūtiņu, Tu piekrīti sekojošajam:" }, "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "message": "Nav pieņemti izmantošanas nosacījumi un privātuma politika." }, "termsOfService": { - "message": "Lietošanas Nosacījumi" + "message": "Izmantošanas nosacījumi" }, "privacyPolicy": { - "message": "Konfidencialitātes politika" + "message": "Privātuma nosacījumi" }, "filters": { - "message": "Filtri" + "message": "Atlases" }, "vaultTimeout": { - "message": "Seifa Taimouts" + "message": "Glabātavas noildze" }, "vaultTimeoutDesc": { - "message": "Izvēlies kad tavs seifs taimouties un veiks izvēlēto darbību." + "message": "Izvēlēties, kad glabātavai iestāsies noildze un tiks izpildīta atlasītā darbība." }, "oneMinute": { "message": "1 minūte" @@ -2877,36 +2898,36 @@ "message": "4 stundas" }, "onRefresh": { - "message": "Pēc Pārlūka Pārlādes" + "message": "Pēc pārlūka pārlādes" }, "dateUpdated": { - "message": "Atjaunots", + "message": "Atjaunināts", "description": "ex. Date this item was updated" }, "datePasswordUpdated": { - "message": "Parole Atjaunota", + "message": "Parole atjaunināta", "description": "ex. Date this password was updated" }, "organizationIsDisabled": { - "message": "Organizācija ir atspējota." + "message": "Apvienība ir atspējota." }, "licenseIsExpired": { "message": "Licences derīguma termiņš ir beidzies." }, "updatedUsers": { - "message": "Atjaunoja lietotājus" + "message": "Lietotāji atjaunināti" }, "selected": { - "message": "Atlasīja" + "message": "Atlasīts" }, "ownership": { - "message": "Piederība" + "message": "Īpašumtiesības" }, "whoOwnsThisItem": { "message": "Kam pieder šis vienums?" }, "strong": { - "message": "Stipra", + "message": "Spēcīga", "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" }, "good": { @@ -2918,47 +2939,47 @@ "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "veryWeak": { - "message": "Ļoti Vāja", + "message": "Ļoti vāja", "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "weakMasterPassword": { - "message": "Vāja Galvenā Parole" + "message": "Vāja galvenā parole" }, "weakMasterPasswordDesc": { - "message": "Jūsu izvēlētā galvenā parole ir vāja. Jums vajadzētu izvēlēties drošu galveno paroli (vai paroles frāzi) lai pienācīgi aizsargātu savu Bitwarden kontu. Vai tiešām vēlaties izmantot šo galveno paroli?" + "message": "Izvēlētā galvenā parole ir vāja. Ir ieteicams izmantot spēcīgu galveno paroli (vai paroles vārdu salikumu), lai pienācīgi aizsargātu Bitwarden kontu. Vai tiešām izmanto šo galveno paroli?" }, "rotateAccountEncKey": { - "message": "Arī rotēt mana konta šifrēšanas atslēgu" + "message": "Mainīt arī konta šifrēšanas atslēgu" }, "rotateEncKeyTitle": { - "message": "Rotēt Šifrēšanas Atslēgu" + "message": "Mainīt šifrēšanas atslēgu" }, "rotateEncKeyConfirmation": { - "message": "Vai tiešām vēlaties rotēt sava konta šifrēšanas atslēgu?" + "message": "Vai tiešām mainīt konta šifrēšanas atslēgu?" }, "attachmentsNeedFix": { - "message": "Šim vienumam ir novecojis faila pielikums, kas ir jāsalabo." + "message": "Šim vienumam ir veci datņu pielikumi, kas ir jāsalabo." }, "attachmentFixDesc": { - "message": "Šis novecojis faila pielikums kas ir jāsalabo. Nospied lai uzzinātu vairāk." + "message": "Šis ir vecs datnes pielikums, kas ir jāsalabo. Klikšķināt, lai uzzinātu vairāk." }, "fix": { "message": "Salabot", "description": "This is a verb. ex. 'Fix The Car'" }, "oldAttachmentsNeedFixDesc": { - "message": "Jūsu seifā atrodas novecojuši failu pielikumi, kas ir jāsalabo pirms jūs varat rotēt konta šifrēšanas atslēgu." + "message": "Glabātavā atrodas veci datņu pielikumi, kas ir jāsalabo, pirms tiek veikta konta šifrēšanas atslēgu maiņa." }, "yourAccountsFingerprint": { - "message": "Jūsu konta pirkstu nospieduma frāze", + "message": "Konta atpazīšanas vārdkopa", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "fingerprintEnsureIntegrityVerify": { - "message": "Lai pārliecinātos par lietotāja šifrēšanas atslēgu integritāti, lūdzu salīdziniet un verificējiet lietotāja pirkstu nospieduma frāzi pirms turpināšanas.", + "message": "Lai pārliecinātos par šifrēšanas atslēgu neskartību, lūgums pirms turpināšanas pārbaudīt lietotāja atpazīšanas vārdkopu.", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "dontAskFingerprintAgain": { - "message": "Nejautāt par pirkstu nospiedumu frāzes salīdzināšanu atkal", + "message": "Vairs nevaicāt pārbaudīt atpazīšanas vārdkopu", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "free": { @@ -2966,77 +2987,77 @@ "description": "Free, as in 'Free beer'" }, "apiKey": { - "message": "API Atslēga" + "message": "API atslēga" }, "apiKeyDesc": { - "message": "Jūsu API atslēgu var izmantot lai autentificētos ar Bitwarden publisko API." + "message": "API atslēga var tikt izmantota, lai autentificētos Bitwarden publiskā API izmantošanai." }, "apiKeyRotateDesc": { - "message": "API atslēgas rotācija anulēs iepriekšējo atslēgu. Jūs varat rotēt API atslēgu ja uzskatāt ka esošā atslēga vairs nav droša lietošanai." + "message": "API atslēgas mainīšana padarīs nederīgu iepriekšējo. Pašreizējo API atslēgu var mainīt, ja ir aizdomas, ka tā vairs nav droša izmantošanai." }, "apiKeyWarning": { - "message": "Jūsu API atslēgai ir pilna piekļuve šai organizācijai. Tā ir jātur slepenībā." + "message": "API atslēga nodrošina pilnīgu piekļuvi apvienībai. To vajadzētu glabāt noslēpumā." }, "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." + "message": "API atslēga var tikt izmantota, lai autentificētos Bitwarden CLI." }, "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." + "message": "API atslēga ir papildus autentificēšanās risinājums. To vajadzētu glabāt noslēpumā." }, "oauth2ClientCredentials": { - "message": "OAuth 2.0 Klientu Akreditācijas Dati", + "message": "OAuth 2.0 klienta akreditācijas dati", "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." }, "viewApiKey": { - "message": "Skatīt API Atslēgu" + "message": "Skatīt API atslēgu" }, "rotateApiKey": { - "message": "Rotēt API Atslēgu" + "message": "Mainīt API atslēgu" }, "selectOneCollection": { - "message": "Jums ir jāizvēlas vismaz viena kolekcija." + "message": "Ir jāizvēlas vismaz viens krājums." }, "couldNotChargeCardPayInvoice": { - "message": "Mēs nevarējām veikt maksājumu uz jūsu karti. Lūdzu pārskatiet un samaksājiet neapmaksāto rēķinu zemāk." + "message": "Nebija iespējams veikt apmaksu ar norādīto karti. Lūgums apskatīt un apmaksāt zemāk norādīto rēķinu." }, "inAppPurchase": { - "message": "Iekš-Lietotnes Pirkums" + "message": "Pirkšana lietotnē" }, "cannotPerformInAppPurchase": { - "message": "Jūs nevarat veikt šo darbību kamēr tiek izmantots iekš-lietotņu apmaksas veids." + "message": "Šī darbība nevar tikt veikta, izmantojot pirkšana lietotnē apmaksas veidu." }, "manageSubscriptionFromStore": { - "message": "Jums ir jāpārvalda jūsu abonements veikalā kur jūs veicāt iekš-lietotnes pirkumu." + "message": "Abonements ir jāpārvalda veikalā, kurā tika veikts pirkums lietotnē." }, "minLength": { - "message": "Minimālais Garums" + "message": "Mazākais pieļaujamais garums" }, "clone": { - "message": "Klonēt" + "message": "Pavairot" }, "masterPassPolicyDesc": { - "message": "Uzstādīt minimālās prasības priekš galvenās paroles stipruma." + "message": "Uzstādīt galvenās paroles stipruma mazākās izpildāmās prasības." }, "twoStepLoginPolicyDesc": { - "message": "Pieprasīt lietotājiem uzstādīt divpakāpju verifikāciju saviem personīgajiem kontiem." + "message": "Pieprasīt lietotājiem uzstādīt divpakāpju pierakstīšanos personīgajiem kontiem." }, "twoStepLoginPolicyWarning": { - "message": "Organizācijas dalībnieki, kuriem nav iespējota divpakāpju piekļuve saviem personīgajiem kontiem tiks noņemti no organizācijas un saņems e-pastu brīdinot par izmaiņu." + "message": "Apvienības dalībnieki, kuri nav īpašnieki vai pārvaldītāji un kuriem nav iespējota divpakāpju pierakstīšanās personīgajam kontam, tiks noņemti, un viņiem tiks nosūtīts e-pasta ziņojums par izmaiņām." }, "twoStepLoginPolicyUserWarning": { - "message": "Jūs esat biedrs organizācijai, kas pieprasa jūsu kontam iespējot divpakāpju piekļuvi. Ja jūs atspējojiet visus divpakāpju piekļuves nodrošinātājus jūs tiksiet automātiski noņemti no šīm organizācijām." + "message": "Tu esi apvienību, kas pieprasa lietotāju kontā iespējot divpakāpju pierakstīšanos, dalībnieks. Ja tiks atspējoti visi divpakāpju pierakstīšanās nodrošinātāji, Tu automātiski tiksi noņemts šīm apvienībām." }, "passwordGeneratorPolicyDesc": { - "message": "Uzstādi minimālās prasības priekš paroļu ģenerātora konfigurācijas." + "message": "Uzstādīt paroļu veidotāja uzstādījumu mazākās izpildāmās prasības." }, "passwordGeneratorPolicyInEffect": { - "message": "Viena vai vairākas organizācijas politikas ietekmē tavus ģenerātora iestatījumus." + "message": "Viens vai vairāki apvienības nosacījumi ietekmē veidotāja iestatījumus." }, "masterPasswordPolicyInEffect": { - "message": "Viena vai vairākas organizācijas politikas pieprasa lai jūsu galvenā parole atbilst sekojošām prasībām:" + "message": "Vienā vai vairākos apvienības nosacījumos ir norādīts, ka galvenajai parolei ir jāatbilst šādām prasībām:" }, "policyInEffectMinComplexity": { - "message": "Minimālās sarežģītības vērtība $SCORE$", + "message": "Mazākais pieļaujamais sarežģītības novērtējums ir $SCORE$", "placeholders": { "score": { "content": "$1", @@ -3045,7 +3066,7 @@ } }, "policyInEffectMinLength": { - "message": "Minimālais garums $LENGTH$", + "message": "Mazākais pieļaujamais garums ir $LENGTH$", "placeholders": { "length": { "content": "$1", @@ -3054,16 +3075,16 @@ } }, "policyInEffectUppercase": { - "message": "Satur vienu vai vairāk lielos burtus" + "message": "Satur vienu vai vairākus lielos burtus" }, "policyInEffectLowercase": { - "message": "Satur vienu vai vairāk mazos burtus" + "message": "Satur vienu vai vairākus mazos burtus" }, "policyInEffectNumbers": { - "message": "Satur vienu vai vairāk skaitļus" + "message": "Satur vienu vai vairākus ciparus" }, "policyInEffectSpecial": { - "message": "Satur vienu vai vairākas sekojošās speciālās rakstzīmes $CHARS$", + "message": "Satur vienu vai vairākas no šīm īpašajām rakstzīmēm: $CHARS$", "placeholders": { "chars": { "content": "$1", @@ -3072,57 +3093,57 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Jūsu jaunā galvenā parole neatbilst politikas prasībām." + "message": "Jaunā galvenā parole neatbilst nosacījumu prasībām." }, "minimumNumberOfWords": { - "message": "Minimālais Vārdu Skaits" + "message": "Mazākais pieļaujamais vārdu skaits" }, "defaultType": { - "message": "Noklusējuma Veids" + "message": "Noklusējuma veids" }, "userPreference": { - "message": "Lietotāja Iestatījumi" + "message": "Lietotāja izvēle" }, "vaultTimeoutAction": { - "message": "Seifa Taimouta Darbība" + "message": "Glabātavas noildzes darbība" }, "vaultTimeoutActionLockDesc": { - "message": "Slēgts seifs pieprasa jums atkārtoti ievadīt galveno paroli lai tam piekļūtu." + "message": "Ir nepieciešams atkārtoti ievadīt galveno paroli, lai piekļūt aizslēgtai glabātavai." }, "vaultTimeoutActionLogOutDesc": { - "message": "Iziets seifs pieprasa jums atkārtoti ieiet lai tam piekļūtu." + "message": "Pēc izrakstīšanās no glabātavas ir nepieciešams tai pieslēgties atkārtoti." }, "lock": { - "message": "Slēgt", + "message": "Aizslēgt", "description": "Verb form: to make secure or inaccesible by" }, "trash": { - "message": "Miskaste", + "message": "Atkritne", "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" }, "searchTrash": { - "message": "Meklēt Miskastē" + "message": "Meklēt atkritnē" }, "permanentlyDelete": { - "message": "Neatgriezeniski Izdzēst" + "message": "Neatgriezeniski izdzēst" }, "permanentlyDeleteSelected": { - "message": "Neatgriezeniski Izdzēst Atlasītos" + "message": "Neatgriezeniski izdzēst atlasīto" }, "permanentlyDeleteItem": { - "message": "Neatgriezeniski Izdzēst Vienumu" + "message": "Neatgriezeniski izdzēst vienumu" }, "permanentlyDeleteItemConfirmation": { - "message": "Vai tiešām vēlaties neatgriezeniski izdzēst šo vienumu?" + "message": "Vai tiešām neatgriezeniski izdzēst šo vienumu?" }, "permanentlyDeletedItem": { - "message": "Neatgriezeniski Izdzēsa vienumu" + "message": "Vienums neatgriezeniski izdzēsts" }, "permanentlyDeletedItems": { - "message": "Neatgriezeniski Izdzēsa vienumus" + "message": "Vienum neatgriezeniski izdzēsti" }, "permanentlyDeleteSelectedItemsDesc": { - "message": "Jūs esat atlasījis $COUNT$ vienumu(s) neatgriezeniskai dzēšanai. Vai jūs tiešām vēlaties šos vienumus neatgriezeniski izdzēst?", + "message": "Neatgriezeniskai izdzēšanai ir atlasīts(i) $COUNT$ vienums(i). Vai tiešām izdzēst tos visus?", "placeholders": { "count": { "content": "$1", @@ -3131,7 +3152,7 @@ } }, "permanentlyDeletedItemId": { - "message": "Neatgriezeniski Izdzēsa vienumu $ID$.", + "message": "Vienums $ID$ neatgriezeniski izdzēsts.", "placeholders": { "id": { "content": "$1", @@ -3143,25 +3164,25 @@ "message": "Atjaunot" }, "restoreSelected": { - "message": "Atjaunot Atlasīto" + "message": "Atjaunot atlasīto" }, "restoreItem": { - "message": "Atjaunot Vienumu" + "message": "Atjaunot vienumu" }, "restoredItem": { - "message": "Atjaunoja Vienumu" + "message": "Vienums atjaunots" }, "restoredItems": { - "message": "Atjaunoja Vienumus" + "message": "Vienumi atjaunoti" }, "restoreItemConfirmation": { - "message": "Jūs tiešām vēlaties atjaunot šo vienumu?" + "message": "Vai tiešām atjaunot šo vienumu?" }, "restoreItems": { "message": "Atjaunot vienumus" }, "restoreSelectedItemsDesc": { - "message": "Jūs esat atlasījis $COUNT$ vienumu(s) atjaunošanai. Vai jūs tiešām vēlaties visus šos vienumus atjaunot?", + "message": "Atjaunošanai ir atlasīts(i) $COUNT$ vienums(i). Vai tiešām atjaunot tos visus?", "placeholders": { "count": { "content": "$1", @@ -3170,7 +3191,7 @@ } }, "restoredItemId": { - "message": "Atjaunoja vienumu $ID$.", + "message": "Vienums $ID$ atjaunots.", "placeholders": { "id": { "content": "$1", @@ -3179,294 +3200,301 @@ } }, "vaultTimeoutLogOutConfirmation": { - "message": "Iziešana noņems visu piekļuvi jūsu seifam un pieprasīs tīmekļa ieiešanu pēc taimouta perioda. Vai tiešām vēlies izmantot šo iestatījumu?" + "message": "Izrakstīšanās noņems piekļuvi glabātavai un pieprasa tiešsaistes pierakstīšanos pēc noildzes laika. Vai tiešām izmantot šo iestatījumu?" }, "vaultTimeoutLogOutConfirmationTitle": { - "message": "Taimouta Darbības Apstiprinājums" + "message": "Noildzes darbības apstiprināšana" }, "hidePasswords": { - "message": "Slēpt Paroles" + "message": "Slēpt paroles" }, "countryPostalCodeRequiredDesc": { - "message": "Mēs pieprasām šo informāciju tikai lai aprēķinātu PVN un veiktu finansiālas atskaites." + "message": "Šī informācija ir nepieciešama tikai tirdzniecības nodokļa aprēķināšanai un finanšu atskaitēm." }, "includeVAT": { - "message": "Iekļaut VAT/GST Informāciju (neobligāts)" + "message": "Iekļaut VAT/GST informāciju (nav nepieciešama)" }, "taxIdNumber": { - "message": "VAT/GST Nodokļu ID" + "message": "VAT/GST nodokļu maksātāja numurs" }, "taxInfoUpdated": { - "message": "Nodokļu informācija atjaunota." + "message": "Nodokļu informācija atjaunināta." }, "setMasterPassword": { - "message": "Uzstādīt Galveno Paroli" + "message": "Uzstādīt galveno paroli" }, "ssoCompleteRegistration": { - "message": "Lai pabeigtu ieeju ar SSO, lūdzu uzstādi galveno paroli lai piekļūtu un aizsargātu savu seifu." + "message": "Lai pabeigtu vienotās pieteikšanās uzstādīšanu, ir jānorāda galvenā parole, lai piekļūtu glabātavai un aizsargātu to." }, "identifier": { "message": "Identifikators" }, "organizationIdentifier": { - "message": "Organizācijas Identifikators" + "message": "Apvienības identifikators" }, "ssoLogInWithOrgIdentifier": { - "message": "Ieej izmantojot savas organizācijas vienotās pieteikšanās portālu. Lūdzu ievadi savas organizācijas identifikatoru lai sāktu." + "message": "Pierakstīties, izmantojot apvienības vienotās pieteikšanās portālu. Lūgums ievadīt apvienības identifikatoru, lai sāktu." }, "enterpriseSingleSignOn": { - "message": "Uzņēmuma Vienotā Pierakstīšanās" + "message": "Uzņēmuma vienotā pierakstīšanās" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Šo cilni tagad var aizvērt un turpināt paplašinājumā." }, "businessPortal": { - "message": "Biznesa Portāls", + "message": "Uzņēmējdarbības portāls", "description": "The web portal used by business organizations for configuring certain features." }, "includeAllTeamsFeatures": { - "message": "Visas Komandu iespējas, plus:" + "message": "Visas vienību iespējas, kā arī:" }, "includeSsoAuthentication": { - "message": "SSO Autentifikācija ar SAML 2.0 un OpenID Connect" + "message": "Vienotā autentificēšanās ar SAML 2.0 un OpenID Connect" }, "includeEnterprisePolicies": { - "message": "Uzņēmuma Politikas" + "message": "Uzņēmuma nosacījumi" }, "ssoValidationFailed": { - "message": "SSO Validācija Neizdevās" + "message": "SSO pārbaude neizdevās" }, "ssoIdentifierRequired": { - "message": "Organizācijas Identifikators ir nepieciešams." + "message": "Ir nepieciešams apvienības identifikators." }, "unlinkSso": { - "message": "Atvienot SSO" + "message": "Atsaistīt SSO" }, "linkSso": { - "message": "Pievienot SSO" + "message": "Piesaistīt SSO" }, "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + "message": "Nosacījumu uzstādījumi ir pārvietoti, un šī lapa drīz būs novecojusi. Lūgums klikšķināt zemāk, lai izmantotu uzņemējdarbības portāla nosacījumu lapu." }, "singleOrg": { - "message": "Single Organization" + "message": "Viena vienīga apvienība" }, "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." + "message": "Ierobežo lietotāju iespēju pievienoties citām apvienībām." }, "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + "message": "Tavā pašreizējā apvienībā ir nosacījums, kas neļauj pievienoties vairāk kā vienai. Lūdzu, sazinies ar savas apvienības pārvaldniekiem vai piesakies no cita Bitwarden konta!" }, "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + "message": "Apvienības dalībnieki, kas nav īpašnieki vai pārvaldītāji un jau ir dalībnieki citā apvienībā, tiks atbrīvoti." }, "requireSso": { - "message": "Single Sign-On Authentication" + "message": "Vienotās pieteikšanās autentificēšana" }, "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." + "message": "Norāda, ka lietotājiem ir jāpierakstās ar uzņēmuma vienoto pieteikšanos." }, "prerequisite": { "message": "Priekšnosacījumi" }, "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." + "message": "Vienas vienīgas apvienības uzņēmuma nosacījumiem ir jābūt iespējotai pirms šī nosacījuma uzstādīšanas." }, "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." + "message": "Vienas vienīgas apvienības nosacījumi nav iespējoti." }, "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Uz apvienības īpašniekiem un pārvaldītājiem neattiecas šīs nosacījumu kopas piemērošana." }, "sendTypeFile": { - "message": "Fails" + "message": "Datne" }, "sendTypeText": { "message": "Teksts" }, "createSend": { - "message": "Izveidot Jaunu Send", + "message": "Izveidot jaunu \"Send\"", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Rediģēt Send", + "message": "Labot \"Send\"", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Izveidoja Send", + "message": "\"Send\" izveidots", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Rediģēja Send", + "message": "\"Send\" labots", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Izdzēsa Send", + "message": "\"Send\" izdzēsts", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Dzēst Send", + "message": "Dzēst \"Send\"", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Vai tiešām vēlies dzēst šo Send?", + "message": "Vai tiešām izdzēst šo \"Send\"?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "Kāda veida Send ir šis?", + "message": "Kāds veids ir šim \"Send\"?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Dzēšanas Datums" + "message": "Dzēšanas datums" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "\"Send\" tiks pastāvīgi izdzēsts norādītajā dienā un laikā.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Beigu Datums" + "message": "Derīguma termiņš" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "Ja uzstādīts, piekļuve šim \"Send\" beigsies norādītajā dienā un laikā.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Maksimālais Piekļuvju Skaits" + "message": "Lielākais pieļaujamais piekļuvju skaits" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "Ja uzstādīts, lietotāji nevarēs piekļūt šim \"Send\", kad tiks sasniegts lielākais pieļaujamais piekļūšanas reižu skaits.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Pašreizējais Piekļuvju Skaits" + "message": "Pašreizējais piekļuvju skaits" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "Pēc izvēles pieprasīt lietotājiem paroli, lai viņi varētu piekļūt šim \"Send\".", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "Personīgās piezīmes par šo \"Send\".", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { "message": "Atspējots" }, "sendLink": { - "message": "Nosūtīt Linku", + "message": "\"Send\" saite", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Kopēt Send Linku", + "message": "Ievietot \"Send\" saiti starpliktuvē", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { "message": "Noņemt paroli" }, "removedPassword": { - "message": "Noņēma Paroli" + "message": "Parole noņemta" }, "removePasswordConfirmation": { - "message": "Vai tiešām vēlaties noņemt paroli?" + "message": "Vai tiešām noņemt paroli?" }, "disableThisSend": { - "message": "Disable this Send so that no one can access it.", + "message": "Atspējot šo \"Send\", lai neviens tam nevarētu piekļūt.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "Visi Send" + "message": "Visi \"Send\"" }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "Sasniegts lielākais pieļaujamais piekļuvju skaits" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "Gaida dzēšanu" }, "expired": { - "message": "Expired" + "message": "Beidzies derīguma termiņš" }, "searchSends": { - "message": "Meklēt Send", + "message": "Meklēt \"Send\"", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", + "message": "Šis \"Send\" ir aizsargāts ar paroli. Lūgums ievadīt paroli, lai varētu turpināt.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "message": "Nezini paroli? Vaicā to sūtītājam, lai varētu piekļūt šim \"Send\"!", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "message": "Šis \"Send\" pēc noklusējuma ir paslēpts. Tā redzamību var pārslēgt ar zemāk esošo pogu.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { - "message": "Lejupielādēt Failu" + "message": "Lejupielādēt datni" }, "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", + "message": "\"Send\", kam mēģini piekļūt, nepastāv vai arī nav vairs pieejams.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { - "message": "There are no Sends to list.", + "message": "Nav \"Send\", ko parādīt.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "Ārkārtas piekļuve" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Nodrošināt un pārvaldīt ārkārtas piekļuvi uzticamām kontaktpersonām. Tās var pieprasīt piekļuvi vai nu skatīt, vai arī pārņemt kontu ārkārtas gadījumā. Mūsu palīdzības lapā var uzzināt vairāk par to, kā darbojas bezzināšanu kopīgošana." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" + "message": "Uzticamas ārkārtas kontaktpersonas" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "Vēl nav pievienots neviena ārkārtas kontaktpersona. Uzaicini kādu, lai uzsāktu!" }, "addEmergencyContact": { - "message": "Add emergency contact" + "message": "Pievienot ārkārtas kontaktpersonu" }, "designatedEmergencyContacts": { - "message": "Designated as emergency contact" + "message": "Norādīta kā ārkārtas kontaktpersona" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "Tu vēl neesi norādīts kā kāda ārkārtas kontaktpersona." }, "inviteEmergencyContact": { - "message": "Invite emergency contact" + "message": "Uzaicināt ārkārtas kontaktpersonu" }, "editEmergencyContact": { - "message": "Edit emergency contact" + "message": "Labot ārkārtas kontaktpersonu" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "Uzaicināt jaunu ārkārtas kontaktpersonu, norādot tās Bitwarden konta e-pasta adresi zemāk esošajā ievades laukā. Ja kontaktpersonai vēl nav Bitwarden konta, tai tiks vaicāts izveidot jaunu." }, "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" + "message": "Uzsākta ārkārtas piekļuve" }, "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" + "message": "Ārkārtas piekļuve apstiprināta" }, "viewDesc": { - "message": "Can view all items in your own vault." + "message": "Var apskatīt visus glabātavas vienumus." }, "takeover": { - "message": "Takeover" + "message": "Pārņemšana" }, "takeoverDesc": { - "message": "Can reset your account with a new master password." + "message": "Var atiestatīt kontu ar jaunu galveno paroli." }, "waitTime": { - "message": "Wait Time" + "message": "Gaidīšanas laiks" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "Nepieciešamais laiks, pirms automātiski atļaut piekļuvi." }, "oneDay": { - "message": "1 day" + "message": "1 diena" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$ dienas", "placeholders": { "days": { "content": "$1", @@ -3475,16 +3503,16 @@ } }, "invitedUser": { - "message": "Invited user." + "message": "Lietotājs uzaicināts." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Tu esi uzaicināts kļūt par ārkārtas kontaktpersonu augstāk norādītajam lietotājam. Lai apstiprinātu uzaicinājumu, ir nepieciešams pierakstīties vai izveidot jaunu Bitwarden kontu." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "Nav iespējams apstiprināt uzaicinājumu. Lūdz lietotājam nosūtīt jaunu!" }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Nav iespējams apstiprināt uzaicinājumu. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "Šī lietotāja ārkārtas iespējas būs pieejamas pēc tam, kad būs apliecināta Tava identitāte. Tiks nosūtīts e-pasta paziņojums, kad tas notiks." }, "requestAccess": { - "message": "Request Access" + "message": "Pieprasīt piekļuvi" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Vai tiešām pieprasīt ārkārtas piekļuvi? Tā tiks nodrošināta pēc $WAITTIME$ dienas(ām) vai pēc tam, kad lietotājs apstiprinās pieprasījumu.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "Ārkārtas piekļuve ir pieprasīta lietotājam $USER$. Tiks nosūtīts e-pasta paziņojums, kad būs iespējams turpināt.", "placeholders": { "user": { "content": "$1", @@ -3517,13 +3545,13 @@ } }, "approve": { - "message": "Approve" + "message": "Apstiprināt" }, "reject": { - "message": "Reject" + "message": "Noraidīt" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "Vai tiešām apstiprināt ārkārtas piekļuvi? Tā ļaus lietotājam $USER$ Tavā kontā veikt šādas darbības: $ACTION$.", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "Emergency access approved." + "message": "Ārkārtas piekļuve apstiprināta." }, "emergencyRejected": { - "message": "Emergency access rejected" + "message": "Ārkārtas piekļuve noraidīta" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "Parole atiestatīta lietotājam $USER$. Tagad var pierakstīties ar jauno paroli.", "placeholders": { "user": { "content": "$1", @@ -3551,19 +3579,37 @@ } }, "personalOwnership": { - "message": "Personal Ownership" + "message": "Personīgās īpašumtiesības" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "Pieprasa lietotājus piesaistīt glabātavas vienumus apvienībai, noņemot personīgo īpašumtiesību iespēju." }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Uz apvienības īpašniekiem un pārvaldītājiem neattiecas šīs nosacījumu kopas piemērošana." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Uzņēmuma nosacījumi liedz saglabāt vienumus privātajā glabātavā. Ir jānorāda piederība apvienībai un jāizvēlas kāds no pieejamajiem krājumiem." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "Nosacījums $ID$ izmainīts.", "placeholders": { "id": { "content": "$1", @@ -3572,61 +3618,149 @@ } }, "planPrice": { - "message": "Plan price" + "message": "Plāna cena" }, "estimatedTax": { - "message": "Estimated tax" + "message": "Aptuvenais nodokļa aprēķins" }, "custom": { - "message": "Custom" + "message": "Pielāgots" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "Nodrošina izvērstāku lietotāju tiesību pārvaldību sarežģītākos uzstādījumos." }, "permissions": { - "message": "Permissions" + "message": "Atļaujas" }, "accessBusinessPortal": { - "message": "Access Business Portal" + "message": "Piekļūt uzņemējdarbības portālam" }, "accessEventLogs": { - "message": "Access Event Logs" + "message": "Piekļūt notikumu žurnāla ierakstiem" }, "accessImportExport": { - "message": "Access Import/Export" + "message": "Piekļūt ievietošanai/izdošanai" }, "accessReports": { - "message": "Access Reports" + "message": "Piekļūt atskaitēm" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "Pārvaldīt visus krājumus" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "Pārvaldīt norīkotos krājumus" }, "manageGroups": { - "message": "Manage Groups" + "message": "Pārvaldīt kopas" }, "managePolicies": { - "message": "Manage Policies" + "message": "Pārvaldīt nosacījumus" }, "manageSso": { - "message": "Manage SSO" + "message": "Pārvaldīt vienoto pieteikšanos" }, "manageUsers": { - "message": "Manage Users" + "message": "Pārvaldīt lietotājus" }, "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + "message": "Vispirms ir pašrocīgi jātspējo vienotās pieteikšanās nosacījumu kopa, pirms šī var tikt atspējota." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "Apvienības nosacījumi ietekmē Tavas īpašumtiesību iespējas." }, "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" + "message": "Atspējot personīgās īpašumtiesības apvienības lietotājiem" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "Kad piekļūst šim \"Send\", pēc noklusējuma paslēpt saturu", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/ml/messages.json b/locales/ml/messages.json index eae74722..1301665b 100644 --- a/locales/ml/messages.json +++ b/locales/ml/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "ഈ എക്‌സ്‌പോർട്ടിൽ എൻക്രിപ്റ്റ് ചെയ്യാത്ത ഫോർമാറ്റിൽ നിങ്ങളുടെ വാൾട് ഡാറ്റ അടങ്ങിയിരിക്കുന്നു. എക്‌സ്‌പോർട് ചെയ്ത ഫയൽ സുരക്ഷിതമല്ലാത്ത ചാനലുകളിൽ (ഇമെയിൽ പോലുള്ളവ) നിങ്ങൾ സംഭരിക്കുകയോ അയയ്ക്കുകയോ ചെയ്യരുത്. നിങ്ങൾ ഇത് ഉപയോഗിച്ചുകഴിഞ്ഞാലുടൻ അത് മായ്ച്ചുകളയണം." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "നിങ്ങളുടെവാൾട് ഡാറ്റ എക്‌സ്‌പോർട്ടുചെയ്യാൻ പ്രാഥമിക പാസ്‌വേഡ് നൽകുക." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Import Data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data has been successfully imported into your vault." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data is not formatted correctly. Please check your import file and try again." }, @@ -1364,7 +1382,7 @@ "message": "Logins Without 2FA Found" }, "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", + "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to twofactorauth.org). To further protect these accounts, you should enable two-factor authentication.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "രണ്ട്-ഘട്ട പ്രവേശന ഓപ്ഷനുകളായ Yubikey, FIDO U2F, Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "നിങ്ങളുടെ വാൾട് സൂക്ഷിക്കുന്നതിന്. പാസ്‌വേഡ് ശുചിത്വം, അക്കൗണ്ട് ആരോഗ്യം, ഡാറ്റ ലംഘന റിപ്പോർട്ടുകൾ." }, @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "പ്രദർശിപ്പിക്കാൻ Send-കളൊന്നുമില്ല.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/nb/messages.json b/locales/nb/messages.json index f8307073..d0387d10 100644 --- a/locales/nb/messages.json +++ b/locales/nb/messages.json @@ -348,7 +348,7 @@ "message": "Rediger gjenstanden" }, "viewItem": { - "message": "View Item" + "message": "Vis objektet" }, "ex": { "message": "f.eks.", @@ -533,7 +533,7 @@ "message": "Hva burde vi kalle deg?" }, "masterPass": { - "message": "Superpassord" + "message": "Hovedpassord" }, "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." @@ -542,13 +542,13 @@ "message": "Et hint for superpassordet kan hjelpe deg med å huske på passordet dersom du skulle glemme det." }, "reTypeMasterPass": { - "message": "Skriv inn superpassordet på nytt" + "message": "Skriv inn hovedpassordet på nytt" }, "masterPassHint": { - "message": "Et hint for superpassordet (valgfritt)" + "message": "Et hint for hovedpassordet (valgfritt)" }, "masterPassHintLabel": { - "message": "Hint til superpassord" + "message": "Hint til hovedpassordet" }, "settings": { "message": "Innstillinger" @@ -794,14 +794,17 @@ "message": "Advarsel" }, "confirmVaultExport": { - "message": "Confirm Vault Export" + "message": "Bekreft eksport av hvelvet" }, "exportWarningDesc": { "message": "Eksporten inneholder dine hvelvdataer i et ukryptert format. Du burde ikke lagre eller sende den eksporterte filen over usikre tjenester (f.eks. E-post). Slett det umiddelbart etter at du er ferdig med å bruke dem." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Skriv inn ditt superpassord for å eksportere dine hvelvdataer." }, @@ -893,19 +896,19 @@ "message": "Vennligst logg inn på nytt. Dersom du bruker andre Bitwarden-apper og -programmer, logg av og på på dem også." }, "changeMasterPassword": { - "message": "Endre superpassordet" + "message": "Endre hovedpassordet" }, "masterPasswordChanged": { - "message": "Superpassordet er endret" + "message": "Hovedpassordet er endret" }, "currentMasterPass": { - "message": "Det nåværende superpassordet" + "message": "Det nåværende hovedpassordet" }, "newMasterPass": { - "message": "Nytt superpassord" + "message": "Nytt hovedpassord" }, "confirmNewMasterPass": { - "message": "Bekreft det nye superpassordet" + "message": "Bekreft det nye hovedpassordet" }, "encKeySettings": { "message": "Innstillinger for krypteringsnøkkel" @@ -1000,9 +1003,24 @@ "importData": { "message": "Importer data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Dataene har blitt vellykket importert inn i hvelvet ditt." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Dataene er ikke formattert riktig. Vennligst sjekk importfilen din og prøv igjen." }, @@ -1057,11 +1075,11 @@ "message": "Bruk avatarbilder som har blitt lastet inn fra gravatar.com." }, "enableFullWidth": { - "message": "Enable Full Width Layout", + "message": "Aktiver fullbreddeoppsett", "description": "Allows scaling the web vault UI's width" }, "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." + "message": "Tillat netthvelvet å utvide til hele bredden i nettleservinduet." }, "default": { "message": "Standard" @@ -1364,7 +1382,7 @@ "message": "Pålogginger som støtter 2FA ble funnet" }, "inactive2faFoundDesc": { - "message": "Vi fant $COUNT$ nettsted(er) i hvelvet ditt som kanskje eller kanskje ikke er satt opp for 2-trinnsinnlogging (i følge 2fa.directory). For å beskytte disse kontoene ytterligere, burde du skru på 2-trinnsinnlogging.", + "message": "Vi fant $COUNT$ nettsted(er) i hvelvet ditt som kanskje eller kanskje ikke er satt opp for 2-trinnsinnlogging (i følge twofactorauth.org). For å beskytte disse kontoene ytterligere, burde du skru på 2-trinnsinnlogging.", "placeholders": { "count": { "content": "$1", @@ -1373,7 +1391,7 @@ } }, "noInactive2fa": { - "message": "Ingen nettsteder som støtter 2-trinnsinnlogging i følge 2fa.directory ble funnet i hvelvet ditt." + "message": "Ingen nettsteder som støtter 2-trinnsinnlogging i følge twofactorauth.org ble funnet i hvelvet ditt." }, "instructions": { "message": "Instruksjoner" @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Ytterligere 2-trinnsinnloggingsmuligheter, slik som YubiKey, FIDO U2F, og Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Passordhygiene, kontohelse, og databruddsrapporter som holder hvelvet ditt trygt." }, @@ -1669,7 +1690,7 @@ "message": "Betalingsinformasjon" }, "billingInformation": { - "message": "Billing Information" + "message": "Faktureringsdetaljer" }, "creditCard": { "message": "Bankkort" @@ -1932,7 +1953,7 @@ "message": "For firmaer og andre store organisjoner." }, "freeForever": { - "message": "Gratis for evig og alltid" + "message": "Gratis for alltid" }, "includesXUsers": { "message": "inkluderer $COUNT$ brukere", @@ -2298,7 +2319,7 @@ } }, "viewedPasswordItemId": { - "message": "Vist passordet for elementet $ID$.", + "message": "Vist passordet for objektet $ID$.", "placeholders": { "id": { "content": "$1", @@ -2307,7 +2328,7 @@ } }, "viewedHiddenFieldItemId": { - "message": "Vist skjult felt for elementet $ID$.", + "message": "Vist skjult felt for objektet $ID$.", "placeholders": { "id": { "content": "$1", @@ -2316,7 +2337,7 @@ } }, "viewedSecurityCodeItemId": { - "message": "Vist sikkerhetskoden for elementet $ID$.", + "message": "Vist sikkerhetskoden for objektet $ID$.", "placeholders": { "id": { "content": "$1", @@ -2325,7 +2346,7 @@ } }, "copiedPasswordItemId": { - "message": "Kopiert passordet for elementet $ID$.", + "message": "Kopiert passordet for objektet $ID$.", "placeholders": { "id": { "content": "$1", @@ -2334,7 +2355,7 @@ } }, "copiedHiddenFieldItemId": { - "message": "Kopiert skjult felt for elementet $ID$.", + "message": "Kopiert skjult felt for objektet $ID$.", "placeholders": { "id": { "content": "$1", @@ -2343,7 +2364,7 @@ } }, "copiedSecurityCodeItemId": { - "message": "Kopiert sikkerhetskoden for elementet $ID$.", + "message": "Kopiert sikkerhetskoden for objektet $ID$.", "placeholders": { "id": { "content": "$1", @@ -2352,7 +2373,7 @@ } }, "autofilledItemId": { - "message": "Automatisk utfylt element $ID$.", + "message": "Automatisk utfylt objekt $ID$.", "placeholders": { "id": { "content": "$1", @@ -2838,10 +2859,10 @@ "message": "Du har ikke valgt noe." }, "acceptPolicies": { - "message": "By checking this box you agree to the following:" + "message": "Ved å huke av denne boksen sier du deg enig i følgende:" }, "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "message": "Bruksvilkårene og personvernerklæring er ikke godkjent." }, "termsOfService": { "message": "Tjenestevilkår" @@ -2922,7 +2943,7 @@ "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "weakMasterPassword": { - "message": "Svakt superpassord" + "message": "Svakt hovedpassord" }, "weakMasterPasswordDesc": { "message": "Superpassordet du har valgt er svakt. Du bør bruke et sterkt superpassord (eller en passordfrase) for å sikre Bitwarden-kontoen din på en forsvarlig måte. Er du sikker på at du vil bruke dette superpassordet?" @@ -3087,7 +3108,7 @@ "message": "Handling ved pause i hvelvet" }, "vaultTimeoutActionLockDesc": { - "message": "Et låst hvelv krever at du skriver inn superpassordet ditt på nytt for å få tilgang til hvelvet igjen." + "message": "Et låst hvelv krever at du skriver inn hovedpassordet ditt på nytt for å få tilgang til hvelvet igjen." }, "vaultTimeoutActionLogOutDesc": { "message": "Et utlogget hvelv krever at du autentiserer deg selv på nytt for å få tilgang til det igjen." @@ -3110,19 +3131,19 @@ "message": "Slett valgte permanent" }, "permanentlyDeleteItem": { - "message": "Slett elementet permanent" + "message": "Slett objektet permanent" }, "permanentlyDeleteItemConfirmation": { - "message": "Er du sikker på at du vil slette dette elementet permanent?" + "message": "Er du sikker på at du vil slette dette objektet permanent?" }, "permanentlyDeletedItem": { - "message": "Slett elementet permanent" + "message": "Slett objektet permanent" }, "permanentlyDeletedItems": { - "message": "Slett elementetene permanent" + "message": "Slettet objektene permanent" }, "permanentlyDeleteSelectedItemsDesc": { - "message": "Du har valgt $COUNT$ element(er) som skal slettes permanent. Er du sikker på du vil slette alle disse elementene?", + "message": "Du har valgt $COUNT$ objekt(er) som skal slettes permanent. Er du sikker på du vil slette alle disse objektene?", "placeholders": { "count": { "content": "$1", @@ -3131,7 +3152,7 @@ } }, "permanentlyDeletedItemId": { - "message": "Permanent slettet element $ID$.", + "message": "Permanent slettet objektet $ID$.", "placeholders": { "id": { "content": "$1", @@ -3146,22 +3167,22 @@ "message": "Gjenopprett valgte" }, "restoreItem": { - "message": "Gjenopprett element" + "message": "Gjenopprett objekt" }, "restoredItem": { - "message": "Gjenopprettet element" + "message": "Gjenopprettet objekt" }, "restoredItems": { - "message": "Gjenopprettete elementer" + "message": "Gjenopprettete objekter" }, "restoreItemConfirmation": { - "message": "Er du sikker på at du vil gjenopprette dette elementet?" + "message": "Er du sikker på at du vil gjenopprette dette objektet?" }, "restoreItems": { - "message": "Gjenopprett elementer" + "message": "Gjenopprett objekter" }, "restoreSelectedItemsDesc": { - "message": "Du har valgt $COUNT$ element(er) som skal gjenopprettes. Er du sikker på at du vil gjenopprette alle disse elementene?", + "message": "Du har valgt $COUNT$ objekt(er) som skal gjenopprettes. Er du sikker på at du vil gjenopprette alle disse objektene?", "placeholders": { "count": { "content": "$1", @@ -3170,7 +3191,7 @@ } }, "restoredItemId": { - "message": "Gjenopprettet element $ID$.", + "message": "Gjenopprettet objektet $ID$.", "placeholders": { "id": { "content": "$1", @@ -3185,7 +3206,7 @@ "message": "Bekreftelse av handling ved pause" }, "hidePasswords": { - "message": "Hide Passwords" + "message": "Skjul passord" }, "countryPostalCodeRequiredDesc": { "message": "Vi krever denne informasjonen for beregning av merverdiavgift og finansiell rapportering." @@ -3197,7 +3218,7 @@ "message": "VAT/GST Tax ID" }, "taxInfoUpdated": { - "message": "Tax information updated." + "message": "Skatteinformasjonen er oppdatert." }, "setMasterPassword": { "message": "Angi hovedpassord" @@ -3267,7 +3288,7 @@ "message": "Require users to log in with the Enterprise Single Sign-On method." }, "prerequisite": { - "message": "Prerequisite" + "message": "Forutsetninger" }, "requireSsoPolicyReq": { "message": "The Single Organization enterprise policy must be enabled before activating this policy." @@ -3285,46 +3306,46 @@ "message": "Tekst" }, "createSend": { - "message": "Create New Send", + "message": "Opprett ny Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "Rediger Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "Opprettet Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "Redigerte Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Deleted Send", + "message": "Slettet Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Delete Send", + "message": "Slett Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "Er du sikker på at du vil slette denne Send-en?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "What type of Send is this?", + "message": "Hvilken type Send er dette?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Deletion Date" + "message": "Dato for sletting" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "Send-en vil bli slettet permanent på den angitte dato og klokkeslett.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Expiration Date" + "message": "Utløpsdato" }, "expirationDateDesc": { "message": "If set, access to this Send will expire on the specified date and time.", @@ -3345,47 +3366,47 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "Private notater om denne Send-en.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "Deaktivert" }, "sendLink": { - "message": "Send Link", + "message": "Send lenke", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Copy Send Link", + "message": "Kopier Send-lenke", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Remove Password" + "message": "Fjern passord" }, "removedPassword": { - "message": "Removed Password" + "message": "Fjernet passord" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "Er du sikker på at du vil fjerne passordet?" }, "disableThisSend": { - "message": "Disable this Send so that no one can access it.", + "message": "Deaktiver denne Send-en, slik at ingen får tilgang til den.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "All Sends" + "message": "Alle Send-er" }, "maxAccessCountReached": { "message": "Max access count reached" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "Venter på sletting" }, "expired": { - "message": "Expired" + "message": "Utløpt" }, "searchSends": { - "message": "Search Sends", + "message": "Søk i Send-ene", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { @@ -3401,72 +3422,79 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { - "message": "Download File" + "message": "Last ned fil" }, "sendAccessUnavailable": { "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "Nødtilgang" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" + "message": "Betrodde nødkontakter" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "Du har ikke lagt til noen nødkontakter ennå. Inviter en betrodd kontakt for å komme i gang." }, "addEmergencyContact": { - "message": "Add emergency contact" + "message": "Legg til nødkontakt" }, "designatedEmergencyContacts": { - "message": "Designated as emergency contact" + "message": "Utpekt som nødkontakt" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "Du har ikke blitt utpekt som nødkontakt for noen enda." }, "inviteEmergencyContact": { - "message": "Invite emergency contact" + "message": "Inviter nødkontakt" }, "editEmergencyContact": { - "message": "Edit emergency contact" + "message": "Rediger nødkontakt" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "Inviter en ny nødkontakt ved å skrive inn e-postadressen til deres Bitwarden-konto nedenfor. Dersom de ikke allerede har en Bitwarden-konto, vil de bli bedt om å opprette en ny konto." }, "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" + "message": "Nødtilgang initiert" }, "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" + "message": "Nødtilgang godkjent" }, "viewDesc": { - "message": "Can view all items in your own vault." + "message": "Kan se alle objekter i hvelvet ditt." }, "takeover": { - "message": "Takeover" + "message": "Overtakelse" }, "takeoverDesc": { - "message": "Can reset your account with a new master password." + "message": "Kan tilbakestille kontoen med et nytt hovedpassord." }, "waitTime": { - "message": "Wait Time" + "message": "Ventetid" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "Tid nødvendig før det gis automatisk tilgang." }, "oneDay": { - "message": "1 day" + "message": "1 dag" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$ dager", "placeholders": { "days": { "content": "$1", @@ -3475,16 +3503,16 @@ } }, "invitedUser": { - "message": "Invited user." + "message": "Invitert bruker." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Du har blitt invitert til å bli en nødkontakt for brukeren som er listet ovenfor. For å godkjenne invitasjonen, må du logge på eller lage en ny Bitwarden-konto." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "Klarte ikke å godkjenne invitasjonen. Be brukeren om å sende en ny invitasjon." }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Kunne ikke godkjenne invitasjonen. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "Du får tilgang til nødalternativer for denne brukeren etter at identiteten din er bekreftet. Vi vil sende deg en e-post når det skjer." }, "requestAccess": { - "message": "Request Access" + "message": "Be om tilgang" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Er du sikker på at du vil be om nødtilgang? Du vil få tilgang etter $WAITTIME$ dag(er) eller når brukeren manuelt godkjenner forespørselen.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "Nødadgang forespurt for $USER$. Vi varsler deg via e-post når det er mulig å fortsette prosessen.", "placeholders": { "user": { "content": "$1", @@ -3517,13 +3545,13 @@ } }, "approve": { - "message": "Approve" + "message": "Godkjenn" }, "reject": { - "message": "Reject" + "message": "Avvis" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "Er du sikker på at du vil godkjenne nødtilgang? Dette vil tillate $USER$ til $ACTION$ kontoen din.", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "Emergency access approved." + "message": "Nødtilgang er godkjent." }, "emergencyRejected": { - "message": "Emergency access rejected" + "message": "Nødtilgang avvist" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "Passord tilbakestille for $USER$. Du kan nå logge inn ved å bruke det nye passordet.", "placeholders": { "user": { "content": "$1", @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3572,13 +3618,13 @@ } }, "planPrice": { - "message": "Plan price" + "message": "Pris på plan" }, "estimatedTax": { - "message": "Estimated tax" + "message": "Beregnet avgift" }, "custom": { - "message": "Custom" + "message": "Egendefinert" }, "customDesc": { "message": "Allows more granular control of user permissions for advanced configurations." @@ -3599,22 +3645,22 @@ "message": "Access Reports" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "Administrer alle samlinger" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "Administrer alle tildelte samlinger" }, "manageGroups": { - "message": "Manage Groups" + "message": "Administrer grupper" }, "managePolicies": { - "message": "Manage Policies" + "message": "Administrer vilkår" }, "manageSso": { - "message": "Manage SSO" + "message": "Administrer SSO" }, "manageUsers": { - "message": "Manage Users" + "message": "Administrer brukere" }, "disableRequireSsoError": { "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." @@ -3626,7 +3672,95 @@ "message": "Disable personal ownership for organization users" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "Når du åpner Send-en, er teksten skjult som standard", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/nl/messages.json b/locales/nl/messages.json index a0db73e0..7610fcef 100644 --- a/locales/nl/messages.json +++ b/locales/nl/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Deze export bevat jouw kluisgegevens in een niet-versleutelde opmaak. Je moet het geëxporteerde bestand niet opslaan of verzenden over onbeveiligde kanalen (zoals e-mail). Verwijder het exportbestand direct na gebruik." }, - "encExportWarningDesc": { - "message": "Deze export versleutelt je gegevens met de encryptiesleutel van je account. Als je je encryptiesleutel verandert moet je opnieuw exporteren, omdat je deze export dan niet meer kunt ontcijferen." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Voer je hoofdwachtwoord in om de kluisgegevens te exporteren." @@ -1000,9 +1003,24 @@ "importData": { "message": "Gegevens importeren" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "De gegevens zijn in je kluis geïmporteerd." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "De gegevens zijn niet correct opgemaakt. Controleer je importbestand en probeer het opnieuw." }, @@ -1364,7 +1382,7 @@ "message": "Logins zonder 2FA gevonden" }, "inactive2faFoundDesc": { - "message": "We hebben $COUNT$ website(s) in je kluis gevonden waar je tweestapsaanmelding nog kunt configureren (volgens 2fa.directory). Om deze accounts verder te beschermen, zou je tweestapsaanmelding moeten inschakelen.", + "message": "We hebben $COUNT$ website(s) in je kluis gevonden waar je tweestapsaanmelding nog kunt configureren (volgens twofactorauth.org). Om deze accounts verder te beschermen, zou je tweestapsaanmelding moeten inschakelen.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Extra tweestapsaanmeldingsopties zoals YubiKey, FIDO U2F en Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Rapportages op wachtwoordhygiëne, gezondheid van je account en datalekken om je kluis veilig te houden." }, @@ -3369,7 +3390,7 @@ "message": "Weet je zeker dat je dit wachtwoord wilt verwijderen?" }, "disableThisSend": { - "message": "Schakel deze Send uit zodat niemand 'm kan benaderen.", + "message": "Schakel deze Send uit zodat niemand hem kan benaderen.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { @@ -3404,7 +3425,11 @@ "message": "Bestand downloaden" }, "sendAccessUnavailable": { - "message": "De Send die je probeert te benaderen bestaat niet of is niet langer beschikbaar.", + "message": "De Send die je probeert te benaderen is niet (langer) beschikbaar.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { @@ -3415,7 +3440,10 @@ "message": "Noodtoegang" }, "emergencyAccessDesc": { - "message": "Verleen en beheer noodtoegang voor vertrouwde contacten. Vertrouwde contacten kunnen toegang vragen tot het bekijken of overnemen van je account in noodgevallen. Bezoek onze helppagina voor meer informatie en details over de werking van \"zero knowledge sharing\"." + "message": "Verleen en beheer noodtoegang voor vertrouwde contacten. Vertrouwde contacten kunnen in noodgevallen toegang vragen tot het bekijken of overnemen van je account. Bezoek onze helppagina voor meer informatie en details over de werking van \"zero knowledge sharing\"." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Vertrouwde noodcontacten" @@ -3439,7 +3467,7 @@ "message": "Noodcontact bewerken" }, "inviteEmergencyContactDesc": { - "message": "Nodig een nieuw noodcontact uit door hieronder het e-mailadres van hun Bitwarden-e-mailadres in te vullen. Als ze nog geen Bitwarden-account hebben, krijgen ze de mogelijkheid direct een account aan te maken." + "message": "Nodig een nieuw noodcontact uit door hieronder het e-mailadres van hun Bitwarden-account in te vullen. Als ze nog geen Bitwarden-account hebben, krijgen ze de mogelijkheid direct een account aan te maken." }, "emergencyAccessRecoveryInitiated": { "message": "Noodtoegang geïnitieerd" @@ -3454,13 +3482,13 @@ "message": "Overnemen" }, "takeoverDesc": { - "message": "Kan je een nieuw hoofdwachtwoord instellen op je account." + "message": "Kan op jouw account een nieuw hoofdwachtwoord instellen." }, "waitTime": { "message": "Wachttijd" }, "waitTimeDesc": { - "message": "Verstreken tijd voor het automatisch verlenen van toegang." + "message": "Wachttijd tot het automatisch verlenen van toegang." }, "oneDay": { "message": "1 dag" @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "Je kunt de instellingen voor noodtoegang van deze gebruiker benaderen zodraje identiteit is bevestigd. We sturen je een e-mail wanneer dat is gebeurd." + "message": "Je kunt de instellingen voor noodtoegang van deze gebruiker benaderen zodra je identiteit is bevestigd. We sturen je een e-mail wanneer dat is gerealiseerd." }, "requestAccess": { - "message": "Toegang vragen" + "message": "Toegang aanvragen" }, "requestAccessConfirmation": { - "message": "Weet je zeker dat je noodtoegang wilt vragen? Je krijgt toegang na $WAITTIME$ dag(en) of zodra de gebruiker de aanvraag handmatig goedkeurt.", + "message": "Weet je zeker dat je noodtoegang wilt aanvragen? Je krijgt toegang na $WAITTIME$ dag(en) of zodra de gebruiker de aanvraag handmatig goedkeurt.", "placeholders": { "waittime": { "content": "$1", @@ -3523,7 +3551,7 @@ "message": "Afwijzen" }, "approveAccessConfirmation": { - "message": "Weet u zeker dat u toegang tot noodgevallen wilt goedkeuren? Hiermee kan $USER$ op je account $ACTION$.", + "message": "Weet je zeker dat je noodtoegang wilt goedkeuren? Hiermee verleen je $USER$ toegang tot je account $ACTION$.", "placeholders": { "user": { "content": "$1", @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Wegens bedrijfsbeleid mag je geen wachtwoorden opslaan in je persoonlijke kluis. Verander het eigenaarschap naar een organisatie en kies uit een van de beschikbare collecties." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Bewerkt beleid $ID$.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Verberg de tekst standaard bij het gebruiken van de Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/pl/messages.json b/locales/pl/messages.json index f8548c62..27a5c933 100644 --- a/locales/pl/messages.json +++ b/locales/pl/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Plik zawiera dane sejfu w niezaszyfrowanym formacie. Nie powinieneś go przechowywać, ani przesyłać poprzez niezabezpieczone kanały (takie jak poczta e-mail). Skasuj go natychmiast po użyciu." }, - "encExportWarningDesc": { - "message": "Dane eksportu zostaną zaszyfrowane za pomocą klucza szyfrowania konta. Jeśli kiedykolwiek zmienisz ten klucz, wyeksportuj dane ponownie, ponieważ nie będziesz w stanie odszyfrować tego pliku." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Wpisz hasło główne, aby wyeksportować dane z sejfu." @@ -1000,9 +1003,24 @@ "importData": { "message": "Importuj dane" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Dane zostały zaimportowane do sejfu." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Dane nie są poprawnie sformatowane. Sprawdź importowany plik i spróbuj ponownie." }, @@ -1364,7 +1382,7 @@ "message": "Znaleźliśmy elementy bez włączonej opcji logowania dwustopniowego" }, "inactive2faFoundDesc": { - "message": "Znaleźliśmy witryny w sejfie, które mogą nie korzystać z opcji logowania dwustopniowego (według 2fa.directory). Włącz logowanie dwustopniowe, aby dodatkowo zabezpieczyć te konta.", + "message": "Znaleźliśmy witryny w sejfie, które mogą nie korzystać z opcji logowania dwustopniowego (według twofactorauth.org). Włącz logowanie dwustopniowe, aby dodatkowo zabezpieczyć te konta.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Dodatkowe opcje logowania dwustopniowego, takie jak klucze YubiKey, FIDO U2F oraz Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Raporty bezpieczeństwa haseł, stanu konta i raporty wycieków danych, aby Twoje dane były bezpieczne." }, @@ -1801,7 +1822,7 @@ } }, "gbStorageAdd": { - "message": "GB przestrzeni do dodania" + "message": "Wybierz liczbę GB do dodania" }, "gbStorageRemove": { "message": "GB przestrzeni do usunięcia" @@ -2808,7 +2829,7 @@ "message": "Po zaktualizowaniu klucza szyfrowania, musisz ponownie zalogować się do wszystkich aplikacji Bitwarden, z których obecnie korzystasz (na przykład aplikacje mobilne lub rozszerzenia przeglądarki). Niepowodzenie logowania (podczas którego pobierany jest nowy klucz szyfrowania) może spowodować uszkodzenie danych. Postaramy się wylogować Ciebie automatycznie, jednak może to chwilę potrwać." }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "Wszystkie zaszyfrowane eksporty, które wcześniej zapisałeś, staną się nieprawidłowe." }, "subscription": { "message": "Subskrypcja" @@ -3327,21 +3348,21 @@ "message": "Data wygaśnięcia" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "Jeśli funkcja jest włączona, dostęp do wysyłki wygaśnie po określonym czasie.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { "message": "Maksymalna liczba dostępów" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "Jeśli funkcja jest włączona, po osiągnięciu maksymalnej liczby dostępów, użytkownicy nie będą mieli dostępu do tej wysyłki.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { "message": "Obecna liczba dostępów" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "Wpisz opcjonalnie hasło, aby uzyskać dostęp do wysyłki.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { @@ -3407,6 +3428,10 @@ "message": "Wysyłka nie istnieje lub nie jest już dostępna.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Brak wysyłek do wyświetlenia.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Dostęp awaryjny" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Zarządzaj dostępem awaryjnym dla zaufanych kontaktów. Zaufane kontakty mogą poprosić Cię o przejęcie Twojego konta lub uzyskania dostępu do jego odczytu w awaryjnych przypadkach. Odwiedź naszą stronę pomocy, aby dowiedzieć się więcej jak działa funkcja dostępu awaryjnego." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Zaufane kontakty awaryjne" @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "Dostęp do tego użytkownika otrzymasz po potwierdzeniu swojej tożsamości. Dostaniesz wtedy wiadomość e-mail." }, "requestAccess": { "message": "Poproś o dostęp" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Czy na pewno chcesz poprosić o dostęp awaryjny? Dostęp otrzymasz po zatwierdzeniu żądania lub po upływie określonego czasu ustawionego przez użytkownika.", "placeholders": { "waittime": { "content": "$1", @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Ze względu na zasadę przedsiębiorstwa nie możesz zapisywać elementów w osobistym sejfie. Zmień właściciela elementu na organizację i wybierz jedną z dostępnych kolekcji." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Zasada $ID$ została zaktualizowana.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Ukryj tekst podczas dostępu do wysyłki", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/pt_BR/messages.json b/locales/pt_BR/messages.json index cbc0c88d..7f3d9c39 100644 --- a/locales/pt_BR/messages.json +++ b/locales/pt_BR/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Esta exportação contém os dados do seu cofre em um formato não criptografado. Você não deve armazenar ou enviar o arquivo exportado por canais inseguros (como e-mail). Exclua o arquivo imediatamente após terminar de usá-lo." }, - "encExportWarningDesc": { - "message": "Esta exportação criptografa seus dados usando a chave de criptografia da sua conta. Se você rotacionar a chave de criptografia da sua conta, você deve exportar novamente, já que você não será capaz de descriptografar este arquivo de exportação." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Insira a sua senha mestra para exportar os dados do seu cofre." @@ -1000,9 +1003,24 @@ "importData": { "message": "Importar dados" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Os dados foram importados com sucesso para o seu cofre." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Os dados não estão formatados corretamente. Por favor, verifique o seu arquivo de importação e tente novamente." }, @@ -1364,7 +1382,7 @@ "message": "Credenciais Sem 2FA Encontradas" }, "inactive2faFoundDesc": { - "message": "Nós encontramos $COUNT$ site(s) no seu cofre que pode não estar configurado com autenticação de duas etapas (de acordo com 2fa.directory). Para proteger ainda mais essas contas, você deve habilitar a autenticação de duas etapas.", + "message": "Nós encontramos $COUNT$ site(s) no seu cofre que pode não estar configurado com autenticação de duas etapas (de acordo com twofactorauth.org). Para proteger ainda mais essas contas, você deve habilitar a autenticação de duas etapas.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Opções adicionais de login em duas etapas, como YubiKey, FIDO U2F e Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Higiene de senha, saúde da conta, e relatórios sobre violação de dados para manter o seu cofre seguro." }, @@ -3407,6 +3428,10 @@ "message": "O Send que você está tentando acessar não existe ou não está mais disponível.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Não há Sends para listar.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Conceda e gerencie o acesso de emergência para contatos confiáveis. Contatos confiáveis podem solicitar acesso a Visualizar ou Assumir o Controle da sua conta em caso de emergência. Visite a nossa página de ajuda para obter mais informações e detalhes sobre como o compartilhamento de conhecimento zero funciona." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Contatos de emergência confiáveis" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Devido a uma Política Empresarial, você está restrito de salvar itens para seu cofre pessoal. Altere a opção de propriedade para uma organização e escolha entre as Coleções disponíveis." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Política modificada $ID$.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Ao acessar o Send, ocultar o texto por padrão", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/pt_PT/messages.json b/locales/pt_PT/messages.json index 8329b894..878905f1 100644 --- a/locales/pt_PT/messages.json +++ b/locales/pt_PT/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "Esta exportação contém os seus dados do cofre num formato desencriptado. Não deve armazenar ou enviar o ficheiro exportado através de canais inseguros (como email). Elimine-o imediatamente após o utilizar." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Introduza a sua palavra-passe mestra para exportar os dados do seu cofre." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Importar dados" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Os dados foram importados com sucesso para o seu cofre." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Os dados não estão formatados corretamente. Por favor verifique o ficheiro de importação e tente novamente." }, @@ -1364,7 +1382,7 @@ "message": "Credenciais sem 2FA encontradas" }, "inactive2faFoundDesc": { - "message": "Encontrámos $COUNT$ website(s) no seu cofre que podem não estar configurados com autenticação de dois fatores (de acordo com 2fa.directory). Para melhor proteger estas contas, deve ativar a autenticação de dois fatores.", + "message": "Encontrámos $COUNT$ website(s) no seu cofre que podem não estar configurados com autenticação de dois fatores (de acordo com twofactorauth.org). Para melhor proteger estas contas, deve ativar a autenticação de dois fatores.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Opções adicionais de início de sessão de dois passos, como YubiKey, FIDO U2F, e Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Higiene de palavras-passe, saúde das contas, e relatórios de brechas de dados para manter o seu cofre seguro." }, @@ -3352,7 +3373,7 @@ "message": "Disabled" }, "sendLink": { - "message": "Send Link", + "message": "Send link", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/ro/messages.json b/locales/ro/messages.json index 1a9e5985..3042173c 100644 --- a/locales/ro/messages.json +++ b/locales/ro/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Acest export conține datele dvs. din seif în format necriptat. Nu ar trebui să stocați sau să trimiteți fișierul pe canale nesecurizate (cum ar fi e-mail). Ștergeți-l imediat după ce nu îl mai folosiți." }, - "encExportWarningDesc": { - "message": "Acest export criptează datele folosind cheia de criptare a contului. Dacă schimbați vreodată cheia de criptare a contului, ar trebui să o exportați din nou, deoarece nu veți putea decripta acest fișier exportat." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Introducere parolă principală pentru exportarea datelor seifului." @@ -1000,9 +1003,24 @@ "importData": { "message": "Import de date" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Datele au fost importate cu succes în seiful dvs." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Datele nu au formatul corect. Vă rugăm să verificați fișierul de import și încercați din nou." }, @@ -1364,7 +1382,7 @@ "message": "S-au găsit conectări fără 2FA" }, "inactive2faFoundDesc": { - "message": "Am găsit $COUNT$ sait(uri) în seiful dvs., care probabil nu au fost configurate cu autentificarea cu doi factori (conform 2fa.directory). Pentru a proteja în continuare aceste conturi, ar trebui să activați autentificarea cu doi factori.", + "message": "Am găsit $COUNT$ sait(uri) în seiful dvs., care probabil nu au fost configurate cu autentificarea cu doi factori (conform twofactorauth.org). Pentru a proteja în continuare aceste conturi, ar trebui să activați autentificarea cu doi factori.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Opțiuni suplimentare de conectare în două etape, cum ar fi YubiKey, FIDO U2F și Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Rapoarte privind igiena parolelor, sănătatea contului și breșele de date pentru a vă păstra seiful în siguranță." }, @@ -3407,6 +3428,10 @@ "message": "Send-ul pe care încercați să-l accesați nu există sau nu mai este disponibil.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Niciun Send de afișat.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Acordă și gestionează accesul de urgență contactelor de încredere. Contactele de încredere pot solicita accesul fie la vizualizarea fie la preluarea controlului contului dvs. în caz de urgență. Vizitați-ne pagina de ajutor pentru detalii privind modul cum funcționează schimbul zero de cunoștințe." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Contacte de urgență de încredere" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Datorită unei politici pentru întreprinderi, vă este restricționată salvarea de articole în seiful dvs. personal. Schimbați opțiunea de proprietate la o organizație și alegeți dintre colecțiile disponibile." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Politica $ID$ a fost editată.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Când Send-ul este accesat, ascundeți textul în mod implicit", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/ru/messages.json b/locales/ru/messages.json index 7a5454af..01a61d94 100644 --- a/locales/ru/messages.json +++ b/locales/ru/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Экспортируемый файл содержит данные вашего хранилища в незашифрованном формате. Его не следует хранить или отправлять по небезопасным каналам (например по электронной почте). Удалите его сразу после использования." }, - "encExportWarningDesc": { - "message": "При экспорте данные шифруются с помощью ключа шифрования учетной записи. Если вы когда-либо повернете ключ шифрования учетной записи, вам следует экспортировать данные повторно, поскольку вы не сможете расшифровать этот файл экспорта." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Введите мастер-пароль для экспорта данных из хранилища." @@ -1000,9 +1003,24 @@ "importData": { "message": "Импорт данных" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Данные были успешно импортированы в ваше хранилище." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Формат данных некорректен. Проверьте файл импорта и повторите попытку." }, @@ -1364,7 +1382,7 @@ "message": "Найдены логины без 2ФА" }, "inactive2faFoundDesc": { - "message": "В хранилище обнаружены сайты ($COUNT$ шт.), у которых может быть не настроена двухфакторная аутентификация (согласно 2fa.directory). Для дополнительной защиты этих аккаунтов следует включить двухфакторную аутентификацию.", + "message": "В хранилище обнаружены сайты ($COUNT$ шт.), у которых может быть не настроена двухфакторная аутентификация (согласно twofactorauth.org). Для дополнительной защиты этих аккаунтов следует включить двухфакторную аутентификацию.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Дополнительные варианты двухфакторной аутентификации, такие как YubiKey, FIDO U2F и Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Гигиена паролей, здоровье аккаунта и отчеты об утечках данных для обеспечения безопасности вашего хранилища." }, @@ -3261,7 +3282,7 @@ "message": "Члены организации, которые не являются владельцами или администраторами и уже входят в другую организацию, будут удалены из вашей организации." }, "requireSso": { - "message": "Авторизация по единому входу" + "message": "Аутентификация по единому входу" }, "requireSsoPolicyDesc": { "message": "Требовать от пользователей авторизацию с помощью единого корпоративного входа." @@ -3407,6 +3428,10 @@ "message": "Send, к которой вы пытаетесь получить доступ, больше не существует или недоступна.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "В списке нет Sends.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Предоставляйте экстренный доступ доверенным контактам и управляйте им. Доверенные контакты могут получить доступ для просмотра или передачи владения вашей учетной записью в экстренных ситуациях. Посетите нашу страницу помощи для детального ознакомления о том, как работает доступ нулевого уровня." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Надежные контакты для экстренных ситуаций" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "В соответствии с корпоративной политикой вам запрещено сохранять элементы в личном хранилище. Измените владельца на организацию и выберите из доступных Коллекций." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Изменена политика $ID$.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "При доступе к Send скрывать текст по умолчанию", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/si/messages.json b/locales/si/messages.json index 475620f0..6fb6f8d6 100644 --- a/locales/si/messages.json +++ b/locales/si/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Import Data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data has been successfully imported into your vault." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data is not formatted correctly. Please check your import file and try again." }, @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Password hygiene, account health, and data breach reports to keep your vault safe." }, @@ -3352,7 +3373,7 @@ "message": "Disabled" }, "sendLink": { - "message": "Send Link", + "message": "Send link", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/sk/messages.json b/locales/sk/messages.json index 2380adbe..dd40217c 100644 --- a/locales/sk/messages.json +++ b/locales/sk/messages.json @@ -348,7 +348,7 @@ "message": "Upraviť položku" }, "viewItem": { - "message": "View Item" + "message": "Zobraziť položku" }, "ex": { "message": "napr.", @@ -794,13 +794,16 @@ "message": "Upozornenie" }, "confirmVaultExport": { - "message": "Confirm Vault Export" + "message": "Potvrdiť export trezoru" }, "exportWarningDesc": { "message": "Tento export obsahuje vaše dáta v nešifrovanom formáte. Nemali by ste ich ukladať, ani posielať cez nezabezpečené kanály (napr. email). Okamžite ho odstráňte, keď ho prestanete používať." }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + "encExportKeyWarningDesc": { + "message": "Tento export zašifruje vaše údaje pomocou šifrovacieho kľúča vášho účtu. Ak niekedy budete rotovať šifrovací kľúč svojho účtu, mali by ste exportovať znova, pretože nebudete môcť dešifrovať tento exportovaný súbor." + }, + "encExportAccountWarningDesc": { + "message": "Šifrovacie kľúče účtu sú jedinečné pre každý používateľský účet Bitwarden, takže nemôžete importovať šifrovaný export do iného účtu." }, "exportMasterPassword": { "message": "Zadajte vaše hlavné heslo pre export údajov trezoru." @@ -1000,9 +1003,24 @@ "importData": { "message": "Import dát" }, + "importError": { + "message": "Chyba importu" + }, + "importErrorDesc": { + "message": "Vyskytol sa problém s údajmi, ktoré ste sa pokúsili importovať. Vyriešte chyby uvedené nižšie v zdrojovom súbore a skúste to znova." + }, "importSuccess": { "message": "Dáta boli úspešne importované do trezora." }, + "importWarning": { + "message": "Importujete údaje do $ORGANIZATION$. Vaše údaje môžu byť zdieľané s členmi tejto organizácie. Chcete pokračovať?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Dáta nie sú správne formátované. Prosím overte importovaný súbor a skúste znova." }, @@ -1364,7 +1382,7 @@ "message": "Našli sa prihlásenia bez dvojstupňového overenia" }, "inactive2faFoundDesc": { - "message": "Našli sme $COUNT$ stránok vo vašom trezore ktoré nie sú nastavené na použitie dvojstupňového overenia. (na základe údajov z 2fa.directory) Aby ste vylepšili zabezpečenie týchto účtov, mali by ste povoliť dvojstupňové prihlásenie.", + "message": "Našli sme $COUNT$ stránok vo vašom trezore ktoré nie sú nastavené na použitie dvojstupňového overenia. (na základe údajov z twofactorauth.org) Aby ste vylepšili zabezpečenie týchto účtov, mali by ste povoliť dvojstupňové prihlásenie.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Ďalšie možnosti dvojstupňového prihlásenia ako YubiKey, FIDO U2F a Duo." }, + "premiumSignUpEmergency": { + "message": "Núdzový prístup" + }, "premiumSignUpReports": { "message": "Správy o sile hesla, zabezpečení účtov a únikoch dát ktoré vám pomôžu udržať vaše kontá v bezpečí." }, @@ -1669,7 +1690,7 @@ "message": "Informácie o platbe" }, "billingInformation": { - "message": "Billing Information" + "message": "Fakturačné údaje" }, "creditCard": { "message": "Kreditná Karta" @@ -2496,7 +2517,7 @@ } }, "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", + "message": "SSO odpojené pre používateľa $ID$.", "placeholders": { "id": { "content": "$1", @@ -2808,7 +2829,7 @@ "message": "Po aktualizácii šifrovacieho kľúča budete požiadaní o opätovné prihlásenie do všetkých Bitwarden aplikácii ktoré momentálne používate (napríklad mobilné aplikácie, alebo rozšírenia v prehliadači). Ak sa opätovne neprihlásite (touto operáciou sa stiahnu nové šifrovacie kľúče), mohlo by to viesť k poškodeniu uložených dát. Pokúsime sa odhlásiť vás automaticky, ale môže to chvíľu trvať." }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "Všetky uložené šifrované exporty sa tiež stanú neplatnými." }, "subscription": { "message": "Predplatné" @@ -3255,7 +3276,7 @@ "message": "Zakázať používateľom stať sa členmi inej organizácie." }, "singleOrgBlockCreateMessage": { - "message": "Váša súčasná organizácia má pravidlo, ktoré vám nedovoľuje pripojiť sa k viac než jednej organizácii. Kontaktujte, prosím, administrátorov vašej organizácie alebo sa prihláste prostredníctvom iného Bitwarden účtu." + "message": "Vaša súčasná organizácia má pravidlo, ktoré vám nedovoľuje pripojiť sa k viac než jednej organizácii. Kontaktujte, prosím, administrátorov vašej organizácie alebo sa prihláste prostredníctvom iného Bitwarden účtu." }, "singleOrgPolicyWarning": { "message": "Členovia organizácie, ktorí nie sú vlastníkmi alebo administrátormi a už sú členmi inej organizácie, budú odstránení z vašej organizácie." @@ -3320,32 +3341,32 @@ "message": "Dátum vymazania" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "Odoslanie bude natrvalo odstránené v zadaný dátum a čas.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { "message": "Dátum exspirácie" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "Ak je nastavené, prístup k tomuto Odoslaniu vyprší v zadaný dátum a čas.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { "message": "Maximálny počet prístupov" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "Ak je nastavené, používatelia už nebudú mať prístup k tomuto odoslaniu po dosiahnutí maximálneho počtu prístupov.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { "message": "Súčasný počet prístupov" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "Voliteľne môžete vyžadovať heslo pre používateľov na prístup k tomuto odoslaniu.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "Zabezpečená poznámka o tomto Odoslaní.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { @@ -3369,20 +3390,20 @@ "message": "Naozaj chcete odstrániť heslo?" }, "disableThisSend": { - "message": "Disable this Send so that no one can access it.", + "message": "Vypnúť toto Odoslanie, aby k nemu nikto nemal prístup.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { "message": "Všetky Sendy" }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "Bol dosiahnutý maximálny počet prístupov" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "Čakajúce odstránenie" }, "expired": { - "message": "Expired" + "message": "Expirované" }, "searchSends": { "message": "Hľadať Sendy", @@ -3404,7 +3425,11 @@ "message": "Stiahnuť súbor" }, "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", + "message": "Odoslanie, ku ktorému sa pokúšate získať prístup, neexistuje alebo už nie je k dispozícii.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "Súbor asociovaný s funkciou Send sa nenašiel.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { @@ -3412,61 +3437,64 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "Núdzový prístup" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Udeľujte a spravujte núdzový prístup pre dôveryhodné kontakty. Dôveryhodné kontakty môžu v prípade núdze požadovať prístup k zobrazeniu alebo prevzatiu vášho účtu. Navštívte našu stránku pomoci, kde nájdete ďalšie informácie a podrobnosti o tom, ako funguje zdieľanie zero knowledge." + }, + "emergencyAccessOwnerWarning": { + "message": "Ste vlastníkom jednej alebo viacerých organizácií. Ak poskytnete prístup na prevzatie núdzového kontaktu, bude môcť po prevzatí využiť všetky vaše povolenia ako vlastník." }, "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" + "message": "Dôveryhodné núdzové kontakty" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "Ešte nemáte pridaný žiadny núdzový kontakt, na začiatok pozvite dôveryhodný kontakt." }, "addEmergencyContact": { - "message": "Add emergency contact" + "message": "Pridať núdzový kontakt" }, "designatedEmergencyContacts": { - "message": "Designated as emergency contact" + "message": "Označený ako núdzový kontakt" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "Ešte vás nikto neoznačil ako núdzový kontakt." }, "inviteEmergencyContact": { - "message": "Invite emergency contact" + "message": "Pozvať núdzový kontakt" }, "editEmergencyContact": { - "message": "Edit emergency contact" + "message": "Upraviť núdzový kontakt" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "Pozvite nový núdzový kontakt zadaním jej e-mailovej adresy účtu Bitwarden nižšie. Ak už nemajú konto Bitwarden, zobrazí sa výzva na vytvorenie nového účtu." }, "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" + "message": "Núdzový prístup bol iniciovaný" }, "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" + "message": "Núdzový prístup schválený" }, "viewDesc": { - "message": "Can view all items in your own vault." + "message": "Môže zobraziť všetky položky vo vašom trezore." }, "takeover": { - "message": "Takeover" + "message": "Prevzatie" }, "takeoverDesc": { - "message": "Can reset your account with a new master password." + "message": "Môže resetovať váš účet s novým hlavným heslom." }, "waitTime": { - "message": "Wait Time" + "message": "Čas čakania" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "Čas potrebný na automatické udelenie prístupu." }, "oneDay": { - "message": "1 day" + "message": "1 deň" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$ dní", "placeholders": { "days": { "content": "$1", @@ -3475,16 +3503,16 @@ } }, "invitedUser": { - "message": "Invited user." + "message": "Pozvaný používateľ." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Boli ste pozvaný, aby ste sa stali núdzovým kontaktom pre používateľa uvedeného vyššie. Ak chcete prijať pozvanie, musíte sa prihlásiť alebo vytvoriť nový účet Bitwarden." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "Nepodarilo sa prijať pozvanie. Požiadajte používateľa o odoslanie novej pozvánky." }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Nepodarilo sa prijať pozvanie. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "K núdzovým možnostiam pre tohto používateľa máte prístup po potvrdení vašej totožnosti. Keď sa to stane, pošleme vám e-mail." }, "requestAccess": { - "message": "Request Access" + "message": "Požiadať o prístup" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Naozaj chcete požiadať o núdzový prístup? Prístup vám bude poskytnutý po $WAITTIME$ dni(dňoch) alebo vždy, keď používateľ schváli žiadosť manuálne.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "Núdzový prístup bol vyžiadaný pre $USER$. Keď bude možné pokračovať, upozorníme vás e-mailom.", "placeholders": { "user": { "content": "$1", @@ -3517,13 +3545,13 @@ } }, "approve": { - "message": "Approve" + "message": "Schváliť" }, "reject": { - "message": "Reject" + "message": "Odmietnuť" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "Naozaj chcete schváliť núdzový prístup? To umožní používateľovi $USER$ $ACTION$ váš účet.", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "Emergency access approved." + "message": "Núdzový prístup schválený." }, "emergencyRejected": { - "message": "Emergency access rejected" + "message": "Núdzový prístup odmietnutý" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "Resetovanie hesla pre $USER$. Teraz sa môžete prihlásiť s novým heslom.", "placeholders": { "user": { "content": "$1", @@ -3551,19 +3579,37 @@ } }, "personalOwnership": { - "message": "Personal Ownership" + "message": "Osobné vlastníctvo" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "Požadovať, aby používatelia na uloženie položiek trezoru organizácie odstránili osobné vlastníctvo." }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Vlastníci a administrátori organizácie sú vyňatí z uplatnenia tohto pravidla." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Z dôvodu podnikovej politiky máte obmedzené ukladanie položiek do osobného trezora. Zmeňte možnosť vlastníctvo na organizáciu a vyberte si z dostupných zbierok." + }, + "disableSend": { + "message": "Zakázať Send" + }, + "disableSendPolicyDesc": { + "message": "Nedovoľte používateľom vytvárať alebo upravovať funkciu Bitwarden Send. Odstránenie existujúceho Send je stále povolené.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Používatelia organizácie, ktorí môžu spravovať politiku organizácie, sú vyňatí z uplatňovania týchto zásad." + }, + "sendDisabled": { + "message": "Funkcia Send zakázaná", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Z dôvodu podnikovej politiky môžete odstrániť iba existujúci Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "Upravená politika $ID$.", "placeholders": { "id": { "content": "$1", @@ -3572,61 +3618,149 @@ } }, "planPrice": { - "message": "Plan price" + "message": "Cenník" }, "estimatedTax": { - "message": "Estimated tax" + "message": "Odhadovaná daň" }, "custom": { - "message": "Custom" + "message": "Vlastné" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "Umožňuje podrobnejšiu kontrolu nad povoleniami používateľov pre pokročilé konfigurácie." }, "permissions": { - "message": "Permissions" + "message": "Povolenia" }, "accessBusinessPortal": { - "message": "Access Business Portal" + "message": "Prístup k podnikovému portálu" }, "accessEventLogs": { - "message": "Access Event Logs" + "message": "Prístup k protokolom udalostí" }, "accessImportExport": { - "message": "Access Import/Export" + "message": "Prístup k importu/exportu" }, "accessReports": { - "message": "Access Reports" + "message": "Prístup k reportom" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "Spravovať všetky zbierky" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "Spravovať priradené zbierky" }, "manageGroups": { - "message": "Manage Groups" + "message": "Spravovať skupiny" }, "managePolicies": { - "message": "Manage Policies" + "message": "Spravovať politiky" }, "manageSso": { - "message": "Manage SSO" + "message": "Spravovať SSO" }, "manageUsers": { - "message": "Manage Users" + "message": "Spravovať používateľov" }, "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + "message": "Predtým, ako bude možné túto politiku deaktivovať, musíte manuálne vypnúť politiku overovania jediným prihlásením." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "Politika organizácie ovplyvňuje vaše možnosti vlastníctva." }, "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" + "message": "Zakázať osobné vlastníctvo pre používateľov organizácie" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "Pri prístupe k Odoslaniu, predvolene skryť text", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "Priateľský názov pre popísanie tohto Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "Text, ktorý chcete odoslať." + }, + "sendFileDesc": { + "message": "Súbor, ktorý chcete odoslať." + }, + "copySendLinkOnSave": { + "message": "Kopírovať odkaz na zdieľanie tohto Send do schránky počas ukladania." + }, + "sendLinkLabel": { + "message": "Odkaz na Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send ľahko a bezpečne prenáša citlivé dočasné informácie ostatným.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Viac informácií o", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Zdieľajte text alebo súbory priamo s kýmkoľvek." + }, + "sendVaultCardLearnMore": { + "message": "Ďalšie informácie", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "pozrite", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "ako to funguje", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "alebo", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "to skúste teraz", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "alebo", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "zaregistrujte", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "skúste to ešte dnes.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden používateľ $USER_IDENTIFIER$ zdieľal nasledujúce s vami", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "Uvedený dátum exspirácie nie je platný." + }, + "deletionDateIsInvalid": { + "message": "Uvedený dátum odstránenia nie je platný." + }, + "expirationDateAndTimeRequired": { + "message": "Vyžaduje sa dátum a čas vypršania platnosti." + }, + "deletionDateAndTimeRequired": { + "message": "Vyžaduje sa dátum a čas odstránenia." + }, + "dateParsingError": { + "message": "Pri ukladaní dátumov odstránenia a vypršania platnosti sa vyskytla chyba." } } diff --git a/locales/sl/messages.json b/locales/sl/messages.json index c7b83a1c..c8b945c2 100644 --- a/locales/sl/messages.json +++ b/locales/sl/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Import Data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data has been successfully imported into your vault." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Data is not formatted correctly. Please check your import file and try again." }, @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Password hygiene, account health, and data breach reports to keep your vault safe." }, @@ -3352,7 +3373,7 @@ "message": "Disabled" }, "sendLink": { - "message": "Send Link", + "message": "Send link", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/sr/messages.json b/locales/sr/messages.json index e14dee0a..83497b01 100644 --- a/locales/sr/messages.json +++ b/locales/sr/messages.json @@ -41,16 +41,16 @@ "message": "Нова лозинка" }, "passphrase": { - "message": "Фраза лозинка" + "message": "Тајна фраза" }, "notes": { "message": "Напомене" }, "customFields": { - "message": "Прилагођена Поља" + "message": "Прилагођена поља" }, "cardholderName": { - "message": "Име Власника Картице" + "message": "Име власника картице" }, "number": { "message": "Број" @@ -208,7 +208,7 @@ "description": "Default URI match detection for auto-fill." }, "never": { - "message": "Никад" + "message": "Никада" }, "toggleVisibility": { "message": "Пребаци видљивост" @@ -494,7 +494,7 @@ "message": "Одјављено" }, "loginExpired": { - "message": "Ваша сесија пријаве је истекла." + "message": "Ваша сесија је истекла." }, "logOutConfirmation": { "message": "Заиста желите да се одјавите?" @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "Овај извоз садржи податке сефа у нешифрираном формату. Не бисте смели да сачувате или шаљете извезену датотеку преко несигурних канала (као што је имејл). Избришите датотеку одмах након што завршите са коришћењем." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "Овај извоз шифрује податке користећи кључ за шифровање вашег налога. Ако икада промените кључ за шифровање свог налога, требало би да поново извезете, јер нећете моћи да дешифрујете овај извоз." }, + "encExportAccountWarningDesc": { + "message": "Кључеви за шифровање налога су јединствени за сваки Bitwarden кориснички налог, тако да не можете да увезете шифровани извоз на други налог." + }, "exportMasterPassword": { "message": "Унети главну лозинку за извоз сефа." }, @@ -828,7 +831,7 @@ "description": "Minimum Special Characters" }, "ambiguous": { - "message": "Избегавајте двосмислене знакове" + "message": "Избегавај двосмислене карактере" }, "regeneratePassword": { "message": "Поново генериши лозинку" @@ -1000,9 +1003,24 @@ "importData": { "message": "Увези податке" }, + "importError": { + "message": "Грешка при увозу" + }, + "importErrorDesc": { + "message": "Појавио се проблем са подацима које сте покушали да увезете. Решите проблеме у изворној датотеци наведене испод и покушајте поново." + }, "importSuccess": { "message": "Подаци су успешно увезени у ваш сеф." }, + "importWarning": { + "message": "Увозите податке у $ORGANIZATION$. Ваши подаци могу бити подељени са члановима ове организације. Да ли желите да наставите?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Подаци нису правилно форматирани. Проверите датотеку за увоз и покушајте поново." }, @@ -1364,7 +1382,7 @@ "message": "Нађене пријаве без 2FA" }, "inactive2faFoundDesc": { - "message": "Насшли смо $COUNT$ сајта у вашем сефу који можда нису подешени са двофакторском потврдом идентитета (према 2fa.directory). Да бисте додатно заштитили ове налоге, требало би да омогућите двостепену потврду идентитета.", + "message": "Насшли смо $COUNT$ сајта у вашем сефу који можда нису подешени са двофакторском потврдом идентитета (према twofactorauth.org). Да бисте додатно заштитили ове налоге, требало би да омогућите двостепену потврду идентитета.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Додатне опције пријаве у два корака као што су YubiKey, FIDO U2F, и Duo." }, + "premiumSignUpEmergency": { + "message": "Улаз у хитним случајевима" + }, "premiumSignUpReports": { "message": "Извештаји о хигијени лозинки, здравственом стању налога и кршењу података да бисте заштитили сеф." }, @@ -1705,7 +1726,7 @@ "message": "Претплата је отказана." }, "neverExpires": { - "message": "Никада не застареваје" + "message": "Никада не истиче" }, "status": { "message": "Статус" @@ -2271,7 +2292,7 @@ } }, "deletedItemId": { - "message": "Пошаљи $ID$ у отпад.", + "message": "$ID$ послато/а у Отпад.", "placeholders": { "id": { "content": "$1", @@ -3327,7 +3348,7 @@ "message": "Датум истека" }, "expirationDateDesc": { - "message": "Ако је постављено, приступ овом „Send“истиче на наведени датум и време.", + "message": "Ако је постављено, приступ овом „Send“ истиче на наведени датум и време.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { @@ -3407,6 +3428,10 @@ "message": "„Send“ које покушавате да приступите не постоји или више није доступан.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "Датотека повезана са овим слањем није могла бити пронађена.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Нема „Send“ у листи.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Одобрите и управљајте приступ хитним случајевима за поуздане контакте. Поуздани контакти могу затражити приступ приказу или преузимању вашег налога у случају нужде. Посетите нашу страницу за помоћ за више информација и детаља о томе како функционише дељење." }, + "emergencyAccessOwnerWarning": { + "message": "Власник сте једне или више организација. Ако предате приступ контакту у случају нужде, он ће моћи да користи све ваше дозволе као власник након преузимања." + }, "trustedEmergencyContacts": { "message": "Поуздани контакти за хитне случајеве" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "Због смерница за предузећа, ограничено вам је чување предмета у вашем личном трезору. Промените опцију власништва у организацију и изаберите из доступних колекција." }, + "disableSend": { + "message": "Онемогући слање" + }, + "disableSendPolicyDesc": { + "message": "Не дозволи корисницима да креирају или мењају Bitwarden слање. Брисање постојећих слања је и даље дозвољено.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Корисници организације који могу да управљају полисама организације су изузети из приморања ове полисе." + }, + "sendDisabled": { + "message": "Слање онемогућено", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Због полисе компаније, можеш само да бришеш постојећа слања.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Политика $ID$ промењена.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "На притуп „Send“-а, сакриј текст по дефаулту", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "Име да се опише ово слање.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "Текст који желиш да пошаљеш." + }, + "sendFileDesc": { + "message": "Датотека коју желиш да пошаљеш." + }, + "copySendLinkOnSave": { + "message": "Копирај везу да би поделио слање на бележницу након снимања." + }, + "sendLinkLabel": { + "message": "Пошаљи везу", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Пошаљи", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden слање одашиље осетљиве, привремене информације другима лако и безбедно.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Сазнај више о", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Подели текст или датотеке директно са било киме." + }, + "sendVaultCardLearnMore": { + "message": "Сазнај више", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "погледај", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "како функционише", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "или", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "пробај сада", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "или", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "региструј се", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "да пробаш одмах.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden корисник $USER_IDENTIFIER$ је поделио следеће са тобом", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "Наведени датум истицања није исправан." + }, + "deletionDateIsInvalid": { + "message": "Наведени датум брисања није исправан." + }, + "expirationDateAndTimeRequired": { + "message": "Неопходни су датум и време истицања." + }, + "deletionDateAndTimeRequired": { + "message": "Неопходни су датум и време брисања." + }, + "dateParsingError": { + "message": "Појавила се грешка при снимању датума брисања и истицања." } } diff --git a/locales/sv/messages.json b/locales/sv/messages.json index 6780828e..fb62f535 100644 --- a/locales/sv/messages.json +++ b/locales/sv/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Denna export innehåller ditt valv i ett okrypterat format. Du bör inte lagra eller skicka den exporterade filen över osäkra kanaler (t.ex. e-post). Radera den omedelbart när du är färdig med den." }, - "encExportWarningDesc": { - "message": "Denna export krypterar dina data med kontots krypteringsnyckel. Om du någonsin roterar kontots krypteringsnyckel bör du exportera igen eftersom du inte kommer att kunna dekryptera denna exportfil." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Ange ditt huvudlösenord för att exportera ditt valv." @@ -1000,9 +1003,24 @@ "importData": { "message": "Importera data" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Data har importerats till ditt valv." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Datan är inte korrekt formaterad. Vänligen kontrollera din importerade fil och försök igen." }, @@ -1364,7 +1382,7 @@ "message": "Inloggningar utan 2FA hittades" }, "inactive2faFoundDesc": { - "message": "Vi hittade $COUNT$ webbplats(er) i ditt valv som kanske inte har tvåstegsverifiering konfigurerat (enligt 2fa.directory). För att skydda dessa konton ytterligare bör du aktivera tvåstegsverifiering.", + "message": "Vi hittade $COUNT$ webbplats(er) i ditt valv som kanske inte har tvåstegsverifiering konfigurerat (enligt twofactorauth.org). För att skydda dessa konton ytterligare bör du aktivera tvåstegsverifiering.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Ytterligare alternativ för tvåstegsverifiering såsom YubiKey, FIDO U2F och Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Lösenordshygien, kontohälsa och dataintrångsrapporter för att skydda ditt valv." }, @@ -3407,6 +3428,10 @@ "message": "Försändelsen du försöker komma åt finns inte eller är inte längre tillgänglig.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Det finns inga försändelser att visa.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Bevilja och hantera åtkomst för betrodda kontakter i nödsituationer. Betrodda kontakter kan begära att antingen visa eller ta över ditt konto vid en nödsituation. Besök vår hjälpsida för mer information och information om hur delning utan kännedom fungerar." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Betrodda nödkontakter" }, @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "På grund av en av företagets policyer är du begränsad från att spara objekt till ditt personliga valv. Ändra ägarskap till en organisation och välj från tillgängliga samlingar." }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "Ändrade policyn $ID$.", "placeholders": { @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "Dölj texten som standard när försändelsen öppnas", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/tr/messages.json b/locales/tr/messages.json index 4594501a..dc82caf5 100644 --- a/locales/tr/messages.json +++ b/locales/tr/messages.json @@ -1,6 +1,6 @@ { "pageTitle": { - "message": "$APP_NAME$ Web Kasası", + "message": "$APP_NAME$ web kasası", "description": "The title of the website in the browser window.", "placeholders": { "app_name": { @@ -32,25 +32,25 @@ "message": "Yeni URI" }, "username": { - "message": "Kullanıcı Adı" + "message": "Kullanıcı adı" }, "password": { "message": "Parola" }, "newPassword": { - "message": "Yeni Parola" + "message": "Yeni parola" }, "passphrase": { - "message": "Kelimelerden Oluşan Parola" + "message": "Uzun söz" }, "notes": { "message": "Notlar" }, "customFields": { - "message": "Özel Alanlar" + "message": "Özel alanlar" }, "cardholderName": { - "message": "Kart Sahibinin Adı" + "message": "Kart sahibinin adı" }, "number": { "message": "Numara" @@ -59,25 +59,25 @@ "message": "Marka" }, "expiration": { - "message": "Son Kullanma Tarihi" + "message": "Son kullanma tarihi" }, "securityCode": { - "message": "Güvenlik Kodu (CVV)" + "message": "Güvenlik kodu (CVV)" }, "identityName": { - "message": "Kimlik Adı" + "message": "Kimlik adı" }, "company": { "message": "Şirket" }, "ssn": { - "message": "Sosyal Güvenlik Numarası" + "message": "Sosyal güvenlik numarası" }, "passportNumber": { - "message": "Pasaport Numarası" + "message": "Pasaport numarası" }, "licenseNumber": { - "message": "Ehliyet Numarası" + "message": "Ehliyet numarası" }, "email": { "message": "E-posta" @@ -122,16 +122,16 @@ "message": "Aralık" }, "title": { - "message": "Başlık" + "message": "Unvan" }, "mr": { "message": "Bay" }, "mrs": { - "message": "Bayan" + "message": "Mrs" }, "ms": { - "message": "Bayan" + "message": "Ms" }, "dr": { "message": "Dr" @@ -173,58 +173,58 @@ "message": "Atanmamış" }, "noneFolder": { - "message": "Klasör Yok", + "message": "Klasör yok", "description": "This is the folder for uncategorized items" }, "addFolder": { - "message": "Klasör Ekle" + "message": "Klasör ekle" }, "editFolder": { - "message": "Klasörü Düzenle" + "message": "Klasörü düzenle" }, "baseDomain": { - "message": "Ana domain" + "message": "Ana alan adı" }, "host": { - "message": "Host", + "message": "Sunucu", "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." }, "exact": { - "message": "Eşit" + "message": "Tam" }, "startsWith": { - "message": "Başlayan" + "message": "URI başlangıcı" }, "regEx": { - "message": "Regular expression", + "message": "Düzenli ifade", "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Match Detection", + "message": "Eşleşme tespiti", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Varsayılan eşleme tanıma", + "message": "Varsayılan eşleşme tespiti", "description": "Default URI match detection for auto-fill." }, "never": { "message": "Asla" }, "toggleVisibility": { - "message": "Toggle Visibility" + "message": "Görünürlüğü aç/kapat" }, "toggleCollapse": { - "message": "Toggle Collapse", + "message": "Daraltmayı aç/kapat", "description": "Toggling an expand/collapse state." }, "generatePassword": { - "message": "Parola Üret" + "message": "Parola oluştur" }, "checkPassword": { - "message": "Parolanız herhangi bir saldırı sonucu açığa çıkmış mı kontrol edin." + "message": "Parolanız ele geçirilip geçirilmediğini kontrol edin." }, "passwordExposed": { - "message": "Bu parola $VALUE$ sefer saldırı sonucu veri ele geçmesiyle açığa çıkmış. Değiştirmeniz gerekiyor.", + "message": "Bu parola, veri ihlallerinde $VALUE$ kere açığa çıkmış. Değiştirmenizi tavsiye ederiz.", "placeholders": { "value": { "content": "$1", @@ -233,7 +233,7 @@ } }, "passwordSafe": { - "message": "Parolanız, herhangi bir saldırı sonucu ele geçirilen veride bulunmadı. Kullanılması güvenli görünüyor." + "message": "Bilinen veri ihlallerinde bu parola bulunamadı. Güvenle kullanabilirsiniz." }, "save": { "message": "Kaydet" @@ -242,7 +242,7 @@ "message": "İptal" }, "canceled": { - "message": "İptal Edildi" + "message": "İptal edildi" }, "close": { "message": "Kapat" @@ -254,38 +254,38 @@ "message": "Favori" }, "unfavorite": { - "message": "Favorilerden Çıkar" + "message": "Favorilerden çıkar" }, "edit": { "message": "Düzenle" }, "searchCollection": { - "message": "Koleksiyon Ara" + "message": "Koleksiyonda ara" }, "searchFolder": { - "message": "Klasör Ara" + "message": "Klasörde ara" }, "searchFavorites": { - "message": "Favorilerde Ara" + "message": "Favorilerde ara" }, "searchType": { - "message": "Arama Tipi", + "message": "Arama türü", "description": "Search item type" }, "searchVault": { - "message": "Search Vault" + "message": "Kasada ara" }, "allItems": { - "message": "Tüm Öğeler" + "message": "Tüm kayıtlar" }, "favorites": { "message": "Favoriler" }, "types": { - "message": "Tipler" + "message": "Türler" }, "typeLogin": { - "message": "Giriş" + "message": "Hesap" }, "typeCard": { "message": "Kart" @@ -294,7 +294,7 @@ "message": "Kimlik" }, "typeSecureNote": { - "message": "Güvenli Not" + "message": "Güvenli not" }, "folders": { "message": "Klasörler" @@ -303,10 +303,10 @@ "message": "Koleksiyonlar" }, "firstName": { - "message": "İlk Ad" + "message": "Ad" }, "middleName": { - "message": "İkinci Ad" + "message": "İkinci ad" }, "lastName": { "message": "Soyadı" @@ -321,13 +321,13 @@ "message": "Adres 3" }, "cityTown": { - "message": "Şehir / Kasaba" + "message": "İlçe" }, "stateProvince": { - "message": "Eyalet / İl" + "message": "İl / eyalet" }, "zipPostalCode": { - "message": "Posta Kodu" + "message": "Posta kodu" }, "country": { "message": "Ülke" @@ -342,16 +342,16 @@ "message": "Seç" }, "addItem": { - "message": "Öge Ekle" + "message": "Kayıt ekle" }, "editItem": { - "message": "Ögeyi Düzenle" + "message": "Kaydı düzenle" }, "viewItem": { - "message": "View Item" + "message": "Kaydı göster" }, "ex": { - "message": "ör.", + "message": "örn.", "description": "Short abbreviation for 'example'." }, "other": { @@ -375,19 +375,19 @@ "description": "Copy value to clipboard" }, "copyPassword": { - "message": "Parolayı Kopyala", + "message": "Parolayı kopyala", "description": "Copy password to clipboard" }, "copyUsername": { - "message": "Kullanıcı Adını Kopyala", + "message": "Kullanıcı adını kopyala", "description": "Copy username to clipboard" }, "copyNumber": { - "message": "Numarayı Kopyala", + "message": "Numarayı kopyala", "description": "Copy credit card number" }, "copySecurityCode": { - "message": "Güvenlik Kodunu Kopyala", + "message": "Güvenlik kodunu kopyala", "description": "Copy credit card security code (CVV)" }, "copyUri": { @@ -401,91 +401,91 @@ "message": "Kasa" }, "shareSelected": { - "message": "Seçilenleri Paylaş" + "message": "Seçilenleri paylaş" }, "deleteSelected": { - "message": "Seçilenleri Sil" + "message": "Seçilenleri sil" }, "moveSelected": { - "message": "Seçilenleri Taşı" + "message": "Seçilenleri taşı" }, "selectAll": { - "message": "Tümünü Seç" + "message": "Tümünü seç" }, "unselectAll": { - "message": "Tüm Seçimleri Kaldır" + "message": "Seçimi iptal et" }, "launch": { - "message": "Başlat" + "message": "Aç" }, "newAttachment": { - "message": "Yeni bir ek ekle" + "message": "Yeni dosya ekle" }, "deletedAttachment": { - "message": "Silinen Ek" + "message": "Dosya silindi" }, "deleteAttachmentConfirmation": { - "message": "Bu eki silmek istediğinize emin misiniz?" + "message": "Bu dosyayı silmek istediğinizden emin misiniz?" }, "attachmentSaved": { - "message": "Ekiniz kaydedildi." + "message": "Dosya kaydedildi." }, "file": { "message": "Dosya" }, "selectFile": { - "message": "Bir dosya seç." + "message": "Bir dosya seçin." }, "maxFileSize": { - "message": "En büyük dosya boyutu 100MB." + "message": "Maksimum dosya boyutu 100 MB'dir." }, "updateKey": { - "message": "Şifreleme anahtarınızı güncelleyene dek bu özelliği kullanamazsınız." + "message": "Şifreleme anahtarınızı güncellemeden bu özelliği kullanamazsınız." }, "addedItem": { - "message": "Hesap eklendi" + "message": "Kayıt eklendi" }, "editedItem": { - "message": "Hesap düzenlendi" + "message": "Kayıt düzenlendi" }, "sharedItem": { - "message": "Öğe Paylaşıldı" + "message": "Kayıt paylaşıldı" }, "sharedItems": { - "message": "Paylaşılan hesaplar" + "message": "Kayıtlar paylaşıldı" }, "deleteItem": { - "message": "Hesabı Sil" + "message": "Kaydı sil" }, "deleteFolder": { - "message": "Klasörü Sil" + "message": "Klasörü sil" }, "deleteAttachment": { - "message": "Eki Sil" + "message": "Dosyayı sil" }, "deleteItemConfirmation": { - "message": "Bu ögeyi silmek istediğinize emin misiniz?" + "message": "Çöp kutusuna göndermek istediğinizden emin misiniz?" }, "deletedItem": { - "message": "Öge Silindi" + "message": "Kayıt çöp kutusuna gönderildi" }, "deletedItems": { - "message": "Ögeler Silindi" + "message": "Kayıtlar çöp kutusuna gönderildi" }, "movedItems": { - "message": "Ögeler Taşındı" + "message": "Kayıtlar taşındı" }, "overwritePasswordConfirmation": { - "message": "Mevcut parolanın üzerine kaydetmek istediğinize emin misiniz?" + "message": "Mevcut parolanın üzerine kaydetmek istediğinizden emin misiniz?" }, "editedFolder": { - "message": "Klasör Düzenlendi" + "message": "Klasör düzenlendi" }, "addedFolder": { - "message": "Klasör Eklendi" + "message": "Klasör eklendi" }, "deleteFolderConfirmation": { - "message": "Bu klasörü silmek istediğinize emin misiniz?" + "message": "Bu klasörü silmek istediğinizden emin misiniz?" }, "deletedFolder": { "message": "Klasör silindi" @@ -494,13 +494,13 @@ "message": "Çıkış yapıldı" }, "loginExpired": { - "message": "Oturumunuzun süresi doldu." + "message": "Oturumunuz zaman aşımına uğradı." }, "logOutConfirmation": { - "message": "Çıkmak istediğinize emin misiniz?" + "message": "Çıkmak istediğinizden emin misiniz?" }, "logOut": { - "message": "Çıkış Yap" + "message": "Çıkış yap" }, "ok": { "message": "Tamam" @@ -515,49 +515,49 @@ "message": "Güvenli kasanıza ulaşmak için giriş yapın veya yeni bir hesap oluşturun." }, "createAccount": { - "message": "Hesap Oluştur" + "message": "Hesap aç" }, "logIn": { - "message": "Giriş Yap" + "message": "Giriş yap" }, "submit": { "message": "Gönder" }, "emailAddressDesc": { - "message": "E-posta adresinizle oturum açabilirsiniz." + "message": "Giriş yapmak için e-posta adresinizi kullanacaksınız." }, "yourName": { - "message": "İsminiz" + "message": "Adınız" }, "yourNameDesc": { - "message": "Size nasıl seslenmeliyiz?" + "message": "Size nasıl hitap edelim?" }, "masterPass": { - "message": "Ana Parola" + "message": "Ana parola" }, "masterPassDesc": { - "message": "Ana parola, kasanıza ulaşmak için kullanacağınız paroladır. Ana parolanızı unutmamanız çok önemlidir. Ana parolanızı unutmanız durumunda parolanızı geri getirecek herhangi bir yol bulunmuyor." + "message": "Ana parola, kasanıza ulaşmak için kullanacağınız paroladır. Ana parolanızı unutmamanız çok önemlidir. Unutursanız parolalarınızı asla kurtaramazsınız." }, "masterPassHintDesc": { - "message": "Ana parola ipucunuz -eğer unutursanız- parolanızı hatırlamanıza yardımcı olabilir." + "message": "Ana parolanızı unutursanız bu ipucuna bakınca size ana parolanızı hatırlatacak bir şey yazabilirsiniz." }, "reTypeMasterPass": { - "message": "Ana Parolayı Tekrar Yazın" + "message": "Ana parolayı tekrar yazın" }, "masterPassHint": { - "message": "Ana Parola İpucusu (isteğe bağlı)" + "message": "Ana parola ipucu (isteğe bağlı)" }, "masterPassHintLabel": { - "message": "Ana Parola İpucusu" + "message": "Ana parola ipucu" }, "settings": { "message": "Ayarlar" }, "passwordHint": { - "message": "Password Hint" + "message": "Parola ipucu" }, "enterEmailToGetHint": { - "message": "Ana parola ipucunu almak istediğiniz e-posta adresinizi girin." + "message": "Ana parola ipucunu almak için hesabınızın e-posta adresini girin." }, "getMasterPasswordHint": { "message": "Ana parola ipucunu al" @@ -569,7 +569,7 @@ "message": "Geçersiz e-posta adresi." }, "masterPassRequired": { - "message": "Ana parola gereklidir." + "message": "Ana parola gerekli." }, "masterPassLength": { "message": "Ana parola en az 8 karakter uzunluğunda olmalıdır." @@ -587,16 +587,16 @@ "message": "Beklenmedik bir hata oluştu." }, "emailAddress": { - "message": "E-posta Adresi" + "message": "E-posta adresi" }, "yourVaultIsLocked": { - "message": "Kasan kilitlendi. Devam etmek için ana parolanı doğrula." + "message": "Kasanız kilitli. Devam etmek için ana parolanızı doğrulayın." }, "unlock": { - "message": "Kilidi Aç" + "message": "Kilidi aç" }, "loggedInAsEmailOn": { - "message": "$HOSTNAME$ üzerinde $EMAIL$ olarak oturum açıldı.", + "message": "$HOSTNAME$ üzerinde $EMAIL$ adresiyle oturum açtınız.", "placeholders": { "email": { "content": "$1", @@ -612,10 +612,10 @@ "message": "Geçersiz ana parola" }, "lockNow": { - "message": "Şimdi Kilitle" + "message": "Şimdi kilitle" }, "noItemsInList": { - "message": "Görüntülenecek öge yok." + "message": "Listelenecek kayıt yok." }, "noCollectionsInList": { "message": "Listelenecek koleksiyon yok." @@ -630,13 +630,13 @@ "message": "Listelenecek olay yok." }, "newOrganization": { - "message": "Yeni Organizasyon" + "message": "Yeni kuruluş" }, "noOrganizationsList": { - "message": "Bir kuruluşa ait değilsiniz. Kuruluşlar, ögeleri diğer kullanıcılarla güvenli bir şekilde paylaşmanıza izin verir." + "message": "Herhangi bir kuruluşa dahil değilsiniz. Kuruluşlar, kayıtlarınızı diğer kullanıcılarla güvenli bir şekilde paylaşmanıza olanak verir." }, "versionNumber": { - "message": "Versiyon $VERSION_NUMBER$", + "message": "Sürüm $VERSION_NUMBER$", "placeholders": { "version_number": { "content": "$1", @@ -645,10 +645,10 @@ } }, "enterVerificationCodeApp": { - "message": "Kimlik doğrulama uygulamanızda yazan 6 haneli doğrulama kodunu girin." + "message": "Kimlik doğrulama uygulamanızdaki 6 haneli doğrulama kodunu girin." }, "enterVerificationCodeEmail": { - "message": "$EMAIL$ adresine gönderilen 6 haneli doğrulama kodunu girin.", + "message": "$EMAIL$ adresine e-postayla gönderdiğimiz 6 haneli doğrulama kodunu girin.", "placeholders": { "email": { "content": "$1", @@ -657,7 +657,7 @@ } }, "verificationCodeEmailSent": { - "message": "Doğrulama E-postası $EMAIL$ adresine gönderildi.", + "message": "Doğrulama e-postası $EMAIL$ adresine gönderildi.", "placeholders": { "email": { "content": "$1", @@ -672,28 +672,28 @@ "message": "Doğrulama kodu e-postasını yeniden gönder" }, "useAnotherTwoStepMethod": { - "message": "Başka bir iki adımlı giriş yöntemi kullan" + "message": "Başka bir iki aşamalı giriş yöntemini kullan" }, "insertYubiKey": { "message": "YubiKey'inizi bilgisayarınızın USB portuna takın, ardından düğmesine dokunun." }, "insertU2f": { - "message": "Güvenlik anahtarınızı bilgisayarınızın USB portuna takın. Bir düğmesi varsa dokunun." + "message": "Güvenlik anahtarınızı bilgisayarınızın USB portuna takın. Düğmesi varsa dokunun." }, "loginUnavailable": { - "message": "Login Unavailable" + "message": "Giriş yapılamıyor" }, "noTwoStepProviders": { - "message": "Bu hesapta iki adımlı giriş özelliği etkin, ancak yapılandırılmış iki adımlı sağlayıcılarının hiçbiri bu internet tarayıcısı tarafından desteklenmiyor." + "message": "Bu hesapta iki aşamalı giriş özelliği etkin ama yapılandırdığınız iki aşamalı giriş sağlayıcılarının hiçbiri bu tarayıcıyı desteklemiyor." }, "noTwoStepProviders2": { - "message": "Lütfen desteklenen bir internet tarayıcısı kullanın (Chrome gibi) ve ya internet tarayıcılarında daha iyi desteklenen ek sağlayıcılar ekleyin (bir kimlik doğrulayıcı uygulaması gibi)." + "message": "Lütfen desteklenen bir web tarayıcısı (örn. Chrome) kullanın ve/veya web tarayıcılarında daha iyi desteklenen sağlayıcılar (örn. kimlik doğrulama uygulaması) ekleyin." }, "twoStepOptions": { - "message": "İki adımlı oturum açma seçenekleri" + "message": "İki aşamalı giriş seçenekleri" }, "recoveryCodeDesc": { - "message": "İki adımlı doğrulama sağlayıcılarınızın hepsine erişiminizi mi kaybettiniz? Hesabınızdaki tüm iki faktörlü sağlayıcıları devre dışı bırakmak için kurtarma kodunuzu kullanın." + "message": "İki aşamalı doğrulama sağlayıcılarınıza ulaşamıyor musunuz? Kurtarma kodunuzu kullanarak hesabınızdaki tüm iki aşamalı giriş sağlayıcılarını devre dışı bırakabilirsiniz." }, "recoveryCodeTitle": { "message": "Kurtarma kodu" @@ -702,11 +702,11 @@ "message": "Kimlik doğrulama uygulaması" }, "authenticatorAppDesc": { - "message": "Zamana dayalı doğrulama kodları oluşturmak için bir kimlik doğrulayıcı uygulaması (Authy veya Google Authenticator gibi) kullanın.", + "message": "Zamana dayalı doğrulama kodları oluşturmak için kimlik doğrulama uygulaması (örn. Authy veya Google Authenticator) kullanın.", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { - "message": "YubiKey OTP Güvenlik Anahtarı" + "message": "YubiKey OTP güvenlik anahtarı" }, "yubiKeyDesc": { "message": "Hesabınıza erişmek için bir YubiKey kullanın. YubiKey 4 serisi, 5 serisi ve NEO cihazlarıyla çalışır." @@ -716,23 +716,23 @@ "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "Kuruluşunuzun Duo Security doğrulaması için Duo Mobile uygulaması, SMS, telefon görüşmesi veya U2F güvenlik anahtarını kullanın.", + "message": "Kuruluşunuzun Duo Security doğrulaması için Duo Mobile uygulaması, SMS, telefon araması veya U2F güvenlik anahtarını kullanın.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "u2fDesc": { - "message": "Hesabınıza erişmek için herhangi bir FIDO U2F etkin güvenlik anahtarı kullanın." + "message": "Hesabınıza erişmek için FIDO U2F uyumlu bir güvenlik anahtarı kullanın." }, "u2fTitle": { - "message": "FIDO U2F Güvenlik Anahtarı" + "message": "FIDO U2F güvenlik anahtarı" }, "emailTitle": { "message": "E-posta" }, "emailDesc": { - "message": "Doğrulama kodu size e-postalanacak." + "message": "Doğrulama kodları e-posta adresinize gönderilecek." }, "continue": { - "message": "Devam Et" + "message": "Devam" }, "organization": { "message": "Kuruluş" @@ -741,7 +741,7 @@ "message": "Kuruluşlar" }, "shareDesc": { - "message": "Bu ögeyi paylaşmak istediğiniz organizasyonu seçin. Paylaşım, ögenin sahipliğini kuruluşa aktarır. Paylaşıldıktan sonra artık bu ögenin doğrudan sahibi olmayacaksınız." + "message": "Bu kaydı paylaşmak istediğiniz kuruluşu seçin. Paylaştığınız kaydın sahipliği seçtiğiniz kuruluşa aktarılacak. Artık bu kaydın doğrudan sahibi olmayacaksınız." }, "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." @@ -794,79 +794,82 @@ "message": "Uyarı" }, "confirmVaultExport": { - "message": "Confirm Vault Export" + "message": "Kasayı dışa aktarmayı onaylayın" }, "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." + "message": "Dışa aktarılan dosyadaki verileriniz şifrelenmemiş olacak. Bu dosyayı güvensiz yöntemlerle (örn. e-posta) göndermemeli ve saklamamalısınız. İşiniz bittikten sonra dosyayı hemen silin." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Kasadaki verilerinizi dışa aktarmak için ana parolanızı girin." }, "exportVault": { - "message": "Export Vault" + "message": "Kasayı dışa aktar" }, "fileFormat": { - "message": "Dosya Biçimi" + "message": "Dosya biçimi" }, "exportSuccess": { "message": "Kasadaki verileriniz dışa aktarıldı." }, "passwordGenerator": { - "message": "Parola Oluşturucu" + "message": "Parola oluşturucu" }, "minComplexityScore": { - "message": "Minimum Karmaşa Puanı" + "message": "Minimum karmaşıklık puanı" }, "minNumbers": { - "message": "En Az Rakam" + "message": "En az rakam" }, "minSpecial": { - "message": "En Az Özel Karakter", + "message": "En az özel karakter", "description": "Minimum Special Characters" }, "ambiguous": { - "message": "Belirsiz Karakterler Kullanma" + "message": "Okurken karışabilecek karakterleri kullanma" }, "regeneratePassword": { - "message": "Yeni Parola Oluştur" + "message": "Yeni parola oluştur" }, "length": { "message": "Uzunluk" }, "numWords": { - "message": "Kelime Sayısı" + "message": "Kelime sayısı" }, "wordSeparator": { - "message": "Kelime Ayracı" + "message": "Kelime ayracı" }, "capitalize": { - "message": "Baş Harfleri Büyük Yap", + "message": "Baş harfleri büyük yap", "description": "Make the first letter of a work uppercase." }, "includeNumber": { - "message": "Sayı Ekle" + "message": "Rakam ekle" }, "passwordHistory": { - "message": "Parola Geçmişi" + "message": "Parola geçmişi" }, "noPasswordsInList": { - "message": "Listelenecek şifre yok." + "message": "Listelenecek parola yok." }, "clear": { "message": "Temizle", "description": "To clear something out. example: To clear browser history." }, "accountUpdated": { - "message": "Hesap Güncellendi" + "message": "Hesap güncellendi" }, "changeEmail": { - "message": "E-postayı Değiştir" + "message": "E-postayı değiştir" }, "newEmail": { - "message": "Yeni E-posta" + "message": "Yeni e-posta" }, "code": { "message": "Kod" @@ -884,34 +887,34 @@ "message": "Devam etmek geçerli oturumunuzu sonlandıracaktır, bu da tekrar oturum açmanızı gerektirecektir. Diğer cihazlardaki aktif oturumlar bir saat kadar aktif kalmaya devam edebilir." }, "emailChanged": { - "message": "E-posta Değiştirildi" + "message": "E-posta değiştirildi" }, "logBackIn": { - "message": "Lütfen giriş yapın." + "message": "Lütfen yeniden giriş yapın." }, "logBackInOthersToo": { "message": "Lütfen tekrar giriş yapın. Diğer Bitwarden uygulamalarını kullanıyorsanız oturumu kapatın ve tekrar giriş yapın." }, "changeMasterPassword": { - "message": "Ana Parolayı Değiştir" + "message": "Ana parolayı değiştir" }, "masterPasswordChanged": { - "message": "Ana Parola Değiştirildi" + "message": "Ana parola değiştirildi" }, "currentMasterPass": { - "message": "Mevcut Ana Parola" + "message": "Mevcut ana parola" }, "newMasterPass": { - "message": "Yeni Ana Parola" + "message": "Yeni ana parola" }, "confirmNewMasterPass": { - "message": "Yeni Ana Parolayı Onaylayın" + "message": "Yeni ana parolayı onaylayın" }, "encKeySettings": { - "message": "Şifreleme Anahtarı Ayarları" + "message": "Şifreleme anahtarı ayarları" }, "kdfAlgorithm": { - "message": "KDF Algoritması" + "message": "KDF algoritması" }, "kdfIterations": { "message": "KDF Yinelemesi" @@ -956,13 +959,13 @@ "message": "Devam etmek ayrıca geçerli oturumunuzu sonlandıracaktır, bu da tekrar oturum açmanızı gerektirecektir. Ayrıca, eğer etkinleştirildiyse, tekrardan iki adımlı giriş yapmanız istenecektir. Diğer cihazlardaki aktif oturumlar bir saat kadar aktif kalmaya devam edebilir." }, "sessionsDeauthorized": { - "message": "Bütün Oturumlar Kapatıldı" + "message": "Tüm oturumlar kapatıldı" }, "purgeVault": { - "message": "Kasayı Sil" + "message": "Kasayı sil" }, "purgedOrganizationVault": { - "message": "Organizasyon kasası silindi." + "message": "Kuruluş kasası silindi." }, "purgeVaultDesc": { "message": "Kasanızdaki tüm ögeleri ve klasörleri silmek için aşağıdan ilerleyin. Kuruluş ile paylaştığınız ögeler silinmez." @@ -1000,9 +1003,24 @@ "importData": { "message": "Verileri içe aktar" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Veriler kasanıza başarıyla aktarıldı." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Veriler doğru biçimlendirilmemiş. Lütfen içe aktarma dosyanızı kontrol edin ve tekrar deneyin." }, @@ -1050,7 +1068,7 @@ "message": "Web Sitesi Simgeleri, kasanızdaki her giriş bilgisinin yanında o siteyi tanımanıza yardımcı olacak bir simge gösterir." }, "enableGravatars": { - "message": "Gravatar'ı Etkinleştir", + "message": "Gravatar'ı etkinleştir", "description": "'Gravatar' is the name of a service. See www.gravatar.com" }, "enableGravatarsDesc": { @@ -1067,7 +1085,7 @@ "message": "Varsayılan" }, "domainRules": { - "message": "Alan Adı Kuralları" + "message": "Alan adı kuralları" }, "domainRulesDesc": { "message": "Birden fazla farklı web sitesi alan adında aynı giriş bilgisine sahipseniz, web sitesini \"eşdeğer\" olarak işaretleyebilirsiniz. \"Global\" alan adları, sizin için Bitwarden tarafından oluşturulmuş olanlardır." @@ -1088,13 +1106,13 @@ "message": "Özelleştir" }, "newCustomDomain": { - "message": "Yeni Özel Alan Adı" + "message": "Yeni özel alan adı" }, "newCustomDomainDesc": { "message": "Virgülle ayrılmış alan adları listesi giriniz. Sadece ana alan adlarına izin verilmektedir. Alt alan adları girmeyiniz. Örneğin, \"www.google.com\" yerine \"google.com\" giriniz. Bir android uygulamasını diğer web sitesi alan adları ile eşleştirmek için \"androiduygulaması://paket.ismi\" girebilirsiniz." }, "customDomainX": { - "message": "Özel Alan Adı: $INDEX$", + "message": "Özel alan adı: $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1106,7 +1124,7 @@ "message": "Alan adları güncellendi" }, "twoStepLogin": { - "message": "İki Aşamalı Giriş" + "message": "İki aşamalı giriş" }, "twoStepLoginDesc": { "message": "Oturum açarken ek bir adım talep ederek hesabınızı güvenceye alın." @@ -1118,7 +1136,7 @@ "message": "İki aşamalı girişi etkinleştirmek, Bitwarden hesabınızı kalıcı olarak kilitleyebilir. Kurtarma kodunuz, iki aşamalı giriş sağlayıcınızı kullanamamanız durumunda hesabınıza erişmenize olanak sağlar (ör. cihazınızı kaybedersiniz). Hesabınıza erişiminizi kaybederseniz Bitwarden desteği size yardımcı olamaz. Kurtarma kodunu yazmanızı veya yazdırmanızı ve güvenli bir yerde saklamanızı öneririz." }, "viewRecoveryCode": { - "message": "Kurtarma Kodunu İncele" + "message": "Kurtarma kodunu göster" }, "providers": { "message": "Sağlayıcılar", @@ -1135,16 +1153,16 @@ "description": "Premium Membership" }, "premiumMembership": { - "message": "Premium Üyelik" + "message": "Premium üyelik" }, "premiumRequired": { - "message": "Premium Gerekli" + "message": "Premium gerekli" }, "premiumRequiredDesc": { "message": "Bu özelliği kullanmak için premium üyelik gereklidir." }, "youHavePremiumAccess": { - "message": "Premium erişim hakkınız var" + "message": "Premium erişiminiz var" }, "alreadyPremiumFromOrg": { "message": "Üyesi olduğunuz bir organizasyon nedeniyle premium özelliklere zaten erişiminiz var." @@ -1159,7 +1177,7 @@ "message": "Bu iki adımlı giriş sağlayıcısı hesabınızda etkin durumda." }, "twoStepLoginAuthDesc": { - "message": "İki adımlı giriş ayarlarını değiştirmek için ana parolanızı girin." + "message": "İki aşamalı giriş ayarlarını değiştirmek için ana parolanızı girin." }, "twoStepAuthenticatorDesc": { "message": "Kimlik doğrulayıcı bir uygulamayla iki adımlı oturum açmayı ayarlamak için şu adımları izleyin:" @@ -1201,7 +1219,7 @@ "message": "İki adım oturum açma sağlayıcısı devre dışı." }, "twoFactorYubikeyAdd": { - "message": "Hesabınıza yeni bir YubiKey ekleyin" + "message": "Hesabıma yeni bir YubiKey ekle" }, "twoFactorYubikeyPlugIn": { "message": "YubiKey'i bilgisayarınızın USB portuna takın." @@ -1234,7 +1252,7 @@ } }, "u2fkeyX": { - "message": "U2F Anahtarı: $INDEX$", + "message": "U2F anahtarı $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1243,10 +1261,10 @@ } }, "nfcSupport": { - "message": "NFC Desteği" + "message": "NFC desteği" }, "twoFactorYubikeySupportsNfc": { - "message": "Anahtarlarımdan biri NFC'yi destekliyor." + "message": "Anahtarlarımdan biri NFC destekliyor." }, "twoFactorYubikeySupportsNfcDesc": { "message": "YubiKey'lerinizden biri NFC'yi destekliyorsa (YubiKey NEO gibi), mobil cihazlarda NFC kullanılabilirliği tespit edildiğinde uyarılacaksınız." @@ -1255,16 +1273,16 @@ "message": "YubiKey'ler güncellendi" }, "disableAllKeys": { - "message": "Bütün Anahtarları Devre Dışı Bırak" + "message": "Tüm anahtarları devre dışı bırak" }, "twoFactorDuoDesc": { "message": "Duo Yönetici panelinizden Bitwarden uygulama bilgilerini girin." }, "twoFactorDuoIntegrationKey": { - "message": "Entegrasyon Anahtarı" + "message": "Entegrasyon anahtarı" }, "twoFactorDuoSecretKey": { - "message": "Gizli Anahtar" + "message": "Gizli anahtar" }, "twoFactorDuoApiHostname": { "message": "API Hostname" @@ -1300,7 +1318,7 @@ "message": "Güvenlik anahtarını bilgisayarınızın USB portuna takın ve \"Anahtarı Oku\" düğmesine tıklayın." }, "twoFactorU2fTouchButton": { - "message": "Güvenlik anahtarının bir düğmesi varsa, ona dokunun." + "message": "Güvenlik anahtarının düğmesi varsa düğmeye dokunun." }, "twoFactorU2fSaveForm": { "message": "Formu kaydedin." @@ -1321,13 +1339,13 @@ "message": "Güvenlik anahtarını okurken bir sorun oluştu. Tekrar deneyin." }, "twoFactorRecoveryYourCode": { - "message": "Bitwarden iki adım giriş kurtarma kodunuz" + "message": "Bitwarden iki aşamalı giriş kurtarma kodunuz" }, "twoFactorRecoveryNoCode": { "message": "Henüz herhangi bir iki adımlı giriş sağlayıcısını etkinleştirmediniz. İki adımlı bir giriş sağlayıcısını etkinleştirdikten sonra, kurtarma kodunuz için burayı tekrar kontrol edebilirsiniz." }, "printCode": { - "message": "Kodu Yazdır", + "message": "Kodu yazdır", "description": "Print 2FA recovery code" }, "reports": { @@ -1355,7 +1373,7 @@ "message": "Kasanızda güvenli olmayan URI'ye sahip öge yoktur." }, "inactive2faReport": { - "message": "2FA Raporu Pasif" + "message": "2FA raporu pasif" }, "inactive2faReportDesc": { "message": "İki adımlı kimlik doğrulama (2FA), hesaplarınızı güvenceye almanıza yardımcı olan önemli bir güvenlik ayarıdır. Web sitesi sunduğu takdirde, her zaman iki adımlı kimlik doğrulamayı etkinleştirmelisiniz." @@ -1364,7 +1382,7 @@ "message": "2FA Olmayan Hesaplar Bulundu" }, "inactive2faFoundDesc": { - "message": "Kasanızda iki adımlı kimlik doğrulaması ile yapılandırılmamış olabilecek $COUNT$ web sitesi bulduk (2fa.directory’a göre). Bu hesapları daha fazla korumak için iki adımlı kimlik doğrulamasını etkinleştirmelisiniz.", + "message": "Kasanızda iki adımlı kimlik doğrulaması ile yapılandırılmamış olabilecek $COUNT$ web sitesi bulduk (twofactorauth.org’a göre). Bu hesapları daha fazla korumak için iki adımlı kimlik doğrulamasını etkinleştirmelisiniz.", "placeholders": { "count": { "content": "$1", @@ -1376,7 +1394,7 @@ "message": "Kasanızda iki adımlı kimlik doğrulama yapılandırması eksik olan web sitesi bulunamadı." }, "instructions": { - "message": "Talimatlar" + "message": "Yönergeler" }, "exposedPasswordsReport": { "message": "Açığa Çıkan Parolalar Raporu" @@ -1510,7 +1528,7 @@ "message": "Web sitesi" }, "affectedUsers": { - "message": "Etkilenen Kullanıcılar" + "message": "Etkilenen kullanıcılar" }, "breachOccurred": { "message": "İhlal Oluştu" @@ -1525,19 +1543,19 @@ "message": "Faturalandırma" }, "accountCredit": { - "message": "Hesap Kredisi", + "message": "Hesap kredisi", "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "accountBalance": { - "message": "Hesap Bakiyesi", + "message": "Hesap bakiyesi", "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "addCredit": { - "message": "Kredi Ekle", + "message": "Kredi ekle", "description": "Add more credit to your account's balance." }, "amount": { - "message": "Miktar", + "message": "Tutar", "description": "Dollar amount, or quantity." }, "creditDelayed": { @@ -1565,17 +1583,20 @@ "premiumSignUpTwoStep": { "message": "YubiKey, FIDO U2F ve Duo gibi ilave iki adımlı oturum açma seçenekleri." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { - "message": "Kasanızı güvende tutmak için parola hijyeni, hesap sağlığı, ve veri ihlali raporları." + "message": "Kasanızı güvende tutmak için parola hijyeni, hesap sağlığı ve veri ihlali raporları." }, "premiumSignUpTotp": { - "message": "Kasanızdaki giriş bilgileriniz için TOTP doğrulama kodu (2FA) oluşturucu." + "message": "Kasanızdaki hesaplar için TOTP doğrulama kodu (2FA) oluşturucu." }, "premiumSignUpSupport": { "message": "Öncelikli müşteri desteği." }, "premiumSignUpFuture": { - "message": "Gelecekteki tüm premium özellikler. Daha fazlası yakında!" + "message": "Ve ileride duyuracağımız tüm premium özellikler. Daha fazlası yakında!" }, "premiumPrice": { "message": "Bunların hepsi sadece yılda $PRICE$!", @@ -1590,7 +1611,7 @@ "message": "Eklentiler" }, "premiumAccess": { - "message": "Premium Erişim" + "message": "Premium erişim" }, "premiumAccessDesc": { "message": "Kuruluşunuzda bulunan tüm üyelerine premium erişim ekleyebilirsiniz: $PRICE$ /$INTERVAL$.", @@ -1606,7 +1627,7 @@ } }, "additionalStorageGb": { - "message": "Ek Depolama (GB)" + "message": "Ek depolama alanı (GB)" }, "additionalStorageGbDesc": { "message": "# ilave GB" @@ -1641,7 +1662,7 @@ "message": "ay" }, "monthAbbr": { - "message": "ay.", + "message": "ay", "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { @@ -1669,22 +1690,22 @@ "message": "Ödeme Bilgileri" }, "billingInformation": { - "message": "Billing Information" + "message": "Faturalandırma Bilgisi" }, "creditCard": { - "message": "Kredi Kartı" + "message": "Kredi kartı" }, "paypalClickSubmit": { "message": "PayPal hesabınıza giriş yapmak için PayPal butonuna tıklayın, ardından devam etmek için aşağıdaki Gönder butonuna tıklayın." }, "cancelSubscription": { - "message": "Aboneliği İptal Edin" + "message": "Aboneliği iptal et" }, "subscriptionCanceled": { - "message": "Abonelik İptal Edildi." + "message": "Aboneliğiniz iptal edildi." }, "pendingCancellation": { - "message": "İptal İçin Bekleniyor" + "message": "İptal bekleniyor" }, "subscriptionPendingCanceled": { "message": "Abonelik, geçerli fatura dönemi sonunda iptal edilmek için işaretlendi." @@ -1711,22 +1732,22 @@ "message": "Durum" }, "nextCharge": { - "message": "Sonraki Ödeme" + "message": "Sonraki ödeme" }, "details": { "message": "Ayrıntılar" }, "downloadLicense": { - "message": "Lisansı İndir" + "message": "Lisansı indir" }, "updateLicense": { - "message": "Lisansı Güncelle" + "message": "Lisansı güncelle" }, "updatedLicense": { "message": "Lisans güncellendi" }, "manageSubscription": { - "message": "Aboneliği Yönet" + "message": "Aboneliğimi yönet" }, "storage": { "message": "Depolama" @@ -1751,16 +1772,16 @@ } }, "paymentMethod": { - "message": "Ödeme Yöntemi" + "message": "Ödeme yöntemi" }, "noPaymentMethod": { - "message": "Dosya üzerinde ödeme yöntemi yok." + "message": "Kayıtlı bir ödeme yöntemi yok." }, "addPaymentMethod": { - "message": "Ödeme Yöntemi Ekle" + "message": "Ödeme yöntemi ekle" }, "changePaymentMethod": { - "message": "Ödeme Yöntemini Değiştir" + "message": "Ödeme yöntemini değiştir" }, "invoices": { "message": "Faturalar" @@ -1773,7 +1794,7 @@ "description": "Past tense status of an invoice. ex. Paid or unpaid." }, "unpaid": { - "message": "Ödenmemiş", + "message": "Ödenmedi", "description": "Past tense status of an invoice. ex. Paid or unpaid." }, "transactions": { @@ -1784,11 +1805,11 @@ "message": "İşlem yok." }, "chargeNoun": { - "message": "Ücret", + "message": "Ödeme", "description": "Noun. A charge from a payment method." }, "refundNoun": { - "message": "Geri ödeme", + "message": "İade", "description": "Noun. A refunded payment that was charged." }, "chargesStatement": { @@ -1828,10 +1849,10 @@ "message": "Ödeme yöntemi güncellendi." }, "purchasePremium": { - "message": "Premium Satın Al" + "message": "Premium satın al" }, "licenseFile": { - "message": "Lisans Dosyası" + "message": "Lisans dosyası" }, "licenseFileDesc": { "message": "Lisans dosyanızın adı şuna benzer olacak: $FILE_NAME$", @@ -1855,10 +1876,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": "Genel Bilgi" + "message": "Genel bilgiler" }, "organizationName": { - "message": "Organizasyon Adı" + "message": "Kuruluş adı" }, "accountOwnedBusiness": { "message": "Bu hesap bir işletmeye aittir." @@ -1870,7 +1891,7 @@ "message": "İşletme Adı" }, "chooseYourPlan": { - "message": "Planınızı Seçin" + "message": "Planınızı seçin" }, "users": { "message": "Kullanıcılar" @@ -1914,13 +1935,13 @@ } }, "planNameFamilies": { - "message": "Aileler" + "message": "Aile" }, "planDescFamilies": { "message": "Kişisel kullanım için, aileniz ve arkadaşlarınızla paylaşın." }, "planNameTeams": { - "message": "Takımlar" + "message": "Ekip" }, "planDescTeams": { "message": "For businesses and other team organizations." @@ -1932,7 +1953,7 @@ "message": "For businesses and other large organizations." }, "freeForever": { - "message": "Ömür Boyu Ücretsiz" + "message": "Ömür boyu ücretsiz" }, "includesXUsers": { "message": "$COUNT$ kullanıcı içerir", @@ -2034,13 +2055,13 @@ "message": "Yıllık" }, "basePrice": { - "message": "Taban Fiyat" + "message": "Taban fiyat" }, "organizationCreated": { - "message": "Organizayson Oluşturuldu" + "message": "Kuruluş oluşturuldu" }, "organizationReadyToGo": { - "message": "Yeni organizasyonunuz hazır!" + "message": "Yeni kuruluşunuz hazır!" }, "organizationUpgraded": { "message": "Kuruluşunuz yükseltildi." @@ -2052,40 +2073,40 @@ "message": "Bu organizasyondan ayrılmak için emin misiniz?" }, "leftOrganization": { - "message": "Organizasyondan ayrıldınız." + "message": "Kuruluştan ayrıldınız." }, "defaultCollection": { - "message": "Varsayılan Koleksiyon" + "message": "Varsayılan koleksiyon" }, "getHelp": { - "message": "Yardım Alın" + "message": "Yardım al" }, "getApps": { - "message": "Uygulamaları Edinin" + "message": "Uygulamaları indir" }, "loggedInAs": { - "message": "Olarak giriş yapıldı" + "message": "Kullanıcı:" }, "eventLogs": { - "message": "Olay Günlükleri" + "message": "Olay günlükleri" }, "people": { - "message": "İnsan" + "message": "Kişiler" }, "policies": { "message": "İlkeler" }, "editPolicy": { - "message": "İlkeyi Düzenle" + "message": "İlkeyi düzenle" }, "groups": { "message": "Gruplar" }, "newGroup": { - "message": "Yeni Grup" + "message": "Yeni grup" }, "addGroup": { - "message": "Grup Ekle" + "message": "Grup ekle" }, "editGroup": { "message": "Grubu Düzenle" @@ -2184,22 +2205,22 @@ "message": "A regular user with access to your organization's collections." }, "manager": { - "message": "Yetkili" + "message": "Yönetici" }, "managerDesc": { "message": "Yetkililer organizasyonunuzda bulunan seçilmiş koleksiyonlara erişebilir ve yönetebilir." }, "all": { - "message": "Hepsi" + "message": "Tümü" }, "refresh": { "message": "Yenile" }, "timestamp": { - "message": "Zaman Damgası" + "message": "Zaman damgası" }, "event": { - "message": "Etkinlik" + "message": "Olay" }, "unknown": { "message": "Bilinmeyen" @@ -2212,7 +2233,7 @@ "description": "Mobile app" }, "extension": { - "message": "Eklenti", + "message": "Uzantı", "description": "Browser extension/addon" }, "desktop": { @@ -2220,13 +2241,13 @@ "description": "Desktop app" }, "webVault": { - "message": "Web Kasası" + "message": "Web kasası" }, "loggedIn": { "message": "Giriş yapıldı." }, "changedPassword": { - "message": "Hesap şifresi değiştirildi." + "message": "Hesap parolası değiştirildi." }, "enabledUpdated2fa": { "message": "İki aşamalı giriş açıldı/güncellendi." @@ -2244,10 +2265,10 @@ "message": "Yanlış iki aşamalı giriş yüzünden oturum açma girişimi başarısız." }, "exportedVault": { - "message": "Kasa dışarı aktarıldı." + "message": "Kasa dışa aktarıldı." }, "exportedOrganizationVault": { - "message": "Organizasyon kasası dışarı aktarıldı." + "message": "Kuruluş kasası dışa aktarıldı." }, "editedOrgSettings": { "message": "Edited organization settings." @@ -2496,7 +2517,7 @@ } }, "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", + "message": "$ID$ kullanıcısı için SSO bağlantısı kesildi.", "placeholders": { "id": { "content": "$1", @@ -2565,16 +2586,16 @@ "message": "Onların davetini kabul eden kullanıcılar var, ama hala onaylanması gerekmektedir. Kullanıcılar doğrulanana kadar organizasyona erişemez." }, "startDate": { - "message": "Başlangıç Tarihi" + "message": "Başlangıç tarihi" }, "endDate": { - "message": "Bitiş Tarihi" + "message": "Bitiş tarihi" }, "verifyEmail": { - "message": "E-postayı Doğrula" + "message": "E-postayı doğrula" }, "verifyEmailDesc": { - "message": "Bütün özelliklere erişmek için e-posta hesabınızı doğrulayın." + "message": "Bütün özelliklere erişmek için e-posta adresinizi doğrulayın." }, "verifyEmailFirst": { "message": "Öncelikle hesabınızın e-posta adresi onaylanmalıdır." @@ -2589,19 +2610,19 @@ "message": "E-posta hesabı doğrulanamadı. Yeniden doğrulama e-postası göndermeyi dene." }, "updateBrowser": { - "message": "Tarayıcıyı Güncelle" + "message": "Tarayıcıyı güncelle" }, "updateBrowserDesc": { "message": "Desteklenmeyen bir web tarayıcı kullanıyorsunuz. Kasanız düzgün çalışmayabilir." }, "joinOrganization": { - "message": "Organizasyona Katıl" + "message": "Kuruluşa katıl" }, "joinOrganizationDesc": { "message": "Yukarıda listelenen organizasyona katılman için davet edildin. Daveti kabul etmek için, giriş yapmanız ya da yeni bir Bitwarden hesabı oluşturmalısınız." }, "inviteAccepted": { - "message": "Davet Kabul Edildi" + "message": "Davet kabul edildi" }, "inviteAcceptedDesc": { "message": "Bir yönetici üyeliğinizi onayladığı zaman organizasyona erişebilirsiniz. Bu olduğunda bir e-posta göndereceğiz." @@ -2619,7 +2640,7 @@ } }, "rememberEmail": { - "message": "E-posta'yı hatırla" + "message": "E-postamı hatırla" }, "recoverAccountTwoStepDesc": { "message": "Eğer iki aşamalı giriş ile ilgili bir sorun yaşıyorsanız kurtarma kodunuz ile iki aşamalı giriş özelliğini kapatabilirsiniz." @@ -2631,7 +2652,7 @@ "message": "İki aşamalı giriş hesabınızda devre dışı bırakıldı." }, "learnMore": { - "message": "Daha fazla bilgi edinin" + "message": "Daha fazla bilgi al" }, "deleteRecoverDesc": { "message": "Hesabınızı kurtarmak ve silmek için e-posta hesabınızı girin." @@ -2643,10 +2664,10 @@ "message": "Bitwarden hesabınızı silmek istiyorsunuz. Onaylamak için aşağıdaki butona basın." }, "myOrganization": { - "message": "Organizasyonum" + "message": "Kuruluşum" }, "deleteOrganization": { - "message": "Organizasyonu Sil" + "message": "Kuruluşu sil" }, "deleteOrganizationDesc": { "message": "Bu organizasyonu ve ilişkili tüm verileri silmek için aşağıya devam ediniz. Kişisel kullanıcı hesapları kalacak, fakat bu organizasyon ile ilişkisi kesilecektir. " @@ -2655,7 +2676,7 @@ "message": "Organizasyonu silmek kalıcıdır. Bu işlem geri alınamaz." }, "organizationDeleted": { - "message": "Organizasyon Silindi" + "message": "Kuruluş silindi" }, "organizationDeletedDesc": { "message": "Organizasyon ve ilişkili tüm veriler silindi." @@ -2664,7 +2685,7 @@ "message": "Organizayson Güncellendi" }, "taxInformation": { - "message": "Vergi Bilgisi" + "message": "Vergi bilgileri" }, "taxInformationDesc": { "message": "Faturalarla ilgili vergi bilgisini sağlamak (ya da güncellemek) için destek ile iletişime geçin." @@ -2674,7 +2695,7 @@ "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlan": { - "message": "Planı Değiştir", + "message": "Planı değiştir", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanUpgrade": { @@ -2686,7 +2707,7 @@ "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "invoiceNumber": { - "message": "Fatura #$NUMBER$", + "message": "Fatura no: $NUMBER$", "description": "ex. Invoice #79C66F0-0001", "placeholders": { "number": { @@ -2696,13 +2717,13 @@ } }, "viewInvoice": { - "message": "Faturayı Görüntüle" + "message": "Faturayı görüntüle" }, "downloadInvoice": { - "message": "Faturayı İndir" + "message": "Faturayı indir" }, "verifyBankAccount": { - "message": "Banka Hesabını Doğrula" + "message": "Banka hesabını doğrula" }, "verifyBankAccountDesc": { "message": "Banka hesabınıza iki tane mikro para yatırma işlemi yaptık (gösterilmesi 1-2 iş günü sürebilir). Banka hesabını doğrulamak için bu tutarları girin." @@ -2717,10 +2738,10 @@ "message": "Banka hesabınız doğrulandı." }, "bankAccount": { - "message": "Banka Hesabı" + "message": "Banka hesabı" }, "amountX": { - "message": "Tutar $COUNT$", + "message": "Tutar: $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": { @@ -2730,11 +2751,11 @@ } }, "routingNumber": { - "message": "İşlem Numarası", + "message": "Şube kodu", "description": "Bank account routing number" }, "accountNumber": { - "message": "Hesap Numarası" + "message": "Hesap numarası" }, "accountHolderName": { "message": "Hesap Sahibinin Adı" @@ -2808,7 +2829,7 @@ "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." }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "Kasanızın dışa aktarılmış şifreli kopyaları da geçersiz olacaktır." }, "subscription": { "message": "Abonelik" @@ -2832,7 +2853,7 @@ "message": "Organizasyon oluşturmadan önce ücretsiz bir kişisel hesap açmalısınız." }, "refunded": { - "message": "İade Edildi" + "message": "İade edildi" }, "nothingSelected": { "message": "Hiçbir şey seçmediniz." @@ -2841,7 +2862,7 @@ "message": "Bu kutuyu işaretleyerek aşağıdakileri kabul etmiş olursunuz:" }, "acceptPoliciesError": { - "message": "Hizmet Koşulları ve Gizlilik Politikası kabul edilmemiştir." + "message": "Hizmet Koşulları ve Gizlilik Politikası kabul edilmemiş." }, "termsOfService": { "message": "Hizmet Koşulları" @@ -2853,7 +2874,7 @@ "message": "Filtreler" }, "vaultTimeout": { - "message": "Kasa Zaman Aşımı" + "message": "Kasa zaman aşımı" }, "vaultTimeoutDesc": { "message": "Kasanızın zaman aşımına uğrayıp seçilen eylemi uygulayacağı zamanı seçin." @@ -2880,11 +2901,11 @@ "message": "Tarayıcıyı Yeniden Yükleyince" }, "dateUpdated": { - "message": "Güncellendi", + "message": "Güncelleme", "description": "ex. Date this item was updated" }, "datePasswordUpdated": { - "message": "Şifre Güncellendi", + "message": "Parola güncelleme", "description": "ex. Date this password was updated" }, "organizationIsDisabled": { @@ -2900,7 +2921,7 @@ "message": "Seçildi" }, "ownership": { - "message": "Sahiplik" + "message": "Sahip" }, "whoOwnsThisItem": { "message": "Bu ögenin sahibi kim?" @@ -2918,14 +2939,14 @@ "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "veryWeak": { - "message": "Çok Zayıf", + "message": "Çok zayıf", "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "weakMasterPassword": { - "message": "Zayıf Ana Parola" + "message": "Zayıf ana parola" }, "weakMasterPasswordDesc": { - "message": "Seçtiğiniz ana parola kolayca tahmin edilebilir. Bitwarden hesabınızı korumak istiyorsanız daha güçlü bir ana parola (veya şifre) seçmelisiniz. Bu ana parolayı kullanmak istediğinizden emin misiniz?" + "message": "Seçtiğiniz ana parola zayıf. Bitwarden hesabınızı korumak için daha güçlü bir ana parola seçmenizi öneririz. Bu ana parolayı kullanmak istediğinizden emin misiniz?" }, "rotateAccountEncKey": { "message": "Ayrıca hesabımın şifreleme anahtarını da döndür" @@ -2950,7 +2971,7 @@ "message": "Hesabınızın şifreleme anahtarını döndürmeden önce, kasanızda düzeltilmesi gereken eski dosya ekleri bulunmaktadır." }, "yourAccountsFingerprint": { - "message": "Hesabınızın parmak izi şifresi", + "message": "Hesabınızın parmak izi ifadesi", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "fingerprintEnsureIntegrityVerify": { @@ -2966,7 +2987,7 @@ "description": "Free, as in 'Free beer'" }, "apiKey": { - "message": "API Anahtarı" + "message": "API anahtarı" }, "apiKeyDesc": { "message": "API anahtarınız Bitwarden genel API'i doğrulamak için kullanılabilir." @@ -2984,7 +3005,7 @@ "message": "API anahtarınız, alternatif bir kimlik doğrulama mekanizmasıdır. Gizli tutulmalıdır." }, "oauth2ClientCredentials": { - "message": "OAuth 2.0 İstemci Bilgileri", + "message": "OAuth 2.0 istemci bilgileri", "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." }, "viewApiKey": { @@ -3110,16 +3131,16 @@ "message": "Seçileni Kalıcı Olarak Sil" }, "permanentlyDeleteItem": { - "message": "Ögeyi Kalıcı Olarak Sil" + "message": "Kaydı kalıcı olarak sil" }, "permanentlyDeleteItemConfirmation": { - "message": "Bu ögeyi kalıcı olarak silmek istediğinize emin misiniz?" + "message": "Bu kaydı kalıcı olarak silmek istediğinizden emin misiniz?" }, "permanentlyDeletedItem": { - "message": "Kalıcı Olarak Silinmiş Öge" + "message": "Kayıt kalıcı olarak silindi" }, "permanentlyDeletedItems": { - "message": "Kalıcı Olarak Silinmiş Ögeler" + "message": "Kayıtlar kalıcı olarak silindi" }, "permanentlyDeleteSelectedItemsDesc": { "message": "Silinmesi için $COUNT$ öge seçtiniz. Bu ögelerin tamamını kalıcı şekilde silmek istediğinizden emin misiniz?", @@ -3140,25 +3161,25 @@ } }, "restore": { - "message": "Geri Yükle" + "message": "Geri yükle" }, "restoreSelected": { "message": "Seçilileri Geri Yükle" }, "restoreItem": { - "message": "Ögeyi Geri Yükle" + "message": "Kaydı geri yükle" }, "restoredItem": { - "message": "Geri yüklenmiş öge" + "message": "Kayıt geri yüklendi" }, "restoredItems": { - "message": "Geri yüklenmiş ögeler" + "message": "Kayıtlar geri yüklendi" }, "restoreItemConfirmation": { - "message": "Bu ögeyi geri yüklemek istediğinizden emin misiniz?" + "message": "Bu kayıtları geri yüklemek istediğinizden emin misiniz?" }, "restoreItems": { - "message": "Ögeleri geri yükle" + "message": "Kayıtları geri yükle" }, "restoreSelectedItemsDesc": { "message": "Geri yüklenmesi için $COUNT$ öge seçtiniz. Bu ögelerin tamamını geri yüklemek istediğinizden emin misiniz?", @@ -3185,7 +3206,7 @@ "message": "Zaman Aşımı Eylem Onayı" }, "hidePasswords": { - "message": "Parolaları Gizle" + "message": "Parolaları gizle" }, "countryPostalCodeRequiredDesc": { "message": "Bu bilgiyi sadece satış vergisi hesaplama ve mali raporlama için istiyoruz." @@ -3215,13 +3236,13 @@ "message": "Kuruluşunuzun tek oturum açma (SSO) portalını kullanarak oturum açın. Başlamak için lütfen kuruluşunuzun tanımlayıcısını girin." }, "enterpriseSingleSignOn": { - "message": "Kurumsal Tek Oturum Açma" + "message": "Kurumsal tek oturum açma" }, "ssoHandOff": { "message": "Şimdi bu sekmeyi kapatabilir ve uzantıya devam edebilirsiniz." }, "businessPortal": { - "message": "Şirket Portalı", + "message": "Şirket portalı", "description": "The web portal used by business organizations for configuring certain features." }, "includeAllTeamsFeatures": { @@ -3231,7 +3252,7 @@ "message": "SAML2.0 ve OpenID Connect ile Tek Oturum Açma (SSO) Doğrulaması" }, "includeEnterprisePolicies": { - "message": "Kurumsal İlkeler" + "message": "Kuruluş ilkeleri" }, "ssoValidationFailed": { "message": "Tek Oturum Açma (SSO) Doğrulaması Başarısız Oldu" @@ -3320,72 +3341,72 @@ "message": "Silme Tarihi" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "Bu Send belirtilen tarih ve zamanda sonsuza dek silinecek.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { "message": "Son Kullanma Tarihi" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "Eğer ayarlanırsa, bu Send'in belirtilen tarih ve zamanda süresi dolacak.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { "message": "Maksimum Gönderi Sayısı" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "Eğer ayarlanırsa, kullanıcılar maksimum erişim sayısına ulaşıldığında bu Send'e erişemeyecekler.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { "message": "Mevcut Erişim Sayısı" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "İsteğe bağlı olarak kullanıcıların bu Send'e erişmek için bir parola girmelerini zorunlu kıl.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "Send hakkındaki özel notlar.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Devre Dışı" + "message": "Devre dışı" }, "sendLink": { - "message": "Bağlantı gönder", + "message": "Send bağlantısı", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Gönderme Bağlantısını Kopyala", + "message": "Send bağlantısını kopyala", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Şifreyi kaldır" + "message": "Parolayı kaldır" }, "removedPassword": { "message": "Parola kaldırıldı" }, "removePasswordConfirmation": { - "message": "Şifreyi kaldırmak istediğinizden emin misiniz?" + "message": "Parolayı kaldırmak istediğinizden emin misiniz?" }, "disableThisSend": { - "message": "Disable this Send so that no one can access it.", + "message": "Kimsenin erişememesi için bu Send'i devre dışı bırak.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "Tüm Gönderimler" + "message": "Tüm Send'ler" }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "Maksimum erişim sayısına ulaşıldı" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "Silinmesi bekleniyor" }, "expired": { - "message": "Expired" + "message": "Süresi dolmuş" }, "searchSends": { - "message": "Gönderileri Ara", + "message": "Send'lerde ara", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { @@ -3404,69 +3425,76 @@ "message": "Dosyayı indir" }, "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", + "message": "Erişmeye çalıştığınız Send yok veya artık mevcut değil.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { - "message": "Listelenecek olay yok.", + "message": "Listelenecek Send yok.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "Acil Erişim" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Güvenilen kişiler için acil erişim izni ver ve yönet. Güvenilen kişiler acil bir durumda hesabınızı görmek veya devralmak için talepte bulunabilirler. Sıfır bilgi ispatı ile paylaşımının nasıl çalıştığı ile ilgili detaylar için yardım sayfamızı ziyaret edin." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" + "message": "Güvenilen acil durum kişileri" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "Henüz herhangi bir acil durum kişisi eklemediniz, başlamak için güvenilen bir kişiyi davet edin." }, "addEmergencyContact": { - "message": "Add emergency contact" + "message": "Acil durum kişisi ekle" }, "designatedEmergencyContacts": { - "message": "Designated as emergency contact" + "message": "Acil durum kişisi olarak ayarlandı" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "Henüz kimse sizi acil durum kişisi olarak ayarlamadı." }, "inviteEmergencyContact": { - "message": "Invite emergency contact" + "message": "Acil durum kişisi davet et" }, "editEmergencyContact": { - "message": "Edit emergency contact" + "message": "Acil durum kişisini düzenle" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "Aşağıya Bitwarden hesabının email adresini girerek yeni bir acil durum kişisini davet edebilirsiniz. Eğer halihazırda bir Bitwarden hesapları yoksa, yeni bir hesap oluşturmaları istenecektir." }, "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" + "message": "Acil Durum Erişimi Başlatıldı" }, "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" + "message": "Acil Durum Erişimi Onaylandı" }, "viewDesc": { - "message": "Can view all items in your own vault." + "message": "Kasanızdaki tüm öğeleri görebilir." }, "takeover": { - "message": "Takeover" + "message": "Devralma" }, "takeoverDesc": { - "message": "Can reset your account with a new master password." + "message": "Yeni bir ana parola ile hesabınızı sıfırlayabilir." }, "waitTime": { - "message": "Wait Time" + "message": "Bekleme süresi" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "Otomatik olarak erişime izin vermeden önce geçmesi gereken süre." }, "oneDay": { - "message": "1 day" + "message": "1 gün" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$ gün", "placeholders": { "days": { "content": "$1", @@ -3475,16 +3503,16 @@ } }, "invitedUser": { - "message": "Invited user." + "message": "Davet edilen kullanıcı." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Yukarıdaki kullanıcı için bir acil durum kişisi olmaya davet edildiniz. Daveti kabul etmek için, giriş yapmanız veya yeni bir Bitwarden hesabı oluşturmanız gerekir." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "Davet kabul edilemedi. Kullanıcıdan yeni bir davet göndermesini isteyin." }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Davet kabul edilemedi. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "Kimliğiniz doğrulandıktan sonra bu kullanıcı için acil durum seçeneklerine erişebilirsiniz. Bu gerçekleştiğinde size bir e posta göndereceğiz." }, "requestAccess": { - "message": "Request Access" + "message": "Erişim Talep Et" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Erişim talep etmek istediğinizden emin misiniz? Kullanıcı talebi elle kabul ettikten veya $WAITTIME$ gün geçtikten sonra erişim izni alacaksınız.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "$USER$ için acil durum erişimi isteğinde bulunuldu. Devam etmek mümkün olduğunda size e posta ile haber vereceğiz.", "placeholders": { "user": { "content": "$1", @@ -3517,13 +3545,13 @@ } }, "approve": { - "message": "Approve" + "message": "Onayla" }, "reject": { - "message": "Reject" + "message": "Reddet" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "Acil durum erişimini onaylamak istediğinize emin misiniz? Bu $USER$ kullanıcısının hesabınızda $ACTION$ eylemlerinde bulunmasına izin verecek.", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "Emergency access approved." + "message": "Acil durum erişimi onaylandı." }, "emergencyRejected": { - "message": "Emergency access rejected" + "message": "Acil durum erişimi reddedildi" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "$USER$ için parola sıfırlandı. Artık yeni parola ile giriş yapabilirsiniz.", "placeholders": { "user": { "content": "$1", @@ -3551,19 +3579,37 @@ } }, "personalOwnership": { - "message": "Personal Ownership" + "message": "Kişisel Sahiplik" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "Kişisel sahiplik seçeneğini kaldırarak kullanıcıların kasa öğelerini bir kuruma kaydetmesini zorunlu kılın." }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Kurum Sahipleri ve Yöneticiler bu politikanın uygulanmasından muaf tutulurlar." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Bir Kurumsal Politika nedeniyle, kişisel kasanıza öğeleri kaydetmeniz kısıtlanmıştır. Sahiplik seçeneğini bir kuruluş olarak değiştirin ve mevcut Koleksiyonlar arasından seçim yapın." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "$ID$ ilkesi düzenlendi.", "placeholders": { "id": { "content": "$1", @@ -3572,61 +3618,149 @@ } }, "planPrice": { - "message": "Plan price" + "message": "Plan fiyatı" }, "estimatedTax": { - "message": "Estimated tax" + "message": "Tahmini vergi" }, "custom": { - "message": "Custom" + "message": "Özel" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "Gelişmiş yapılandırma için kullanıcı izinleri üzerinde daha detaylı kontrol sağlar." }, "permissions": { - "message": "Permissions" + "message": "İzinler" }, "accessBusinessPortal": { - "message": "Access Business Portal" + "message": "İşyeri Portalına Erişim" }, "accessEventLogs": { - "message": "Access Event Logs" + "message": "Olay Günlüklerine Erişim" }, "accessImportExport": { - "message": "Access Import/Export" + "message": "İçe/Dışa Aktarıma Erişim" }, "accessReports": { - "message": "Access Reports" + "message": "Raporlara Erişim" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "Tüm Koleksiyonları Yönetme" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "Atanmış Koleksiyonları Yönetme" }, "manageGroups": { - "message": "Manage Groups" + "message": "Grupları Yönetme" }, "managePolicies": { - "message": "Manage Policies" + "message": "İlkeleri Yönetme" }, "manageSso": { - "message": "Manage SSO" + "message": "SSO Yönetme" }, "manageUsers": { - "message": "Manage Users" + "message": "Kullanıcıları Yönetme" }, "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + "message": "Bu ilke devre dışı bırakılmadan önce Tek Giriş Kimlik Doğrulama ilkesini elle devre dışı bırakmanız gerekir." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "Bir kurumsal politika sahiplik seçeneklerinizi etkiliyor." }, "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" + "message": "Kurum kullanıcıları için kişisel sahipliği kapat" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "Send'e erişirken, varsayılan olarak yazıyı gizle", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/uk/messages.json b/locales/uk/messages.json index cd0f3ad0..46656a5c 100644 --- a/locales/uk/messages.json +++ b/locales/uk/messages.json @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "Експортовані дані вашого сховища знаходяться в незашифрованому вигляді. Вам не слід зберігати чи надсилати їх через незахищені канали (наприклад, е-поштою). Після використання негайно видаліть їх." }, - "encExportWarningDesc": { - "message": "Цей експорт шифрує ваші дані за допомогою ключа шифрування облікового запису. Якщо ви коли-небудь оновите ключ шифрування облікового запису, ви повинні виконати експорт знову, оскільки не зможете розшифрувати цей файл експорту." + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "Введіть головний пароль, щоб експортувати дані сховища." @@ -1000,9 +1003,24 @@ "importData": { "message": "Імпорт даних" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Дані успішно імпортовано до вашого сховища." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Дані мають некоректне форматування. Перевірте файл імпорту і спробуйте знову." }, @@ -1364,7 +1382,7 @@ "message": "Знайдено записи без двоетапної перевірки" }, "inactive2faFoundDesc": { - "message": "Ми знайшли $COUNT$ вебсайтів у вашому сховищі, що можуть бути не налаштовані для двоетапної перевірки (за даними 2fa.directory). Для захисту цих облікових записів вам слід активувати двоетапну перевірку.", + "message": "Ми знайшли $COUNT$ вебсайтів у вашому сховищі, що можуть бути не налаштовані для двоетапної перевірки (за даними twofactorauth.org). Для захисту цих облікових записів вам слід активувати двоетапну перевірку.", "placeholders": { "count": { "content": "$1", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Додаткові можливості двоетапної перевірки, наприклад, YubiKey, FIDO U2F та Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Гігієна паролів, здоров'я облікового запису, а також звіти про вразливості даних, щоб зберігати ваше сховище в безпеці." }, @@ -3407,6 +3428,10 @@ "message": "Відправлення, до якого ви намагаєтесь отримати доступ, не існує, або більше недоступне.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "У списку немає відправлень.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3417,6 +3442,9 @@ "emergencyAccessDesc": { "message": "Надавайте екстрений доступ довіреним контактам і керуйте ним. Довірені контакти можуть отримати доступ для перегляду чи привласнення вашого облікового запису в екстрених ситуаціях. Відвідайте нашу сторінку допомоги для детального ознайомлення про те, як працює спільний доступ нульового рівня." }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." + }, "trustedEmergencyContacts": { "message": "Довірені екстрені контакти" }, @@ -3478,13 +3506,13 @@ "message": "Запрошений користувач." }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Вас було запрошено стати екстреним контактом для користувача, зазначеного вгорі. Щоб прийняти запрошення, вам необхідно увійти чи створити новий обліковий запис Bitwarden." }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "Неможливо прийняти запрошення. Попросіть користувача надіслати нове запрошення." }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Не вдається прийняти запрошення. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "Ви отримаєте доступ до екстрених можливостей для цього користувача після підтвердження ваших облікових даних. Ми надішлемо вам електронний лист, коли це станеться." }, "requestAccess": { - "message": "Request Access" + "message": "Запитати доступ" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "Ви дійсно хочете запитати екстрений доступ? Вам надасться доступ через $WAITTIME$ днів, або коли користувач вручну схвалить запит.", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "Для користувача $USER$ запитано екстрений доступ. Ми повідомимо вас електронною поштою, коли можна буде продовжити.", "placeholders": { "user": { "content": "$1", @@ -3517,13 +3545,13 @@ } }, "approve": { - "message": "Approve" + "message": "Схвалити" }, "reject": { - "message": "Reject" + "message": "Відхилити" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "Ви впевнені, що хочете схвалити екстрений доступ? Це дозволить користувачу $USER$ $ACTION$ ваш обліковий запис.", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "Emergency access approved." + "message": "Екстрений доступ схвалено." }, "emergencyRejected": { - "message": "Emergency access rejected" + "message": "Екстрений доступ відхилено" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "Пароль для користувача $USER$ скинуто. Тепер ви можете увійти використовуючи новий пароль.", "placeholders": { "user": { "content": "$1", @@ -3551,19 +3579,37 @@ } }, "personalOwnership": { - "message": "Personal Ownership" + "message": "Особиста власність" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "Вимагати від користувачів зберігати записи до організації, вилучивши можливість особистої власності." }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Власники організації та адміністратори звільняються від дотримання цієї політики." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "У зв'язку з корпоративною політикою, вам не дозволено зберігати записи до особистого сховища. Змініть налаштування власності на організацію та виберіть серед доступних збірок." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "Змінено політику $ID$.", "placeholders": { "id": { "content": "$1", @@ -3572,61 +3618,149 @@ } }, "planPrice": { - "message": "Plan price" + "message": "Ціна тарифного плану" }, "estimatedTax": { - "message": "Estimated tax" + "message": "Приблизний податок" }, "custom": { - "message": "Custom" + "message": "Спеціальний" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "Дозволяє детальніший контроль дозволів користувача для розширеної конфігурації." }, "permissions": { - "message": "Permissions" + "message": "Дозволи" }, "accessBusinessPortal": { - "message": "Access Business Portal" + "message": "Доступ до Бізнес-порталу" }, "accessEventLogs": { - "message": "Access Event Logs" + "message": "Доступ до журналів подій" }, "accessImportExport": { - "message": "Access Import/Export" + "message": "Доступ до імпорту й експорту" }, "accessReports": { - "message": "Access Reports" + "message": "Доступ до звітів" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "Керування всіма збірками" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "Керування призначеними збірками" }, "manageGroups": { - "message": "Manage Groups" + "message": "Керування групами" }, "managePolicies": { - "message": "Manage Policies" + "message": "Керування політиками" }, "manageSso": { - "message": "Manage SSO" + "message": "Керування SSO" }, "manageUsers": { - "message": "Manage Users" + "message": "Керування користувачами" }, "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + "message": "Для вимкнення цієї політики ви повинні вручну вимкнути політику ідентифікації єдиного входу (SSO)." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "Політика організації впливає на ваші параметри власності." }, "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" + "message": "Вимкнути особисту власність для користувачів організації" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "При доступі до відправлення типово приховувати текст", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/vi/messages.json b/locales/vi/messages.json index be74d16c..9511cd67 100644 --- a/locales/vi/messages.json +++ b/locales/vi/messages.json @@ -799,9 +799,12 @@ "exportWarningDesc": { "message": "Bản trích xuất này chứa dữ liệu kho bạn và không được mã hóa. Bạn không nên lưu trữ hay gửi tập tin trích xuất thông qua phương thức không an toàn (như email). Vui lòng xóa nó ngay lập tức khi bạn đã sử dụng xong." }, - "encExportWarningDesc": { + "encExportKeyWarningDesc": { "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." + }, "exportMasterPassword": { "message": "Vui lòng nhập mật khẩu chính để trích xuất kho của bạn." }, @@ -1000,9 +1003,24 @@ "importData": { "message": "Nhập dữ liệu" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "Dữ liệu đã được nhập vào kho thành công." }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "Dữ liệu không được định dạng đúng cách, vui lòng kiểm tra và thử lại." }, @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "Password hygiene, account health, and data breach reports to keep your vault safe." }, @@ -3352,7 +3373,7 @@ "message": "Disabled" }, "sendLink": { - "message": "Send Link", + "message": "Send link", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3407,6 +3428,10 @@ "message": "The Send you are trying to access does not exist or is no longer available.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "Emergency Access" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of an emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "Trusted emergency contacts" @@ -3560,7 +3588,25 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Due to an enterprise policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { "message": "Modified policy $ID$.", @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/zh_CN/messages.json b/locales/zh_CN/messages.json index 92439d9b..41308ac3 100644 --- a/locales/zh_CN/messages.json +++ b/locales/zh_CN/messages.json @@ -266,7 +266,7 @@ "message": "搜索文件夹" }, "searchFavorites": { - "message": "搜索收藏夹" + "message": "搜索收藏" }, "searchType": { "message": "搜索类型", @@ -279,7 +279,7 @@ "message": "所有项目" }, "favorites": { - "message": "收藏夹" + "message": "收藏" }, "types": { "message": "类型" @@ -288,7 +288,7 @@ "message": "登录" }, "typeCard": { - "message": "卡片" + "message": "支付卡" }, "typeIdentity": { "message": "身份" @@ -497,10 +497,10 @@ "message": "您的登录会话已过期。" }, "logOutConfirmation": { - "message": "您确定要登出吗?" + "message": "您确定要注销吗?" }, "logOut": { - "message": "登出" + "message": "注销" }, "ok": { "message": "确定" @@ -536,7 +536,7 @@ "message": "主密码" }, "masterPassDesc": { - "message": "主密码是您访问密码库的唯一密码。它非常重要,请您不要忘记。一旦忘记,无任何办法恢复此密码。" + "message": "主密码是您访问密码库的密码。它非常重要,请您不要忘记。一旦忘记,无任何办法恢复此密码。" }, "masterPassHintDesc": { "message": "主密码提示可以在你忘记密码时帮你回忆起来。" @@ -596,7 +596,7 @@ "message": "解锁​​​​" }, "loggedInAsEmailOn": { - "message": "以 $EMAIL$ 在 $HOSTNAME$ 上登录。", + "message": "已在 $HOSTNAME$ 以 $EMAIL$ 身份登入。", "placeholders": { "email": { "content": "$1", @@ -645,7 +645,7 @@ } }, "enterVerificationCodeApp": { - "message": "请输入您的身份验证器应用中的 6 位验证码。" + "message": "请输入验证器应用程序中的 6 位验证码。" }, "enterVerificationCodeEmail": { "message": "请输入发送给电子邮件 $EMAIL$ 的 6 位验证码。", @@ -687,7 +687,7 @@ "message": "此账户已启用两步登录,但此浏览器不支持任何已配置的两步登录提供程序。" }, "noTwoStepProviders2": { - "message": "请使用支持的网页浏览器(例如 Chrome)和/或添加其他支持更广泛的提供程序(例如身份验证器应用)。" + "message": "请使用支持的网页浏览器(例如 Chrome)和/或添加其他支持更广泛的提供程序(例如验证器应用)。" }, "twoStepOptions": { "message": "两步登录选项" @@ -702,14 +702,14 @@ "message": "验证器应用" }, "authenticatorAppDesc": { - "message": "使用身份验证器应用(例如 Authy 或 Google Authenticator)来生成基于时间的验证码。", + "message": "使用验证器应用(例如 Authy 或 Google Authenticator)来生成基于时间的验证码。", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { "message": "YubiKey OTP 安全钥匙" }, "yubiKeyDesc": { - "message": "使用 YubiKey 来访问您的账户。支持 YubiKey 4系列、5系列以及 NEO 设备。" + "message": "使用 YubiKey 来访问您的账户。支持 YubiKey 4 系列、5 系列以及 NEO 设备。" }, "duoDesc": { "message": "使用 Duo Security 的 Duo 移动应用、短信、电话或 U2F 安全钥匙来进行验证。", @@ -799,8 +799,11 @@ "exportWarningDesc": { "message": "导出的密码库数据包含未加密格式。您不应该通过不安全的渠道(例如电子邮件)来存储或发送导出的文件。用完后请立即将其删除。" }, - "encExportWarningDesc": { - "message": "此导出将使用您账户的加密密钥来加密您的数据。 如果您曾经轮换过账户的加密密钥,您应将其重新导出,否则您将无法解密导出的文件。" + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "输入主密码来导出你的密码库数据。" @@ -926,7 +929,7 @@ } }, "kdfIterationsWarning": { - "message": "如果将 KDF 迭代设置得太高,可能会在 CPU 速度较慢的设备上登录(以及解锁)Bitwarden 时性能变差。建议您以 $INCREMENT$ 的增量值递增,然后测试所有设备。", + "message": "如果将 KDF 迭代设置得太高,可能会在 CPU 速度较慢的设备上登录(以及解锁)Bitwarden 时性能变差。建议您以 $INCREMENT$ 的增量值递增,然后在所有设备上行进测试。", "placeholders": { "increment": { "content": "$1", @@ -953,10 +956,10 @@ "message": "您是否担心自己的帐号在其他设备上登录?请按照以下步骤取消对之前使用过的所有计算机或设备的授权。如果您以前使用过公共电脑或不小心曾将密码保存在不属于您的设备上,则建议执行此安全步骤。此步骤还将清除所有以前记住的两步登录会话。" }, "deauthorizeSessionsWarning": { - "message": "接下来将会注销您当前的会话,要求您重新登录。如果有两步登录,也需要重新验证。其他设备上的活动会话可能会继续保持最多一小时。" + "message": "接下来将会注销您当前的会话,并要求您重新登录。如果有设置两步登录,也需要重新认证。其他设备上的活动会话可能会继续保持最多一小时。" }, "sessionsDeauthorized": { - "message": "已取消所有会话授权" + "message": "已取消会话授权" }, "purgeVault": { "message": "清空密码库" @@ -1000,9 +1003,24 @@ "importData": { "message": "导入数据" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "数据已经成功导入到密码库" }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "数据格式不正确。请检查您的导入文件后重试。" }, @@ -1115,7 +1133,7 @@ "message": "在组织机构层面配置提供程序,以要求你组织的用户采用两步登录。" }, "twoStepLoginRecoveryWarning": { - "message": "启用两步登录可以将您永久性地锁定在Bitwarden帐户之外。如果您无法使用常规的两步登录提供程序(例如您丢失了设备),则可以使用恢复代码访问您的帐户。 如果您无法访问您的帐户,Bitwarden 支持也无法帮助您。我们建议您记下或打印恢复代码,并将其妥善保管。" + "message": "启用两步登录可能会将您永久锁定在 Bitwarden 帐户之外。如果您无法使用常规的两步登录提供程序(例如您丢失了设备),则可以使用恢复代码访问您的帐户。如果您失去对您帐户的访问,Bitwarden 支持也无法帮助您。我们建议您记下或打印恢复代码,并将其妥善保管。" }, "viewRecoveryCode": { "message": "查看恢复代码" @@ -1162,7 +1180,7 @@ "message": "输入主密码以修改两步登录设置。" }, "twoStepAuthenticatorDesc": { - "message": "按照以下步骤,使用身份验证器应用设置两步登录:" + "message": "按照以下步骤,使用验证器应用设置两步登录:" }, "twoStepAuthenticatorDownloadApp": { "message": "下载两步登录验证器应用" @@ -1183,13 +1201,13 @@ "message": "推荐使用这些应用,您也可以使用其它验证器应用。" }, "twoStepAuthenticatorScanCode": { - "message": "使用身份验证器应用扫描这个二维码" + "message": "使用验证器应用扫描这个二维码" }, "key": { "message": "密钥" }, "twoStepAuthenticatorEnterCode": { - "message": "输入 App 中的 6 位验证码" + "message": "输入应用程序中的 6 位验证码" }, "twoStepAuthenticatorReaddDesc": { "message": "如果您要把它添加到另一个设备,下面是您的验证器应用所需要的二维码(或密钥)。" @@ -1216,7 +1234,7 @@ "message": "保存表单" }, "twoFactorYubikeyWarning": { - "message": "由于平台的限制,YubiKey 不能在所有Bitwarden应用程序上使用。您应该启用另一个两步登录提供程序,以便在无法使用 YubiKey 时可以访问您的帐户。 支持的平台:" + "message": "由于平台的限制,YubiKey 不能在所有 Bitwarden 应用程序上使用。您应该启用另一个两步登录提供程序,以便在无法使用 YubiKey 时可以访问您的帐户。支持的平台:" }, "twoFactorYubikeySupportUsb": { "message": "具有 USB 端口的设备上的网页版密码库、桌面应用程序、CLI 以及浏览器扩展都可以使用您的 YubiKey。" @@ -1249,7 +1267,7 @@ "message": "我的一把钥匙支持 NFC。" }, "twoFactorYubikeySupportsNfcDesc": { - "message": "如果您的某个 YubiKey 支持 NFC(例如 YubiKey NEO),则只要检测到 NFC 可用,系统就会在移动设备上提示您。" + "message": "如果您的某个 YubiKey 支持 NFC(例如 YubiKey NEO),移动设备在检测到 NFC 时将提示您。" }, "yubikeysUpdated": { "message": "YubiKey 已更新" @@ -1297,7 +1315,7 @@ "message": "给安全钥匙一个友好的名称来标识它。" }, "twoFactorU2fPlugInReadKey": { - "message": "将安全钥匙插入计算机的 USB 端口,然后单击 \"读取密钥\" 按钮。" + "message": "将安全钥匙插入计算机的 USB 端口,然后单击“读取钥匙”按钮。" }, "twoFactorU2fTouchButton": { "message": "如果安全钥匙有按钮,请按下它。" @@ -1355,16 +1373,16 @@ "message": "没有在你的密码库中发现带不安全 URI 的项目。" }, "inactive2faReport": { - "message": "未激活2FA报告" + "message": "未激活 2FA 报告" }, "inactive2faReportDesc": { - "message": "双重身份验证 (2FA) 是保护您帐户安全的一个重要安全设置。如果网站提供,您应该始终启用双重身份验证。" + "message": "双重身份验证(2FA)是保护您帐户安全的一个重要安全设置。如果网站提供双重身份验证,您应该始终启用它。" }, "inactive2faFound": { "message": "发现未使用双重身份验证的登录" }, "inactive2faFoundDesc": { - "message": "我们在您的密码库发现 $COUNT$ 个网站没有配置双重身份验证(通过 2fa.directory)。为了保护这些账户,您应该启用双重身份验证。", + "message": "我们在您的密码库发现 $COUNT$ 个网站没有配置双重身份验证(通过 twofactorauth.org)。为了保护这些账户,您应该启用双重身份验证。", "placeholders": { "count": { "content": "$1", @@ -1466,7 +1484,7 @@ "message": "数据泄露报告" }, "breachDesc": { - "message": "“泄漏”是指黑客非法访问网站数据然后公开发布的事件。查看已泄露的数据类型(电子邮件地址,密码,信用卡等)并采取适当的措施,例如更改密码。" + "message": "“泄漏”是指黑客非法访问网站数据然后公开发布的事件。查看已泄露的数据类型(电子邮件地址、密码、信用卡等)并采取适当的措施,例如更改密码。" }, "breachCheckUsernameEmail": { "message": "检查您使用的任何用户名或电子邮件地址。" @@ -1522,10 +1540,10 @@ "message": "加载报告时发生错误,请重试。" }, "billing": { - "message": "账单" + "message": "计费" }, "accountCredit": { - "message": "账户信用额", + "message": "账户信用额度", "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "accountBalance": { @@ -1533,7 +1551,7 @@ "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "addCredit": { - "message": "添加信用额", + "message": "添加信用额度", "description": "Add more credit to your account's balance." }, "amount": { @@ -1541,13 +1559,13 @@ "description": "Dollar amount, or quantity." }, "creditDelayed": { - "message": "在付款全部处理后,添加的信用额将出现在您的帐户上。某些付款方式会延迟,并且可能需要比其他付款方式更长的时间来处理。" + "message": "添加的信用额度在付款全部处理后将出现在您的帐户上。某些付款方式会延迟,并且可能需要比其他付款方式更长的时间来处理。" }, "makeSureEnoughCredit": { - "message": "请确保您的帐户有足够的信用额度来用于此购买。如果您的帐户没有足够的可用信用额度,您的默认付款方式将用于补足差额。您可以从“账单”页面向您的帐户添加信用额度。" + "message": "请确保您的帐户有足够的信用额度来用于此购买。如果您的帐户信用额度不足,您的默认付款方式将用于补足差额。您可以从计费页面向您的帐户添加信用额度。" }, "creditAppliedDesc": { - "message": "您帐户的信用额度可用于进行消费。任何可用的信用额度将自动支付此帐户的账单。" + "message": "您帐户的信用额度可用于进行消费。任何可用的信用额度将用于自动支付此帐户的账单。" }, "goPremium": { "message": "升级高级会员", @@ -1565,6 +1583,9 @@ "premiumSignUpTwoStep": { "message": "额外的两步登录选项,如 YubiKey、FIDO U2F 和 Duo。" }, + "premiumSignUpEmergency": { + "message": "Emergency Access" + }, "premiumSignUpReports": { "message": "密码健康、账户体检以及数据泄露报告,保障您的密码库安全。" }, @@ -1657,7 +1678,7 @@ } }, "paymentChargedWithTrial": { - "message": "您的计划包含了 7 天的免费试用期。在试用期结束前,不会从您的支付方式中扣款。随后将会在每 $INTERVAL$ 定期扣款。您可以随时取消。", + "message": "您的计划包含了 7 天的免费试用期。在试用期结束前,不会从您的支付方式中扣款。随后将会每 $INTERVAL$ 定期扣款。您可以随时取消。", "placeholders": { "interval": { "content": "$1", @@ -1672,7 +1693,7 @@ "message": "账单信息" }, "creditCard": { - "message": "信用卡" + "message": "支付卡" }, "paypalClickSubmit": { "message": "点击 PayPal 按钮登录您的 PayPal 账户,然后点击 提交 按钮。" @@ -1687,7 +1708,7 @@ "message": "待取消" }, "subscriptionPendingCanceled": { - "message": "订阅已在当前账单周期结束时标记为取消。" + "message": "订阅在当前计费周期结束前已标记为取消。" }, "reinstateSubscription": { "message": "恢复订阅" @@ -1699,7 +1720,7 @@ "message": "您的订阅已恢复。" }, "cancelConfirmation": { - "message": "您确定要取消吗?在本次账单周期结束后,您将无法使用所有订阅功能。" + "message": "您确定要取消吗?在本次计费周期结束后,您将无法使用此订阅的所有功能。" }, "canceledSubscription": { "message": "订阅已取消。" @@ -1735,7 +1756,7 @@ "message": "添加存储" }, "removeStorage": { - "message": "移除存储" + "message": "移除存储空间" }, "subscriptionStorage": { "message": "您的订阅共有 $MAX_STORAGE$ GB 的加密存储空间。您目前已使用 $USED_STORAGE$ 。", @@ -1754,7 +1775,7 @@ "message": "支付方式" }, "noPaymentMethod": { - "message": "没有支付方式" + "message": "无支付方式" }, "addPaymentMethod": { "message": "添加支付方式" @@ -1763,10 +1784,10 @@ "message": "更改支付方式" }, "invoices": { - "message": "收据" + "message": "发票" }, "noInvoices": { - "message": "无收据" + "message": "无发票" }, "paid": { "message": "已支付", @@ -1777,11 +1798,11 @@ "description": "Past tense status of an invoice. ex. Paid or unpaid." }, "transactions": { - "message": "交易", + "message": "交易记录", "description": "Payment/credit transactions." }, "noTransactions": { - "message": "无交易" + "message": "无交易记录" }, "chargeNoun": { "message": "费用", @@ -1807,10 +1828,10 @@ "message": "GB 存储空间将删除" }, "storageAddNote": { - "message": "添加存储空间将会调整账单金额,并立即通过您的支付方式进行扣款。 第一笔费用将按当前结算周期的剩余时间按比例分配。" + "message": "添加存储空间将会调整计费总金额,并立即通过您的支付方式进行扣款。 第一笔费用将按当前计费周期的剩余时间按比例分配。" }, "storageRemoveNote": { - "message": "删除存储空间将会调整账单金额。这笔费用将按比例计入下一次结算周期。" + "message": "移除存储空间将会调整计费总金额,这笔费用将按比例返回下一笔账单费用中。" }, "adjustedStorage": { "message": "已调整 $AMOUNT$ GB 的存储空间。", @@ -1852,7 +1873,7 @@ "message": "您必须验证账户的电子邮件地址。" }, "newOrganizationDesc": { - "message": "组织允许您与他人以及特定实体(如家庭、小型团队或大公司)的相关用户共享部分密码库。" + "message": "组织允许您与他人共享您的密码库的部分内容,以及管理特定实体(例如家族、小型团队或大型公司)的相关用户。" }, "generalInformation": { "message": "常规信息" @@ -1885,7 +1906,7 @@ "message": "# 用户席位" }, "userSeatsAdditionalDesc": { - "message": "您的计划包含 $BASE_SEATS$ 个用户席位。添加附加用户的价格是 $SEAT_PRICE$ 每用户/月。", + "message": "您的计划包含 $BASE_SEATS$ 个用户席位。添加附加用户的价格是 $SEAT_PRICE$ 每用户每月。", "placeholders": { "base_seats": { "content": "$1", @@ -2352,7 +2373,7 @@ } }, "autofilledItemId": { - "message": "自动填充了项目 $ID$。", + "message": "项目 $ID$ 已自动填充。", "placeholders": { "id": { "content": "$1", @@ -2598,7 +2619,7 @@ "message": "加入组织" }, "joinOrganizationDesc": { - "message": "邀请您加入下面的组织。要接受邀请,您需要登录或者创建一个 Bitwarden 账户。" + "message": "您已被邀请加入上面的组织。要接受邀请,您需要登录或者创建一个 Bitwarden 账户。" }, "inviteAccepted": { "message": "邀请已接受" @@ -2667,7 +2688,7 @@ "message": "税务信息" }, "taxInformationDesc": { - "message": "对于美国境内的客户,邮政编码必须满足销售税要求。 对于其他国家,您可以选择提供一个税号(VAT/GST)和/或地址来显示在您的发票上。" + "message": "对于美国境内的客户,需要提供邮政编码以满足销售税要求。 对于其他国家,您可以选择提供一个税号(VAT/GST) 和/或地址来显示在您的发票上。" }, "billingPlan": { "message": "计划", @@ -2686,7 +2707,7 @@ "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "invoiceNumber": { - "message": "收据 #$NUMBER$", + "message": "发票 #$NUMBER$", "description": "ex. Invoice #79C66F0-0001", "placeholders": { "number": { @@ -2696,10 +2717,10 @@ } }, "viewInvoice": { - "message": "查看收据" + "message": "查看发票" }, "downloadInvoice": { - "message": "下载收据" + "message": "下载发票" }, "verifyBankAccount": { "message": "验证银行帐户" @@ -2708,7 +2729,7 @@ "message": "我们已将两笔小额转账存入您的银行账户(将会在 1-2 个工作日到账)。输入这些金额来验证银行账户。" }, "verifyBankAccountInitialDesc": { - "message": "只有美国用户才能使用银行账户付款。您需要验证自己的银行账户。我们将在 1-2 个工作日内进行两笔小额转账,在组织的结算页面输入这些金额来验证银行账户。" + "message": "只有美国用户才能使用银行账户付款。您需要验证自己的银行账户。我们将在 1-2 个工作日内进行两笔小额转账,在组织的计费页面输入这些金额来验证银行账户。" }, "verifyBankAccountFailureWarning": { "message": "验证银行账户失败将会错过支付,您的订阅将失效。" @@ -2775,10 +2796,10 @@ "message": "要移除的席位数" }, "seatsAddNote": { - "message": "添加用户席位将会调整账单总金额,并立即通过您的支付方式进行扣款。 第一笔费用将按当前结算周期的剩余时间按比例分配。" + "message": "添加用户席位将会调整计费总金额,并立即通过您的支付方式进行扣款。 第一笔费用将按当前计费周期的剩余时间按比例分配。" }, "seatsRemoveNote": { - "message": "移除用户席位将对您的帐单总金额进行调整,并按比例计入下一笔帐单费用。" + "message": "移除用户席位将会调整计费总金额,这笔费用将按比例返回下一笔账单费用中。" }, "adjustedSeats": { "message": "调整了 $AMOUNT$ 个用户席位。", @@ -2799,13 +2820,13 @@ "message": "更新加密密钥" }, "updateEncryptionKeyShortDesc": { - "message": "您目前正在使用过时的加密方案。" + "message": "您目前使用的是过时的加密方案。" }, "updateEncryptionKeyDesc": { "message": "我们已经采用更强大的加密密钥,提供了更强的安全性和更新的功能。更新您的加密密钥非常简单快捷,只需要输入主密码。此次更新最终将强制执行。" }, "updateEncryptionKeyWarning": { - "message": "更新加密密钥后,您需要登出所有正在使用的 Bitwarden 应用(比如手机版应用或者浏览器扩展)后重新登录。登出失败或者重新登录失败(下载新的加密密钥)可能会导致数据损坏。我们会尝试自动为您登出,但是,可能会有所延迟。" + "message": "更新加密密钥后,您需要注销所有正在使用的 Bitwarden 应用(比如手机版应用或者浏览器扩展)后重新登录。注销或者重新登录(这将下载新的加密密钥)失败可能会导致数据损坏。我们会尝试自动为您注销,但是,可能会有所延迟。" }, "updateEncryptionKeyExportWarning": { "message": "您保存的任何已加密导出也将变为无效。" @@ -2928,7 +2949,7 @@ "message": "您选择的主密码较弱。您应该使用强密码(或密码短语)来正确保护您的 Bitwarden 账户。仍要使用此主密码吗?" }, "rotateAccountEncKey": { - "message": "同时轮换我的帐户的加密密钥" + "message": "同时轮换帐户的加密密钥" }, "rotateEncKeyTitle": { "message": "轮换加密密钥" @@ -2969,7 +2990,7 @@ "message": "API 密钥" }, "apiKeyDesc": { - "message": "您的 API 密钥可以用来验证 Bitwarden 公共 API。" + "message": "您的 API 密钥可用于认证 Bitwarden 公共 API。" }, "apiKeyRotateDesc": { "message": "轮换 API 密钥将使前一个密钥无效。如果你认为当前密钥不再安全,你可以轮换您的 API 密钥。" @@ -2978,7 +2999,7 @@ "message": "您的 API 密钥拥有组织的全部访问权限。请将其存放在安全的地方。" }, "userApiKeyDesc": { - "message": "您的 API 密钥可用于在 Bitwarden CLI 中进行身份验证。" + "message": "您的 API 密钥可用于在 Bitwarden CLI 中进行身份认证。" }, "userApiKeyWarning": { "message": "您的 API 密钥是另一套等效的身份验证机制。请严格保密。" @@ -2997,13 +3018,13 @@ "message": "您必须至少选择一个集合。" }, "couldNotChargeCardPayInvoice": { - "message": "我们无法从您的卡中扣款。请查看并支付下面列出的未支付收据。" + "message": "我们无法从您的支付卡中扣款。请查看并支付下面列出的未支付款项。" }, "inAppPurchase": { "message": "应用内购买" }, "cannotPerformInAppPurchase": { - "message": "使用应用内购买付款方法时,您不能执行此操作。" + "message": "使用应用内购买这种支付方式时,您不能执行此操作。" }, "manageSubscriptionFromStore": { "message": "您必须在进行应用内购买的商店中管理订阅。" @@ -3021,10 +3042,10 @@ "message": "要求用户在个人帐户上设置两步登录。" }, "twoStepLoginPolicyWarning": { - "message": "组织成员中个人账户未启用两步登录的将被从组织中删除,并将收到一封关于这一变化的电子邮件。" + "message": "非所有者或管理员并且其个人账户未启用两步登录的组织成员将从组织中移除,并将收到一封关于此更改的电子邮件通知。" }, "twoStepLoginPolicyUserWarning": { - "message": "您的组织要求您在您的个人账户上启用两步登录。 如果您禁用所有两步登录提供程序,您将自动被这些组织删除。" + "message": "您的组织要求您在您的个人账户上启用两步登录。 如果您禁用所有两步登录提供程序,您将自动被这些组织移除。" }, "passwordGeneratorPolicyDesc": { "message": "设置密码生成器配置的最低要求。" @@ -3090,7 +3111,7 @@ "message": "已锁定的密码库需要重新输入主密码才能再次访问。" }, "vaultTimeoutActionLogOutDesc": { - "message": "已登出的密码库需要重新认证才能再次访问。" + "message": "已注销的密码库需要重新认证才能再次访问。" }, "lock": { "message": "锁定", @@ -3179,7 +3200,7 @@ } }, "vaultTimeoutLogOutConfirmation": { - "message": "超时后登出将解除对密码库的所有访问权限,并需要进行在线认证。确定使用此设置吗?" + "message": "超时后注销将解除对密码库的所有访问权限,并需要进行在线验证。确定使用此设置吗?" }, "vaultTimeoutLogOutConfirmationTitle": { "message": "超时动作确认" @@ -3228,7 +3249,7 @@ "message": "包含所有团队版功能" }, "includeSsoAuthentication": { - "message": "通过 SAML 2.0 和 OpenID 连接进行 SSO 身份验证" + "message": "通过 SAML2.0 和 OpenID Connect 进行 SSO 身份验证" }, "includeEnterprisePolicies": { "message": "企业策略" @@ -3258,10 +3279,10 @@ "message": "您当前的组织策略禁止您加入多个组织。 请联系您的组织管理员,或从其他 Bitwarden 帐户注册。" }, "singleOrgPolicyWarning": { - "message": "非所有者或管理员并且已是其他组织成员的组织成员将从您的组织中移除。" + "message": "不是所有者或管理员并且已是其他组织的成员的组织成员将从您的组织中移除。" }, "requireSso": { - "message": "单点登录认证" + "message": "单点登录验证" }, "requireSsoPolicyDesc": { "message": "要求用户使用企业单点登录(SSO)方式登录。" @@ -3407,6 +3428,10 @@ "message": "您尝试访问的 Send 不存在或不再可用。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "没有可列出的 Send。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3415,7 +3440,10 @@ "message": "紧急访问" }, "emergencyAccessDesc": { - "message": "授予和管理受信任联系人的紧急访问权限。受信任的联系人可以在紧急情况下请求获取查看或接管您账户的权限。查阅我们的帮助页面以了解更多关于零知识共享的工作原理和细节。" + "message": "授予和管理可信联系人的紧急访问权限。可信联系人可以在紧急情况下请求获取查看或接管您账户的权限。查阅我们的帮助页面以了解更多关于零知识共享的工作原理和细节。" + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "可信的紧急联系人" @@ -3562,6 +3590,24 @@ "personalOwnershipSubmitError": { "message": "由于企业策略,您被限制为保存项目到您的个人密码库。将所有权选项更改为组织,并从可用的集合中选择。" }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "modifiedPolicyId": { "message": "策略 $ID$ 已修改。", "placeholders": { @@ -3617,7 +3663,7 @@ "message": "管理用户" }, "disableRequireSsoError": { - "message": "您必须手动禁用单点登录认证策略,然后才能禁用此政策。" + "message": "您必须手动禁用单点登录验证策略,然后才能禁用此策略。" }, "personalOwnershipPolicyInEffect": { "message": "组织策略正在影响您的所有权选项。" @@ -3628,5 +3674,93 @@ "textHiddenByDefault": { "message": "访问 Send 时,默认将隐藏文本", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/locales/zh_TW/messages.json b/locales/zh_TW/messages.json index 5ce312a8..8b6ffc5e 100644 --- a/locales/zh_TW/messages.json +++ b/locales/zh_TW/messages.json @@ -10,7 +10,7 @@ } }, "whatTypeOfItem": { - "message": "帳戶類型為何?" + "message": "這是什麼類型的項目?" }, "name": { "message": "名稱" @@ -38,7 +38,7 @@ "message": "密碼" }, "newPassword": { - "message": "新密碼" + "message": "新的密碼" }, "passphrase": { "message": "密碼短語" @@ -59,7 +59,7 @@ "message": "品牌" }, "expiration": { - "message": "到期" + "message": "過期" }, "securityCode": { "message": "安全代碼 (CVV)" @@ -137,10 +137,10 @@ "message": "Dr" }, "expirationMonth": { - "message": "到期月份" + "message": "逾期月份" }, "expirationYear": { - "message": "到期年份" + "message": "逾期年份" }, "authenticatorKeyTotp": { "message": "驗證器金鑰 (TOTP)" @@ -173,7 +173,7 @@ "message": "未指派" }, "noneFolder": { - "message": "(未分類)", + "message": "默認資料夾", "description": "This is the folder for uncategorized items" }, "addFolder": { @@ -211,7 +211,7 @@ "message": "永不" }, "toggleVisibility": { - "message": "切換可見度" + "message": "切換可見性" }, "toggleCollapse": { "message": "切換折疊", @@ -260,7 +260,7 @@ "message": "編輯" }, "searchCollection": { - "message": "搜尋收藏" + "message": "搜尋集合" }, "searchFolder": { "message": "搜尋資料夾" @@ -273,7 +273,7 @@ "description": "Search item type" }, "searchVault": { - "message": "搜尋" + "message": "搜尋密碼庫" }, "allItems": { "message": "所有項目" @@ -288,7 +288,7 @@ "message": "登入" }, "typeCard": { - "message": "信用卡" + "message": "支付卡" }, "typeIdentity": { "message": "身分" @@ -300,7 +300,7 @@ "message": "資料夾" }, "collections": { - "message": "收藏" + "message": "集合" }, "firstName": { "message": "名" @@ -333,7 +333,7 @@ "message": "國家" }, "shared": { - "message": "共用" + "message": "已共享" }, "attachments": { "message": "附件" @@ -358,10 +358,10 @@ "message": "其他" }, "share": { - "message": "分享" + "message": "共享" }, "valueCopied": { - "message": "已複製 $VALUE$", + "message": "$VALUE$ 已複製", "description": "Value has been copied to the clipboard.", "placeholders": { "value": { @@ -401,7 +401,7 @@ "message": "密碼庫" }, "shareSelected": { - "message": "分享選取的項目" + "message": "共享選取的項目" }, "deleteSelected": { "message": "刪除選取的項目" @@ -437,22 +437,22 @@ "message": "選擇檔案。" }, "maxFileSize": { - "message": "最大檔案大小為 100MB。" + "message": "檔案最大為 100MB。" }, "updateKey": { "message": "更新加密金鑰前不能使用此功能。" }, "addedItem": { - "message": "新增項目" + "message": "項目已新增" }, "editedItem": { - "message": "已編輯項目" + "message": "項目已編輯" }, "sharedItem": { - "message": "已分享項目" + "message": "項目已共享" }, "sharedItems": { - "message": "已分享項目" + "message": "項目已共享" }, "deleteItem": { "message": "刪除項目" @@ -464,37 +464,37 @@ "message": "刪除附件" }, "deleteItemConfirmation": { - "message": "確定要刪除此項目嗎?" + "message": "您確定要發送到垃圾桶嗎?" }, "deletedItem": { - "message": "已刪除此項目" + "message": "此項目已傳送到垃圾桶" }, "deletedItems": { - "message": "已刪除項目" + "message": "項目已傳送到垃圾桶" }, "movedItems": { - "message": "已移動項目" + "message": "項目已移動" }, "overwritePasswordConfirmation": { "message": "您確定要覆寫目前的密碼嗎?" }, "editedFolder": { - "message": "已編輯資料夾" + "message": "資料夾已編輯" }, "addedFolder": { - "message": "已新增資料夾" + "message": "資料夾已新增" }, "deleteFolderConfirmation": { "message": "您確定要刪除此資料夾嗎?" }, "deletedFolder": { - "message": "已刪除的資料夾" + "message": "資料夾已刪除" }, "loggedOut": { "message": "已登出" }, "loginExpired": { - "message": "您的登入階段已過期。" + "message": "您的登入會話已逾期。" }, "logOutConfirmation": { "message": "您確定要登出嗎?" @@ -512,7 +512,7 @@ "message": "否" }, "loginOrCreateNewAccount": { - "message": "登入或建立帳戶。" + "message": "登入或建立帳戶來存取您的安全密碼庫。" }, "createAccount": { "message": "建立帳戶" @@ -524,10 +524,10 @@ "message": "送出" }, "emailAddressDesc": { - "message": "您將使用您的電子郵件地址登入。" + "message": "您需要使用您的電子郵件地址登入。" }, "yourName": { - "message": "您的姓名" + "message": "你的名稱" }, "yourNameDesc": { "message": "我們應該怎樣稱呼您?" @@ -536,7 +536,7 @@ "message": "主密碼" }, "masterPassDesc": { - "message": "主密碼是您存取密碼庫的密碼。請勿忘記主密碼,我們無法將您的主密碼復原或重設。" + "message": "主密碼是您用於存取您的密碼庫的密碼。不要忘記主密碼,這一點非常重要。如果忘記了密碼,無法將其復原。" }, "masterPassHintDesc": { "message": "主密碼提示可以在您忘記主密碼時幫助您回憶主密碼。" @@ -545,7 +545,7 @@ "message": "重新輸入主密碼" }, "masterPassHint": { - "message": "主密碼提示 (選用)" + "message": "主密码提示(非必須)" }, "masterPassHintLabel": { "message": "主密碼提示" @@ -557,16 +557,16 @@ "message": "密碼提示" }, "enterEmailToGetHint": { - "message": "請輸入您的帳户電子郵件地址以接收主密碼提示。" + "message": "請輸入您的帳户電子郵件位址以接收主密碼提示。" }, "getMasterPasswordHint": { "message": "取得主密碼提示" }, "emailRequired": { - "message": "必須填入電子郵件地址 。" + "message": "必須填入電子郵件位址。" }, "invalidEmail": { - "message": "無效的電子郵件地址。" + "message": "無效的電子郵件位址。" }, "masterPassRequired": { "message": "必須填入主密碼。" @@ -581,13 +581,13 @@ "message": "帳戶已建立!現在可以登入了。" }, "masterPassSent": { - "message": "已寄出包含您主密碼提示的電子郵件。" + "message": "已傳送包含您主密碼提示的電子郵件。" }, "unexpectedError": { "message": "發生了未預期的錯誤。" }, "emailAddress": { - "message": "電子郵件地址" + "message": "電子郵件位址" }, "yourVaultIsLocked": { "message": "密碼庫已鎖定。驗證主密碼以繼續。" @@ -596,7 +596,7 @@ "message": "解鎖" }, "loggedInAsEmailOn": { - "message": "已經在 $HOSTNAME$ 使用 $EMAIL$ 身份登入。", + "message": "已在 $HOSTNAME$ 以 $EMAIL$ 身份登入。", "placeholders": { "email": { "content": "$1", @@ -615,10 +615,10 @@ "message": "立即鎖定" }, "noItemsInList": { - "message": "沒有項目可顯示。" + "message": "沒有可顯示的項目。" }, "noCollectionsInList": { - "message": "沒有可顯示的收藏。" + "message": "沒有可顯示的集合。" }, "noGroupsInList": { "message": "沒有可顯示的群組。" @@ -633,7 +633,7 @@ "message": "新增組織" }, "noOrganizationsList": { - "message": "您沒有加入任何組織。同一組織的使用者可以安全地分享登入帳密等資料。" + "message": "您沒有加入任何組織。組織允許您與其他使用者安全地共享項目。" }, "versionNumber": { "message": "版本 $VERSION_NUMBER$", @@ -666,19 +666,19 @@ } }, "rememberMe": { - "message": "記住我的登入資訊" + "message": "記住我" }, "sendVerificationCodeEmailAgain": { "message": "再次傳送​​包含驗證碼的電子郵件" }, "useAnotherTwoStepMethod": { - "message": "使用另一種兩步驟登入方法" + "message": "使用另一種兩步驟登入方式" }, "insertYubiKey": { "message": "將您的 YubiKey 插入電腦的 USB 連接埠,然後按一下它的按鈕。" }, "insertU2f": { - "message": "將您的安全金鑰插入電腦的 USB 連接埠,然後按一下它的按鈕(如有的話)。" + "message": "將您的安全鑰匙插入電腦的 USB 連接埠,然後按一下它的按鈕(如有的話)。" }, "loginUnavailable": { "message": "無法登入" @@ -687,16 +687,16 @@ "message": "此帳戶已啟用兩步驟登入,但是本瀏覽器不支援已設定的兩步驟登入方式。" }, "noTwoStepProviders2": { - "message": "請使用已支援的瀏覽器(例如 Chrome ),及/或新增可以更好地跨瀏覽器的兩步驟登入方法(例如驗證器應用程式)。" + "message": "請使用已支援的瀏覽器(例如 Chrome ),及/或新增可以更好地跨瀏覽器的兩步驟登入方法(例如驗證器應用程式)。" }, "twoStepOptions": { "message": "兩步驟登入選項" }, "recoveryCodeDesc": { - "message": "無法使用任何兩步驟登入方式?用復原碼停用所有兩步驟登入方式。" + "message": "無法使用任何兩步驟登入方式?請使用您的復原代碼以停用您賬戶的所有兩步驟登入方式。" }, "recoveryCodeTitle": { - "message": "復原碼" + "message": "復原代碼" }, "authenticatorAppTitle": { "message": "驗證器應用程式" @@ -706,24 +706,24 @@ "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { - "message": "YubiKey OTP 安全金鑰" + "message": "YubiKey OTP 安全鑰匙" }, "yubiKeyDesc": { - "message": "使用 YubiKey 存取您的帳戶。相容於 YubiKey 4, 4 Nano, 4C, 和 NEO 裝置。" + "message": "使用 YubiKey 存取您的帳戶。支援 YubiKey 4 系列、5 系列以及 NEO 裝置。" }, "duoDesc": { - "message": "與 Duo Security 驗證,可使用 Duo Mobile 程式, SMS ,致電或 U2F 安全金鑰。", + "message": "使用 Duo Security 的 Duo Mobile 程式、SMS 、致電或 U2F 安全鑰匙進行驗證。", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "使用 Duo Security 驗證您的組織,可使用 Duo Mobile 程式, SMS ,致電或 U2F 安全金鑰。", + "message": "爲您的組織使用 Duo Security 的 Duo Mobile 程式、SMS、致電或 U2F 安全鑰匙進行驗證。", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "u2fDesc": { - "message": "使用任何啟用了 FIDO U2F 的安全金鑰來存取您的帳戶。" + "message": "使用任何啟用了 FIDO U2F 的安全鑰匙來存取您的帳戶。" }, "u2fTitle": { - "message": "FIDO U2F 安全金鑰" + "message": "FIDO U2F 安全鑰匙" }, "emailTitle": { "message": "電子郵件" @@ -741,16 +741,16 @@ "message": "組織" }, "shareDesc": { - "message": "選擇您希望分享這個項目的組織。項目的擁有權將會轉移到組織。一經分享,您將不再是此項目的直接擁有者。" + "message": "選擇您希望共享這個項目的組織。項目的擁有權將會轉移到組織。一經共享,您將不再是此項目的直接擁有者。" }, "shareManyDesc": { - "message": "選擇您希望分享這些項目的組織。這些項目的擁有權將會轉移到組織。一經分享,您將不再是這些項目的直接擁有者。" + "message": "選擇您希望共享這些項目的組織。項目的擁有權將會轉移到組織。一經共享,您將不再是這些項目的直接擁有者。" }, "collectionsDesc": { "message": "編輯與此項目共享的集合。只有具有這些集合存取權限的組織使用者才能夠看到此項目。" }, "deleteSelectedItemsDesc": { - "message": "您已經選取了 $COUNT$ 個項目。確定要刪除這些項目嗎 ?", + "message": "您已經選取了 $COUNT$ 個項目要刪除。確定要刪除這些項目嗎 ?", "placeholders": { "count": { "content": "$1", @@ -768,7 +768,7 @@ } }, "shareSelectedItemsCountDesc": { - "message": "您選擇了 $COUNT$ 個項目。可分享 $SHAREABLE_COUNT$ 個項目,不可分享 $NONSHAREABLE_COUNT$ 個項目。", + "message": "您已經選取了 $COUNT$ 個項目。其中 $SHAREABLE_COUNT$ 個項目處於共享狀態,$NONSHAREABLE_COUNT$ 個項目處於非共享狀態。", "placeholders": { "count": { "content": "$1", @@ -797,10 +797,13 @@ "message": "確認匯出密碼庫" }, "exportWarningDesc": { - "message": "您的密碼將匯出成未加密的. csv 檔案。您不應將它存放或經由未經加密的方式傳送(例如電子郵件)。用完後請立即將它刪除。" + "message": "此匯出包含未加密格式的密碼庫檔案。您不應將它存放或經由不安全的方式(例如電子郵件)傳送。用完後請立即將它刪除。" }, - "encExportWarningDesc": { - "message": "將使用您帳號的加密金鑰來加密匯出資料,若您更新了帳號的加密金鑰,請重新匯出,才有辦法解密匯出的檔案。" + "encExportKeyWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "encExportAccountWarningDesc": { + "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account." }, "exportMasterPassword": { "message": "輸入您的主密碼以匯出密碼庫資料。" @@ -818,7 +821,7 @@ "message": "密碼產生器" }, "minComplexityScore": { - "message": "最小複雜性分數" + "message": "最小複雜度" }, "minNumbers": { "message": "最少數字位數" @@ -853,7 +856,7 @@ "message": "密碼歷史記錄" }, "noPasswordsInList": { - "message": "沒有密碼可顯示。" + "message": "沒有可顯示的密碼。" }, "clear": { "message": "清除", @@ -863,16 +866,16 @@ "message": "帳戶已更新" }, "changeEmail": { - "message": "變更電子郵件地址" + "message": "變更電子郵件" }, "newEmail": { - "message": "新的電子郵件地址" + "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", @@ -881,10 +884,10 @@ } }, "loggedOutWarning": { - "message": "接下來會登出目前的登入階段,並要求您重新登入。其他裝置上的登入階段最多會保持一個小時。" + "message": "接下來會登出目前會話,並要求您重新登入。其他裝置上的活動會話最多會保持一個小時。" }, "emailChanged": { - "message": "已變更電子郵件地址" + "message": "電子郵件已變更" }, "logBackIn": { "message": "請重新登入。" @@ -896,7 +899,7 @@ "message": "變更主密碼" }, "masterPasswordChanged": { - "message": "已變更主密碼" + "message": "主密碼已變更" }, "currentMasterPass": { "message": "目前的主密碼" @@ -917,7 +920,7 @@ "message": "KDF 迭代" }, "kdfIterationsDesc": { - "message": "較高的 KDF 迭代次數可以避免您的主密碼遭到暴力破解。我們建議 $VALUE$ 或更高。", + "message": "較高的 KDF 迭代次數可以避免您的主密碼遭到暴力破解。我們建議為 $VALUE$ 或更高。", "placeholders": { "value": { "content": "$1", @@ -926,7 +929,7 @@ } }, "kdfIterationsWarning": { - "message": "若將 KDF 迭代次數設太高會導致在 CPU 較慢的裝置上登入 ( 與解鎖) Bitwarden 時降低效能。我們建議您增加 $INCREMENT$ 的值並且在所有的裝置上測試。", + "message": "若將 KDF 迭代次數設定太高會導致在 CPU 較慢的裝置上登入(與解鎖)Bitwarden 時降低效能。我們建議您以 $INCREMENT$ 的增量值遞增並在所有的裝置上測試。", "placeholders": { "increment": { "content": "$1", @@ -938,58 +941,58 @@ "message": "變更 KDF" }, "encKeySettingsChanged": { - "message": "已變更加密金鑰設定" + "message": "加密金鑰設定已變更" }, "dangerZone": { "message": "危險操作區" }, "dangerZoneDesc": { - "message": "小心, 以下這些動作是無法復原的!" + "message": "小心,這些動作無法復原!" }, "deauthorizeSessions": { - "message": "取消登入階段" + "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." + "message": "您是否擔心自己的帳戶在其他裝置上登入?請遵照以下步驟取消對之前使用過的所有計算機和裝置的授權。如果您以前使用過公共計算機或不小心曾將密碼儲存在不屬於您的裝置上,則建議執行此安全步驟,此操作還將清除所有以前記住的兩步驟登入會話。" }, "deauthorizeSessionsWarning": { - "message": "接下來會取消目前的登入階段。若您有設定兩步驟登入,也需重新驗證。其他裝置上的登入階段最多可能會保持一個小時。" + "message": "接下來會登出目前的會話,并要求您重新登入。若您有設定兩步驟登入,也需重新認證。其他裝置上的活動會話最多可能會保持一個小時。" }, "sessionsDeauthorized": { - "message": "所有的登入階段已取消授權" + "message": "所有會話已取消授權" }, "purgeVault": { - "message": "清除密碼庫" + "message": "清空密碼庫" }, "purgedOrganizationVault": { - "message": "已清除組織的密碼庫。" + "message": "組織密碼庫已清空。" }, "purgeVaultDesc": { - "message": "請在下方繼續刪除密碼庫當中的所有項目與資料夾。將不會刪除您分享給組織的項目。" + "message": "接下來的操作會刪除密碼庫當中的所有項目與資料夾。屬於組織的共享項目將不會刪除。" }, "purgeOrgVaultDesc": { - "message": "請在下方繼續刪除密碼庫當中的所有項目。" + "message": "接下來的操作將刪除密碼庫當中的所有項目。" }, "purgeVaultWarning": { - "message": "清除密碼庫是永久性的。將無法被還原。" + "message": "清空密碼庫是永久性的。將無法被還原。" }, "vaultPurged": { - "message": "已清除您的密碼庫資料。" + "message": "已清空您的密碼庫。" }, "deleteAccount": { "message": "刪除帳戶" }, "deleteAccountDesc": { - "message": "請在下方繼續刪除帳號,以及所有相關資料。" + "message": "接下來將刪除您的帳戶,以及所有相關資料。" }, "deleteAccountWarning": { - "message": "帳號刪除後就無法再回復。" + "message": "刪除您的帳戶是永久性的。無法復原。" }, "accountDeleted": { - "message": "帳戶已被刪除" + "message": "帳戶已刪除" }, "accountDeletedDesc": { - "message": "您的帳戶已經關閉, 所有關聯資料已經被刪除。" + "message": "您的帳戶已經關閉,所有關聯資料已經被刪除。" }, "myAccount": { "message": "我的帳戶" @@ -1000,9 +1003,24 @@ "importData": { "message": "匯入資料" }, + "importError": { + "message": "Import Error" + }, + "importErrorDesc": { + "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + }, "importSuccess": { "message": "資料已經成功匯入至您的密碼庫中。" }, + "importWarning": { + "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, "importFormatError": { "message": "資料格式不正確。請檢查您匯入的檔案後再重試一次。" }, @@ -1013,13 +1031,13 @@ "message": "選擇匯入檔案的格式" }, "selectImportFile": { - "message": "選擇匯入檔案" + "message": "選擇要匯入的檔案" }, "orCopyPasteFileContents": { - "message": "或複製貼上要匯入的檔案內容" + "message": "或複製/黏貼上要匯入的檔案內容" }, "instructionsFor": { - "message": "$NAME$ 匯入教學", + "message": "$NAME$ 教學", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -1044,10 +1062,10 @@ "message": "變更網頁版密碼庫使用的語言。" }, "disableIcons": { - "message": "停用網站圖示顯示功能" + "message": "停用網站圖標" }, "disableIconsDesc": { - "message": "在您密碼庫的每個登入資料旁顯示一個可辨識圖示。" + "message": "在您密碼庫的每個登入資料旁顯示一個可辨識的圖標。" }, "enableGravatars": { "message": "啟用 Gravatars 頭像", @@ -1057,7 +1075,7 @@ "message": "載入 gravatar.com 上的頭像圖片。" }, "enableFullWidth": { - "message": "啟用全寬度版面配置", + "message": "啟用全寬度佈局", "description": "Allows scaling the web vault UI's width" }, "enableFullWidthDesc": { @@ -1070,7 +1088,7 @@ "message": "網域規則" }, "domainRulesDesc": { - "message": "如果您在多個不同網站使用相同的登入資料,您可以把這些網站標記為 “通用”。Bitwarden 會為您設定 “全域” 域名。" + "message": "如果您在多個不同網站使用相同的登入資料,您可以把這些網站標記為「通用」。Bitwarden 會為您設定 「全域」域名。" }, "globalEqDomains": { "message": "全域通用域名" @@ -1091,7 +1109,7 @@ "message": "新增自訂網域" }, "newCustomDomainDesc": { - "message": "輸入以逗號分隔的網域清單。只允許最基本的網域,請勿輸入子網域名稱。例如,輸入「google.com」即可,而非「www.google.com」。您也可以輸入「androidapp://package.name」來將 Android 應用程式與其他網域名稱關聯起來。" + "message": "輸入以逗號分隔的網域清單。只允許輸入基本網域,請勿輸入子網域名稱。例如,輸入「google.com」即可,而非「www.google.com」。您也可以輸入「androidapp://package.name」來將 Android 應用程式與其他網域名稱關聯起來。" }, "customDomainX": { "message": "自訂網域 $INDEX$", @@ -1112,13 +1130,13 @@ "message": "在登入時執行額外的步驟來保護您的帳戶。" }, "twoStepLoginOrganizationDesc": { - "message": "可透過組織等級的設定,要求所有使用者都必須開啟兩階段登入。" + "message": "可透過組織級別來設定提供方式,以要求所有使用者都必須開啟兩步驟登入。" }, "twoStepLoginRecoveryWarning": { - "message": "啟用兩步驟登入可以永久鎖定您的 Bitwarden 帳戶。如果您無法正常使用兩步驟登入驗證應用程式(例如,您遺失了裝置),則可以使用復原碼造訪您的帳戶。 如果您失去造訪帳戶的權限,Bitwarden 便無法幫助您。所以我們建議您記下或列印復原碼,並將其妥善保管。" + "message": "啟用兩步驟登入可能會將您永久鎖定在您的 Bitwarden 帳戶外。如果您無法正常使用兩步驟登入驗證應用程式(例如,您遺失了裝置),則可以使用復原代碼存取您的帳戶。 如果您失去存取帳戶的權限,Bitwarden 也無法幫助您。所以我們建議您記下或列印復原代碼,並將其妥善保管。" }, "viewRecoveryCode": { - "message": "檢視復原碼" + "message": "檢視復原代碼" }, "providers": { "message": "提供者", @@ -1147,7 +1165,7 @@ "message": "您有進階版存取權限" }, "alreadyPremiumFromOrg": { - "message": "您透過加入的組織,已獲得收費功能。" + "message": "由於您是擁有進階會員的組織的成員,您已獲得進階功能。" }, "manage": { "message": "管理" @@ -1162,13 +1180,13 @@ "message": "輸入您的主密碼以修改兩步驟登入設定。" }, "twoStepAuthenticatorDesc": { - "message": "請依照下列步驟使用驗證器程式,設定兩階段登入:" + "message": "請依照下列步驟設定使用驗證器應用程式的兩步驟登入:" }, "twoStepAuthenticatorDownloadApp": { - "message": "下載兩步驟登入應用程式" + "message": "下載兩步驟認證應用程式" }, "twoStepAuthenticatorNeedApp": { - "message": "需要一套驗證器程式嗎?試試下列程式" + "message": "需要驗證器應用程式嗎?下載以下程式之一" }, "iosDevices": { "message": "iOS 裝置" @@ -1180,28 +1198,28 @@ "message": "Windows 裝置" }, "twoStepAuthenticatorAppsRecommended": { - "message": "推薦使用下列應用程式,但也可使用其他的驗證器。" + "message": "推薦使用這些應用程式,但也可使用其他的驗證器應用程式。" }, "twoStepAuthenticatorScanCode": { - "message": "使用您的驗證器程式掃描此 QR Code" + "message": "使用您的驗證器應用程式掃描此 QR Code" }, "key": { "message": "金鑰" }, "twoStepAuthenticatorEnterCode": { - "message": "請輸入應用程式產生的六位數驗證碼" + "message": "請輸入應用程式產生的 6 位數驗證碼" }, "twoStepAuthenticatorReaddDesc": { - "message": "若您需要加入其他裝置,請使用下列 QR Code 或金鑰加入驗證器程式。" + "message": "若您需要將其加入其他裝置,以下是您的驗證器應用程式所需要的 QR Code 或金鑰。" }, "twoStepDisableDesc": { "message": "您確定要停用兩步驟登入嗎?" }, "twoStepDisabled": { - "message": "已停用兩階段登入提供者。" + "message": "已停用兩步驟登入方式。" }, "twoFactorYubikeyAdd": { - "message": "新增 YubiKey 身分認證裝置至您的帳戶。" + "message": "新增 YubiKey 至您的帳戶。" }, "twoFactorYubikeyPlugIn": { "message": "將 YubiKey 插入電腦的 USB 連接埠。" @@ -1216,13 +1234,13 @@ "message": "儲存表單" }, "twoFactorYubikeyWarning": { - "message": "由於平台限制,無法於所有 Bitwarden 應用程式使用 YubiKeys。請開啟另一套兩階段登入供應者,以確保可在 YubiKeys 無法使用時還能存取帳號。支援的平台有:" + "message": "由於平台限制,無法於所有 Bitwarden 應用程式中使用 YubiKey。請開啟另一套兩步驟登入方式,以確保可在 YubiKey 無法使用時還能存取您的帳戶。支援的平台有:" }, "twoFactorYubikeySupportUsb": { - "message": "在包含可接受您的 YubiKey 的 USB 埠的電腦上的網頁密碼庫、桌面應用程式、命令行介面、所有瀏覽器擴充套件。" + "message": "具有 USB 埠的電腦上的網頁版密碼庫、桌面應用程式、命令行介面以及所有瀏覽器擴充套件均可接受您的 YubiKey 。" }, "twoFactorYubikeySupportMobile": { - "message": "支援 NFC 功能或擁有可接受您的 YubiKey 的 USB 埠的裝置上的行動應用程式。" + "message": "兼容 NFC 功能或擁有數據埠的裝置上的行動應用程式可接受您的 YubiKey。" }, "yubikeyX": { "message": "YubiKey $INDEX$", @@ -1234,7 +1252,7 @@ } }, "u2fkeyX": { - "message": "U2F Key $INDEX$", + "message": "U2F 鑰匙 $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1246,16 +1264,16 @@ "message": "NFC 支援" }, "twoFactorYubikeySupportsNfc": { - "message": "我有一把金鑰支援 NFC。" + "message": "我有一把鑰匙支援 NFC。" }, "twoFactorYubikeySupportsNfcDesc": { - "message": "若您有支援 NFC 的 YubiKey(例如 YubiKey NEO),行動裝置將在 NFC 感應到時提示您。" + "message": "若您有一個支援 NFC 的 YubiKey(例如 YubiKey NEO),行動裝置在感應到 NFC 時将提示您。" }, "yubikeysUpdated": { - "message": "YubiKeys 已更新" + "message": "YubiKey 已更新" }, "disableAllKeys": { - "message": "停用全部金鑰" + "message": "停用全部鑰匙" }, "twoFactorDuoDesc": { "message": "請輸入來自您的 Duo 管理面板的 Bitwarden 應用程式資訊。" @@ -1270,28 +1288,28 @@ "message": "API 主機名稱" }, "twoFactorEmailDesc": { - "message": "請依照下列步驟使用電子郵件,設定兩階段登入:" + "message": "請依照下列步驟設定使用電子郵件的兩步驟登入:" }, "twoFactorEmailEnterEmail": { - "message": "請輸入您想要用來收到驗證碼的電子郵件信箱" + "message": "輸入您希望接收驗證碼的電子郵件位址" }, "twoFactorEmailEnterCode": { - "message": "請輸入電子郵件中的六位數驗證碼" + "message": "請輸入電子郵件中的 6 位數驗證碼" }, "sendEmail": { "message": "傳送電子郵件" }, "twoFactorU2fAdd": { - "message": "在您的帳戶中新增 FIDO U2F 安全金鑰" + "message": "在您的帳戶中新增 FIDO U2F 安全鑰匙" }, "removeU2fConfirmation": { - "message": "您確定要移除這把安全金鑰嗎?" + "message": "您確定要移除這把安全鑰匙嗎?" }, "readKey": { - "message": "讀取金鑰" + "message": "讀取鑰匙" }, "keyCompromised": { - "message": "金鑰已洩漏。" + "message": "鑰匙已損壞。" }, "twoFactorU2fGiveName": { "message": "給安全鑰匙起一個友好的名稱,以方便識別。" @@ -1306,25 +1324,25 @@ "message": "儲存表單" }, "twoFactorU2fWarning": { - "message": "由於平台限制,無法於所有 Bitwarden 應用程式使用 FIDO U2F。請開啟另一套兩階段登入供應者,以確保 FIDO U2F 無法使用時還能存取帳號。支援的平台有:" + "message": "由於平台限制,無法於所有 Bitwarden 應用程式中使用 FIDO U2F。請開啟另一套兩步驟登入方式,以確保 FIDO U2F 無法使用時還能存取您的帳戶。支援的平台有:" }, "twoFactorU2fSupportWeb": { - "message": "支援 U2F 的桌面/筆記本電腦上的網頁密碼庫和啓用 U2F 的瀏覽器 (Chrome, Opera, Vivaldi, 或啓用了 FIDO U2F 的 Firefox)。" + "message": "桌面/筆記本電腦上啓用了 U2F 的瀏覽器(Chrome、Opera、Vivaldi 或啓用了 FIDO U2F 的 Firefox)中的網頁版密碼庫和瀏覽器擴充套件。" }, "twoFactorU2fWaiting": { - "message": "等待您按下加密鑰匙上的按鈕" + "message": "等待您按下安全鑰匙上的按鈕" }, "twoFactorU2fClickSave": { - "message": "按下底下的「儲存」按鈕,啟用此加密鑰匙以用於兩步驟登入。" + "message": "點擊下方的「儲存」按鈕,以啟用此安全鑰匙用於兩步驟登入。" }, "twoFactorU2fProblemReadingTryAgain": { - "message": "讀取安全金鑰時發生問題。請重試。" + "message": "讀取安全鑰匙時發生問題。請重試。" }, "twoFactorRecoveryYourCode": { - "message": "您的 Bitwarden 兩步驟登入復原碼" + "message": "您的 Bitwarden 兩步驟登入復原代碼" }, "twoFactorRecoveryNoCode": { - "message": "您尚未啟用任何兩步驟登入提供者。等你啟用兩步驟登入提供者後,您可回來這裡取得復原碼。" + "message": "您尚未啟用任何兩步驟登入方式。等你啟用兩步驟登入方式後,您可回來這裡取得復原代碼。" }, "printCode": { "message": "列印代碼", @@ -1337,13 +1355,13 @@ "message": "回報不安全的網站" }, "unsecuredWebsitesReportDesc": { - "message": "使用 http:// 配置的不安全網站有風險。如果網站允許,您應永遠使用 https:// 配置存取此網站,這樣您的連線才是加密過的。" + "message": "使用帶 http:// 方案的不安全網站有風險。如果網站允許,您應永遠使用 https:// 方案存取此網站,這樣您的連線才是加密過的。" }, "unsecuredWebsitesFound": { "message": "發現不安全的網站" }, "unsecuredWebsitesFoundDesc": { - "message": "我們在您的密碼庫找到 $COUNT$ 個使用不安全網址的項目。如果網站允許,您應變更其網址配置至 https://。", + "message": "我們在您的密碼庫中找到 $COUNT$ 個使用不安全 URI 的項目。如果網站允許,您應變更其網址方案為 https://。", "placeholders": { "count": { "content": "$1", @@ -1352,19 +1370,19 @@ } }, "noUnsecuredWebsites": { - "message": "您的密碼庫沒有使用不安全網址的項目。" + "message": "您的密碼庫中沒有使用不安全 URI 的項目。" }, "inactive2faReport": { "message": "無效 2FA 報告" }, "inactive2faReportDesc": { - "message": "兩步驟驗證 (2FA) 是個協助保護您帳號的重要安全性設定。如果網站提供 2FA,您應永遠啟用。" + "message": "兩步驟認證(2FA)是協助保護您帳號安全的一個重要安全性設定。如果網站提供兩步驟認證,您應永遠啟用它。" }, "inactive2faFound": { - "message": "找到沒有 2FA 的登入資訊" + "message": "發現未啟用 2FA 的登入資料" }, "inactive2faFoundDesc": { - "message": "我們在密碼庫找到 $COUNT$ 個可能未設定兩步驟驗證的網站(根據 2fa.directory)。若要更加保護這些帳號,您應啟用兩步驟驗證。", + "message": "我們在您的密碼庫中找到 $COUNT$ 個可能未設定兩步驟認證的網站(根據 twofactorauth.org)。若要更加保護這些帳號,您應啟用兩步驟認證。", "placeholders": { "count": { "content": "$1", @@ -1373,22 +1391,22 @@ } }, "noInactive2fa": { - "message": "未在您的密碼庫找到未設定兩步驟驗證的網站。" + "message": "沒有在您的密碼庫中找到未設定兩步驟認證的網站。" }, "instructions": { "message": "說明" }, "exposedPasswordsReport": { - "message": "Exposed Passwords Report" + "message": "公開密碼報告" }, "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." + "message": "公開密碼是在公開發布或黑客在暗網上出售的已知資料洩露中發現的密碼。" }, "exposedPasswordsFound": { - "message": "Exposed Passwords Found" + "message": "發現公開密碼" }, "exposedPasswordsFoundDesc": { - "message": "我們在您的密碼庫找到 $COUNT$ 個密碼公開在已知資料洩漏中的項目。您應將這些變更成新密碼。", + "message": "我們在您的密碼庫中找到 $COUNT$ 個項目的密碼在已知資料洩漏中被公開。您應將他們變更成新密碼。", "placeholders": { "count": { "content": "$1", @@ -1397,10 +1415,10 @@ } }, "noExposedPasswords": { - "message": "未在您的密碼庫找到密碼公開在已知資料洩漏中的項目。" + "message": "未在您的密碼庫中找到密碼公開在已知資料洩漏中的項目。" }, "checkExposedPasswords": { - "message": "Check Exposed Passwords" + "message": "檢查公開密碼" }, "exposedXTimes": { "message": "已公開 $COUNT$ 次", @@ -1418,10 +1436,10 @@ "message": "弱密碼可以輕易的被駭客和用於破解密碼的自動化工具猜中。Bitwarden 密碼生成器可以幫助您創建強密碼。" }, "weakPasswordsFound": { - "message": "發現不夠安全的密碼" + "message": "發現弱密碼" }, "weakPasswordsFoundDesc": { - "message": "我們在您的密碼庫中發現了 $COUNT$ 個使用弱密碼的項目。您應該將它們改為更強的密碼。", + "message": "我們在您的密碼庫中發現了 $COUNT$ 個使用弱密碼的項目。您應該將它們變更為更強的密碼。", "placeholders": { "count": { "content": "$1", @@ -1430,19 +1448,19 @@ } }, "noWeakPasswords": { - "message": "您的密碼庫未有項目有脆弱密碼。" + "message": "您的密碼庫中沒有項目具有弱密碼。" }, "reusedPasswordsReport": { - "message": "密碼重複使用報告" + "message": "重複使用密碼報告" }, "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." + "message": "如果你使用的服務被洩露,在其他地方重複使用相同的密碼可以讓駭客很容易地訪問你的更多線上帳戶。您應該為每個帳戶或服務使用唯一的密碼。" }, "reusedPasswordsFound": { - "message": "發現密碼重複使用" + "message": "發現重複使用的密碼" }, "reusedPasswordsFoundDesc": { - "message": "我們發現您的密碼庫中有 $COUNT$ 組密碼重複使用。您應該將它們更改為唯一的密碼。", + "message": "我們發現您的密碼庫中有 $COUNT$ 組密碼重複使用。您應該將它們變更為唯一的密碼。", "placeholders": { "count": { "content": "$1", @@ -1466,10 +1484,10 @@ "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": "「洩漏」是指駭客非法存取網站資料然後公開發佈的事件。檢視已遭洩漏的資料類型(電子郵件地址、密碼、信用卡等)並採取適當的措施,例如變更密碼。" }, "breachCheckUsernameEmail": { - "message": "請檢查您所用的使用者名稱或電子信箱位址。" + "message": "請檢查您使用的使用者名稱或電子郵件位址。" }, "checkBreaches": { "message": "檢查密碼外洩情況" @@ -1501,7 +1519,7 @@ } }, "breachFound": { - "message": "發現被洩漏的帳號資料" + "message": "發現被洩漏的帳戶" }, "compromisedData": { "message": "遭洩漏的資料" @@ -1522,10 +1540,10 @@ "message": "嘗試載入報告時發生錯誤。請重試。" }, "billing": { - "message": "帳單" + "message": "計費" }, "accountCredit": { - "message": "帳戶餘額", + "message": "帳戶信用額度", "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "accountBalance": { @@ -1541,13 +1559,13 @@ "description": "Dollar amount, or quantity." }, "creditDelayed": { - "message": "已加入的信用卡在交易處理完全後將會出現在你的帳號。部分付款方式較為緩慢,比其他方式花費更多時間處理。" + "message": "已增加的信用額度在交易處理完成後將會出現在你的帳戶中。部分付款方式較為緩慢,會比其他方式花費更多時間處理。" }, "makeSureEnoughCredit": { - "message": "請確認你的帳號有足夠額度繳付此次購買,如果你的帳號額度不足,則會以你預設付款方式補足差額。你可以從帳單頁面新增額度到您的帳號。" + "message": "請確保你的帳戶有足夠的信用額度繳付此次購買,如果你的帳戶額度不足,則會以你預設的付款方式補足差額。你可以透過計費頁面向您的帳戶添加信用額度。" }, "creditAppliedDesc": { - "message": "您的帳戶餘額可用於進行消費。若有可用的餘額將自動支付此帳戶的帳單。" + "message": "您帳戶的信用額度可用於消費。任何可用的信用額度將用于自動支付此帳戶的帳單。" }, "goPremium": { "message": "升級至進階版", @@ -1557,19 +1575,22 @@ "message": "您已升級至進階版" }, "premiumUpgradeUnlockFeatures": { - "message": "將您的帳戶升級至進階版, 並解鎖更多方便的功能。" + "message": "將您的帳戶升級至進階版,並解鎖一些出色的附加功能。" }, "premiumSignUpStorage": { "message": "用於檔案附件的 1 GB 的加密檔案儲存空間。" }, "premiumSignUpTwoStep": { - "message": "YubiKey,FIDO U2F 和 Duo 等額外的兩步驟登入選項。" + "message": "YubiKey、FIDO U2F 和 Duo 等額外的兩步驟登入選項。" + }, + "premiumSignUpEmergency": { + "message": "Emergency Access" }, "premiumSignUpReports": { - "message": "密碼健康度檢查、提供帳戶體檢以及資料外洩報告,以保障您的密碼庫安全。" + "message": "密碼健康、帳戶體檢以及資料外洩報告,保障您的密碼庫安全。" }, "premiumSignUpTotp": { - "message": "用於您的登入資料的 TOTP 驗證碼 (2FA) 產生器。" + "message": "用於登入您的密碼庫的 TOTP 驗證碼 (2FA) 產生器。" }, "premiumSignUpSupport": { "message": "優先客戶支援。" @@ -1590,10 +1611,10 @@ "message": "附加項目" }, "premiumAccess": { - "message": "Premium Access" + "message": "進階存取" }, "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", + "message": "您可以為您的組織的所有使用者添加進階存取,只需 $PRICE$ /$INTERVAL$.", "placeholders": { "price": { "content": "$1", @@ -1606,7 +1627,7 @@ } }, "additionalStorageGb": { - "message": "額外的儲存空間 (GB)" + "message": "附加儲存空間 (GB)" }, "additionalStorageGbDesc": { "message": "# GB 附加儲存空間" @@ -1645,10 +1666,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": "將立即從您的付款方式中扣款,並且將每年定期扣款。您可隨時取消。" }, "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", + "message": "將立即從您的付款方式中扣款,並且將每 $INTERVAL$ 定期扣款。您可隨時取消。", "placeholders": { "interval": { "content": "$1", @@ -1657,7 +1678,7 @@ } }, "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": "您的方案包含了 7 天的免費試用。在試用期結束之前,不會從您的付款方式中扣款。隨後將會每 $INTERVAL$ 定期扣款。你可隨時取消。", "placeholders": { "interval": { "content": "$1", @@ -1675,7 +1696,7 @@ "message": "信用卡" }, "paypalClickSubmit": { - "message": "點擊PayPal按鈕登入您的PayPal帳戶,然後點擊下面的Submit按鈕以繼續。" + "message": "點擊 PayPal 按鈕登入您的 PayPal 帳戶,然後點擊下面的提交按鈕以繼續。" }, "cancelSubscription": { "message": "取消訂閱" @@ -1684,28 +1705,28 @@ "message": "訂閱已被取消" }, "pendingCancellation": { - "message": "Pending Cancellation" + "message": "待取消" }, "subscriptionPendingCanceled": { - "message": "訂閱在當期帳單周期结束時已標記為取消。" + "message": "訂閱在當期計費周期结束前已標記為取消。" }, "reinstateSubscription": { "message": "重新開始訂閱" }, "reinstateConfirmation": { - "message": "您是否要移除待處理的取消要求,重新開始您的訂閱?" + "message": "您是否要移除待處理的取消請求,重新開始您的訂閱?" }, "reinstated": { "message": "已重新開始訂閱。" }, "cancelConfirmation": { - "message": "您確定要取消訂閱嗎?當本期帳單到期後,您將無法使用所有的訂閱功能。" + "message": "您確定要取消訂閱嗎?當本期計費周期結束後,您將無法使用此訂閲的所有功能。" }, "canceledSubscription": { - "message": "The subscription has been canceled." + "message": "此訂閱已重新開始。" }, "neverExpires": { - "message": "永不過期" + "message": "永不逾期" }, "status": { "message": "狀態" @@ -1735,10 +1756,10 @@ "message": "增加儲存空間" }, "removeStorage": { - "message": "減少儲存空間" + "message": "移除儲存空間" }, "subscriptionStorage": { - "message": "您的訂閱方案包含 $MAX_STORAGE$ GB 的加密檔案儲存空間,目前已用 $USED_STORAGE$。", + "message": "您的訂閱方案包含 $MAX_STORAGE$ GB 的加密檔案儲存空間,目前已使用 $USED_STORAGE$。", "placeholders": { "max_storage": { "content": "$1", @@ -1763,10 +1784,10 @@ "message": "變更付款方式" }, "invoices": { - "message": "收據" + "message": "發票" }, "noInvoices": { - "message": "無收據" + "message": "無發票" }, "paid": { "message": "已付款", @@ -1777,11 +1798,11 @@ "description": "Past tense status of an invoice. ex. Paid or unpaid." }, "transactions": { - "message": "交易", + "message": "交易紀錄", "description": "Payment/credit transactions." }, "noTransactions": { - "message": "無交易" + "message": "無交易記錄" }, "chargeNoun": { "message": "費用", @@ -1801,16 +1822,16 @@ } }, "gbStorageAdd": { - "message": "GB of Storage To Add" + "message": "GB 儲存空間將增加" }, "gbStorageRemove": { - "message": "GB of Storage To Remove" + "message": "GB 儲存空間將移除" }, "storageAddNote": { - "message": "增添存儲空間將會調整帳單總額,並立即透過您的支付方式進行扣款程序。第一期費用將按照當前帳單週期的剩餘數依比例分配。" + "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": "已調整 $AMOUNT$ GB 的儲存空間。", @@ -1822,13 +1843,13 @@ } }, "contactSupport": { - "message": "連絡客戶支援部門" + "message": "聯絡客戶支援部門" }, "updatedPaymentMethod": { "message": "已更新付款方式。" }, "purchasePremium": { - "message": "購買進階會員資格" + "message": "購買進階版" }, "licenseFile": { "message": "授權檔案" @@ -1843,16 +1864,16 @@ } }, "uploadLicenseFilePremium": { - "message": "您需要上傳有效的授權檔案以升級取得進階會員資格 。" + "message": "要升級您的帳戶為進階版會員,您需要上傳有效的授權檔案。" }, "uploadLicenseFileOrg": { - "message": "To create an on-premise hosted organization you need to upload a valid license file." + "message": "要創建基於內部寄管的組織,您需要上傳有效的授權證檔案。" }, "accountEmailMustBeVerified": { - "message": "您必須驗證電子郵件。" + "message": "必須驗證您帳戶的電子郵件位址。" }, "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": "一般資訊" @@ -1861,10 +1882,10 @@ "message": "組織名稱" }, "accountOwnedBusiness": { - "message": "此帳戶為企業所有。" + "message": "此帳戶為公司所有。" }, "billingEmail": { - "message": "電子郵件帳單" + "message": "帳單電子郵件" }, "businessName": { "message": "公司名稱" @@ -1876,16 +1897,16 @@ "message": "使用者" }, "userSeats": { - "message": "使用者數量" + "message": "使用者席位" }, "additionalUserSeats": { - "message": "額外使用者席位" + "message": "附加使用者席位" }, "userSeatsDesc": { - "message": "# 使用者數" + "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", @@ -1898,14 +1919,14 @@ } }, "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." + "message": "您需要多少個使用者席位?您也可以在需要的時候添加附加席位。" }, "planNameFree": { "message": "免費", "description": "Free as in 'free beer'." }, "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", + "message": "適用於測試或個人使用者與 $COUNT$ 位其他使用者共享。", "placeholders": { "count": { "content": "$1", @@ -1917,25 +1938,25 @@ "message": "家庭" }, "planDescFamilies": { - "message": "個人使用,與家人及朋友分享。" + "message": "適用於個人使用,與家人及朋友共享。" }, "planNameTeams": { "message": "團隊" }, "planDescTeams": { - "message": "For businesses and other team organizations." + "message": "適用於企業和其他團隊組織。" }, "planNameEnterprise": { "message": "企業" }, "planDescEnterprise": { - "message": "For businesses and other large organizations." + "message": "適用於企業和其他大型組織。" }, "freeForever": { "message": "永遠免費" }, "includesXUsers": { - "message": "有 $COUNT$ 位使用者", + "message": "包含 $COUNT$ 位使用者", "placeholders": { "count": { "content": "$1", @@ -1944,7 +1965,7 @@ } }, "additionalUsers": { - "message": "Additional Users" + "message": "附加使用者" }, "costPerUser": { "message": "每位使用者 $COST$", @@ -1965,7 +1986,7 @@ } }, "limitedCollections": { - "message": "限制 $COUNT$ 個收藏", + "message": "限制 $COUNT$ 個集合", "placeholders": { "count": { "content": "$1", @@ -1974,7 +1995,7 @@ } }, "addShareLimitedUsers": { - "message": "新增,並與最多 $COUNT$ 位使用者分享", + "message": "新增並與最多 $COUNT$ 位使用者共享", "placeholders": { "count": { "content": "$1", @@ -1983,10 +2004,10 @@ } }, "addShareUnlimitedUsers": { - "message": "新增,並與無限位使用者分享" + "message": "新增並與無限位使用者共享" }, "createUnlimitedCollections": { - "message": "建立無限收藏" + "message": "創建無限個集合" }, "gbEncryptedFileStorage": { "message": "$SIZE$ 加密檔案儲存空間。", @@ -1998,13 +2019,13 @@ } }, "onPremHostingOptional": { - "message": "內部寄管(選用)" + "message": "內部寄管(可選)" }, "usersGetPremium": { - "message": "使用者取得了進階成員功能的存取權限" + "message": "使用者取得了進階功能的存取權限" }, "controlAccessWithGroups": { - "message": "使用群組控制使用者存取" + "message": "使用群組控制使用者的存取權限" }, "syncUsersFromDirectory": { "message": "從目錄同步使用者及群組" @@ -2013,7 +2034,7 @@ "message": "使用稽核記錄追蹤使用者動作" }, "enforce2faDuo": { - "message": "強制使用 Duo 兩步驟驗證" + "message": "強制使用 Duo 2FA" }, "priorityCustomerSupport": { "message": "優先客戶支援" @@ -2040,7 +2061,7 @@ "message": "組織已建立" }, "organizationReadyToGo": { - "message": "Your new organization is ready to go!" + "message": "您的新組織已準備好!" }, "organizationUpgraded": { "message": "您的組織已被升級。" @@ -2049,13 +2070,13 @@ "message": "離開" }, "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" + "message": "您確定要離開這個組織嗎?" }, "leftOrganization": { "message": "您已離開組織。" }, "defaultCollection": { - "message": "預設收藏" + "message": "預設集合" }, "getHelp": { "message": "尋求幫助" @@ -2073,10 +2094,10 @@ "message": "人員" }, "policies": { - "message": "原則" + "message": "政策" }, "editPolicy": { - "message": "編輯原則" + "message": "編輯策略" }, "groups": { "message": "群組" @@ -2085,7 +2106,7 @@ "message": "新增群組" }, "addGroup": { - "message": "新增群組" + "message": "添加群組" }, "editGroup": { "message": "編輯群組" @@ -2100,7 +2121,7 @@ "message": "外部 ID" }, "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." + "message": "外部 ID 可用於參考,或將此資源與使用者目錄等外部系統連接起來。" }, "accessControl": { "message": "存取控制" @@ -2109,22 +2130,22 @@ "message": "此群組可存取及修改所有項目。" }, "groupAccessSelectedCollections": { - "message": "此群組只能存取選擇的收藏。" + "message": "此群組只能存取選擇的集合。" }, "readOnly": { - "message": "唯讀" + "message": "只讀" }, "newCollection": { - "message": "新增收藏" + "message": "新增集合" }, "addCollection": { - "message": "加入收藏" + "message": "添加集合" }, "editCollection": { - "message": "編輯收藏" + "message": "編輯集合" }, "deleteCollectionConfirmation": { - "message": "確定刪除此收藏?" + "message": "確定要刪除此集合嗎?" }, "editUser": { "message": "編輯使用者" @@ -2133,10 +2154,10 @@ "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": "在下面輸入 Bitwarden 賬戶的電子郵件位址,以邀請新使用者加入您的組織。如果他們沒有 Bitwarden 賬戶,將提示他們創建一個。" }, "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", + "message": "透過使用逗號分隔的電子郵件位址,您可以一次性邀請 $COUNT$ 位使用者。", "placeholders": { "count": { "content": "$1", @@ -2145,13 +2166,13 @@ } }, "userUsingTwoStep": { - "message": "此使用者正在使用兩步驟登入保護帳號。" + "message": "此使用者正在使用兩步驟登入保護帳戶。" }, "userAccessAllItems": { "message": "此使用者可存取及修改所有項目。" }, "userAccessSelectedCollections": { - "message": "此使用者只能存取選擇的收藏。" + "message": "此使用者只能存取選擇的集合。" }, "search": { "message": "搜尋" @@ -2169,31 +2190,31 @@ "message": "擁有者" }, "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." + "message": "可以管理組織的所有方面的具有最高權限的使用者。" }, "admin": { "message": "管理員" }, "adminDesc": { - "message": " Admins can access and manage all items, collections and users in your organization." + "message": "管理員可以存取和管理組織内的所有項目、集合和使用者。" }, "user": { "message": "使用者" }, "userDesc": { - "message": "A regular user with access to your organization's collections." + "message": "具有組織内已分配的集合的存取權限的普通使用者。" }, "manager": { - "message": "管理員" + "message": "經理" }, "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." + "message": "經理可以存取和管理組織内所分配的集合。" }, "all": { "message": "全部" }, "refresh": { - "message": "重新整理" + "message": "刷新" }, "timestamp": { "message": "時間戳記" @@ -2235,7 +2256,7 @@ "message": "已停用兩步驟登入。" }, "recovered2fa": { - "message": "已從兩步驟登入復原帳號。" + "message": "已透過兩步驟登入復原帳戶。" }, "failedLogin": { "message": "登入失敗,密碼錯誤。" @@ -2244,13 +2265,13 @@ "message": "登入失敗,兩步驟登入錯誤。" }, "exportedVault": { - "message": "匯出密碼庫" + "message": "已匯出密碼庫" }, "exportedOrganizationVault": { - "message": "匯出組織密碼庫" + "message": "已匯出組織密碼庫" }, "editedOrgSettings": { - "message": "Edited organization settings." + "message": "已編輯組織設定。" }, "createdItemId": { "message": "已建立項目 $ID$。", @@ -2271,7 +2292,7 @@ } }, "deletedItemId": { - "message": "已刪除項目 $ID$。", + "message": "傳送項目 $ID$ 到垃圾桶。", "placeholders": { "id": { "content": "$1", @@ -2280,7 +2301,7 @@ } }, "sharedItemId": { - "message": "已分享項目 $ID$。", + "message": "已共享項目 $ID$。", "placeholders": { "id": { "content": "$1", @@ -2289,7 +2310,7 @@ } }, "viewedItemId": { - "message": "查看了項目 $ID$", + "message": "檢視了項目 $ID$。", "placeholders": { "id": { "content": "$1", @@ -2298,7 +2319,7 @@ } }, "viewedPasswordItemId": { - "message": "查看了項目 $ID$的密碼", + "message": "檢視了項目 $ID$ 的密碼。", "placeholders": { "id": { "content": "$1", @@ -2307,7 +2328,7 @@ } }, "viewedHiddenFieldItemId": { - "message": "查看了項目 $ID$的隱藏欄位", + "message": "檢視了項目 $ID$ 的隱藏欄位。", "placeholders": { "id": { "content": "$1", @@ -2316,7 +2337,7 @@ } }, "viewedSecurityCodeItemId": { - "message": "查看了項目$ID$的安全碼", + "message": "檢視了項目 $ID$ 的安全代碼。", "placeholders": { "id": { "content": "$1", @@ -2325,7 +2346,7 @@ } }, "copiedPasswordItemId": { - "message": "複製了項目 $ID$的密碼", + "message": "複製了項目 $ID$ 的密碼。", "placeholders": { "id": { "content": "$1", @@ -2334,7 +2355,7 @@ } }, "copiedHiddenFieldItemId": { - "message": "複製了項目 $ID$的隱藏欄位", + "message": "複製了項目 $ID$ 的隱藏欄位。", "placeholders": { "id": { "content": "$1", @@ -2352,7 +2373,7 @@ } }, "autofilledItemId": { - "message": "自動填入了項目$ID$", + "message": "項目 $ID$ 已自動填入。", "placeholders": { "id": { "content": "$1", @@ -2370,7 +2391,7 @@ } }, "editedCollectionId": { - "message": "已編輯收藏 $ID$。", + "message": "已編輯集合 $ID$。", "placeholders": { "id": { "content": "$1", @@ -2379,7 +2400,7 @@ } }, "deletedCollectionId": { - "message": "已刪除收藏 $ID$。", + "message": "已刪除集合 $ID$。", "placeholders": { "id": { "content": "$1", @@ -2388,7 +2409,7 @@ } }, "editedPolicyId": { - "message": "已編輯原則 $ID$。", + "message": "已編輯策略 $ID$。", "placeholders": { "id": { "content": "$1", @@ -2451,7 +2472,7 @@ } }, "editedCollectionsForItem": { - "message": "已為項目 $ID$ 編輯收藏。", + "message": "已為項目 $ID$ 編輯集合。", "placeholders": { "id": { "content": "$1", @@ -2460,7 +2481,7 @@ } }, "invitedUserId": { - "message": "使用者 $ID$ 無效。", + "message": "已邀請使用者 $ID$。", "placeholders": { "id": { "content": "$1", @@ -2496,7 +2517,7 @@ } }, "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", + "message": "已爲使用者 $ID$ 取消連接 SSO。", "placeholders": { "id": { "content": "$1", @@ -2562,7 +2583,7 @@ "message": "確認使用者" }, "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." + "message": "您的使用者已接受邀請,但仍需要被確認。使用者只有在被確認後才能擁有對組織的存取權限。" }, "startDate": { "message": "開始日期" @@ -2574,19 +2595,19 @@ "message": "驗證電子郵件" }, "verifyEmailDesc": { - "message": "驗證您的電子郵件位址以使用所有的功能。" + "message": "驗證您帳戶的電子郵件位址以存取所有功能。" }, "verifyEmailFirst": { - "message": "Your account's email address first must be verified." + "message": "首先必須驗證您帳戶的電子郵件位址。" }, "checkInboxForVerification": { - "message": "請檢查收件箱以取得驗證連結。" + "message": "請檢查電子郵件收件箱以取得驗證連結。" }, "emailVerified": { - "message": "您的電子信箱已經驗證。" + "message": "您的電子郵件已驗證。" }, "emailVerifiedFailed": { - "message": "無法驗證電子信箱。請嘗試重寄一封驗證電子信件。" + "message": "無法驗證電子郵件。請嘗試傳送一封新的驗證電子郵件。" }, "updateBrowser": { "message": "更新瀏覽器" @@ -2598,16 +2619,16 @@ "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": "邀請已接受" }, "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." + "message": "管理員確認您的成員身份後,您便可以存取該組織。發生這種情況時,我們會給您傳送一封電子郵件。" }, "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." + "message": "無法接受邀請。請向管理員請求傳送一個新的邀請。" }, "inviteAcceptFailedShort": { "message": "無法接受邀請。$DESCRIPTION$", @@ -2619,28 +2640,28 @@ } }, "rememberEmail": { - "message": "記住電子郵件地址" + "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." + "message": "如果您無法透過常規的兩步驟登入方式存取您的帳戶,您可以使用兩步驟登入復原代碼來停用帳戶上的所有兩步驟登入方式。" }, "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" + "message": "復原帳戶的兩步驟登入" }, "twoStepRecoverDisabled": { - "message": "兩步驟登入已在您的帳號停用。" + "message": "兩步驟登入已在您的帳戶中停用。" }, "learnMore": { "message": "了解更多" }, "deleteRecoverDesc": { - "message": "請在下方輸入您的電子信箱位址以復原及刪除您的帳號。" + "message": "請在下方輸入您的電子郵件位址以復原及刪除您的帳戶。" }, "deleteRecoverEmailSent": { - "message": "如果您的帳號存在,我們已寄送包含進一步指示的電子信件。" + "message": "如果您的帳號存在,我們已傳送一封包含進一步指示的電子郵件。" }, "deleteRecoverConfirmDesc": { - "message": "您已請求刪除您的 Bitwarden 帳號。點擊下方的按鈕確認。" + "message": "您已請求刪除您的 Bitwarden 帳戶。點擊下方的按鈕確認。" }, "myOrganization": { "message": "我的組織" @@ -2649,16 +2670,16 @@ "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": "已刪除組織" + "message": "組織已刪除" }, "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." + "message": "該組織和所有關聯資料已刪除。" }, "organizationUpdated": { "message": "組織已更新" @@ -2667,7 +2688,7 @@ "message": "稅務資訊" }, "taxInformationDesc": { - "message": "請聯絡支援部門提供(或更新)您收據的稅務資訊。" + "message": "對於美國境內的客戶,需要使用郵遞區號來滿足銷售稅要求,對於其他國家,您可以選擇提供稅務識別號(VAT/GST)和/或地址以顯示在您的發票上。" }, "billingPlan": { "message": "方案", @@ -2678,11 +2699,11 @@ "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan be providing the information below. 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." }, "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." }, "invoiceNumber": { @@ -2696,7 +2717,7 @@ } }, "viewInvoice": { - "message": "檢視收據" + "message": "檢視發票" }, "downloadInvoice": { "message": "下載發票" @@ -2705,16 +2726,16 @@ "message": "驗證銀行帳戶" }, "verifyBankAccountDesc": { - "message": "我們已匯入了兩筆小額款項到您的銀行帳號(可能要 1-2 工作天後才會出現)。請在此輸入這兩筆款項金額做為驗證。" + "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": "驗證銀行帳戶失敗將會導致付款失效,而且您的訂閱將會被取消。" + "message": "驗證銀行帳戶失敗將會導致錯過付款,并且您的訂閱將會被取消。" }, "verifiedBankAccount": { - "message": "已驗證您的銀行帳號。" + "message": "已驗證您的銀行帳戶。" }, "bankAccount": { "message": "銀行帳戶" @@ -2734,7 +2755,7 @@ "description": "Bank account routing number" }, "accountNumber": { - "message": "帳戶" + "message": "帳戶號碼" }, "accountHolderName": { "message": "帳戶持有人姓名" @@ -2749,7 +2770,7 @@ "message": "個人" }, "enterInstallationId": { - "message": "Enter your installation id" + "message": "輸入您的安裝 ID" }, "addSeats": { "message": "新增席位", @@ -2775,13 +2796,13 @@ "message": "要移除的席位數" }, "seatsAddNote": { - "message": "增添用戶數將會調整帳單總額,並立即透過您的支付方式進行扣款程序。第一期費用將按照當前帳單週期的剩餘數依比例分配。" + "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": "已調整為 $AMOUNT$ 個使用者席位。", + "message": "調整了 $AMOUNT$ 個使用者席位。", "placeholders": { "amount": { "content": "$1", @@ -2799,16 +2820,16 @@ "message": "更新加密金鑰" }, "updateEncryptionKeyShortDesc": { - "message": "您目前使用的是過時的加密方式。" + "message": "您目前使用的是過時的加密方案。" }, "updateEncryptionKeyDesc": { - "message": "我們已經採用更強大的加密金鑰,而此金鑰提供了更強的安全機制及更新功能。更新您的加密金鑰非常簡單快速,僅需要輸入您的主密碼。此次更新最終將強制執行。" + "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 應用程式(如移動應用程式或瀏覽器擴充套件)。登出和重新登入(這會下載新的加密金鑰)失敗可能會導致數據損壞。我們將嘗試自動登出,但可能會有延遲。" }, "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "message": "您儲存的任何加密匯出也將變為無效。" }, "subscription": { "message": "訂閱" @@ -2823,25 +2844,25 @@ "message": "升級組織" }, "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." + "message": "免費組織不提供此功能。切換到付費方案以解鎖更多功能。" }, "createOrganizationStep1": { - "message": "建立組織:步驟 1" + "message": "創建組織:步驟 1" }, "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." + "message": "在創建組織之前,首先需要創建一個免費的個人帳戶。" }, "refunded": { "message": "已退款" }, "nothingSelected": { - "message": "您沒有選擇任何項目。" + "message": "您沒有選取任何内容。" }, "acceptPolicies": { - "message": "點擊此選取框,代表您同意下列項目:" + "message": "勾選此選取框,代表您同意下列項目:" }, "acceptPoliciesError": { - "message": "尚未接受服務條款與隱私權保護政策。" + "message": "尚未接受服務條款與隱私權政策。" }, "termsOfService": { "message": "服務條款" @@ -2856,7 +2877,7 @@ "message": "密碼庫逾時" }, "vaultTimeoutDesc": { - "message": "選擇密碼庫多久之後才會逾時並執行選取動作。" + "message": "選擇密碼庫多久之後逾時並執行選取的動作。" }, "oneMinute": { "message": "1 分鐘" @@ -2877,7 +2898,7 @@ "message": "4 小時" }, "onRefresh": { - "message": "於瀏覽器重新重新整理時" + "message": "瀏覽器刷新時" }, "dateUpdated": { "message": "已更新", @@ -2888,33 +2909,33 @@ "description": "ex. Date this password was updated" }, "organizationIsDisabled": { - "message": "已停用組織。" + "message": "組織已停用。" }, "licenseIsExpired": { - "message": "授權已過期。" + "message": "授權已逾期。" }, "updatedUsers": { - "message": "更新使用者" + "message": "使用者已更新" }, "selected": { "message": "已選擇" }, "ownership": { - "message": "所有權" + "message": "擁有權" }, "whoOwnsThisItem": { "message": "誰擁有這個項目?" }, "strong": { - "message": "高強度", + "message": "強", "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" }, "good": { - "message": "不錯", + "message": "好", "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" }, "weak": { - "message": "脆弱", + "message": "弱", "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "veryWeak": { @@ -2925,40 +2946,40 @@ "message": "主密碼強度太弱" }, "weakMasterPasswordDesc": { - "message": "您設定的主密碼很脆弱。您應該使用高強度的密碼 (複雜密碼) 來正確保護您的 bitwarden 帳戶。仍要使用此密碼嗎?" + "message": "您設定的主密碼很脆弱。您應該使用高強度的密碼(或密碼短語)來正確保護您的 bitwarden 帳戶。仍要使用這組主密碼嗎?" }, "rotateAccountEncKey": { - "message": "更新帳戶的加密金鑰" + "message": "同時輪換帳戶的加密金鑰" }, "rotateEncKeyTitle": { - "message": "更新加密金鑰" + "message": "輪換加密金鑰" }, "rotateEncKeyConfirmation": { - "message": "確定更新帳號的加密金鑰?" + "message": "確定輪換帳戶的加密金鑰嗎?" }, "attachmentsNeedFix": { - "message": "此項目包含需要修復的舊檔案附件。" + "message": "此項目包含需要修正的舊檔案附件。" }, "attachmentFixDesc": { - "message": "有個需要修正的舊檔案附件。點擊此處了解更多資訊。" + "message": "這是一個需要修正的舊檔案附件。點擊此處了解更多資訊。" }, "fix": { "message": "修正", "description": "This is a verb. ex. 'Fix The Car'" }, "oldAttachmentsNeedFixDesc": { - "message": "密碼庫中有舊的檔案附件,需要先修正才可以自動更換帳號加密金鑰。" + "message": "密碼庫中有舊的檔案附件,需要先修正才可以輪換帳戶的加密金鑰。" }, "yourAccountsFingerprint": { "message": "您帳戶的指紋短語", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "fingerprintEnsureIntegrityVerify": { - "message": "為了確保加密金鑰的完整度,請先確認使用者指紋再繼續。", + "message": "為了確保您的加密金鑰的完整度,繼續之前請先驗證使用者指紋短語。", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "dontAskFingerprintAgain": { - "message": "請勿詢問再次驗證指紋片語", + "message": "請勿再次要求驗證指紋短語", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "free": { @@ -2969,47 +2990,47 @@ "message": "API 金鑰" }, "apiKeyDesc": { - "message": "您的 API 金鑰可用來驗證 Bitwarden 公用 API。" + "message": "您的 API 金鑰可于認證 Bitwarden 公用 API。" }, "apiKeyRotateDesc": { - "message": "更新 API 金鑰將使前一份金鑰失效。若您認為當前的金鑰不在安全,您可以更新您的 API 金鑰。" + "message": "輪換 API 金鑰將使前一份金鑰失效。若您認為當前的金鑰不再安全,您可以輪換您的 API 金鑰。" }, "apiKeyWarning": { - "message": "你的 API 金鑰對組織有完整存取權限,應要保密。" + "message": "你的 API 金鑰擁有對組織的完整的存取權限,應要保密。" }, "userApiKeyDesc": { - "message": "您的 API 金鑰可用於 Bitwarden CLI 當中進行驗證。" + "message": "您的 API 金鑰可用於在 Bitwarden CLI 當中進行認證。" }, "userApiKeyWarning": { - "message": "您的 API 金鑰是另一種驗證身分的方式,請保存好不要公開。" + "message": "您的 API 金鑰是另一種身分認證機制,請嚴格保密。" }, "oauth2ClientCredentials": { - "message": "OAuth 2.0 客戶端登入資訊", + "message": "OAuth 2.0 客戶端證書", "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." }, "viewApiKey": { "message": "檢視 API 金鑰" }, "rotateApiKey": { - "message": "更新 API 金鑰" + "message": "輪換 API 金鑰" }, "selectOneCollection": { - "message": "您必須至少選擇一個收藏。" + "message": "您必須至少選擇一個集合。" }, "couldNotChargeCardPayInvoice": { - "message": "我們無法從您的卡片扣款。請查看並繳付以上尚未付清之款項。" + "message": "我們無法從您的支付卡扣款。請檢視並繳付以下尚未付清之款項。" }, "inAppPurchase": { "message": "應用程式內購買" }, "cannotPerformInAppPurchase": { - "message": "當你使用程式內購買的付款方式時,不能執行此項操作。" + "message": "當你使用程式內購買這種付款方式時,不能執行此項操作。" }, "manageSubscriptionFromStore": { - "message": "你必須從建立程式內購買的商店才能管理你的訂閱。" + "message": "你必須從應用程式內購買的商店中才能管理你的訂閱。" }, "minLength": { - "message": "最短長度" + "message": "最小長度" }, "clone": { "message": "複製" @@ -3018,25 +3039,25 @@ "message": "設定對主控密碼強度的最低要求。" }, "twoStepLoginPolicyDesc": { - "message": "要求使用者對個人帳號設定兩階段登入。" + "message": "要求使用者對個人帳戶設定兩步驟登入。" }, "twoStepLoginPolicyWarning": { - "message": "會從組織移除個人帳戶未啟用兩步驟登入的成員,成員會收到一封通知這項變更的電子信件。" + "message": "非擁有者或管理員,並且其個人帳戶未啟用兩步驟登入的組織成員將從組織中移除,並將收到一封通知他們有關變更資訊的電子郵件。" }, "twoStepLoginPolicyUserWarning": { - "message": "您是組織成員,而組織要求您的使用者帳戶需要啟用兩步驟登入。如果停用所有兩步驟登入提供者,您就會被自動踢出這些組織。" + "message": "您是組織成員,而組織要求您的使用者帳戶啟用兩步驟登入。如果停用所有兩步驟登入方式,您就會被自動移除這些組織。" }, "passwordGeneratorPolicyDesc": { - "message": "指定密碼產生器設定的最低需求。" + "message": "設定對密碼產生器配置的最低要求。" }, "passwordGeneratorPolicyInEffect": { - "message": "密碼產生器設定受一組以上組織原則影響。" + "message": "一個或多個組織策略正影響密碼產生器設定。" }, "masterPasswordPolicyInEffect": { - "message": "有一組以上組織原則要求您的主控密碼須符合下列條件:" + "message": "一個或多個組織策略要求您的主密碼須符合下列條件:" }, "policyInEffectMinComplexity": { - "message": "最小複雜度分數 $SCORE$", + "message": "最小複雜度為 $SCORE$", "placeholders": { "score": { "content": "$1", @@ -3045,7 +3066,7 @@ } }, "policyInEffectMinLength": { - "message": "最小長度 $LENGTH$", + "message": "最小長度為 $LENGTH$", "placeholders": { "length": { "content": "$1", @@ -3054,16 +3075,16 @@ } }, "policyInEffectUppercase": { - "message": "包含一個以上大寫字母" + "message": "至少包含一個大寫字元" }, "policyInEffectLowercase": { - "message": "包含一個以上小寫字母" + "message": "至少包含一個小寫字元" }, "policyInEffectNumbers": { - "message": "包含一個以上數字" + "message": "至少包含一個數字" }, "policyInEffectSpecial": { - "message": "包含一個以上特殊字元 $CHARS$", + "message": "至少包含一個下列特殊字元:$CHARS$", "placeholders": { "chars": { "content": "$1", @@ -3072,7 +3093,7 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "您的新主控密碼不符組織原則要求。" + "message": "您的新主密碼不符合策略要求。" }, "minimumNumberOfWords": { "message": "最短字數" @@ -3087,10 +3108,10 @@ "message": "密碼庫逾時動作" }, "vaultTimeoutActionLockDesc": { - "message": "鎖定密碼庫後需要重新輸入主密碼才能再次存取。" + "message": "鎖定密碼庫後需要重新輸入主密碼才能再次存取它。" }, "vaultTimeoutActionLogOutDesc": { - "message": "登出後需要重新驗證登入才能再次存取密碼庫。" + "message": "登出密碼庫後需要重新認證才能再次存取它。" }, "lock": { "message": "鎖定", @@ -3116,13 +3137,13 @@ "message": "您確定要永久刪除此項目嗎?" }, "permanentlyDeletedItem": { - "message": "已永久刪除的項目" + "message": "項目已永久刪除" }, "permanentlyDeletedItems": { - "message": "已永久刪除的項目" + "message": "項目已永久刪除" }, "permanentlyDeleteSelectedItemsDesc": { - "message": "您選擇了 $COUNT$ 個項目要永久刪除。確定要永久刪除這些項目嗎?", + "message": "您已經選取了 $COUNT$ 個項目要永久刪除。確定要永久刪除這些項目嗎?", "placeholders": { "count": { "content": "$1", @@ -3143,16 +3164,16 @@ "message": "恢復" }, "restoreSelected": { - "message": "恢復選擇項目" + "message": "恢復選擇的項目" }, "restoreItem": { "message": "恢復項目" }, "restoredItem": { - "message": "恢復的項目" + "message": "項目已恢復" }, "restoredItems": { - "message": "恢復的項目" + "message": "項目已恢復" }, "restoreItemConfirmation": { "message": "您確定要恢復此項目嗎?" @@ -3161,7 +3182,7 @@ "message": "恢復項目" }, "restoreSelectedItemsDesc": { - "message": "您選擇了 $COUNT$ 個項目要恢復。確定要恢復這些項目嗎?", + "message": "您已經選取了 $COUNT$ 個項目要恢復。確定要恢復這些項目嗎?", "placeholders": { "count": { "content": "$1", @@ -3179,7 +3200,7 @@ } }, "vaultTimeoutLogOutConfirmation": { - "message": "選擇登出將會在密碼庫逾時後移除所有密碼庫存取權,重新認證時需要連線網路。確定要登出嗎?" + "message": "選擇登出將會在密碼庫逾時後移除對密碼庫的所有存取權限,以及重新認證時需要連線網路。確定要使用此設定嗎?" }, "vaultTimeoutLogOutConfirmationTitle": { "message": "逾時動作確認" @@ -3194,25 +3215,25 @@ "message": "包含 VAT/GST 稅務資訊(選填)" }, "taxIdNumber": { - "message": "VAT/GST 稅務編號" + "message": "VAT/GST 稅務 ID" }, "taxInfoUpdated": { - "message": "已更新稅務資訊。" + "message": "稅務資訊已更新。" }, "setMasterPassword": { "message": "設定主密碼" }, "ssoCompleteRegistration": { - "message": "請設定用來保護密碼庫的主控密碼以完成 SSO 登入。" + "message": "要完成 SSO 登入,請設定一個主密碼以存取和保護您的密碼庫。" }, "identifier": { - "message": "Identifier" + "message": "識別符" }, "organizationIdentifier": { - "message": "Organization Identifier" + "message": "組織識別符" }, "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." + "message": "要使用組織的單一登入入口登入。請輸入您組織的識別符以開始。" }, "enterpriseSingleSignOn": { "message": "企業單一登入(SSO)" @@ -3221,47 +3242,47 @@ "message": "您現在可以關閉此分頁,並且回到擴充套件繼續。" }, "businessPortal": { - "message": "企業入口網站", + "message": "業務入口", "description": "The web portal used by business organizations for configuring certain features." }, "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" + "message": "包含所有團隊版功能" }, "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" + "message": "通過 SAML2.0 和 OpenID Connect 進行 SSO 身份認證" }, "includeEnterprisePolicies": { - "message": "Enterprise Policies" + "message": "企業策略" }, "ssoValidationFailed": { - "message": "SSO Validation Failed" + "message": "SSO 驗證失敗" }, "ssoIdentifierRequired": { - "message": "Organization Identifier is required." + "message": "需要組織識別符。" }, "unlinkSso": { - "message": "取消 SSO 連結" + "message": "取消連結 SSO" }, "linkSso": { "message": "連結 SSO" }, "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + "message": "策略配置已轉移,此頁面將很快被弃用。請改用下方的「業務入口」策略頁面。" }, "singleOrg": { "message": "單一組織" }, "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." + "message": "限制使用者加入任何其他組織。" }, "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + "message": "當前組織的策略不允許您加入多個組織。請聯絡您的組織管理員或從其他 Bitwarden 帳戶注册。" }, "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + "message": "不是擁有者或管理員並且已經是其他組織的成員的組織成員將從您的組織中移除。" }, "requireSso": { - "message": "單一登入驗證" + "message": "單一登入認證" }, "requireSsoPolicyDesc": { "message": "要求使用者以企業單一登入方法登入。" @@ -3270,13 +3291,13 @@ "message": "先決條件" }, "requireSsoPolicyReq": { - "message": "必須先開啟單一組織企業政策,才能再開啟此政策。" + "message": "必須先開啟單一組織企業策略,才能開啟此政策。" }, "requireSsoPolicyReqError": { - "message": "未開啟單一組織政策。" + "message": "未開啟單一組織策略。" }, "requireSsoExemption": { - "message": "組織擁有者與管理員,不受此政策的執行影響。" + "message": "組織的擁有者和管理員不受此策略的影響。" }, "sendTypeFile": { "message": "檔案" @@ -3285,78 +3306,78 @@ "message": "文字" }, "createSend": { - "message": "Create New Send", + "message": "創建新的 Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "編輯 Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "Send 已創建", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "Send 已編輯", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Deleted Send", + "message": "Send 已刪除", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Delete Send", + "message": "刪除 Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "您確定要刪除此 Send 嗎?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "What type of Send is this?", + "message": "這是什麽類型的 Send?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { "message": "刪除日期" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "此 Send 將在指定的日期和時間被永久删除。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "到期日" + "message": "逾期日期" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "如果設定了,對此 Send 的存取將在指定的日期和時間后逾期。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { "message": "最大存取次數" }, "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "message": "如果設定了,達到最大存取次數后,使用者將無法存取此 Send。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { "message": "目前已存取次數" }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "可選。使用者需提供密碼才能存取此 Send。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "關於此 Send 的私人注釋。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { "message": "已停用" }, "sendLink": { - "message": "傳送連結", + "message": "Send 連結", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "複製傳送連結", + "message": "複製 Send 連結", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { @@ -3369,59 +3390,66 @@ "message": "您確定要移除密碼嗎?" }, "disableThisSend": { - "message": "Disable this Send so that no one can access it.", + "message": "禁用此 Send 則沒有任何人能存取它。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "All Sends" + "message": "所有 Send" }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "已達最大存取次數" }, "pendingDeletion": { "message": "等待刪除中" }, "expired": { - "message": "Expired" + "message": "已逾期" }, "searchSends": { - "message": "Search Sends", + "message": "搜尋 Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", + "message": "此 Send 受到密碼保護,請在下方輸入密碼以繼續。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "message": "不知道密碼?請向此 Send 的發起人索取密碼。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "message": "此 Send 預設為隱藏。您可使用下方的按鈕切換其可見性。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { "message": "下載檔案" }, "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", + "message": "您嘗試存取的 Send 不存在或不再可用。", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "missingSendFile": { + "message": "The file associated with this Send could not be found.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { - "message": "There are no Sends to list.", + "message": "沒有可顯示的 Send。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "emergencyAccess": { - "message": "Emergency Access" + "message": "緊急存取" }, "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + "message": "為受信任的聯絡人授予和管理緊急存取權限。在緊急情况下,受信任的聯絡人可以請求獲取查看或接管您的帳戶的權限。請訪問我們的幫助頁面,以獲取有關零知識共享工作原理的更多資訊和詳情。" + }, + "emergencyAccessOwnerWarning": { + "message": "You are an Owner of one or more organizations. If you give takeover access to an emergency contact, they will be able to use all your permissions as Owner after a takeover." }, "trustedEmergencyContacts": { "message": "信任的緊急聯絡人" }, "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + "message": "您尚未添加任何緊急聯絡人,請邀請一個受信任的聯絡人以開始。" }, "addEmergencyContact": { "message": "新增緊急聯絡人" @@ -3430,7 +3458,7 @@ "message": "已指定為緊急聯絡人" }, "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." + "message": "你還沒有被指定為任何人的緊急聯絡人。" }, "inviteEmergencyContact": { "message": "邀請緊急聯絡人" @@ -3439,28 +3467,28 @@ "message": "編輯緊急聯絡人" }, "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact 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": "透過在下麵輸入 Bitwarden 帳戶的電子郵件地址,以邀請新的緊急聯絡人。如果他們還沒有 Bitwarden 帳戶,系統將提示他們創建一個新的帳戶。" }, "emergencyAccessRecoveryInitiated": { - "message": "已發動緊急存取" + "message": "已發起緊急存取" }, "emergencyAccessRecoveryApproved": { - "message": "已確認緊急存取" + "message": "已批准緊急存取" }, "viewDesc": { - "message": "Can view all items in your own vault." + "message": "可以檢視您擁有的密碼庫中的所有項目。" }, "takeover": { "message": "接管" }, "takeoverDesc": { - "message": "Can reset your account with a new master password." + "message": "可以使用新的主密碼重置您的帳戶。" }, "waitTime": { "message": "等候時間" }, "waitTimeDesc": { - "message": "Time required before automatically granting access." + "message": "自動授予存取權限前所需的時間。" }, "oneDay": { "message": "1 天" @@ -3478,13 +3506,13 @@ "message": "已邀請使用者。" }, "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "您已被邀請成為上述使用者的緊急聯絡人。要接受邀請,您需要登入或創建新的 Bitwarden 帳戶。" }, "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." + "message": "無法接受邀請。請使用者傳送一個新的邀請。" }, "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "無法接受邀請。$DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -3493,13 +3521,13 @@ } }, "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + "message": "確認您的身份後,您可以存取此使用者的緊急選項。發生這種情況時,我們將會給您傳送一封電子郵件。" }, "requestAccess": { - "message": "要求存取" + "message": "請求存取權限" }, "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "message": "您確定要請求緊急存取嗎?在 $WAITTIME$ 天之後或用戶手動批准請求時,將為您提供存取權限。", "placeholders": { "waittime": { "content": "$1", @@ -3508,7 +3536,7 @@ } }, "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "message": "來自 $USER$ 的緊急存取請求。如果可以繼續,我們將透過電子郵件通知您。", "placeholders": { "user": { "content": "$1", @@ -3517,13 +3545,13 @@ } }, "approve": { - "message": "核准" + "message": "批准" }, "reject": { "message": "拒絕" }, "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "message": "您確定要批准緊急存取嗎?這將允許 $USER$ $ACTION$ 您的帳戶。", "placeholders": { "user": { "content": "$1", @@ -3536,13 +3564,13 @@ } }, "emergencyApproved": { - "message": "已核准緊急存取。" + "message": "緊急存取已批准。" }, "emergencyRejected": { - "message": "已拒絕緊急存取" + "message": "緊急存取已拒絕" }, "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", + "message": "$USER$ 的密碼已重置。您現在可以使用新密碼登入了。", "placeholders": { "user": { "content": "$1", @@ -3554,16 +3582,34 @@ "message": "個人擁有權" }, "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." + "message": "要求用戶透過移除個人擁有權選項將密碼庫項目儲存到組織。" }, "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "組織的擁有者和管理員不受此策略的影響。" }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "由於某個企業策略,您被限制為儲存項目到您的個人密碼庫。將擁有權改爲組織,並從可用的集合中選擇。" + }, + "disableSend": { + "message": "Disable Send" + }, + "disableSendPolicyDesc": { + "message": "Do not allow users to create or edit a Bitwarden Send. Deleting an existing Send is still allowed.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disableSendExemption": { + "message": "Organization users that can manage the organization's policies are exempt from this policy's enforcement." + }, + "sendDisabled": { + "message": "Send disabled", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "modifiedPolicyId": { - "message": "Modified policy $ID$.", + "message": "策略 $ID$ 已修改。", "placeholders": { "id": { "content": "$1", @@ -3575,19 +3621,19 @@ "message": "方案價格" }, "estimatedTax": { - "message": "估計稅額" + "message": "預估稅額" }, "custom": { "message": "自訂" }, "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." + "message": "允許更精細地控制使用者的權限以進行進階配置。" }, "permissions": { "message": "權限" }, "accessBusinessPortal": { - "message": "存取企業入口網站" + "message": "存取業務入口" }, "accessEventLogs": { "message": "存取事件紀錄" @@ -3599,34 +3645,122 @@ "message": "存取報告" }, "manageAllCollections": { - "message": "Manage All Collections" + "message": "管理所有集合。" }, "manageAssignedCollections": { - "message": "Manage Assigned Collections" + "message": "管理已分配的集合。" }, "manageGroups": { "message": "管理群組" }, "managePolicies": { - "message": "Manage Policies" + "message": "管理策略" }, "manageSso": { "message": "管理 SSO" }, "manageUsers": { - "message": "Manage Users" + "message": "管理使用者" }, "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + "message": "您必須手動禁用單一登入認證策略,然後才能禁用此策略。" }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "一個組織策略正在影響您的擁有權選項。" }, "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" + "message": "為組織使用者禁用個人擁有權。" }, "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", + "message": "存取此 Send 時,預設將隱藏文本", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNameDesc": { + "message": "A friendly name to describe this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTextDesc": { + "message": "The text you want to send." + }, + "sendFileDesc": { + "message": "The file you want to send." + }, + "copySendLinkOnSave": { + "message": "Copy the link to share this Send to my clipboard upon save." + }, + "sendLinkLabel": { + "message": "Send link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "send": { + "message": "Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineProductDesc": { + "message": "Bitwarden Send transmits sensitive, temporary information to others easily and securely.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendAccessTaglineLearnMore": { + "message": "Learn more about", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more about** Bitwarden Send or sign up to try it today.'" + }, + "sendVaultCardProductDesc": { + "message": "Share text or files directly with anyone." + }, + "sendVaultCardLearnMore": { + "message": "Learn more", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**Learn more**, see how it works, or try it now. '" + }, + "sendVaultCardSee": { + "message": "see", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, **see** how it works, or try it now.'" + }, + "sendVaultCardHowItWorks": { + "message": "how it works", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see **how it works**, or try it now.'" + }, + "sendVaultCardOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" + }, + "sendVaultCardTryItNow": { + "message": "try it now", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, or **try it now**.'" + }, + "sendAccessTaglineOr": { + "message": "or", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" + }, + "sendAccessTaglineSignUp": { + "message": "sign up", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" + }, + "sendAccessTaglineTryToday": { + "message": "to try it today.", + "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or sign up to **try it today.**'" + }, + "sendCreatorIdentifier": { + "message": "Bitwarden user $USER_IDENTIFIER$ shared the following with you", + "placeholders": { + "user_identifier": { + "content": "$1", + "example": "An email address" + } + } + }, + "expirationDateIsInvalid": { + "message": "The expiration date provided is not valid." + }, + "deletionDateIsInvalid": { + "message": "The deletion date provided is not valid." + }, + "expirationDateAndTimeRequired": { + "message": "An expiration date and time are required." + }, + "deletionDateAndTimeRequired": { + "message": "A deletion date and time are required." + }, + "dateParsingError": { + "message": "There was an error saving your deletion and expiration dates." } } diff --git a/sso-connector.html b/sso-connector.html index d163fcef..612eee24 100644 --- a/sso-connector.html +++ b/sso-connector.html @@ -13,7 +13,7 @@ - +
@@ -26,6 +26,6 @@
- + diff --git a/u2f-connector.html b/u2f-connector.html index 9c4a4682..3ba18363 100644 --- a/u2f-connector.html +++ b/u2f-connector.html @@ -7,6 +7,6 @@ - + diff --git a/version.json b/version.json index 2a3d9045..bf5d912d 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -{"version":"2.18.2"} \ No newline at end of file +{"version":"2.19.0"} \ No newline at end of file