snappymail/rainloop/v/0.0.0/static/js/app.min.js
2014-08-22 19:08:56 +04:00

10 lines
No EOL
294 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function e(t,s,o){function i(r,a){if(!s[r]){if(!t[r]){var l="function"==typeof require&&require;if(!a&&l)return l(r,!0);if(n)return n(r,!0);var c=new Error("Cannot find module '"+r+"'");throw c.code="MODULE_NOT_FOUND",c}var u=s[r]={exports:{}};t[r][0].call(u.exports,function(e){var s=t[r][1][e];return i(s?s:e)},u,u.exports,e,t,s,o)}return s[r].exports}for(var n="function"==typeof require&&require,r=0;r<o.length;r++)i(o[r]);return i}({1:[function(e){"use strict";var t=e("./Boots/Boot.js");t(e("./Boots/RainLoopApp.js"))},{"./Boots/Boot.js":3,"./Boots/RainLoopApp.js":4}],2:[function(e,t){!function(t){"use strict";function s(e){g.call(this),this.isLocalAutocomplete=!0,this.iframe=o('<iframe style="display:none" src="javascript:;" />').appendTo("body"),a.on("error",function(t){t&&t.originalEvent&&t.originalEvent.message&&-1===u.inArray(t.originalEvent.message,["Script error.","Uncaught Error: Error calling method on NPObject."])&&e.jsError(u.emptyFunction,t.originalEvent.message,t.originalEvent.filename,t.originalEvent.lineno,n.location&&n.location.toString?n.location.toString():"",r.attr("class"),u.microtime()-c.now)}),l.on("keydown",function(e){e&&e.ctrlKey&&r.addClass("rl-ctrl-key-pressed")}).on("keyup",function(e){e&&!e.ctrlKey&&r.removeClass("rl-ctrl-key-pressed")})}var o=e("../External/jquery.js"),i=e("../External/underscore.js"),n=e("../External/window.js"),r=e("../External/$html.js"),a=e("../External/$window.js"),l=e("../External/$doc.js"),c=e("../Common/Globals.js"),u=e("../Common/Utils.js"),d=e("../Common/LinkBuilder.js"),p=e("../Common/Events.js"),h=e("../Storages/AppSettings.js"),m=e("../Knoin/Knoin.js"),g=e("../Knoin/KnoinAbstractBoot.js");i.extend(s.prototype,g.prototype),s.prototype.remote=function(){return null},s.prototype.data=function(){return null},s.prototype.setupSettings=function(){return!0},s.prototype.download=function(e){var t=null,s=null,o=n.navigator.userAgent.toLowerCase();return o&&(o.indexOf("chrome")>-1||o.indexOf("chrome")>-1)&&(s=n.document.createElement("a"),s.href=e,n.document.createEvent&&(t=n.document.createEvent("MouseEvents"),t&&t.initEvent&&s.dispatchEvent))?(t.initEvent("click",!0,!0),s.dispatchEvent(t),!0):(c.bMobileDevice?(n.open(e,"_self"),n.focus()):this.iframe.attr("src",e),!0)},s.prototype.setTitle=function(e){e=(u.isNormal(e)&&0<e.length?e+" - ":"")+h.settingsGet("Title")||"",n.document.title="_",n.document.title=e},s.prototype.loginAndLogoutReload=function(e,t){var s=u.pString(h.settingsGet("CustomLogoutLink")),o=!!h.settingsGet("InIframe");e=u.isUnd(e)?!1:!!e,t=u.isUnd(t)?!1:!!t,e&&t&&n.close&&n.close(),e&&""!==s&&n.location.href!==s?i.delay(function(){o&&n.parent?n.parent.location.href=s:n.location.href=s},100):(m.routeOff(),m.setHash(d.root(),!0),m.routeOff(),i.delay(function(){o&&n.parent?n.parent.location.reload():n.location.reload()},100))},s.prototype.historyBack=function(){n.history.back()},s.prototype.getAutocomplete=function(e,t){t([],e)},s.prototype.bootstart=function(){p.pub("rl.bootstart");var t=e("../External/ssm.js");u.initOnStartOrLangChange(function(){u.initNotificationLanguage()},null),i.delay(function(){u.windowResize()},1e3),t.addState({id:"mobile",maxWidth:767,onEnter:function(){r.addClass("ssm-state-mobile"),p.pub("ssm.mobile-enter")},onLeave:function(){r.removeClass("ssm-state-mobile"),p.pub("ssm.mobile-leave")}}),t.addState({id:"tablet",minWidth:768,maxWidth:999,onEnter:function(){r.addClass("ssm-state-tablet")},onLeave:function(){r.removeClass("ssm-state-tablet")}}),t.addState({id:"desktop",minWidth:1e3,maxWidth:1400,onEnter:function(){r.addClass("ssm-state-desktop")},onLeave:function(){r.removeClass("ssm-state-desktop")}}),t.addState({id:"desktop-large",minWidth:1400,onEnter:function(){r.addClass("ssm-state-desktop-large")},onLeave:function(){r.removeClass("ssm-state-desktop-large")}}),p.sub("ssm.mobile-enter",function(){c.leftPanelDisabled(!0)}),p.sub("ssm.mobile-leave",function(){c.leftPanelDisabled(!1)}),c.leftPanelDisabled.subscribe(function(e){r.toggleClass("rl-left-panel-disabled",e)}),t.ready()},t.exports=s}(t)},{"../Common/Events.js":8,"../Common/Globals.js":9,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/$doc.js":16,"../External/$html.js":17,"../External/$window.js":18,"../External/jquery.js":26,"../External/ssm.js":30,"../External/underscore.js":31,"../External/window.js":32,"../Knoin/Knoin.js":33,"../Knoin/KnoinAbstractBoot.js":34,"../Storages/AppSettings.js":59}],3:[function(e,t){!function(t){"use strict";var s=e("../External/window.js"),o=e("../External/jquery.js"),i=e("../External/$window.js"),n=e("../External/$html.js"),r=e("../Common/Globals.js"),a=e("../Common/Plugins.js"),l=e("../Common/Utils.js");t.exports=function(t){t.setupSettings(),a.__boot=t,a.__remote=t.remote(),a.__data=t.data(),n.addClass(r.bMobileDevice?"mobile":"no-mobile"),i.keydown(l.killCtrlAandS).keyup(l.killCtrlAandS),i.unload(function(){r.bUnload=!0}),n.on("click.dropdown.data-api",function(){l.detectDropdownVisibility()}),s.rl=s.rl||{},s.rl.addHook=a.addHook,s.rl.settingsGet=a.mainSettingsGet,s.rl.remoteRequest=a.remoteRequest,s.rl.pluginSettingsGet=a.settingsGet,s.rl.createCommand=l.createCommand,s.rl.EmailModel=e("../Models/EmailModel.js"),s.rl.Enums=e("../Common/Enums.js"),s.__RLBOOT=function(e){o(function(){s.rainloopTEMPLATES&&s.rainloopTEMPLATES[0]?(o("#rl-templates").html(s.rainloopTEMPLATES[0]),_.delay(function(){t.bootstart(),n.removeClass("no-js rl-booted-trigger").addClass("rl-booted")},50)):e(!1),s.__RLBOOT=null})}}}(t)},{"../Common/Enums.js":7,"../Common/Globals.js":9,"../Common/Plugins.js":12,"../Common/Utils.js":14,"../External/$html.js":17,"../External/$window.js":18,"../External/jquery.js":26,"../External/window.js":32,"../Models/EmailModel.js":38}],4:[function(e,t){!function(t){"use strict";function s(){F.call(this,S),this.oMoveCache={},this.quotaDebounce=n.debounce(this.quota,3e4),this.moveOrDeleteResponseHelper=n.bind(this.moveOrDeleteResponseHelper,this),this.messagesMoveTrigger=n.debounce(this.messagesMoveTrigger,500);var e=this;o.setInterval(function(){h.pub("interval.30s")},3e4),o.setInterval(function(){h.pub("interval.1m")},6e4),o.setInterval(function(){h.pub("interval.2m")},12e4),o.setInterval(function(){h.pub("interval.3m")},18e4),o.setInterval(function(){h.pub("interval.5m")},3e5),o.setInterval(function(){h.pub("interval.10m")},6e5),o.setTimeout(function(){o.setInterval(function(){h.pub("interval.10m-after5m")},6e5)},3e5),i.wakeUp(function(){S.jsVersion(function(t,s){a.StorageResultType.Success===t&&s&&!s.Result&&(o.parent&&e.settingsGet("InIframe")?o.parent.location.reload():o.location.reload())},e.settingsGet("Version"))},{},36e5),this.socialUsers=n.bind(this.socialUsers,this)}var o=e("../External/window.js"),i=e("../External/jquery.js"),n=e("../External/underscore.js"),r=e("../External/moment.js"),a=e("../Common/Enums.js"),l=e("../Common/Globals.js"),c=e("../Common/Consts.js"),u=e("../Common/Plugins.js"),d=e("../Common/Utils.js"),p=e("../Common/LinkBuilder.js"),h=e("../Common/Events.js"),m=e("../Knoin/Knoin.js"),g=e("../Storages/AppSettings.js"),f=e("../Storages/WebMailDataStorage.js"),b=e("../Storages/WebMailCacheStorage.js"),S=e("../Storages/WebMailAjaxRemoteStorage.js"),y=e("../ViewModels/Popups/PopupsAskViewModel.js"),C=e("../ViewModels/Popups/PopupsAskViewModel.js"),v=e("../ViewModels/Popups/PopupsComposeViewModel.js"),w=e("../Screens/MailBoxScreen.js"),E=e("../Screens/SettingsScreen.js"),A=e("../Screens/LoginScreen.js"),F=e("./AbstractApp.js");n.extend(s.prototype,F.prototype),s.prototype.remote=function(){return S},s.prototype.data=function(){return f},s.prototype.setupSettings=function(){var t=e("../Settings/SettingsGeneral.js"),s=e("../Settings/SettingsContacts.js"),o=e("../Settings/SettingsAccounts.js"),i=e("../Settings/SettingsIdentity.js"),n=e("../Settings/SettingsIdentities.js"),r=e("../Settings/SettingsFilters.js"),l=e("../Settings/SettingsSecurity.js"),c=e("../Settings/SettingsSocial.js"),u=e("../Settings/SettingsChangePassword.js"),d=e("../Settings/SettingsFolders.js"),p=e("../Settings/SettingsThemes.js"),h=e("../Settings/SettingsOpenPGP.js");return m.addSettingsViewModel(t,"SettingsGeneral","SETTINGS_LABELS/LABEL_GENERAL_NAME","general",!0),g.settingsGet("ContactsIsAllowed")&&m.addSettingsViewModel(s,"SettingsContacts","SETTINGS_LABELS/LABEL_CONTACTS_NAME","contacts"),g.capa(a.Capa.AdditionalAccounts)&&m.addSettingsViewModel(o,"SettingsAccounts","SETTINGS_LABELS/LABEL_ACCOUNTS_NAME","accounts"),g.capa(a.Capa.AdditionalIdentities)?m.addSettingsViewModel(n,"SettingsIdentities","SETTINGS_LABELS/LABEL_IDENTITIES_NAME","identities"):m.addSettingsViewModel(i,"SettingsIdentity","SETTINGS_LABELS/LABEL_IDENTITY_NAME","identity"),g.capa(a.Capa.Filters)&&m.addSettingsViewModel(r,"SettingsFilters","SETTINGS_LABELS/LABEL_FILTERS_NAME","filters"),g.capa(a.Capa.TwoFactor)&&m.addSettingsViewModel(l,"SettingsSecurity","SETTINGS_LABELS/LABEL_SECURITY_NAME","security"),g.settingsGet("AllowGoogleSocial")||g.settingsGet("AllowFacebookSocial")||g.settingsGet("AllowTwitterSocial")||m.addSettingsViewModel(c,"SettingsSocial","SETTINGS_LABELS/LABEL_SOCIAL_NAME","social"),g.settingsGet("ChangePasswordIsAllowed")&&m.addSettingsViewModel(u,"SettingsChangePassword","SETTINGS_LABELS/LABEL_CHANGE_PASSWORD_NAME","change-password"),m.addSettingsViewModel(d,"SettingsFolders","SETTINGS_LABELS/LABEL_FOLDERS_NAME","folders"),g.capa(a.Capa.Themes)&&m.addSettingsViewModel(p,"SettingsThemes","SETTINGS_LABELS/LABEL_THEMES_NAME","themes"),g.capa(a.Capa.OpenPGP)&&m.addSettingsViewModel(h,"SettingsOpenPGP","SETTINGS_LABELS/LABEL_OPEN_PGP_NAME","openpgp"),!0},s.prototype.reloadFlagsCurrentMessageListAndMessageFromCache=function(){n.each(f.messageList(),function(e){b.initMessageFlagsFromCache(e)}),b.initMessageFlagsFromCache(f.message())},s.prototype.reloadMessageList=function(e,t){var s=(f.messageListPage()-1)*f.messagesPerPage();(d.isUnd(t)?1:!t)||b.setFolderHash(f.currentFolderFullNameRaw(),""),(d.isUnd(e)?1:!e)||(f.messageListPage(1),s=0),f.messageListLoading(!0),S.messageList(function(e,t,s){a.StorageResultType.Success===e&&t&&t.Result?(f.messageListError(""),f.messageListLoading(!1),f.setMessageList(t,s)):a.StorageResultType.Unload===e?(f.messageListError(""),f.messageListLoading(!1)):a.StorageResultType.Abort!==e&&(f.messageList([]),f.messageListLoading(!1),f.messageListError(t&&t.ErrorCode?d.getNotification(t.ErrorCode):d.i18n("NOTIFICATIONS/CANT_GET_MESSAGE_LIST")))},f.currentFolderFullNameRaw(),s,f.messagesPerPage(),f.messageListSearch())},s.prototype.recacheInboxMessageList=function(){S.messageList(d.emptyFunction,"INBOX",0,f.messagesPerPage(),"",!0)},s.prototype.reloadMessageListHelper=function(e){self.reloadMessageList(e)},s.prototype.contactsSync=function(e){var t=f.contacts;return t.importing()||t.syncing()||!f.enableContactsSync()||!f.allowContactsSync()?!1:(t.syncing(!0),S.contactsSync(function(s,o){t.syncing(!1),e&&e(s,o)}),!0)},s.prototype.messagesMoveTrigger=function(){var e=this,t=f.spamFolder();n.each(this.oMoveCache,function(s){var o=t===s.To,i=!o&&t===s.From&&"INBOX"===s.To;S.messagesMove(e.moveOrDeleteResponseHelper,s.From,s.To,s.Uid,o?"SPAM":i?"HAM":"")}),this.oMoveCache={}},s.prototype.messagesMoveHelper=function(e,t,s){var o="$$"+e+"$$"+t+"$$";this.oMoveCache[o]||(this.oMoveCache[o]={From:e,To:t,Uid:[]}),this.oMoveCache[o].Uid=n.union(this.oMoveCache[o].Uid,s),this.messagesMoveTrigger()},s.prototype.messagesCopyHelper=function(e,t,s){S.messagesCopy(this.moveOrDeleteResponseHelper,e,t,s)},s.prototype.messagesDeleteHelper=function(e,t){S.messagesDelete(this.moveOrDeleteResponseHelper,e,t)},s.prototype.moveOrDeleteResponseHelper=function(e,t){a.StorageResultType.Success===e&&f.currentFolder()&&(t&&d.isArray(t.Result)&&2===t.Result.length?b.setFolderHash(t.Result[0],t.Result[1]):(b.setFolderHash(f.currentFolderFullNameRaw(),""),t&&-1<d.inArray(t.ErrorCode,[a.Notification.CantMoveMessage,a.Notification.CantCopyMessage])&&o.alert(d.getNotification(t.ErrorCode))),this.reloadMessageListHelper(0===f.messageList().length),this.quotaDebounce())},s.prototype.deleteMessagesFromFolderWithoutCheck=function(e,t){this.messagesDeleteHelper(e,t),f.removeMessagesFromList(e,t)},s.prototype.deleteMessagesFromFolder=function(e,t,s,o){var i=this,n=null,r=null;switch(e){case a.FolderType.Spam:n=b.getFolderFromCacheList(f.spamFolder()),r=a.SetSystemFoldersNotification.Spam;break;case a.FolderType.NotSpam:n=b.getFolderFromCacheList("INBOX");break;case a.FolderType.Trash:n=b.getFolderFromCacheList(f.trashFolder()),r=a.SetSystemFoldersNotification.Trash;break;case a.FolderType.Archive:n=b.getFolderFromCacheList(f.archiveFolder()),r=a.SetSystemFoldersNotification.Archive}o=d.isUnd(o)?!0:!!o,o&&(a.FolderType.Spam===e&&c.Values.UnuseOptionValue===f.spamFolder()||a.FolderType.Trash===e&&c.Values.UnuseOptionValue===f.trashFolder()||a.FolderType.Archive===e&&c.Values.UnuseOptionValue===f.archiveFolder())&&(o=!1),!n&&o?m.showScreenPopup(y,[r]):o&&(a.FolderType.Trash!==e||t!==f.spamFolder()&&t!==f.trashFolder())?n&&(this.messagesMoveHelper(t,n.fullNameRaw,s),f.removeMessagesFromList(t,s,n.fullNameRaw)):m.showScreenPopup(C,[d.i18n("POPUPS_ASK/DESC_WANT_DELETE_MESSAGES"),function(){i.messagesDeleteHelper(t,s),f.removeMessagesFromList(t,s)}])},s.prototype.moveMessagesToFolder=function(e,t,s,o){if(e!==s&&d.isArray(t)&&0<t.length){var i=b.getFolderFromCacheList(e),n=b.getFolderFromCacheList(s);if(i&&n)return(d.isUnd(o)?1:!o)?this.messagesMoveHelper(i.fullNameRaw,n.fullNameRaw,t):this.messagesCopyHelper(i.fullNameRaw,n.fullNameRaw,t),f.removeMessagesFromList(i.fullNameRaw,t,n.fullNameRaw,o),!0}return!1},s.prototype.folders=function(e){f.foldersLoading(!0),S.folders(n.bind(function(t,s){f.foldersLoading(!1),a.StorageResultType.Success===t?(f.setFolders(s),e&&e(!0)):e&&e(!1)},this))},s.prototype.reloadOpenPgpKeys=function(){if(f.capaOpenPGP()){var e=[],t=new EmailModel,s=f.openpgpKeyring,o=s?s.getAllKeys():[];n.each(o,function(s,o){if(s&&s.primaryKey){var i=s.getPrimaryUser(),n=i&&i.user?i.user.userId.userid:s.users&&s.users[0]?s.users[0].userId.userid:"";t.clear(),t.mailsoParse(n),t.validate()&&e.push(new OpenPgpKeyModel(o,s.primaryKey.getFingerprint(),s.primaryKey.getKeyId().toHex().toLowerCase(),n,t.email,s.isPrivate(),s.armor()))}}),f.openpgpkeys(e)}},s.prototype.accountsAndIdentities=function(){f.accountsLoading(!0),f.identitiesLoading(!0),S.accountsAndIdentities(function(e,t){if(f.accountsLoading(!1),f.identitiesLoading(!1),a.StorageResultType.Success===e&&t.Result){var s=g.settingsGet("ParentEmail"),o=f.accountEmail();s=""===s?o:s,d.isArray(t.Result.Accounts)&&f.accounts(n.map(t.Result.Accounts,function(e){return new AccountModel(e,e!==s)})),d.isArray(t.Result.Identities)&&f.identities(n.map(t.Result.Identities,function(e){var t=d.pString(e.Id),s=d.pString(e.Email),i=new IdentityModel(t,s,t!==o);return i.name(d.pString(e.Name)),i.replyTo(d.pString(e.ReplyTo)),i.bcc(d.pString(e.Bcc)),i}))}})},s.prototype.quota=function(){S.quota(function(e,t){a.StorageResultType.Success===e&&t&&t.Result&&d.isArray(t.Result)&&1<t.Result.length&&d.isPosNumeric(t.Result[0],!0)&&d.isPosNumeric(t.Result[1],!0)&&(f.userQuota(1024*d.pInt(t.Result[1])),f.userUsageSize(1024*d.pInt(t.Result[0])))})},s.prototype.folderInformation=function(e,t){if(""!==d.trim(e)){var s=this;S.folderInformation(function(e,t){if(a.StorageResultType.Success===e&&t&&t.Result&&t.Result.Hash&&t.Result.Folder){var o=r().unix(),i=b.getFolderHash(t.Result.Folder),n=b.getFolderFromCacheList(t.Result.Folder),l=!1,c="",u=[],p=!1,h=null;if(n){if(n.interval=o,t.Result.Hash&&b.setFolderHash(t.Result.Folder,t.Result.Hash),d.isNormal(t.Result.MessageCount)&&n.messageCountAll(t.Result.MessageCount),d.isNormal(t.Result.MessageUnseenCount)&&(d.pInt(n.messageCountUnread())!==d.pInt(t.Result.MessageUnseenCount)&&(p=!0),n.messageCountUnread(t.Result.MessageUnseenCount)),p&&b.clearMessageFlagsFromCacheByFolder(n.fullNameRaw),t.Result.Flags){for(c in t.Result.Flags)t.Result.Flags.hasOwnProperty(c)&&(l=!0,h=t.Result.Flags[c],b.storeMessageFlagsToCacheByFolderAndUid(n.fullNameRaw,c.toString(),[!h.IsSeen,!!h.IsFlagged,!!h.IsAnswered,!!h.IsForwarded,!!h.IsReadReceipt]));l&&s.reloadFlagsCurrentMessageListAndMessageFromCache()}f.initUidNextAndNewMessages(n.fullNameRaw,t.Result.UidNext,t.Result.NewMessages),t.Result.Hash!==i||""===i?n.fullNameRaw===f.currentFolderFullNameRaw()?s.reloadMessageList():"INBOX"===n.fullNameRaw&&s.recacheInboxMessageList():p&&n.fullNameRaw===f.currentFolderFullNameRaw()&&(u=f.messageList(),d.isNonEmptyArray(u)&&s.folderInformation(n.fullNameRaw,u))}}},e,t)}},s.prototype.folderInformationMultiply=function(e){e=d.isUnd(e)?!1:!!e;var t=this,s=r().unix(),o=f.getNextFolderNames(e);d.isNonEmptyArray(o)&&S.folderInformationMultiply(function(o,i){a.StorageResultType.Success===o&&i&&i.Result&&i.Result.List&&d.isNonEmptyArray(i.Result.List)&&(n.each(i.Result.List,function(e){var o=[],i=b.getFolderHash(e.Folder),n=b.getFolderFromCacheList(e.Folder),r=!1;n&&(n.interval=s,e.Hash&&b.setFolderHash(e.Folder,e.Hash),d.isNormal(e.MessageCount)&&n.messageCountAll(e.MessageCount),d.isNormal(e.MessageUnseenCount)&&(d.pInt(n.messageCountUnread())!==d.pInt(e.MessageUnseenCount)&&(r=!0),n.messageCountUnread(e.MessageUnseenCount)),r&&b.clearMessageFlagsFromCacheByFolder(n.fullNameRaw),e.Hash!==i||""===i?n.fullNameRaw===f.currentFolderFullNameRaw()&&t.reloadMessageList():r&&n.fullNameRaw===f.currentFolderFullNameRaw()&&(o=f.messageList(),d.isNonEmptyArray(o)&&t.folderInformation(n.fullNameRaw,o)))}),e&&t.folderInformationMultiply(!0))},o)},s.prototype.setMessageSeen=function(e){if(e.unseen()){e.unseen(!1);var t=b.getFolderFromCacheList(e.folderFullNameRaw);t&&t.messageCountUnread(0<=t.messageCountUnread()-1?t.messageCountUnread()-1:0),b.storeMessageFlagsToCache(e),this.reloadFlagsCurrentMessageListAndMessageFromCache()}S.messageSetSeen(d.emptyFunction,e.folderFullNameRaw,[e.uid],!0)},s.prototype.googleConnect=function(){o.open(p.socialGoogle(),"Google","left=200,top=100,width=650,height=600,menubar=no,status=no,resizable=yes,scrollbars=yes")},s.prototype.twitterConnect=function(){o.open(p.socialTwitter(),"Twitter","left=200,top=100,width=650,height=350,menubar=no,status=no,resizable=yes,scrollbars=yes")},s.prototype.facebookConnect=function(){o.open(p.socialFacebook(),"Facebook","left=200,top=100,width=650,height=335,menubar=no,status=no,resizable=yes,scrollbars=yes")},s.prototype.socialUsers=function(e){e&&(f.googleActions(!0),f.facebookActions(!0),f.twitterActions(!0)),S.socialUsers(function(e,t){a.StorageResultType.Success===e&&t&&t.Result?(f.googleUserName(t.Result.Google||""),f.facebookUserName(t.Result.Facebook||""),f.twitterUserName(t.Result.Twitter||"")):(f.googleUserName(""),f.facebookUserName(""),f.twitterUserName("")),f.googleLoggined(""!==f.googleUserName()),f.facebookLoggined(""!==f.facebookUserName()),f.twitterLoggined(""!==f.twitterUserName()),f.googleActions(!1),f.facebookActions(!1),f.twitterActions(!1)})},s.prototype.googleDisconnect=function(){f.googleActions(!0),S.googleDisconnect(this.socialUsers)},s.prototype.facebookDisconnect=function(){f.facebookActions(!0),S.facebookDisconnect(this.socialUsers)},s.prototype.twitterDisconnect=function(){f.twitterActions(!0),S.twitterDisconnect(this.socialUsers)},s.prototype.getAutocomplete=function(e,t){var s=[];S.suggestions(function(e,o){a.StorageResultType.Success===e&&o&&d.isArray(o.Result)?(s=n.map(o.Result,function(e){return e&&e[0]?new EmailModel(e[0],e[1]):null}),t(n.compact(s))):a.StorageResultType.Abort!==e&&t([])},e)},s.prototype.getContactTagsAutocomplete=function(e,t){t(n.filter(f.contactTags(),function(t){return t&&t.filterHelper(e)}))},s.prototype.mailToHelper=function(e){if(e&&"mailto:"===e.toString().substr(0,7).toLowerCase()){e=e.toString().substr(7);var t={},s=null,i=e.replace(/\?.+$/,""),n=e.replace(/^[^\?]*\?/,"");return s=new EmailModel,s.parse(o.decodeURIComponent(i)),s&&s.email&&(t=d.simpleQueryParser(n),m.showScreenPopup(v,[a.ComposeType.Empty,null,[s],d.isUnd(t.subject)?null:d.pString(t.subject),d.isUnd(t.body)?null:d.plainToHtml(d.pString(t.body))])),!0}return!1},s.prototype.bootstart=function(){F.prototype.bootstart.call(this),f.populateDataOnStart();var e=this,t="",s=g.settingsGet("JsHash"),r=d.pInt(g.settingsGet("ContactsSyncInterval")),c=g.settingsGet("AllowGoogleSocial"),b=g.settingsGet("AllowFacebookSocial"),S=g.settingsGet("AllowTwitterSocial");d.initOnStartOrLangChange(function(){i.extend(!0,i.magnificPopup.defaults,{tClose:d.i18n("MAGNIFIC_POPUP/CLOSE"),tLoading:d.i18n("MAGNIFIC_POPUP/LOADING"),gallery:{tPrev:d.i18n("MAGNIFIC_POPUP/GALLERY_PREV"),tNext:d.i18n("MAGNIFIC_POPUP/GALLERY_NEXT"),tCounter:d.i18n("MAGNIFIC_POPUP/GALLERY_COUNTER")},image:{tError:d.i18n("MAGNIFIC_POPUP/IMAGE_ERROR")},ajax:{tError:d.i18n("MAGNIFIC_POPUP/AJAX_ERROR")}})},this),o.SimplePace&&(o.SimplePace.set(70),o.SimplePace.sleep()),g.settingsGet("Auth")?(this.setTitle(d.i18n("TITLES/LOADING")),this.folders(n.bind(function(t){m.hideLoading(),t?(o.$LAB&&o.crypto&&o.crypto.getRandomValues&&g.capa(a.Capa.OpenPGP)?o.$LAB.script(o.openpgp?"":p.openPgpJs()).wait(function(){o.openpgp&&(f.openpgpKeyring=new o.openpgp.Keyring,f.capaOpenPGP(!0),h.pub("openpgp.init"),e.reloadOpenPgpKeys())}):f.capaOpenPGP(!1),m.startScreens([w,E]),(c||b||S)&&e.socialUsers(!0),h.sub("interval.2m",function(){e.folderInformation("INBOX")}),h.sub("interval.2m",function(){var t=f.currentFolderFullNameRaw();"INBOX"!==t&&e.folderInformation(t)}),h.sub("interval.3m",function(){e.folderInformationMultiply()}),h.sub("interval.5m",function(){e.quota()}),h.sub("interval.10m",function(){e.folders()}),r=r>=5?r:20,r=320>=r?r:320,o.setInterval(function(){e.contactsSync()},6e4*r+5e3),n.delay(function(){e.contactsSync()},5e3),n.delay(function(){e.folderInformationMultiply(!0)},500),u.runHook("rl-start-user-screens"),h.pub("rl.bootstart-user-screens"),g.settingsGet("AccountSignMe")&&o.navigator.registerProtocolHandler&&n.delay(function(){try{o.navigator.registerProtocolHandler("mailto",o.location.protocol+"//"+o.location.host+o.location.pathname+"?mailto&to=%s",""+(g.settingsGet("Title")||"RainLoop"))}catch(t){}g.settingsGet("MailToEmail")&&e.mailToHelper(g.settingsGet("MailToEmail"))},500)):(m.startScreens([A]),u.runHook("rl-start-login-screens"),h.pub("rl.bootstart-login-screens")),o.SimplePace&&o.SimplePace.set(100),l.bMobileDevice||n.defer(function(){d.initLayoutResizer("#rl-left","#rl-right",a.ClientSideKeyName.FolderListSize)})},this))):(t=d.pString(g.settingsGet("CustomLoginLink")),t?(m.routeOff(),m.setHash(p.root(),!0),m.routeOff(),n.defer(function(){o.location.href=t})):(m.hideLoading(),m.startScreens([A]),u.runHook("rl-start-login-screens"),h.pub("rl.bootstart-login-screens"),o.SimplePace&&o.SimplePace.set(100))),c&&(o["rl_"+s+"_google_service"]=function(){f.googleActions(!0),e.socialUsers()}),b&&(o["rl_"+s+"_facebook_service"]=function(){f.facebookActions(!0),e.socialUsers()}),S&&(o["rl_"+s+"_twitter_service"]=function(){f.twitterActions(!0),e.socialUsers()}),h.sub("interval.1m",function(){l.momentTrigger(!l.momentTrigger())}),u.runHook("rl-start-screens"),h.pub("rl.bootstart-end")},t.exports=new s}(t)},{"../Common/Consts.js":6,"../Common/Enums.js":7,"../Common/Events.js":8,"../Common/Globals.js":9,"../Common/LinkBuilder.js":10,"../Common/Plugins.js":12,"../Common/Utils.js":14,"../External/jquery.js":26,"../External/moment.js":29,"../External/underscore.js":31,"../External/window.js":32,"../Knoin/Knoin.js":33,"../Screens/LoginScreen.js":42,"../Screens/MailBoxScreen.js":43,"../Screens/SettingsScreen.js":44,"../Settings/SettingsAccounts.js":45,"../Settings/SettingsChangePassword.js":46,"../Settings/SettingsContacts.js":47,"../Settings/SettingsFilters.js":48,"../Settings/SettingsFolders.js":49,"../Settings/SettingsGeneral.js":50,"../Settings/SettingsIdentities.js":51,"../Settings/SettingsIdentity.js":52,"../Settings/SettingsOpenPGP.js":53,"../Settings/SettingsSecurity.js":54,"../Settings/SettingsSocial.js":55,"../Settings/SettingsThemes.js":56,"../Storages/AppSettings.js":59,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailCacheStorage.js":64,"../Storages/WebMailDataStorage.js":65,"../ViewModels/Popups/PopupsAskViewModel.js":74,"../ViewModels/Popups/PopupsComposeViewModel.js":75,"./AbstractApp.js":2}],5:[function(e,t){!function(e){"use strict";var t={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",urlsafe_encode:function(e){return t.encode(e).replace(/[+]/g,"-").replace(/[\/]/g,"_").replace(/[=]/g,".")},encode:function(e){var s,o,i,n,r,a,l,c="",u=0;for(e=t._utf8_encode(e);u<e.length;)s=e.charCodeAt(u++),o=e.charCodeAt(u++),i=e.charCodeAt(u++),n=s>>2,r=(3&s)<<4|o>>4,a=(15&o)<<2|i>>6,l=63&i,isNaN(o)?a=l=64:isNaN(i)&&(l=64),c=c+this._keyStr.charAt(n)+this._keyStr.charAt(r)+this._keyStr.charAt(a)+this._keyStr.charAt(l);return c},decode:function(e){var s,o,i,n,r,a,l,c="",u=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u<e.length;)n=this._keyStr.indexOf(e.charAt(u++)),r=this._keyStr.indexOf(e.charAt(u++)),a=this._keyStr.indexOf(e.charAt(u++)),l=this._keyStr.indexOf(e.charAt(u++)),s=n<<2|r>>4,o=(15&r)<<4|a>>2,i=(3&a)<<6|l,c+=String.fromCharCode(s),64!==a&&(c+=String.fromCharCode(o)),64!==l&&(c+=String.fromCharCode(i));return t._utf8_decode(c)},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");for(var t="",s=0,o=e.length,i=0;o>s;s++)i=e.charCodeAt(s),128>i?t+=String.fromCharCode(i):i>127&&2048>i?(t+=String.fromCharCode(i>>6|192),t+=String.fromCharCode(63&i|128)):(t+=String.fromCharCode(i>>12|224),t+=String.fromCharCode(i>>6&63|128),t+=String.fromCharCode(63&i|128));return t},_utf8_decode:function(e){for(var t="",s=0,o=0,i=0,n=0;s<e.length;)o=e.charCodeAt(s),128>o?(t+=String.fromCharCode(o),s++):o>191&&224>o?(i=e.charCodeAt(s+1),t+=String.fromCharCode((31&o)<<6|63&i),s+=2):(i=e.charCodeAt(s+1),n=e.charCodeAt(s+2),t+=String.fromCharCode((15&o)<<12|(63&i)<<6|63&n),s+=3);return t}};e.exports=t}(t)},{}],6:[function(e,t){!function(e){"use strict";var t={};t.Values={},t.DataImages={},t.Defaults={},t.Defaults.MessagesPerPage=20,t.Defaults.ContactsPerPage=50,t.Defaults.MessagesPerPageArray=[10,20,30,50,100],t.Defaults.DefaultAjaxTimeout=3e4,t.Defaults.SearchAjaxTimeout=3e5,t.Defaults.SendMessageAjaxTimeout=3e5,t.Defaults.SaveMessageAjaxTimeout=2e5,t.Defaults.ContactsSyncAjaxTimeout=2e5,t.Values.UnuseOptionValue="__UNUSE__",t.Values.ClientSideCookieIndexName="rlcsc",t.Values.ImapDefaulPort=143,t.Values.ImapDefaulSecurePort=993,t.Values.SmtpDefaulPort=25,t.Values.SmtpDefaulSecurePort=465,t.Values.MessageBodyCacheLimit=15,t.Values.AjaxErrorLimit=7,t.Values.TokenErrorLimit=10,t.DataImages.UserDotPic="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2P8DwQACgAD/il4QJ8AAAAASUVORK5CYII=",t.DataImages.TranspPic="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII=",e.exports=t}(t)},{}],7:[function(e,t){!function(e){"use strict";var t={};t.StorageResultType={Success:"success",Abort:"abort",Error:"error",Unload:"unload"},t.State={Empty:10,Login:20,Auth:30},t.StateType={Webmail:0,Admin:1},t.Capa={Prem:"PREM",TwoFactor:"TWO_FACTOR",OpenPGP:"OPEN_PGP",Prefetch:"PREFETCH",Gravatar:"GRAVATAR",Themes:"THEMES",Filters:"FILTERS",AdditionalAccounts:"ADDITIONAL_ACCOUNTS",AdditionalIdentities:"ADDITIONAL_IDENTITIES"},t.KeyState={All:"all",None:"none",ContactList:"contact-list",MessageList:"message-list",FolderList:"folder-list",MessageView:"message-view",Compose:"compose",Settings:"settings",Menu:"menu",PopupComposeOpenPGP:"compose-open-pgp",PopupKeyboardShortcutsHelp:"popup-keyboard-shortcuts-help",PopupAsk:"popup-ask"},t.FolderType={Inbox:10,SentItems:11,Draft:12,Trash:13,Spam:14,Archive:15,NotSpam:80,User:99},t.LoginSignMeTypeAsString={DefaultOff:"defaultoff",DefaultOn:"defaulton",Unused:"unused"},t.LoginSignMeType={DefaultOff:0,DefaultOn:1,Unused:2},t.ComposeType={Empty:"empty",Reply:"reply",ReplyAll:"replyall",Forward:"forward",ForwardAsAttachment:"forward-as-attachment",Draft:"draft",EditAsNew:"editasnew"},t.UploadErrorCode={Normal:0,FileIsTooBig:1,FilePartiallyUploaded:2,FileNoUploaded:3,MissingTempFolder:4,FileOnSaveingError:5,FileType:98,Unknown:99},t.SetSystemFoldersNotification={None:0,Sent:1,Draft:2,Spam:3,Trash:4,Archive:5},t.ClientSideKeyName={FoldersLashHash:0,MessagesInboxLastHash:1,MailBoxListSize:2,ExpandedFolders:3,FolderListSize:4},t.EventKeyCode={Backspace:8,Tab:9,Enter:13,Esc:27,PageUp:33,PageDown:34,Left:37,Right:39,Up:38,Down:40,End:35,Home:36,Space:32,Insert:45,Delete:46,A:65,S:83},t.MessageSetAction={SetSeen:0,UnsetSeen:1,SetFlag:2,UnsetFlag:3},t.MessageSelectAction={All:0,None:1,Invert:2,Unseen:3,Seen:4,Flagged:5,Unflagged:6},t.DesktopNotifications={Allowed:0,NotAllowed:1,Denied:2,NotSupported:9},t.MessagePriority={Low:5,Normal:3,High:1},t.EditorDefaultType={Html:"Html",Plain:"Plain"},t.CustomThemeType={Light:"Light",Dark:"Dark"},t.ServerSecure={None:0,SSL:1,TLS:2},t.SearchDateType={All:-1,Days3:3,Days7:7,Month:30},t.EmailType={Defailt:0,Facebook:1,Google:2},t.SaveSettingsStep={Animate:-2,Idle:-1,TrueResult:1,FalseResult:0},t.InterfaceAnimation={None:"None",Normal:"Normal",Full:"Full"},t.Layout={NoPreview:0,SidePreview:1,BottomPreview:2},t.FilterConditionField={From:"From",To:"To",Recipient:"Recipient",Subject:"Subject"},t.FilterConditionType={Contains:"Contains",NotContains:"NotContains",EqualTo:"EqualTo",NotEqualTo:"NotEqualTo"},t.FiltersAction={None:"None",Move:"Move",Discard:"Discard",Forward:"Forward"},t.FilterRulesType={And:"And",Or:"Or"},t.SignedVerifyStatus={UnknownPublicKeys:-4,UnknownPrivateKey:-3,Unverified:-2,Error:-1,None:0,Success:1},t.ContactPropertyType={Unknown:0,FullName:10,FirstName:15,LastName:16,MiddleName:16,Nick:18,NamePrefix:20,NameSuffix:21,Email:30,Phone:31,Web:32,Birthday:40,Facebook:90,Skype:91,GitHub:92,Note:110,Custom:250},t.Notification={InvalidToken:101,AuthError:102,AccessError:103,ConnectionError:104,CaptchaError:105,SocialFacebookLoginAccessDisable:106,SocialTwitterLoginAccessDisable:107,SocialGoogleLoginAccessDisable:108,DomainNotAllowed:109,AccountNotAllowed:110,AccountTwoFactorAuthRequired:120,AccountTwoFactorAuthError:121,CouldNotSaveNewPassword:130,CurrentPasswordIncorrect:131,NewPasswordShort:132,NewPasswordWeak:133,NewPasswordForbidden:134,ContactsSyncError:140,CantGetMessageList:201,CantGetMessage:202,CantDeleteMessage:203,CantMoveMessage:204,CantCopyMessage:205,CantSaveMessage:301,CantSendMessage:302,InvalidRecipients:303,CantCreateFolder:400,CantRenameFolder:401,CantDeleteFolder:402,CantSubscribeFolder:403,CantUnsubscribeFolder:404,CantDeleteNonEmptyFolder:405,CantSaveSettings:501,CantSavePluginSettings:502,DomainAlreadyExists:601,CantInstallPackage:701,CantDeletePackage:702,InvalidPluginPackage:703,UnsupportedPluginPackage:704,LicensingServerIsUnavailable:710,LicensingExpired:711,LicensingBanned:712,DemoSendMessageError:750,AccountAlreadyExists:801,MailServerError:901,ClientViewError:902,InvalidInputArgument:903,UnknownNotification:999,UnknownError:999},e.exports=t}(t)},{}],8:[function(e,t){!function(t){"use strict";function s(){this.oSubs={}}var o=e("../External/underscore.js"),i=e("./Utils.js"),n=e("./Plugins.js");s.prototype.oSubs={},s.prototype.sub=function(e,t,s){return i.isUnd(this.oSubs[e])&&(this.oSubs[e]=[]),this.oSubs[e].push([t,s]),this},s.prototype.pub=function(e,t){return n.runHook("rl-pub",[e,t]),i.isUnd(this.oSubs[e])||o.each(this.oSubs[e],function(e){e[0]&&e[0].apply(e[1]||null,t||[])}),this},t.exports=new s}(t)},{"../External/underscore.js":31,"./Plugins.js":12,"./Utils.js":14}],9:[function(e,t){!function(t){"use strict";var s={},o=e("../External/window.js"),i=e("../External/ko.js"),n=e("../External/key.js"),r=e("../External/$html.js"),a=e("../Common/Enums.js"),l=e("../Common/Events.js");s.now=(new o.Date).getTime(),s.momentTrigger=i.observable(!0),s.dropdownVisibility=i.observable(!1).extend({rateLimit:0}),s.tooltipTrigger=i.observable(!1).extend({rateLimit:0}),s.langChangeTrigger=i.observable(!0),s.useKeyboardShortcuts=i.observable(!0),s.iAjaxErrorCount=0,s.iTokenErrorCount=0,s.iMessageBodyCacheCount=0,s.bUnload=!1,s.sUserAgent=(o.navigator.userAgent||"").toLowerCase(),s.bIsiOSDevice=-1<s.sUserAgent.indexOf("iphone")||-1<s.sUserAgent.indexOf("ipod")||-1<s.sUserAgent.indexOf("ipad"),s.bIsAndroidDevice=-1<s.sUserAgent.indexOf("android"),s.bMobileDevice=s.bIsiOSDevice||s.bIsAndroidDevice,s.bDisableNanoScroll=s.bMobileDevice,s.bAllowPdfPreview=!s.bMobileDevice,s.bAnimationSupported=!s.bMobileDevice&&r.hasClass("csstransitions"),s.bXMLHttpRequestSupported=!!o.XMLHttpRequest,s.sAnimationType="",s.oHtmlEditorDefaultConfig={title:!1,stylesSet:!1,customConfig:"",contentsCss:"",toolbarGroups:[{name:"spec"},{name:"styles"},{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"colors"},{name:"paragraph",groups:["list","indent","blocks","align"]},{name:"links"},{name:"insert"},{name:"others"}],removePlugins:"contextmenu",removeButtons:"Format,Undo,Redo,Cut,Copy,Paste,Anchor,Strike,Subscript,Superscript,Image,SelectAll",removeDialogTabs:"link:advanced;link:target;image:advanced;images:advanced",extraPlugins:"plain",allowedContent:!0,autoParagraph:!1,font_defaultLabel:"Arial",fontSize_defaultLabel:"13",fontSize_sizes:"10/10px;12/12px;13/13px;14/14px;16/16px;18/18px;20/20px;24/24px;28/28px;36/36px;48/48px"},s.oHtmlEditorLangsMap={de:"de",es:"es",fr:"fr",hu:"hu",is:"is",it:"it",ko:"ko","ko-kr":"ko",lv:"lv",nl:"nl",no:"no",pl:"pl",pt:"pt","pt-pt":"pt","pt-br":"pt-br",ru:"ru",ro:"ro",zh:"zh","zh-cn":"zh-cn"},s.bAllowPdfPreview&&o.navigator&&o.navigator.mimeTypes&&(s.bAllowPdfPreview=!!_.find(o.navigator.mimeTypes,function(e){return e&&"application/pdf"===e.type
})),s.oI18N={},s.oNotificationI18N={},s.aBootstrapDropdowns=[],s.aViewModels={settings:[],"settings-removed":[],"settings-disabled":[]},s.leftPanelDisabled=i.observable(!1),s.leftPanelDisabled.subscribe(function(e){l.pub("left-panel."+(e?"off":"on"))}),s.popupVisibilityNames=i.observableArray([]),s.popupVisibility=i.computed(function(){return 0<s.popupVisibilityNames().length},this),s.keyScopeReal=i.observable(a.KeyState.All),s.keyScopeFake=i.observable(a.KeyState.All),s.keyScope=i.computed({owner:this,read:function(){return s.keyScopeFake()},write:function(e){a.KeyState.Menu!==e&&(n.filter=a.KeyState.Compose===e?function(){return s.useKeyboardShortcuts()}:function(e){if(s.useKeyboardShortcuts()){var t=e.target||e.srcElement,o=t?t.tagName:"";return o=o.toUpperCase(),!("INPUT"===o||"SELECT"===o||"TEXTAREA"===o||t&&"DIV"===o&&"editorHtmlArea"===t.className&&t.contentEditable)}return!1},s.keyScopeFake(e),s.dropdownVisibility()&&(e=a.KeyState.Menu)),s.keyScopeReal(e)}}),s.keyScopeReal.subscribe(function(e){n.setScope(e)}),s.dropdownVisibility.subscribe(function(e){e?(s.tooltipTrigger(!s.tooltipTrigger()),s.keyScope(a.KeyState.Menu)):a.KeyState.Menu===n.getScope()&&s.keyScope(s.keyScopeFake())}),t.exports=s}(t)},{"../Common/Enums.js":7,"../Common/Events.js":8,"../External/$html.js":17,"../External/key.js":27,"../External/ko.js":28,"../External/window.js":32}],10:[function(e,t){!function(t){"use strict";function s(){this.sBase="#/",this.sServer="./?",this.sVersion=n.settingsGet("Version"),this.sSpecSuffix=n.settingsGet("AuthAccountHash")||"0",this.sStaticPrefix=n.settingsGet("StaticPrefix")||"rainloop/v/"+this.sVersion+"/static/"}var o=e("../External/window.js"),i=e("./Utils.js"),n=e("../Storages/AppSettings.js");s.prototype.root=function(){return this.sBase},s.prototype.attachmentDownload=function(e){return this.sServer+"/Raw/"+this.sSpecSuffix+"/Download/"+e},s.prototype.attachmentPreview=function(e){return this.sServer+"/Raw/"+this.sSpecSuffix+"/View/"+e},s.prototype.attachmentPreviewAsPlain=function(e){return this.sServer+"/Raw/"+this.sSpecSuffix+"/ViewAsPlain/"+e},s.prototype.upload=function(){return this.sServer+"/Upload/"+this.sSpecSuffix+"/"},s.prototype.uploadContacts=function(){return this.sServer+"/UploadContacts/"+this.sSpecSuffix+"/"},s.prototype.uploadBackground=function(){return this.sServer+"/UploadBackground/"+this.sSpecSuffix+"/"},s.prototype.append=function(){return this.sServer+"/Append/"+this.sSpecSuffix+"/"},s.prototype.change=function(e){return this.sServer+"/Change/"+this.sSpecSuffix+"/"+o.encodeURIComponent(e)+"/"},s.prototype.ajax=function(e){return this.sServer+"/Ajax/"+this.sSpecSuffix+"/"+e},s.prototype.messageViewLink=function(e){return this.sServer+"/Raw/"+this.sSpecSuffix+"/ViewAsPlain/"+e},s.prototype.messageDownloadLink=function(e){return this.sServer+"/Raw/"+this.sSpecSuffix+"/Download/"+e},s.prototype.avatarLink=function(e){return this.sServer+"/Raw/0/Avatar/"+o.encodeURIComponent(e)+"/"},s.prototype.inbox=function(){return this.sBase+"mailbox/Inbox"},s.prototype.messagePreview=function(){return this.sBase+"mailbox/message-preview"},s.prototype.settings=function(e){var t=this.sBase+"settings";return i.isUnd(e)||""===e||(t+="/"+e),t},s.prototype.admin=function(e){var t=this.sBase;switch(e){case"AdminDomains":t+="domains";break;case"AdminSecurity":t+="security";break;case"AdminLicensing":t+="licensing"}return t},s.prototype.mailBox=function(e,t,s){t=i.isNormal(t)?i.pInt(t):1,s=i.pString(s);var o=this.sBase+"mailbox/";return""!==e&&(o+=encodeURI(e)),t>1&&(o=o.replace(/[\/]+$/,""),o+="/p"+t),""!==s&&(o=o.replace(/[\/]+$/,""),o+="/"+encodeURI(s)),o},s.prototype.phpInfo=function(){return this.sServer+"Info"},s.prototype.langLink=function(e){return this.sServer+"/Lang/0/"+encodeURI(e)+"/"+this.sVersion+"/"},s.prototype.exportContactsVcf=function(){return this.sServer+"/Raw/"+this.sSpecSuffix+"/ContactsVcf/"},s.prototype.exportContactsCsv=function(){return this.sServer+"/Raw/"+this.sSpecSuffix+"/ContactsCsv/"},s.prototype.emptyContactPic=function(){return this.sStaticPrefix+"css/images/empty-contact.png"},s.prototype.sound=function(e){return this.sStaticPrefix+"sounds/"+e},s.prototype.themePreviewLink=function(e){var t="rainloop/v/"+this.sVersion+"/";return"@custom"===e.substr(-7)&&(e=i.trim(e.substring(0,e.length-7)),t=""),t+"themes/"+encodeURI(e)+"/images/preview.png"},s.prototype.notificationMailIcon=function(){return this.sStaticPrefix+"css/images/icom-message-notification.png"},s.prototype.openPgpJs=function(){return this.sStaticPrefix+"js/openpgp.min.js"},s.prototype.socialGoogle=function(){return this.sServer+"SocialGoogle"+(""!==this.sSpecSuffix?"/"+this.sSpecSuffix+"/":"")},s.prototype.socialTwitter=function(){return this.sServer+"SocialTwitter"+(""!==this.sSpecSuffix?"/"+this.sSpecSuffix+"/":"")},s.prototype.socialFacebook=function(){return this.sServer+"SocialFacebook"+(""!==this.sSpecSuffix?"/"+this.sSpecSuffix+"/":"")},t.exports=new s}(t)},{"../External/window.js":32,"../Storages/AppSettings.js":59,"./Utils.js":14}],11:[function(e,t){!function(t){"use strict";function s(e,t,s,o){var i=this;i.editor=null,i.iBlurTimer=0,i.fOnBlur=t||null,i.fOnReady=s||null,i.fOnModeChange=o||null,i.$element=$(e),i.resize=_.throttle(_.bind(i.resize,i),100),i.init()}var o=e("../External/window.js"),i=e("./Globals.js"),n=e("../Storages/AppSettings.js");s.prototype.blurTrigger=function(){if(this.fOnBlur){var e=this;o.clearTimeout(e.iBlurTimer),e.iBlurTimer=o.setTimeout(function(){e.fOnBlur()},200)}},s.prototype.focusTrigger=function(){this.fOnBlur&&o.clearTimeout(this.iBlurTimer)},s.prototype.isHtml=function(){return this.editor?"wysiwyg"===this.editor.mode:!1},s.prototype.checkDirty=function(){return this.editor?this.editor.checkDirty():!1},s.prototype.resetDirty=function(){this.editor&&this.editor.resetDirty()},s.prototype.getData=function(e){return this.editor?"plain"===this.editor.mode&&this.editor.plugins.plain&&this.editor.__plain?this.editor.__plain.getRawData():e?'<div data-html-editor-font-wrapper="true" style="font-family: arial, sans-serif; font-size: 13px;">'+this.editor.getData()+"</div>":this.editor.getData():""},s.prototype.modeToggle=function(e){this.editor&&(e?"plain"===this.editor.mode&&this.editor.setMode("wysiwyg"):"wysiwyg"===this.editor.mode&&this.editor.setMode("plain"),this.resize())},s.prototype.setHtml=function(e,t){this.editor&&(this.modeToggle(!0),this.editor.setData(e),t&&this.focus())},s.prototype.setPlain=function(e,t){if(this.editor){if(this.modeToggle(!1),"plain"===this.editor.mode&&this.editor.plugins.plain&&this.editor.__plain)return this.editor.__plain.setRawData(e);this.editor.setData(e),t&&this.focus()}},s.prototype.init=function(){if(this.$element&&this.$element[0]){var e=this,t=function(){var t=i.oHtmlEditorDefaultConfig,s=n.settingsGet("Language"),r=!!n.settingsGet("AllowHtmlEditorSourceButton");r&&t.toolbarGroups&&!t.toolbarGroups.__SourceInited&&(t.toolbarGroups.__SourceInited=!0,t.toolbarGroups.push({name:"document",groups:["mode","document","doctools"]})),t.enterMode=o.CKEDITOR.ENTER_BR,t.shiftEnterMode=o.CKEDITOR.ENTER_BR,t.language=i.oHtmlEditorLangsMap[s]||"en",o.CKEDITOR.env&&(o.CKEDITOR.env.isCompatible=!0),e.editor=o.CKEDITOR.appendTo(e.$element[0],t),e.editor.on("key",function(e){return e&&e.data&&9===e.data.keyCode?!1:void 0}),e.editor.on("blur",function(){e.blurTrigger()}),e.editor.on("mode",function(){e.blurTrigger(),e.fOnModeChange&&e.fOnModeChange("plain"!==e.editor.mode)}),e.editor.on("focus",function(){e.focusTrigger()}),e.fOnReady&&e.editor.on("instanceReady",function(){e.editor.setKeystroke(o.CKEDITOR.CTRL+65,"selectAll"),e.fOnReady(),e.__resizable=!0,e.resize()})};o.CKEDITOR?t():o.__initEditor=t}},s.prototype.focus=function(){this.editor&&this.editor.focus()},s.prototype.blur=function(){this.editor&&this.editor.focusManager.blur(!0)},s.prototype.resize=function(){if(this.editor&&this.__resizable)try{this.editor.resize(this.$element.width(),this.$element.innerHeight())}catch(e){}},s.prototype.clear=function(e){this.setHtml("",e)},t.exports=s}(t)},{"../External/window.js":32,"../Storages/AppSettings.js":59,"./Globals.js":9}],12:[function(e,t){!function(t){"use strict";var s={__boot:null,__remote:null,__data:null},o=e("../External/underscore.js"),i=e("./Utils.js");s.oViewModelsHooks={},s.oSimpleHooks={},s.regViewModelHook=function(e,t){t&&(t.__hookName=e)},s.addHook=function(e,t){i.isFunc(t)&&(i.isArray(s.oSimpleHooks[e])||(s.oSimpleHooks[e]=[]),s.oSimpleHooks[e].push(t))},s.runHook=function(e,t){i.isArray(s.oSimpleHooks[e])&&(t=t||[],o.each(s.oSimpleHooks[e],function(e){e.apply(null,t)}))},s.mainSettingsGet=function(e){return s.__boot?s.__boot.settingsGet(e):null},s.remoteRequest=function(e,t,o,i,n,r){s.__remote&&s.__remote.defaultRequest(e,t,o,i,n,r)},s.settingsGet=function(e,t){var o=s.mainSettingsGet("Plugins");return o=o&&i.isUnd(o[e])?null:o[e],o?i.isUnd(o[t])?null:o[t]:null},t.exports=s}(t)},{"../External/underscore.js":31,"./Utils.js":14}],13:[function(e,t){!function(t){"use strict";function s(e,t,s,o,r,a){this.list=e,this.listChecked=n.computed(function(){return i.filter(this.list(),function(e){return e.checked()})},this).extend({rateLimit:0}),this.isListChecked=n.computed(function(){return 0<this.listChecked().length},this),this.focusedItem=n.observable(null),this.selectedItem=t,this.selectedItemUseCallback=!0,this.itemSelectedThrottle=i.debounce(i.bind(this.itemSelected,this),300),this.listChecked.subscribe(function(e){0<e.length?null===this.selectedItem()?this.selectedItem.valueHasMutated():this.selectedItem(null):this.bAutoSelect&&this.focusedItem()&&this.selectedItem(this.focusedItem())},this),this.selectedItem.subscribe(function(e){e?(this.isListChecked()&&i.each(this.listChecked(),function(e){e.checked(!1)}),this.selectedItemUseCallback&&this.itemSelectedThrottle(e)):this.selectedItemUseCallback&&this.itemSelected(null)},this),this.selectedItem.extend({toggleSubscribe:[null,function(e){e&&e.selected(!1)},function(e){e&&e.selected(!0)}]}),this.focusedItem.extend({toggleSubscribe:[null,function(e){e&&e.focused(!1)},function(e){e&&e.focused(!0)}]}),this.oContentVisible=null,this.oContentScrollable=null,this.sItemSelector=s,this.sItemSelectedSelector=o,this.sItemCheckedSelector=r,this.sItemFocusedSelector=a,this.sLastUid="",this.bAutoSelect=!0,this.oCallbacks={},this.emptyFunction=function(){},this.focusedItem.subscribe(function(e){e&&(this.sLastUid=this.getItemUid(e))},this);var c=[],u=[],d=null,p=null;this.list.subscribe(function(e){var t=this;l.isArray(e)&&i.each(e,function(e){if(e){var s=t.getItemUid(e);c.push(s),e.checked()&&u.push(s),null===d&&e.focused()&&(d=s),null===p&&e.selected()&&(p=s)}})},this,"beforeChange"),this.list.subscribe(function(e){var t=this,s=null,o=!1,n=[],r=d,a=!1,h=!1,m=0;this.selectedItemUseCallback=!1,this.focusedItem(null),this.selectedItem(null),l.isArray(e)&&(m=u.length,i.each(e,function(e){var s=t.getItemUid(e);n.push(s),null!==d&&d===s&&(t.focusedItem(e),d=null),m>0&&-1<l.inArray(s,u)&&(a=!0,e.checked(!0),m--),a||null===p||p!==s||(h=!0,t.selectedItem(e),p=null)}),this.selectedItemUseCallback=!0,a||h||!this.bAutoSelect||(t.focusedItem()?t.selectedItem(t.focusedItem()):0<e.length&&(null!==r&&(o=!1,r=i.find(c,function(e){return o&&-1<l.inArray(e,n)?e:(r===e&&(o=!0),!1)}),r&&(s=i.find(e,function(e){return r===t.getItemUid(e)}))),t.selectedItem(s||null),t.focusedItem(t.selectedItem())))),c=[],u=[],d=null,p=null},this)}var o=e("../External/jquery.js"),i=e("../External/underscore.js"),n=e("../External/ko.js"),r=e("../External/key.js"),a=e("./Enums.js"),l=e("./Utils.js");s.prototype.itemSelected=function(e){this.isListChecked()?e||(this.oCallbacks.onItemSelect||this.emptyFunction)(e||null):e&&(this.oCallbacks.onItemSelect||this.emptyFunction)(e)},s.prototype.goDown=function(e){this.newSelectPosition(a.EventKeyCode.Down,!1,e)},s.prototype.goUp=function(e){this.newSelectPosition(a.EventKeyCode.Up,!1,e)},s.prototype.init=function(e,t,s){if(this.oContentVisible=e,this.oContentScrollable=t,s=s||"all",this.oContentVisible&&this.oContentScrollable){var i=this;o(this.oContentVisible).on("selectstart",function(e){e&&e.preventDefault&&e.preventDefault()}).on("click",this.sItemSelector,function(e){i.actionClick(n.dataFor(this),e)}).on("click",this.sItemCheckedSelector,function(e){var t=n.dataFor(this);t&&(e&&e.shiftKey?i.actionClick(t,e):(i.focusedItem(t),t.checked(!t.checked())))}),r("enter",s,function(){return i.focusedItem()&&!i.focusedItem().selected()?(i.actionClick(i.focusedItem()),!1):!0}),r("ctrl+up, command+up, ctrl+down, command+down",s,function(){return!1}),r("up, shift+up, down, shift+down, home, end, pageup, pagedown, insert, space",s,function(e,t){if(e&&t&&t.shortcut){var s=0;switch(t.shortcut){case"up":case"shift+up":s=a.EventKeyCode.Up;break;case"down":case"shift+down":s=a.EventKeyCode.Down;break;case"insert":s=a.EventKeyCode.Insert;break;case"space":s=a.EventKeyCode.Space;break;case"home":s=a.EventKeyCode.Home;break;case"end":s=a.EventKeyCode.End;break;case"pageup":s=a.EventKeyCode.PageUp;break;case"pagedown":s=a.EventKeyCode.PageDown}if(s>0)return i.newSelectPosition(s,r.shift),!1}})}},s.prototype.autoSelect=function(e){this.bAutoSelect=!!e},s.prototype.getItemUid=function(e){var t="",s=this.oCallbacks.onItemGetUid||null;return s&&e&&(t=s(e)),t.toString()},s.prototype.newSelectPosition=function(e,t,s){var o=0,n=10,r=!1,l=!1,c=null,u=this.list(),d=u?u.length:0,p=this.focusedItem();if(d>0)if(p){if(p)if(a.EventKeyCode.Down===e||a.EventKeyCode.Up===e||a.EventKeyCode.Insert===e||a.EventKeyCode.Space===e)i.each(u,function(t){if(!l)switch(e){case a.EventKeyCode.Up:p===t?l=!0:c=t;break;case a.EventKeyCode.Down:case a.EventKeyCode.Insert:r?(c=t,l=!0):p===t&&(r=!0)}});else if(a.EventKeyCode.Home===e||a.EventKeyCode.End===e)a.EventKeyCode.Home===e?c=u[0]:a.EventKeyCode.End===e&&(c=u[u.length-1]);else if(a.EventKeyCode.PageDown===e){for(;d>o;o++)if(p===u[o]){o+=n,o=o>d-1?d-1:o,c=u[o];break}}else if(a.EventKeyCode.PageUp===e)for(o=d;o>=0;o--)if(p===u[o]){o-=n,o=0>o?0:o,c=u[o];break}}else a.EventKeyCode.Down===e||a.EventKeyCode.Insert===e||a.EventKeyCode.Space===e||a.EventKeyCode.Home===e||a.EventKeyCode.PageUp===e?c=u[0]:(a.EventKeyCode.Up===e||a.EventKeyCode.End===e||a.EventKeyCode.PageDown===e)&&(c=u[u.length-1]);c?(this.focusedItem(c),p&&(t?(a.EventKeyCode.Up===e||a.EventKeyCode.Down===e)&&p.checked(!p.checked()):(a.EventKeyCode.Insert===e||a.EventKeyCode.Space===e)&&p.checked(!p.checked())),!this.bAutoSelect&&!s||this.isListChecked()||a.EventKeyCode.Space===e||this.selectedItem(c),this.scrollToFocused()):p&&(!t||a.EventKeyCode.Up!==e&&a.EventKeyCode.Down!==e?(a.EventKeyCode.Insert===e||a.EventKeyCode.Space===e)&&p.checked(!p.checked()):p.checked(!p.checked()),this.focusedItem(p))},s.prototype.scrollToFocused=function(){if(!this.oContentVisible||!this.oContentScrollable)return!1;var e=20,t=o(this.sItemFocusedSelector,this.oContentScrollable),s=t.position(),i=this.oContentVisible.height(),n=t.outerHeight();return s&&(s.top<0||s.top+n>i)?(this.oContentScrollable.scrollTop(s.top<0?this.oContentScrollable.scrollTop()+s.top-e:this.oContentScrollable.scrollTop()+s.top-i+n+e),!0):!1},s.prototype.scrollToTop=function(e){return this.oContentVisible&&this.oContentScrollable?(e?this.oContentScrollable.scrollTop(0):this.oContentScrollable.stop().animate({scrollTop:0},200),!0):!1},s.prototype.eventClickFunction=function(e,t){var s=this.getItemUid(e),o=0,i=0,n=null,r="",a=!1,l=!1,c=[],u=!1;if(t&&t.shiftKey&&""!==s&&""!==this.sLastUid&&s!==this.sLastUid)for(c=this.list(),u=e.checked(),o=0,i=c.length;i>o;o++)n=c[o],r=this.getItemUid(n),a=!1,(r===this.sLastUid||r===s)&&(a=!0),a&&(l=!l),(l||a)&&n.checked(u);this.sLastUid=""===s?"":s},s.prototype.actionClick=function(e,t){if(e){var s=!0,o=this.getItemUid(e);t&&(!t.shiftKey||t.ctrlKey||t.altKey?!t.ctrlKey||t.shiftKey||t.altKey||(s=!1,this.focusedItem(e),this.selectedItem()&&e!==this.selectedItem()&&this.selectedItem().checked(!0),e.checked(!e.checked())):(s=!1,""===this.sLastUid&&(this.sLastUid=o),e.checked(!e.checked()),this.eventClickFunction(e,t),this.focusedItem(e))),s&&(this.focusedItem(e),this.selectedItem(e),this.scrollToFocused())}},s.prototype.on=function(e,t){this.oCallbacks[e]=t},t.exports=s}(t)},{"../External/jquery.js":26,"../External/key.js":27,"../External/ko.js":28,"../External/underscore.js":31,"./Enums.js":7,"./Utils.js":14}],14:[function(e,t){!function(t){"use strict";var s={},o=e("../External/jquery.js"),i=e("../External/underscore.js"),n=e("../External/ko.js"),r=e("../External/window.js"),a=e("../External/$window.js"),l=e("../External/$html.js"),c=e("../External/$doc.js"),u=e("../External/NotificationClass.js"),d=e("../Storages/LocalStorage.js"),p=e("../Knoin/Knoin.js"),h=e("./Enums.js"),m=e("./Consts.js"),g=e("./Globals.js"),f=e("./Events.js");s.trim=o.trim,s.inArray=o.inArray,s.isArray=i.isArray,s.isFunc=i.isFunction,s.isUnd=i.isUndefined,s.isNull=i.isNull,s.emptyFunction=function(){},s.isNormal=function(e){return!s.isUnd(e)&&!s.isNull(e)},s.windowResize=i.debounce(function(e){s.isUnd(e)?a.resize():r.setTimeout(function(){a.resize()},e)},50),s.isPosNumeric=function(e,t){return s.isNormal(e)?(s.isUnd(t)?0:!t)?/^[1-9]+[0-9]*$/.test(e.toString()):/^[0-9]*$/.test(e.toString()):!1},s.pInt=function(e,t){var o=s.isNormal(e)&&""!==e?r.parseInt(e,10):t||0;return r.isNaN(o)?t||0:o},s.pString=function(e){return s.isNormal(e)?""+e:""},s.isNonEmptyArray=function(e){return s.isArray(e)&&0<e.length},s.simpleQueryParser=function(e){var t={},s=[],o=[],i=0,n=0;for(s=e.split("&"),i=0,n=s.length;n>i;i++)o=s[i].split("="),t[r.decodeURIComponent(o[0])]=r.decodeURIComponent(o[1]);return t},s.rsaEncode=function(e,t,o,i){if(r.crypto&&r.crypto.getRandomValues&&r.RSAKey&&t&&o&&i){var n=new r.RSAKey;if(n.setPublic(i,o),e=n.encrypt(s.fakeMd5()+":"+e+":"+s.fakeMd5()),!1!==e)return"rsa:"+t+":"+e}return!1},s.rsaEncode.supported=!!(r.crypto&&r.crypto.getRandomValues&&r.RSAKey),s.exportPath=function(e,t,o){for(var i=null,n=e.split("."),a=o||r;n.length&&(i=n.shift());)n.length||s.isUnd(t)?a=a[i]?a[i]:a[i]={}:a[i]=t},s.pImport=function(e,t,s){e[t]=s},s.pExport=function(e,t,o){return s.isUnd(e[t])?o:e[t]},s.encodeHtml=function(e){return s.isNormal(e)?e.toString().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;"):""},s.splitPlainText=function(e,t){var o="",i="",n=e,r=0,a=0;for(t=s.isUnd(t)?100:t;n.length>t;)i=n.substring(0,t),r=i.lastIndexOf(" "),a=i.lastIndexOf("\n"),-1!==a&&(r=a),-1===r&&(r=t),o+=i.substring(0,r)+"\n",n=n.substring(r+1);return o+n},s.timeOutAction=function(){var e={};return function(t,o,i){s.isUnd(e[t])&&(e[t]=0),r.clearTimeout(e[t]),e[t]=r.setTimeout(o,i)}}(),s.timeOutActionSecond=function(){var e={};return function(t,s,o){e[t]||(e[t]=r.setTimeout(function(){s(),e[t]=0},o))}}(),s.audio=function(){var e=!1;return function(t,s){if(!1===e)if(g.bIsiOSDevice)e=null;else{var o=!1,i=!1,n=r.Audio?new r.Audio:null;n&&n.canPlayType&&n.play?(o=""!==n.canPlayType('audio/mpeg; codecs="mp3"'),o||(i=""!==n.canPlayType('audio/ogg; codecs="vorbis"')),o||i?(e=n,e.preload="none",e.loop=!1,e.autoplay=!1,e.muted=!1,e.src=o?t:s):e=null):e=null}return e}}(),s.hos=function(e,t){return e&&r.Object&&r.Object.hasOwnProperty?r.Object.hasOwnProperty.call(e,t):!1},s.i18n=function(e,t,o){var i="",n=s.isUnd(g.oI18N[e])?s.isUnd(o)?e:o:g.oI18N[e];if(!s.isUnd(t)&&!s.isNull(t))for(i in t)s.hos(t,i)&&(n=n.replace("%"+i+"%",t[i]));return n},s.i18nToNode=function(e){i.defer(function(){o(".i18n",e).each(function(){var e=o(this),t="";t=e.data("i18n-text"),t?e.text(s.i18n(t)):(t=e.data("i18n-html"),t&&e.html(s.i18n(t)),t=e.data("i18n-placeholder"),t&&e.attr("placeholder",s.i18n(t)),t=e.data("i18n-title"),t&&e.attr("title",s.i18n(t)))})})},s.i18nReload=function(){r.rainloopI18N&&(g.oI18N=r.rainloopI18N||{},s.i18nToNode(c),g.langChangeTrigger(!g.langChangeTrigger())),r.rainloopI18N=null},s.initOnStartOrLangChange=function(e,t,s){e&&e.call(t),s?g.langChangeTrigger.subscribe(function(){e&&e.call(t),s.call(t)}):e&&g.langChangeTrigger.subscribe(e,t)},s.inFocus=function(){return document.activeElement?(s.isUnd(document.activeElement.__inFocusCache)&&(document.activeElement.__inFocusCache=o(document.activeElement).is("input,textarea,iframe,.cke_editable")),!!document.activeElement.__inFocusCache):!1},s.removeInFocus=function(){if(document&&document.activeElement&&document.activeElement.blur){var e=o(document.activeElement);e.is("input,textarea")&&document.activeElement.blur()}},s.removeSelection=function(){if(r&&r.getSelection){var e=r.getSelection();e&&e.removeAllRanges&&e.removeAllRanges()}else document&&document.selection&&document.selection.empty&&document.selection.empty()},s.replySubjectAdd=function(e,t){e=s.trim(e.toUpperCase()),t=s.trim(t.replace(/[\s]+/," "));var o=0,i="",n=!1,r="",a=[],l=[],c="RE"===e,u="FWD"===e,d=!u;if(""!==t){for(n=!1,l=t.split(":"),o=0;o<l.length;o++)r=s.trim(l[o]),n||!/^(RE|FWD)$/i.test(r)&&!/^(RE|FWD)[\[\(][\d]+[\]\)]$/i.test(r)?(a.push(l[o]),n=!0):(c||(c=!!/^RE/i.test(r)),u||(u=!!/^FWD/i.test(r)));0<a.length&&(i=s.trim(a.join(":")))}return d?c=!1:u=!1,s.trim((d?"Re: ":"Fwd: ")+(c?"Re: ":"")+(u?"Fwd: ":"")+i)},s.fixLongSubject=function(e){var t=30,o=/^Re([\[\(]([\d]+)[\]\)]|):[\s]{0,3}Re([\[\(]([\d]+)[\]\)]|):/gi,i=null;e=s.trim(e.replace(/[\s]+/," "));do t--,i=o.exec(e),(!i||s.isUnd(i[0]))&&(i=null),i&&(e=e.replace(o,"Re:"));while(i||t>0);return e.replace(/[\s]+/," ")},s._replySubjectAdd_=function(e,t,o){var i=null,n=s.trim(t);return n=null===(i=new r.RegExp("^"+e+"[\\s]?\\:(.*)$","gi").exec(t))||s.isUnd(i[1])?null===(i=new r.RegExp("^("+e+"[\\s]?[\\[\\(]?)([\\d]+)([\\]\\)]?[\\s]?\\:.*)$","gi").exec(t))||s.isUnd(i[1])||s.isUnd(i[2])||s.isUnd(i[3])?e+": "+t:i[1]+(s.pInt(i[2])+1)+i[3]:e+"[2]: "+i[1],n=n.replace(/[\s]+/g," "),n=(s.isUnd(o)?!0:o)?s.fixLongSubject(n):n},s._fixLongSubject_=function(e){var t=0,o=null;e=s.trim(e.replace(/[\s]+/," "));do o=/^Re(\[([\d]+)\]|):[\s]{0,3}Re(\[([\d]+)\]|):/gi.exec(e),(!o||s.isUnd(o[0]))&&(o=null),o&&(t=0,t+=s.isUnd(o[2])?1:0+s.pInt(o[2]),t+=s.isUnd(o[4])?1:0+s.pInt(o[4]),e=e.replace(/^Re(\[[\d]+\]|):[\s]{0,3}Re(\[[\d]+\]|):/gi,"Re"+(t>0?"["+t+"]":"")+":"));while(o);return e=e.replace(/[\s]+/," ")},s.roundNumber=function(e,t){return r.Math.round(e*r.Math.pow(10,t))/r.Math.pow(10,t)},s.friendlySize=function(e){return e=s.pInt(e),e>=1073741824?s.roundNumber(e/1073741824,1)+"GB":e>=1048576?s.roundNumber(e/1048576,1)+"MB":e>=1024?s.roundNumber(e/1024,0)+"KB":e+"B"},s.log=function(e){r.console&&r.console.log&&r.console.log(e)},s.getNotification=function(e,t){return e=s.pInt(e),h.Notification.ClientViewError===e&&t?t:s.isUnd(g.oNotificationI18N[e])?"":g.oNotificationI18N[e]},s.initNotificationLanguage=function(){var e=g.oNotificationI18N||{};e[h.Notification.InvalidToken]=s.i18n("NOTIFICATIONS/INVALID_TOKEN"),e[h.Notification.AuthError]=s.i18n("NOTIFICATIONS/AUTH_ERROR"),e[h.Notification.AccessError]=s.i18n("NOTIFICATIONS/ACCESS_ERROR"),e[h.Notification.ConnectionError]=s.i18n("NOTIFICATIONS/CONNECTION_ERROR"),e[h.Notification.CaptchaError]=s.i18n("NOTIFICATIONS/CAPTCHA_ERROR"),e[h.Notification.SocialFacebookLoginAccessDisable]=s.i18n("NOTIFICATIONS/SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE"),e[h.Notification.SocialTwitterLoginAccessDisable]=s.i18n("NOTIFICATIONS/SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE"),e[h.Notification.SocialGoogleLoginAccessDisable]=s.i18n("NOTIFICATIONS/SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE"),e[h.Notification.DomainNotAllowed]=s.i18n("NOTIFICATIONS/DOMAIN_NOT_ALLOWED"),e[h.Notification.AccountNotAllowed]=s.i18n("NOTIFICATIONS/ACCOUNT_NOT_ALLOWED"),e[h.Notification.AccountTwoFactorAuthRequired]=s.i18n("NOTIFICATIONS/ACCOUNT_TWO_FACTOR_AUTH_REQUIRED"),e[h.Notification.AccountTwoFactorAuthError]=s.i18n("NOTIFICATIONS/ACCOUNT_TWO_FACTOR_AUTH_ERROR"),e[h.Notification.CouldNotSaveNewPassword]=s.i18n("NOTIFICATIONS/COULD_NOT_SAVE_NEW_PASSWORD"),e[h.Notification.CurrentPasswordIncorrect]=s.i18n("NOTIFICATIONS/CURRENT_PASSWORD_INCORRECT"),e[h.Notification.NewPasswordShort]=s.i18n("NOTIFICATIONS/NEW_PASSWORD_SHORT"),e[h.Notification.NewPasswordWeak]=s.i18n("NOTIFICATIONS/NEW_PASSWORD_WEAK"),e[h.Notification.NewPasswordForbidden]=s.i18n("NOTIFICATIONS/NEW_PASSWORD_FORBIDDENT"),e[h.Notification.ContactsSyncError]=s.i18n("NOTIFICATIONS/CONTACTS_SYNC_ERROR"),e[h.Notification.CantGetMessageList]=s.i18n("NOTIFICATIONS/CANT_GET_MESSAGE_LIST"),e[h.Notification.CantGetMessage]=s.i18n("NOTIFICATIONS/CANT_GET_MESSAGE"),e[h.Notification.CantDeleteMessage]=s.i18n("NOTIFICATIONS/CANT_DELETE_MESSAGE"),e[h.Notification.CantMoveMessage]=s.i18n("NOTIFICATIONS/CANT_MOVE_MESSAGE"),e[h.Notification.CantCopyMessage]=s.i18n("NOTIFICATIONS/CANT_MOVE_MESSAGE"),e[h.Notification.CantSaveMessage]=s.i18n("NOTIFICATIONS/CANT_SAVE_MESSAGE"),e[h.Notification.CantSendMessage]=s.i18n("NOTIFICATIONS/CANT_SEND_MESSAGE"),e[h.Notification.InvalidRecipients]=s.i18n("NOTIFICATIONS/INVALID_RECIPIENTS"),e[h.Notification.CantCreateFolder]=s.i18n("NOTIFICATIONS/CANT_CREATE_FOLDER"),e[h.Notification.CantRenameFolder]=s.i18n("NOTIFICATIONS/CANT_RENAME_FOLDER"),e[h.Notification.CantDeleteFolder]=s.i18n("NOTIFICATIONS/CANT_DELETE_FOLDER"),e[h.Notification.CantDeleteNonEmptyFolder]=s.i18n("NOTIFICATIONS/CANT_DELETE_NON_EMPTY_FOLDER"),e[h.Notification.CantSubscribeFolder]=s.i18n("NOTIFICATIONS/CANT_SUBSCRIBE_FOLDER"),e[h.Notification.CantUnsubscribeFolder]=s.i18n("NOTIFICATIONS/CANT_UNSUBSCRIBE_FOLDER"),e[h.Notification.CantSaveSettings]=s.i18n("NOTIFICATIONS/CANT_SAVE_SETTINGS"),e[h.Notification.CantSavePluginSettings]=s.i18n("NOTIFICATIONS/CANT_SAVE_PLUGIN_SETTINGS"),e[h.Notification.DomainAlreadyExists]=s.i18n("NOTIFICATIONS/DOMAIN_ALREADY_EXISTS"),e[h.Notification.CantInstallPackage]=s.i18n("NOTIFICATIONS/CANT_INSTALL_PACKAGE"),e[h.Notification.CantDeletePackage]=s.i18n("NOTIFICATIONS/CANT_DELETE_PACKAGE"),e[h.Notification.InvalidPluginPackage]=s.i18n("NOTIFICATIONS/INVALID_PLUGIN_PACKAGE"),e[h.Notification.UnsupportedPluginPackage]=s.i18n("NOTIFICATIONS/UNSUPPORTED_PLUGIN_PACKAGE"),e[h.Notification.LicensingServerIsUnavailable]=s.i18n("NOTIFICATIONS/LICENSING_SERVER_IS_UNAVAILABLE"),e[h.Notification.LicensingExpired]=s.i18n("NOTIFICATIONS/LICENSING_EXPIRED"),e[h.Notification.LicensingBanned]=s.i18n("NOTIFICATIONS/LICENSING_BANNED"),e[h.Notification.DemoSendMessageError]=s.i18n("NOTIFICATIONS/DEMO_SEND_MESSAGE_ERROR"),e[h.Notification.AccountAlreadyExists]=s.i18n("NOTIFICATIONS/ACCOUNT_ALREADY_EXISTS"),e[h.Notification.MailServerError]=s.i18n("NOTIFICATIONS/MAIL_SERVER_ERROR"),e[h.Notification.InvalidInputArgument]=s.i18n("NOTIFICATIONS/INVALID_INPUT_ARGUMENT"),e[h.Notification.UnknownNotification]=s.i18n("NOTIFICATIONS/UNKNOWN_ERROR"),e[h.Notification.UnknownError]=s.i18n("NOTIFICATIONS/UNKNOWN_ERROR")},s.getUploadErrorDescByCode=function(e){var t="";switch(s.pInt(e)){case h.UploadErrorCode.FileIsTooBig:t=s.i18n("UPLOAD/ERROR_FILE_IS_TOO_BIG");break;case h.UploadErrorCode.FilePartiallyUploaded:t=s.i18n("UPLOAD/ERROR_FILE_PARTIALLY_UPLOADED");break;case h.UploadErrorCode.FileNoUploaded:t=s.i18n("UPLOAD/ERROR_NO_FILE_UPLOADED");break;case h.UploadErrorCode.MissingTempFolder:t=s.i18n("UPLOAD/ERROR_MISSING_TEMP_FOLDER");break;case h.UploadErrorCode.FileOnSaveingError:t=s.i18n("UPLOAD/ERROR_ON_SAVING_FILE");break;case h.UploadErrorCode.FileType:t=s.i18n("UPLOAD/ERROR_FILE_TYPE");break;default:t=s.i18n("UPLOAD/ERROR_UNKNOWN")}return t},s.delegateRun=function(e,t,o,n){e&&e[t]&&(n=s.pInt(n),0>=n?e[t].apply(e,s.isArray(o)?o:[]):i.delay(function(){e[t].apply(e,s.isArray(o)?o:[])},n))},s.killCtrlAandS=function(e){if(e=e||r.event,e&&e.ctrlKey&&!e.shiftKey&&!e.altKey){var t=e.target||e.srcElement,s=e.keyCode||e.which;if(s===h.EventKeyCode.S)return void e.preventDefault();if(t&&t.tagName&&t.tagName.match(/INPUT|TEXTAREA/i))return;s===h.EventKeyCode.A&&(r.getSelection?r.getSelection().removeAllRanges():r.document.selection&&r.document.selection.clear&&r.document.selection.clear(),e.preventDefault())}},s.createCommand=function(e,t,o){var i=t?function(){return i.canExecute&&i.canExecute()&&t.apply(e,Array.prototype.slice.call(arguments)),!1}:function(){};return i.enabled=n.observable(!0),o=s.isUnd(o)?!0:o,i.canExecute=n.computed(s.isFunc(o)?function(){return i.enabled()&&o.call(e)}:function(){return i.enabled()&&!!o}),i},s.initDataConstructorBySettings=function(e){e.editorDefaultType=n.observable(h.EditorDefaultType.Html),e.showImages=n.observable(!1),e.interfaceAnimation=n.observable(h.InterfaceAnimation.Full),e.contactsAutosave=n.observable(!1),g.sAnimationType=h.InterfaceAnimation.Full,e.capaThemes=n.observable(!1),e.allowLanguagesOnSettings=n.observable(!0),e.allowLanguagesOnLogin=n.observable(!0),e.useLocalProxyForExternalImages=n.observable(!1),e.desktopNotifications=n.observable(!1),e.useThreads=n.observable(!0),e.replySameFolder=n.observable(!0),e.useCheckboxesInList=n.observable(!0),e.layout=n.observable(h.Layout.SidePreview),e.usePreviewPane=n.computed(function(){return h.Layout.NoPreview!==e.layout()}),e.interfaceAnimation.subscribe(function(e){if(g.bMobileDevice||e===h.InterfaceAnimation.None)l.removeClass("rl-anim rl-anim-full").addClass("no-rl-anim"),g.sAnimationType=h.InterfaceAnimation.None;else switch(e){case h.InterfaceAnimation.Full:l.removeClass("no-rl-anim").addClass("rl-anim rl-anim-full"),g.sAnimationType=e;break;case h.InterfaceAnimation.Normal:l.removeClass("no-rl-anim rl-anim-full").addClass("rl-anim"),g.sAnimationType=e}}),e.interfaceAnimation.valueHasMutated(),e.desktopNotificationsPermisions=n.computed(function(){e.desktopNotifications();var t=h.DesktopNotifications.NotSupported;if(u&&u.permission)switch(u.permission.toLowerCase()){case"granted":t=h.DesktopNotifications.Allowed;break;case"denied":t=h.DesktopNotifications.Denied;break;case"default":t=h.DesktopNotifications.NotAllowed}else r.webkitNotifications&&r.webkitNotifications.checkPermission&&(t=r.webkitNotifications.checkPermission());return t}),e.useDesktopNotifications=n.computed({read:function(){return e.desktopNotifications()&&h.DesktopNotifications.Allowed===e.desktopNotificationsPermisions()},write:function(t){if(t){var s=e.desktopNotificationsPermisions();h.DesktopNotifications.Allowed===s?e.desktopNotifications(!0):h.DesktopNotifications.NotAllowed===s?u.requestPermission(function(){e.desktopNotifications.valueHasMutated(),h.DesktopNotifications.Allowed===e.desktopNotificationsPermisions()?e.desktopNotifications()?e.desktopNotifications.valueHasMutated():e.desktopNotifications(!0):e.desktopNotifications()?e.desktopNotifications(!1):e.desktopNotifications.valueHasMutated()}):e.desktopNotifications(!1)}else e.desktopNotifications(!1)}}),e.language=n.observable(""),e.languages=n.observableArray([]),e.mainLanguage=n.computed({read:e.language,write:function(t){t!==e.language()?-1<s.inArray(t,e.languages())?e.language(t):0<e.languages().length&&e.language(e.languages()[0]):e.language.valueHasMutated()}}),e.theme=n.observable(""),e.themes=n.observableArray([]),e.mainTheme=n.computed({read:e.theme,write:function(t){if(t!==e.theme()){var o=e.themes();-1<s.inArray(t,o)?e.theme(t):0<o.length&&e.theme(o[0])}else e.theme.valueHasMutated()}}),e.capaAdditionalAccounts=n.observable(!1),e.capaAdditionalIdentities=n.observable(!1),e.capaGravatar=n.observable(!1),e.determineUserLanguage=n.observable(!1),e.determineUserDomain=n.observable(!1),e.messagesPerPage=n.observable(m.Defaults.MessagesPerPage),e.mainMessagesPerPage=e.messagesPerPage,e.mainMessagesPerPage=n.computed({read:e.messagesPerPage,write:function(t){-1<s.inArray(s.pInt(t),m.Defaults.MessagesPerPageArray)?t!==e.messagesPerPage()&&e.messagesPerPage(t):e.messagesPerPage.valueHasMutated()}}),e.facebookSupported=n.observable(!1),e.facebookEnable=n.observable(!1),e.facebookAppID=n.observable(""),e.facebookAppSecret=n.observable(""),e.twitterEnable=n.observable(!1),e.twitterConsumerKey=n.observable(""),e.twitterConsumerSecret=n.observable(""),e.googleEnable=n.observable(!1),e.googleClientID=n.observable(""),e.googleClientSecret=n.observable(""),e.googleApiKey=n.observable(""),e.dropboxEnable=n.observable(!1),e.dropboxApiKey=n.observable(""),e.contactsIsAllowed=n.observable(!1)
},s.createMomentDate=function(e){return s.isUnd(e.moment)&&(e.moment=n.observable(moment())),n.computed(function(){g.momentTrigger();var e=this.moment();return 1970===e.year()?"":e.fromNow()},e)},s.createMomentShortDate=function(e){return n.computed(function(){var e="",t=moment(),o=this.moment(),i=this.momentDate();return e=1970===o.year()?"":4>=t.diff(o,"hours")?i:t.format("L")===o.format("L")?s.i18n("MESSAGE_LIST/TODAY_AT",{TIME:o.format("LT")}):t.clone().subtract("days",1).format("L")===o.format("L")?s.i18n("MESSAGE_LIST/YESTERDAY_AT",{TIME:o.format("LT")}):o.format(t.year()===o.year()?"D MMM.":"LL")},e)},s.isFolderExpanded=function(e){var t=d.get(h.ClientSideKeyName.ExpandedFolders);return i.isArray(t)&&-1!==i.indexOf(t,e)},s.setExpandedFolder=function(e,t){var s=d.get(h.ClientSideKeyName.ExpandedFolders);i.isArray(s)||(s=[]),t?(s.push(e),s=i.uniq(s)):s=i.without(s,e),d.set(h.ClientSideKeyName.ExpandedFolders,s)},s.initLayoutResizer=function(e,t,i){var n=60,r=155,a=o(e),l=o(t),c=d.get(i)||null,u=function(e){e&&(a.css({width:""+e+"px"}),l.css({left:""+e+"px"}))},p=function(e){if(e)a.resizable("disable"),u(n);else{a.resizable("enable");var t=s.pInt(d.get(i))||r;u(t>r?t:r)}},h=function(e,t){t&&t.size&&t.size.width&&(d.set(i,t.size.width),l.css({left:""+t.size.width+"px"}))};null!==c&&u(c>r?c:r),a.resizable({helper:"ui-resizable-helper",minWidth:r,maxWidth:350,handles:"e",stop:h}),f.sub("left-panel.off",function(){p(!0)}),f.sub("left-panel.on",function(){p(!1)})},s.initBlockquoteSwitcher=function(e){if(e){var t=o("blockquote:not(.rl-bq-switcher)",e).filter(function(){return 0===o(this).parent().closest("blockquote",e).length});t&&0<t.length&&t.each(function(){var e=o(this),t=e.height();(0===t||t>100)&&(e.addClass("rl-bq-switcher hidden-bq"),o('<span class="rlBlockquoteSwitcher"><i class="icon-ellipsis" /></span>').insertBefore(e).click(function(){e.toggleClass("hidden-bq"),s.windowResize()}).after("<br />").before("<br />"))})}},s.removeBlockquoteSwitcher=function(e){e&&(o(e).find("blockquote.rl-bq-switcher").each(function(){o(this).removeClass("rl-bq-switcher hidden-bq")}),o(e).find(".rlBlockquoteSwitcher").each(function(){o(this).remove()}))},s.toggleMessageBlockquote=function(e){e&&e.find(".rlBlockquoteSwitcher").click()},s.convertThemeName=function(e){return"@custom"===e.substr(-7)&&(e=s.trim(e.substring(0,e.length-7))),s.trim(e.replace(/[^a-zA-Z]+/g," ").replace(/([A-Z])/g," $1").replace(/[\s]+/g," "))},s.quoteName=function(e){return e.replace(/["]/g,'\\"')},s.microtime=function(){return(new Date).getTime()},s.convertLangName=function(e,t){return s.i18n("LANGS_NAMES"+(!0===t?"_EN":"")+"/LANG_"+e.toUpperCase().replace(/[^a-zA-Z0-9]+/,"_"),null,e)},s.fakeMd5=function(e){var t="",o="0123456789abcdefghijklmnopqrstuvwxyz";for(e=s.isUnd(e)?32:s.pInt(e);t.length<e;)t+=o.substr(r.Math.round(r.Math.random()*o.length),1);return t},s.md5=function(e){function t(e,t){return e<<t|e>>>32-t}function s(e,t){var s,o,i,n,r;return i=2147483648&e,n=2147483648&t,s=1073741824&e,o=1073741824&t,r=(1073741823&e)+(1073741823&t),s&o?2147483648^r^i^n:s|o?1073741824&r?3221225472^r^i^n:1073741824^r^i^n:r^i^n}function o(e,t,s){return e&t|~e&s}function i(e,t,s){return e&s|t&~s}function n(e,t,s){return e^t^s}function r(e,t,s){return t^(e|~s)}function a(e,i,n,r,a,l,c){return e=s(e,s(s(o(i,n,r),a),c)),s(t(e,l),i)}function l(e,o,n,r,a,l,c){return e=s(e,s(s(i(o,n,r),a),c)),s(t(e,l),o)}function c(e,o,i,r,a,l,c){return e=s(e,s(s(n(o,i,r),a),c)),s(t(e,l),o)}function u(e,o,i,n,a,l,c){return e=s(e,s(s(r(o,i,n),a),c)),s(t(e,l),o)}function d(e){for(var t,s=e.length,o=s+8,i=(o-o%64)/64,n=16*(i+1),r=Array(n-1),a=0,l=0;s>l;)t=(l-l%4)/4,a=l%4*8,r[t]=r[t]|e.charCodeAt(l)<<a,l++;return t=(l-l%4)/4,a=l%4*8,r[t]=r[t]|128<<a,r[n-2]=s<<3,r[n-1]=s>>>29,r}function p(e){var t,s,o="",i="";for(s=0;3>=s;s++)t=e>>>8*s&255,i="0"+t.toString(16),o+=i.substr(i.length-2,2);return o}function h(e){e=e.replace(/rn/g,"n");for(var t="",s=0;s<e.length;s++){var o=e.charCodeAt(s);128>o?t+=String.fromCharCode(o):o>127&&2048>o?(t+=String.fromCharCode(o>>6|192),t+=String.fromCharCode(63&o|128)):(t+=String.fromCharCode(o>>12|224),t+=String.fromCharCode(o>>6&63|128),t+=String.fromCharCode(63&o|128))}return t}var m,g,f,b,S,y,C,v,w,E=Array(),A=7,F=12,T=17,j=22,M=5,R=9,N=14,L=20,I=4,P=11,x=16,k=23,D=6,U=10,O=15,_=21;for(e=h(e),E=d(e),y=1732584193,C=4023233417,v=2562383102,w=271733878,m=0;m<E.length;m+=16)g=y,f=C,b=v,S=w,y=a(y,C,v,w,E[m+0],A,3614090360),w=a(w,y,C,v,E[m+1],F,3905402710),v=a(v,w,y,C,E[m+2],T,606105819),C=a(C,v,w,y,E[m+3],j,3250441966),y=a(y,C,v,w,E[m+4],A,4118548399),w=a(w,y,C,v,E[m+5],F,1200080426),v=a(v,w,y,C,E[m+6],T,2821735955),C=a(C,v,w,y,E[m+7],j,4249261313),y=a(y,C,v,w,E[m+8],A,1770035416),w=a(w,y,C,v,E[m+9],F,2336552879),v=a(v,w,y,C,E[m+10],T,4294925233),C=a(C,v,w,y,E[m+11],j,2304563134),y=a(y,C,v,w,E[m+12],A,1804603682),w=a(w,y,C,v,E[m+13],F,4254626195),v=a(v,w,y,C,E[m+14],T,2792965006),C=a(C,v,w,y,E[m+15],j,1236535329),y=l(y,C,v,w,E[m+1],M,4129170786),w=l(w,y,C,v,E[m+6],R,3225465664),v=l(v,w,y,C,E[m+11],N,643717713),C=l(C,v,w,y,E[m+0],L,3921069994),y=l(y,C,v,w,E[m+5],M,3593408605),w=l(w,y,C,v,E[m+10],R,38016083),v=l(v,w,y,C,E[m+15],N,3634488961),C=l(C,v,w,y,E[m+4],L,3889429448),y=l(y,C,v,w,E[m+9],M,568446438),w=l(w,y,C,v,E[m+14],R,3275163606),v=l(v,w,y,C,E[m+3],N,4107603335),C=l(C,v,w,y,E[m+8],L,1163531501),y=l(y,C,v,w,E[m+13],M,2850285829),w=l(w,y,C,v,E[m+2],R,4243563512),v=l(v,w,y,C,E[m+7],N,1735328473),C=l(C,v,w,y,E[m+12],L,2368359562),y=c(y,C,v,w,E[m+5],I,4294588738),w=c(w,y,C,v,E[m+8],P,2272392833),v=c(v,w,y,C,E[m+11],x,1839030562),C=c(C,v,w,y,E[m+14],k,4259657740),y=c(y,C,v,w,E[m+1],I,2763975236),w=c(w,y,C,v,E[m+4],P,1272893353),v=c(v,w,y,C,E[m+7],x,4139469664),C=c(C,v,w,y,E[m+10],k,3200236656),y=c(y,C,v,w,E[m+13],I,681279174),w=c(w,y,C,v,E[m+0],P,3936430074),v=c(v,w,y,C,E[m+3],x,3572445317),C=c(C,v,w,y,E[m+6],k,76029189),y=c(y,C,v,w,E[m+9],I,3654602809),w=c(w,y,C,v,E[m+12],P,3873151461),v=c(v,w,y,C,E[m+15],x,530742520),C=c(C,v,w,y,E[m+2],k,3299628645),y=u(y,C,v,w,E[m+0],D,4096336452),w=u(w,y,C,v,E[m+7],U,1126891415),v=u(v,w,y,C,E[m+14],O,2878612391),C=u(C,v,w,y,E[m+5],_,4237533241),y=u(y,C,v,w,E[m+12],D,1700485571),w=u(w,y,C,v,E[m+3],U,2399980690),v=u(v,w,y,C,E[m+10],O,4293915773),C=u(C,v,w,y,E[m+1],_,2240044497),y=u(y,C,v,w,E[m+8],D,1873313359),w=u(w,y,C,v,E[m+15],U,4264355552),v=u(v,w,y,C,E[m+6],O,2734768916),C=u(C,v,w,y,E[m+13],_,1309151649),y=u(y,C,v,w,E[m+4],D,4149444226),w=u(w,y,C,v,E[m+11],U,3174756917),v=u(v,w,y,C,E[m+2],O,718787259),C=u(C,v,w,y,E[m+9],_,3951481745),y=s(y,g),C=s(C,f),v=s(v,b),w=s(w,S);var V=p(y)+p(C)+p(v)+p(w);return V.toLowerCase()},s.convertPlainTextToHtml=function(e){return e.toString().replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/\r/g,"").replace(/\n/g,"<br />")},s.draggeblePlace=function(){return o('<div class="draggablePlace"><span class="text"></span>&nbsp;<i class="icon-copy icon-white visible-on-ctrl"></i><i class="icon-mail icon-white hidden-on-ctrl"></i></div>').appendTo("#rl-hidden")},s.defautOptionsAfterRender=function(e,t){t&&!s.isUnd(t.disabled)&&e&&o(e).toggleClass("disabled",t.disabled).prop("disabled",t.disabled)},s.windowPopupKnockout=function(e,t,i,n){var a=null,l=r.open(""),c="__OpenerApplyBindingsUid"+s.fakeMd5()+"__",u=o("#"+t);r[c]=function(){if(l&&l.document.body&&u&&u[0]){var t=o(l.document.body);o("#rl-content",t).html(u.html()),o("html",l.document).addClass("external "+o("html").attr("class")),s.i18nToNode(t),p.applyExternal(e,o("#rl-content",t)[0]),r[c]=null,n(l)}},l.document.open(),l.document.write('<html><head><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><meta name="viewport" content="user-scalable=no" /><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="robots" content="noindex, nofollow, noodp" /><title>'+s.encodeHtml(i)+'</title></head><body><div id="rl-content"></div></body></html>'),l.document.close(),a=l.document.createElement("script"),a.type="text/javascript",a.innerHTML="if(window&&window.opener&&window.opener['"+c+"']){window.opener['"+c+"']();window.opener['"+c+"']=null}",l.document.getElementsByTagName("head")[0].appendChild(a)},s.settingsSaveHelperFunction=function(e,t,o,n){return o=o||null,n=s.isUnd(n)?1e3:s.pInt(n),function(s,r,a,l,c){t.call(o,r&&r.Result?h.SaveSettingsStep.TrueResult:h.SaveSettingsStep.FalseResult),e&&e.call(o,s,r,a,l,c),i.delay(function(){t.call(o,h.SaveSettingsStep.Idle)},n)}},s.settingsSaveHelperSimpleFunction=function(e,t){return s.settingsSaveHelperFunction(null,e,t,1e3)},s.$div=o("<div></div>"),s.htmlToPlain=function(e){var t=0,i=0,n=0,r=0,a=0,l="",c=function(e){for(var t=100,s="",o="",i=e,n=0,r=0;i.length>t;)o=i.substring(0,t),n=o.lastIndexOf(" "),r=o.lastIndexOf("\n"),-1!==r&&(n=r),-1===n&&(n=t),s+=o.substring(0,n)+"\n",i=i.substring(n+1);return s+i},u=function(e){return e=c(o.trim(e)),e="> "+e.replace(/\n/gm,"\n> "),e.replace(/(^|\n)([> ]+)/gm,function(){return arguments&&2<arguments.length?arguments[1]+o.trim(arguments[2].replace(/[\s]/,""))+" ":""})},d=function(){if(arguments&&1<arguments.length){var e=o.trim(arguments[1]);return 0<e.length&&(e=e.replace(/<div[^>]*>([\s\S\r\n]*)<\/div>/gim,d),e="\n"+o.trim(e)+"\n"),e}return""},p=function(){return arguments&&1<arguments.length?arguments[1].toString().replace(/[\n]/gm,"<br />"):""},h=function(){return arguments&&1<arguments.length?""+arguments[1]+arguments[2].replace(/</g,"&lt;").replace(/>/g,"&gt;"):""},m=function(){return arguments&&1<arguments.length?o.trim(arguments[1]):""};for(l=e.replace(/<pre[^>]*>([\s\S\r\n]*)<\/pre>/gim,p).replace(/[\s]+/gm," ").replace(/((?:href|data)\s?=\s?)("[^"]+?"|'[^']+?')/gim,h).replace(/<br[^>]*>/gim,"\n").replace(/<\/h[\d]>/gi,"\n").replace(/<\/p>/gi,"\n\n").replace(/<\/li>/gi,"\n").replace(/<\/td>/gi,"\n").replace(/<\/tr>/gi,"\n").replace(/<hr[^>]*>/gim,"\n_______________________________\n\n").replace(/<div[^>]*>([\s\S\r\n]*)<\/div>/gim,d).replace(/<blockquote[^>]*>/gim,"\n__bq__start__\n").replace(/<\/blockquote>/gim,"\n__bq__end__\n").replace(/<a [^>]*>([\s\S\r\n]*?)<\/a>/gim,m).replace(/<\/div>/gi,"\n").replace(/&nbsp;/gi," ").replace(/&quot;/gi,'"').replace(/<[^>]*>/gm,""),l=s.$div.html(l).text(),l=l.replace(/\n[ \t]+/gm,"\n").replace(/[\n]{3,}/gm,"\n\n").replace(/&gt;/gi,">").replace(/&lt;/gi,"<").replace(/&amp;/gi,"&"),t=0,a=100;a>0&&(a--,i=l.indexOf("__bq__start__",t),i>-1);)n=l.indexOf("__bq__start__",i+5),r=l.indexOf("__bq__end__",i+5),(-1===n||n>r)&&r>i?(l=l.substring(0,i)+u(l.substring(i+13,r))+l.substring(r+11),t=0):t=n>-1&&r>n?n-1:0;return l=l.replace(/__bq__start__/gm,"").replace(/__bq__end__/gm,"")},s.plainToHtml=function(e,t){e=e.toString().replace(/\r/g,"");var o=!1,i=!0,n=!0,r=[],a="",l=0,c=e.split("\n");do{for(i=!1,r=[],l=0;l<c.length;l++)a=c[l],n=">"===a.substr(0,1),n&&!o?(i=!0,o=!0,r.push("~~~blockquote~~~"),r.push(a.substr(1))):!n&&o?(o=!1,r.push("~~~/blockquote~~~"),r.push(a)):r.push(n&&o?a.substr(1):a);o&&(o=!1,r.push("~~~/blockquote~~~")),c=r}while(i);return e=c.join("\n"),e=e.replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/~~~blockquote~~~[\s]*/g,"<blockquote>").replace(/[\s]*~~~\/blockquote~~~/g,"</blockquote>").replace(/[\-_~]{10,}/g,"<hr />").replace(/\n/g,"<br />"),t?s.linkify(e):e},r.rainloop_Utils_htmlToPlain=s.htmlToPlain,r.rainloop_Utils_plainToHtml=s.plainToHtml,s.linkify=function(e){return o.fn&&o.fn.linkify&&(e=s.$div.html(e.replace(/&amp;/gi,"amp_amp_12345_amp_amp")).linkify().find(".linkified").removeClass("linkified").end().html().replace(/amp_amp_12345_amp_amp/g,"&amp;")),e},s.resizeAndCrop=function(e,t,s){var o=new r.Image;o.onload=function(){var e=[0,0],o=document.createElement("canvas"),i=o.getContext("2d");o.width=t,o.height=t,e=this.width>this.height?[this.width-this.height,0]:[0,this.height-this.width],i.fillStyle="#fff",i.fillRect(0,0,t,t),i.drawImage(this,e[0]/2,e[1]/2,this.width-e[0],this.height-e[1],0,0,t,t),s(o.toDataURL("image/jpeg"))},o.src=e},s.folderListOptionsBuilder=function(e,t,o,i,n,a,l,c,u,d){var p=null,m=!1,g=0,f=0,b="   ",S=[];for(u=s.isNormal(u)?u:0<e.length,d=s.isUnd(d)?!1:!!d,n=s.isNormal(n)?n:0,a=s.isNormal(a)?a:null,l=s.isNormal(l)?l:null,c=s.isNormal(c)?c:null,s.isArray(o)||(o=[]),s.isArray(i)||(i=[]),g=0,f=i.length;f>g;g++)S.push({id:i[g][0],name:i[g][1],system:!1,seporator:!1,disabled:!1});for(m=!0,g=0,f=e.length;f>g;g++)p=e[g],(l?l.call(null,p):!0)&&(m&&0<S.length&&S.push({id:"---",name:"---",system:!1,seporator:!0,disabled:!0}),m=!1,S.push({id:p.fullNameRaw,name:c?c.call(null,p):p.name(),system:!0,seporator:!1,disabled:!p.selectable||-1<s.inArray(p.fullNameRaw,o)||(a?a.call(null,p):!1)}));for(m=!0,g=0,f=t.length;f>g;g++)p=t[g],(p.subScribed()||!p.existen)&&(l?l.call(null,p):!0)&&(h.FolderType.User===p.type()||!u||0<p.subFolders().length)&&(m&&0<S.length&&S.push({id:"---",name:"---",system:!1,seporator:!0,disabled:!0}),m=!1,S.push({id:p.fullNameRaw,name:new r.Array(p.deep+1-n).join(b)+(c?c.call(null,p):p.name()),system:!1,seporator:!1,disabled:!p.selectable||-1<s.inArray(p.fullNameRaw,o)||(a?a.call(null,p):!1)})),p.subScribed()&&0<p.subFolders().length&&(S=S.concat(s.folderListOptionsBuilder([],p.subFolders(),o,[],n,a,l,c,u,d)));return S},s.computedPagenatorHelper=function(e,t){return function(){var o=0,i=0,n=2,a=[],l=e(),c=t(),u=function(e,t,o){var i={current:e===l,name:s.isUnd(o)?e.toString():o.toString(),custom:s.isUnd(o)?!1:!0,title:s.isUnd(o)?"":e.toString(),value:e.toString()};(s.isUnd(t)?0:!t)?a.unshift(i):a.push(i)};if(c>1||c>0&&l>c){for(l>c?(u(c),o=c,i=c):((3>=l||l>=c-2)&&(n+=2),u(l),o=l,i=l);n>0;)if(o-=1,i+=1,o>0&&(u(o,!1),n--),c>=i)u(i,!0),n--;else if(0>=o)break;3===o?u(2,!1):o>3&&u(r.Math.round((o-1)/2),!1,"..."),c-2===i?u(c-1,!0):c-2>i&&u(r.Math.round((c+i)/2),!0,"..."),o>1&&u(1,!1),c>i&&u(c,!0)}return a}},s.selectElement=function(e){if(r.getSelection){var t=r.getSelection();t.removeAllRanges();var s=r.document.createRange();s.selectNodeContents(e),t.addRange(s)}else if(r.document.selection){var o=r.document.body.createTextRange();o.moveToElementText(e),o.select()}},s.detectDropdownVisibility=i.debounce(function(){g.dropdownVisibility(!!i.find(g.aBootstrapDropdowns,function(e){return e.hasClass("open")}))},50),s.triggerAutocompleteInputChange=function(e){var t=function(){o(".checkAutocomplete").trigger("change")};e?i.delay(t,100):t()},t.exports=s}(t)},{"../External/$doc.js":16,"../External/$html.js":17,"../External/$window.js":18,"../External/NotificationClass.js":22,"../External/jquery.js":26,"../External/ko.js":28,"../External/underscore.js":31,"../External/window.js":32,"../Knoin/Knoin.js":33,"../Storages/LocalStorage.js":60,"./Consts.js":6,"./Enums.js":7,"./Events.js":8,"./Globals.js":9}],15:[function(e,t){"use strict";t.exports=e("./jquery.js")("<div></div>")},{"./jquery.js":26}],16:[function(e,t){"use strict";t.exports=e("./jquery.js")(window.document)},{"./jquery.js":26}],17:[function(e,t){"use strict";t.exports=e("./jquery.js")("html")},{"./jquery.js":26}],18:[function(e,t){"use strict";t.exports=e("./jquery.js")(window)},{"./jquery.js":26}],19:[function(e,t){"use strict";t.exports=e("./window.js").rainloopAppData||{}},{"./window.js":32}],20:[function(e,t){"use strict";t.exports=JSON},{}],21:[function(e,t){"use strict";t.exports=Jua},{}],22:[function(e,t){"use strict";var s=e("./window.js");t.exports=s.Notification&&s.Notification.requestPermission?s.Notification:null},{"./window.js":32}],23:[function(e,t){"use strict";t.exports=crossroads},{}],24:[function(e,t){"use strict";t.exports=hasher},{}],25:[function(e,t){"use strict";t.exports=ifvisible},{}],26:[function(e,t){"use strict";t.exports=$},{}],27:[function(e,t){"use strict";t.exports=key},{}],28:[function(e,t){!function(t){"use strict";var s=e("./window.js"),o=e("./underscore.js"),i=e("./jquery.js"),n=e("./$window.js"),r=e("./$doc.js");ko.bindingHandlers.tooltip={init:function(t,s){var o=e("../Common/Globals.js"),n=e("../Common/Utils.js");if(!o.bMobileDevice){var r=i(t),a=r.data("tooltip-class")||"",l=r.data("tooltip-placement")||"top";r.tooltip({delay:{show:500,hide:100},html:!0,container:"body",placement:l,trigger:"hover",title:function(){return r.is(".disabled")||o.dropdownVisibility()?"":'<span class="tooltip-class '+a+'">'+n.i18n(ko.utils.unwrapObservable(s()))+"</span>"}}).click(function(){r.tooltip("hide")}),o.tooltipTrigger.subscribe(function(){r.tooltip("hide")})}}},ko.bindingHandlers.tooltip2={init:function(t,s){var o=i(t),n=o.data("tooltip-class")||"",r=o.data("tooltip-placement")||"top",a=e("../Common/Globals.js");o.tooltip({delay:{show:500,hide:100},html:!0,container:"body",placement:r,title:function(){return o.is(".disabled")||a.dropdownVisibility()?"":'<span class="tooltip-class '+n+'">'+s()()+"</span>"}}).click(function(){o.tooltip("hide")}),a.tooltipTrigger.subscribe(function(){o.tooltip("hide")})}},ko.bindingHandlers.tooltip3={init:function(t){var s=i(t),o=e("../Common/Globals.js");s.tooltip({container:"body",trigger:"hover manual",title:function(){return s.data("tooltip3-data")||""}}),r.click(function(){s.tooltip("hide")}),o.tooltipTrigger.subscribe(function(){s.tooltip("hide")})},update:function(e,t){var s=ko.utils.unwrapObservable(t());""===s?i(e).data("tooltip3-data","").tooltip("hide"):i(e).data("tooltip3-data",s).tooltip("show")}},ko.bindingHandlers.registrateBootstrapDropdown={init:function(t){var s=e("../Common/Globals.js");s.aBootstrapDropdowns.push(i(t))}},ko.bindingHandlers.openDropdownTrigger={update:function(t,s){if(ko.utils.unwrapObservable(s())){var o=i(t),n=e("../Common/Utils.js");o.hasClass("open")||(o.find(".dropdown-toggle").dropdown("toggle"),n.detectDropdownVisibility()),s()(!1)}}},ko.bindingHandlers.dropdownCloser={init:function(e){i(e).closest(".dropdown").on("click",".e-item",function(){i(e).dropdown("toggle")})}},ko.bindingHandlers.popover={init:function(e,t){i(e).popover(ko.utils.unwrapObservable(t()))}},ko.bindingHandlers.csstext={init:function(t,s){var o=e("../Common/Utils.js");t&&t.styleSheet&&!o.isUnd(t.styleSheet.cssText)?t.styleSheet.cssText=ko.utils.unwrapObservable(s()):i(t).text(ko.utils.unwrapObservable(s()))},update:function(t,s){var o=e("../Common/Utils.js");t&&t.styleSheet&&!o.isUnd(t.styleSheet.cssText)?t.styleSheet.cssText=ko.utils.unwrapObservable(s()):i(t).text(ko.utils.unwrapObservable(s()))}},ko.bindingHandlers.resizecrop={init:function(e){i(e).addClass("resizecrop").resizecrop({width:"100",height:"100",wrapperCSS:{"border-radius":"10px"}})},update:function(e,t){t()(),i(e).resizecrop({width:"100",height:"100"})}},ko.bindingHandlers.onEnter={init:function(e,t,o,n){i(e).on("keypress",function(o){o&&13===s.parseInt(o.keyCode,10)&&(i(e).trigger("change"),t().call(n))})}},ko.bindingHandlers.onEsc={init:function(e,t,o,n){i(e).on("keypress",function(o){o&&27===s.parseInt(o.keyCode,10)&&(i(e).trigger("change"),t().call(n))})}},ko.bindingHandlers.clickOnTrue={update:function(e,t){ko.utils.unwrapObservable(t())&&i(e).click()}},ko.bindingHandlers.modal={init:function(t,s){var o=e("../Common/Globals.js"),n=e("../Common/Utils.js");i(t).toggleClass("fade",!o.bMobileDevice).modal({keyboard:!1,show:ko.utils.unwrapObservable(s())}).on("shown",function(){n.windowResize()}).find(".close").click(function(){s()(!1)})},update:function(e,t){i(e).modal(ko.utils.unwrapObservable(t())?"show":"hide")}},ko.bindingHandlers.i18nInit={init:function(t){var s=e("../Common/Utils.js");s.i18nToNode(t)}},ko.bindingHandlers.i18nUpdate={update:function(t,s){var o=e("../Common/Utils.js");ko.utils.unwrapObservable(s()),o.i18nToNode(t)}},ko.bindingHandlers.link={update:function(e,t){i(e).attr("href",ko.utils.unwrapObservable(t()))}},ko.bindingHandlers.title={update:function(e,t){i(e).attr("title",ko.utils.unwrapObservable(t()))}},ko.bindingHandlers.textF={init:function(e,t){i(e).text(ko.utils.unwrapObservable(t()))}},ko.bindingHandlers.initDom={init:function(e,t){t()(e)}},ko.bindingHandlers.initResizeTrigger={init:function(e,t){var s=ko.utils.unwrapObservable(t());i(e).css({height:s[1],"min-height":s[1]})},update:function(t,s){var o=e("../Common/Utils.js"),r=ko.utils.unwrapObservable(s()),a=o.pInt(r[1]),l=0,c=i(t).offset().top;c>0&&(c+=o.pInt(r[2]),l=n.height()-c,l>a&&(a=l),i(t).css({height:a,"min-height":a}))}},ko.bindingHandlers.appendDom={update:function(e,t){i(e).hide().empty().append(ko.utils.unwrapObservable(t())).show()}},ko.bindingHandlers.draggable={init:function(t,o,n){var r=e("../Common/Globals.js"),a=e("../Common/Utils.js");if(!r.bMobileDevice){var l=100,c=3,u=n(),d=u&&u.droppableSelector?u.droppableSelector:"",p={distance:20,handle:".dragHandle",cursorAt:{top:22,left:3},refreshPositions:!0,scroll:!0};d&&(p.drag=function(e){i(d).each(function(){var t=null,o=null,n=i(this),r=n.offset(),u=r.top+n.height();s.clearInterval(n.data("timerScroll")),n.data("timerScroll",!1),e.pageX>=r.left&&e.pageX<=r.left+n.width()&&(e.pageY>=u-l&&e.pageY<=u&&(t=function(){n.scrollTop(n.scrollTop()+c),a.windowResize()},n.data("timerScroll",s.setInterval(t,10)),t()),e.pageY>=r.top&&e.pageY<=r.top+l&&(o=function(){n.scrollTop(n.scrollTop()-c),a.windowResize()},n.data("timerScroll",s.setInterval(o,10)),o()))})},p.stop=function(){i(d).each(function(){s.clearInterval(i(this).data("timerScroll")),i(this).data("timerScroll",!1)})}),p.helper=function(e){return o()(e&&e.target?ko.dataFor(e.target):null)},i(t).draggable(p).on("mousedown",function(){a.removeInFocus()})}}},ko.bindingHandlers.droppable={init:function(t,s,o){var n=e("../Common/Globals.js");if(!n.bMobileDevice){var r=s(),a=o(),l=a&&a.droppableOver?a.droppableOver:null,c=a&&a.droppableOut?a.droppableOut:null,u={tolerance:"pointer",hoverClass:"droppableHover"};r&&(u.drop=function(e,t){r(e,t)},l&&(u.over=function(e,t){l(e,t)}),c&&(u.out=function(e,t){c(e,t)}),i(t).droppable(u))}}},ko.bindingHandlers.nano={init:function(t){var s=e("../Common/Globals.js");s.bDisableNanoScroll||i(t).addClass("nano").nanoScroller({iOSNativeScrolling:!1,preventPageScrolling:!0})}},ko.bindingHandlers.saveTrigger={init:function(e){var t=i(e);t.data("save-trigger-type",t.is("input[type=text],input[type=email],input[type=password],select,textarea")?"input":"custom"),"custom"===t.data("save-trigger-type")?t.append('&nbsp;&nbsp;<i class="icon-spinner animated"></i><i class="icon-remove error"></i><i class="icon-ok success"></i>').addClass("settings-saved-trigger"):t.addClass("settings-saved-trigger-input")},update:function(e,t){var s=ko.utils.unwrapObservable(t()),o=i(e);if("custom"===o.data("save-trigger-type"))switch(s.toString()){case"1":o.find(".animated,.error").hide().removeClass("visible").end().find(".success").show().addClass("visible");break;case"0":o.find(".animated,.success").hide().removeClass("visible").end().find(".error").show().addClass("visible");break;case"-2":o.find(".error,.success").hide().removeClass("visible").end().find(".animated").show().addClass("visible");break;default:o.find(".animated").hide().end().find(".error,.success").removeClass("visible")}else switch(s.toString()){case"1":o.addClass("success").removeClass("error");break;case"0":o.addClass("error").removeClass("success");break;case"-2":break;default:o.removeClass("error success")}}},ko.bindingHandlers.emailsTags={init:function(t,s){var n=e("../Common/Utils.js"),r=i(t),a=s(),l=function(e){a&&a.focusTrigger&&a.focusTrigger(e)};r.inputosaurus({parseOnBlur:!0,allowDragAndDrop:!0,focusCallback:l,inputDelimiters:[",",";"],autoCompleteSource:function(e,t){RL.getAutocomplete(e.term,function(e){t(o.map(e,function(e){return e.toLine(!1)}))})},parseHook:function(e){return o.map(e,function(e){var t=n.trim(e),s=null;return""!==t?(s=new EmailModel,s.mailsoParse(t),s.clearDuplicateName(),[s.toLine(!1),s]):[t,null]})},change:o.bind(function(e){r.data("EmailsTagsValue",e.target.value),a(e.target.value)},this)})},update:function(e,t,s){var o=i(e),n=s(),r=n.emailsTagsFilter||null,a=ko.utils.unwrapObservable(t());o.data("EmailsTagsValue")!==a&&(o.val(a),o.data("EmailsTagsValue",a),o.inputosaurus("refresh")),r&&ko.utils.unwrapObservable(r)&&o.inputosaurus("focus")}},ko.bindingHandlers.contactTags={init:function(t,s){var n=e("../Common/Utils.js"),r=i(t),a=s(),l=function(e){a&&a.focusTrigger&&a.focusTrigger(e)};r.inputosaurus({parseOnBlur:!0,allowDragAndDrop:!1,focusCallback:l,inputDelimiters:[",",";"],outputDelimiter:",",autoCompleteSource:function(e,t){RL.getContactTagsAutocomplete(e.term,function(e){t(o.map(e,function(e){return e.toLine(!1)}))})},parseHook:function(e){return o.map(e,function(e){var t=n.trim(e),s=null;return""!==t?(s=new ContactTagModel,s.name(t),[s.toLine(!1),s]):[t,null]})},change:o.bind(function(e){r.data("ContactTagsValue",e.target.value),a(e.target.value)},this)})},update:function(e,t,s){var o=i(e),n=s(),r=n.contactTagsFilter||null,a=ko.utils.unwrapObservable(t());o.data("ContactTagsValue")!==a&&(o.val(a),o.data("ContactTagsValue",a),o.inputosaurus("refresh")),r&&ko.utils.unwrapObservable(r)&&o.inputosaurus("focus")}},ko.bindingHandlers.command={init:function(e,t,s,o){var n=i(e),r=t();if(!r||!r.enabled||!r.canExecute)throw new Error("You are not using command function");n.addClass("command"),ko.bindingHandlers[n.is("form")?"submit":"click"].init.apply(o,arguments)},update:function(e,t){var s=!0,o=i(e),n=t();s=n.enabled(),o.toggleClass("command-not-enabled",!s),s&&(s=n.canExecute(),o.toggleClass("command-can-not-be-execute",!s)),o.toggleClass("command-disabled disable disabled",!s).toggleClass("no-disabled",!!s),(o.is("input")||o.is("button"))&&o.prop("disabled",!s)}},ko.extenders.trimmer=function(t){var s=e("../Common/Utils.js"),o=ko.computed({read:t,write:function(e){t(s.trim(e.toString()))},owner:this});return o(t()),o},ko.extenders.posInterer=function(t,s){var o=e("../Common/Utils.js"),i=ko.computed({read:t,write:function(e){var i=o.pInt(e.toString(),s);0>=i&&(i=s),i===t()&&""+i!=""+e&&t(i+1),t(i)}});return i(t()),i},ko.extenders.reversible=function(e){var t=e();return e.commit=function(){t=e()},e.reverse=function(){e(t)},e.commitedValue=function(){return t},e},ko.extenders.toggleSubscribe=function(e,t){return e.subscribe(t[1],t[0],"beforeChange"),e.subscribe(t[2],t[0]),e},ko.extenders.falseTimeout=function(t,o){var i=e("../Common/Utils.js");return t.iTimeout=0,t.subscribe(function(e){e&&(s.clearTimeout(t.iTimeout),t.iTimeout=s.setTimeout(function(){t(!1),t.iTimeout=0},i.pInt(o)))}),t},ko.observable.fn.validateNone=function(){return this.hasError=ko.observable(!1),this},ko.observable.fn.validateEmail=function(){var t=e("../Common/Utils.js");return this.hasError=ko.observable(!1),this.subscribe(function(e){e=t.trim(e),this.hasError(""!==e&&!/^[^@\s]+@[^@\s]+$/.test(e))},this),this.valueHasMutated(),this},ko.observable.fn.validateSimpleEmail=function(){var t=e("../Common/Utils.js");return this.hasError=ko.observable(!1),this.subscribe(function(e){e=t.trim(e),this.hasError(""!==e&&!/^.+@.+$/.test(e))},this),this.valueHasMutated(),this},ko.observable.fn.validateFunc=function(t){var s=e("../Common/Utils.js");return this.hasFuncError=ko.observable(!1),s.isFunc(t)&&(this.subscribe(function(e){this.hasFuncError(!t(e))},this),this.valueHasMutated()),this},t.exports=ko}(t)},{"../Common/Globals.js":9,"../Common/Utils.js":14,"./$doc.js":16,"./$window.js":18,"./jquery.js":26,"./underscore.js":31,"./window.js":32}],29:[function(e,t){"use strict";t.exports=moment},{}],30:[function(e,t){"use strict";t.exports=ssm},{}],31:[function(e,t){"use strict";t.exports=_},{}],32:[function(e,t){"use strict";t.exports=window},{}],33:[function(e,t){!function(t){"use strict";function s(){this.sDefaultScreenName="",this.oScreens={},this.oCurrentScreen=null}var o=e("../External/jquery.js"),i=e("../External/underscore.js"),n=e("../External/ko.js"),r=e("../External/hasher.js"),a=e("../External/crossroads.js"),l=e("../External/$html.js"),c=e("../Common/Globals.js"),u=e("../Common/Plugins.js"),d=e("../Common/Utils.js"),p=e("../Knoin/KnoinAbstractViewModel.js");s.prototype.sDefaultScreenName="",s.prototype.oScreens={},s.prototype.oCurrentScreen=null,s.prototype.hideLoading=function(){o("#rl-loading").hide()},s.prototype.constructorEnd=function(e){d.isFunc(e.__constructor_end)&&e.__constructor_end.call(e)},s.prototype.extendAsViewModel=function(e,t,s){t&&(s||(s=p),t.__name=e,u.regViewModelHook(e,t),i.extend(t.prototype,s.prototype))},s.prototype.addSettingsViewModel=function(e,t,s,o,i){e.__rlSettingsData={Label:s,Template:t,Route:o,IsDefault:!!i},c.aViewModels.settings.push(e)},s.prototype.removeSettingsViewModel=function(e){c.aViewModels["settings-removed"].push(e)},s.prototype.disableSettingsViewModel=function(e){c.aViewModels["settings-disabled"].push(e)},s.prototype.routeOff=function(){r.changed.active=!1},s.prototype.routeOn=function(){r.changed.active=!0},s.prototype.screen=function(e){return""===e||d.isUnd(this.oScreens[e])?null:this.oScreens[e]},s.prototype.buildViewModel=function(e,t){if(e&&!e.__builded){var s=this,r=new e(t),a=r.viewModelPosition(),l=o("#rl-content #rl-"+a.toLowerCase()),p=null;e.__builded=!0,e.__vm=r,r.viewModelName=e.__name,l&&1===l.length?(p=o("<div></div>").addClass("rl-view-model").addClass("RL-"+r.viewModelTemplate()).hide(),p.appendTo(l),r.viewModelDom=p,e.__dom=p,"Popups"===a&&(r.cancelCommand=r.closeCommand=d.createCommand(r,function(){s.hideScreenPopup(e)}),r.modalVisibility.subscribe(function(e){var t=this;e?(this.viewModelDom.show(),this.storeAndSetKeyScope(),c.popupVisibilityNames.push(this.viewModelName),r.viewModelDom.css("z-index",3e3+c.popupVisibilityNames().length+10),d.delegateRun(this,"onFocus",[],500)):(d.delegateRun(this,"onHide"),this.restoreKeyScope(),c.popupVisibilityNames.remove(this.viewModelName),r.viewModelDom.css("z-index",2e3),c.tooltipTrigger(!c.tooltipTrigger()),i.delay(function(){t.viewModelDom.hide()},300))},r)),u.runHook("view-model-pre-build",[e.__name,r,p]),n.applyBindingAccessorsToNode(p[0],{i18nInit:!0,template:function(){return{name:r.viewModelTemplate()}}},r),d.delegateRun(r,"onBuild",[p]),r&&"Popups"===a&&r.registerPopupKeyDown(),u.runHook("view-model-post-build",[e.__name,r,p])):d.log("Cannot find view model position: "+a)}return e?e.__vm:null},s.prototype.applyExternal=function(e,t){e&&t&&n.applyBindings(e,t)},s.prototype.hideScreenPopup=function(e){e&&e.__vm&&e.__dom&&(e.__vm.modalVisibility(!1),u.runHook("view-model-on-hide",[e.__name,e.__vm]))},s.prototype.showScreenPopup=function(e,t){e&&(this.buildViewModel(e),e.__vm&&e.__dom&&(e.__vm.modalVisibility(!0),d.delegateRun(e.__vm,"onShow",t||[]),u.runHook("view-model-on-show",[e.__name,e.__vm,t||[]])))},s.prototype.isPopupVisible=function(e){return e&&e.__vm?e.__vm.modalVisibility():!1},s.prototype.screenOnRoute=function(e,t){var s=this,o=null,n=null;""===d.pString(e)&&(e=this.sDefaultScreenName),""!==e&&(o=this.screen(e),o||(o=this.screen(this.sDefaultScreenName),o&&(t=e+"/"+t,e=this.sDefaultScreenName)),o&&o.__started&&(o.__builded||(o.__builded=!0,d.isNonEmptyArray(o.viewModels())&&i.each(o.viewModels(),function(e){this.buildViewModel(e,o)},this),d.delegateRun(o,"onBuild")),i.defer(function(){s.oCurrentScreen&&(d.delegateRun(s.oCurrentScreen,"onHide"),d.isNonEmptyArray(s.oCurrentScreen.viewModels())&&i.each(s.oCurrentScreen.viewModels(),function(e){e.__vm&&e.__dom&&"Popups"!==e.__vm.viewModelPosition()&&(e.__dom.hide(),e.__vm.viewModelVisibility(!1),d.delegateRun(e.__vm,"onHide"))})),s.oCurrentScreen=o,s.oCurrentScreen&&(d.delegateRun(s.oCurrentScreen,"onShow"),u.runHook("screen-on-show",[s.oCurrentScreen.screenName(),s.oCurrentScreen]),d.isNonEmptyArray(s.oCurrentScreen.viewModels())&&i.each(s.oCurrentScreen.viewModels(),function(e){e.__vm&&e.__dom&&"Popups"!==e.__vm.viewModelPosition()&&(e.__dom.show(),e.__vm.viewModelVisibility(!0),d.delegateRun(e.__vm,"onShow"),d.delegateRun(e.__vm,"onFocus",[],200),u.runHook("view-model-on-show",[e.__name,e.__vm]))},s)),n=o.__cross(),n&&n.parse(t)})))},s.prototype.startScreens=function(e){o("#rl-content").css({visibility:"hidden"}),i.each(e,function(e){var t=new e,s=t?t.screenName():"";t&&""!==s&&(""===this.sDefaultScreenName&&(this.sDefaultScreenName=s),this.oScreens[s]=t)
},this),i.each(this.oScreens,function(e){e&&!e.__started&&e.__start&&(e.__started=!0,e.__start(),u.runHook("screen-pre-start",[e.screenName(),e]),d.delegateRun(e,"onStart"),u.runHook("screen-post-start",[e.screenName(),e]))},this);var t=a.create();t.addRoute(/^([a-zA-Z0-9\-]*)\/?(.*)$/,i.bind(this.screenOnRoute,this)),r.initialized.add(t.parse,t),r.changed.add(t.parse,t),r.init(),o("#rl-content").css({visibility:"visible"}),i.delay(function(){l.removeClass("rl-started-trigger").addClass("rl-started")},50)},s.prototype.setHash=function(e,t,s){e="#"===e.substr(0,1)?e.substr(1):e,e="/"===e.substr(0,1)?e.substr(1):e,s=d.isUnd(s)?!1:!!s,(d.isUnd(t)?1:!t)?(r.changed.active=!0,r[s?"replaceHash":"setHash"](e),r.setHash(e)):(r.changed.active=!1,r[s?"replaceHash":"setHash"](e),r.changed.active=!0)},t.exports=new s}(t)},{"../Common/Globals.js":9,"../Common/Plugins.js":12,"../Common/Utils.js":14,"../External/$html.js":17,"../External/crossroads.js":23,"../External/hasher.js":24,"../External/jquery.js":26,"../External/ko.js":28,"../External/underscore.js":31,"../Knoin/KnoinAbstractViewModel.js":36}],34:[function(e,t){!function(e){"use strict";function t(){}t.prototype.bootstart=function(){},e.exports=t}(t)},{}],35:[function(e,t){!function(t){"use strict";function s(e,t){this.sScreenName=e,this.aViewModels=i.isArray(t)?t:[]}var o=e("../External/crossroads.js"),i=e("../Common/Utils.js");s.prototype.oCross=null,s.prototype.sScreenName="",s.prototype.aViewModels=[],s.prototype.viewModels=function(){return this.aViewModels},s.prototype.screenName=function(){return this.sScreenName},s.prototype.routes=function(){return null},s.prototype.__cross=function(){return this.oCross},s.prototype.__start=function(){var e=this.routes(),t=null,s=null;i.isNonEmptyArray(e)&&(s=_.bind(this.onRoute||i.emptyFunction,this),t=o.create(),_.each(e,function(e){t.addRoute(e[0],s).rules=e[1]}),this.oCross=t)},t.exports=s}(t)},{"../Common/Utils.js":14,"../External/crossroads.js":23}],36:[function(e,t){!function(t){"use strict";function s(e,t){this.bDisabeCloseOnEsc=!1,this.sPosition=n.pString(e),this.sTemplate=n.pString(t),this.sDefaultKeyScope=r.KeyState.None,this.sCurrentKeyScope=this.sDefaultKeyScope,this.viewModelName="",this.viewModelVisibility=o.observable(!1),this.modalVisibility=o.observable(!1).extend({rateLimit:0}),this.viewModelDom=null}var o=e("../External/ko.js"),i=e("../External/$window.js"),n=e("../Common/Utils.js"),r=e("../Common/Enums.js"),a=e("../Common/Globals.js");s.prototype.sPosition="",s.prototype.sTemplate="",s.prototype.viewModelName="",s.prototype.viewModelDom=null,s.prototype.viewModelTemplate=function(){return this.sTemplate},s.prototype.viewModelPosition=function(){return this.sPosition},s.prototype.cancelCommand=s.prototype.closeCommand=function(){},s.prototype.storeAndSetKeyScope=function(){this.sCurrentKeyScope=a.keyScope(),a.keyScope(this.sDefaultKeyScope)},s.prototype.restoreKeyScope=function(){a.keyScope(this.sCurrentKeyScope)},s.prototype.registerPopupKeyDown=function(){var e=this;i.on("keydown",function(t){if(t&&e.modalVisibility&&e.modalVisibility()){if(!this.bDisabeCloseOnEsc&&r.EventKeyCode.Esc===t.keyCode)return n.delegateRun(e,"cancelCommand"),!1;if(r.EventKeyCode.Backspace===t.keyCode&&!n.inFocus())return!1}return!0})},t.exports=s}(t)},{"../Common/Enums.js":7,"../Common/Globals.js":9,"../Common/Utils.js":14,"../External/$window.js":18,"../External/ko.js":28}],37:[function(e,t){!function(t){"use strict";function s(){this.mimeType="",this.fileName="",this.estimatedSize=0,this.friendlySize="",this.isInline=!1,this.isLinked=!1,this.cid="",this.cidWithOutTags="",this.contentLocation="",this.download="",this.folder="",this.uid="",this.mimeIndex=""}var o=e("../External/window.js"),i=e("../Common/Globals.js"),n=e("../Common/Utils.js"),r=e("../Common/LinkBuilder.js");s.newInstanceFromJson=function(e){var t=new s;return t.initByJson(e)?t:null},s.prototype.mimeType="",s.prototype.fileName="",s.prototype.estimatedSize=0,s.prototype.friendlySize="",s.prototype.isInline=!1,s.prototype.isLinked=!1,s.prototype.cid="",s.prototype.cidWithOutTags="",s.prototype.contentLocation="",s.prototype.download="",s.prototype.folder="",s.prototype.uid="",s.prototype.mimeIndex="",s.prototype.initByJson=function(e){var t=!1;return e&&"Object/Attachment"===e["@Object"]&&(this.mimeType=(e.MimeType||"").toLowerCase(),this.fileName=e.FileName,this.estimatedSize=n.pInt(e.EstimatedSize),this.isInline=!!e.IsInline,this.isLinked=!!e.IsLinked,this.cid=e.CID,this.contentLocation=e.ContentLocation,this.download=e.Download,this.folder=e.Folder,this.uid=e.Uid,this.mimeIndex=e.MimeIndex,this.friendlySize=n.friendlySize(this.estimatedSize),this.cidWithOutTags=this.cid.replace(/^<+/,"").replace(/>+$/,""),t=!0),t},s.prototype.isImage=function(){return-1<n.inArray(this.mimeType.toLowerCase(),["image/png","image/jpg","image/jpeg","image/gif"])},s.prototype.isText=function(){return"text/"===this.mimeType.substr(0,5)&&-1===n.inArray(this.mimeType,["text/html"])},s.prototype.isPdf=function(){return i.bAllowPdfPreview&&"application/pdf"===this.mimeType},s.prototype.linkDownload=function(){return r.attachmentDownload(this.download)},s.prototype.linkPreview=function(){return r.attachmentPreview(this.download)},s.prototype.linkPreviewAsPlain=function(){return r.attachmentPreviewAsPlain(this.download)},s.prototype.generateTransferDownloadUrl=function(){var e=this.linkDownload();return"http"!==e.substr(0,4)&&(e=o.location.protocol+"//"+o.location.host+o.location.pathname+e),this.mimeType+":"+this.fileName+":"+e},s.prototype.eventDragStart=function(e,t){var s=t.originalEvent||t;return e&&s&&s.dataTransfer&&s.dataTransfer.setData&&s.dataTransfer.setData("DownloadURL",this.generateTransferDownloadUrl()),!0},s.prototype.iconClass=function(){var e=this.mimeType.toLocaleString().split("/"),t="icon-file";return e&&e[1]&&("image"===e[0]?t="icon-file-image":"text"===e[0]?t="icon-file-text":"audio"===e[0]?t="icon-file-music":"video"===e[0]?t="icon-file-movie":-1<n.inArray(e[1],["zip","7z","tar","rar","gzip","bzip","bzip2","x-zip","x-7z","x-rar","x-tar","x-gzip","x-bzip","x-bzip2","x-zip-compressed","x-7z-compressed","x-rar-compressed"])?t="icon-file-zip":-1<n.inArray(e[1],["rtf","msword","vnd.msword","vnd.openxmlformats-officedocument.wordprocessingml.document","vnd.openxmlformats-officedocument.wordprocessingml.template","vnd.ms-word.document.macroEnabled.12","vnd.ms-word.template.macroEnabled.12"])?t="icon-file-text":-1<n.inArray(e[1],["excel","ms-excel","vnd.ms-excel","vnd.openxmlformats-officedocument.spreadsheetml.sheet","vnd.openxmlformats-officedocument.spreadsheetml.template","vnd.ms-excel.sheet.macroEnabled.12","vnd.ms-excel.template.macroEnabled.12","vnd.ms-excel.addin.macroEnabled.12","vnd.ms-excel.sheet.binary.macroEnabled.12"])?t="icon-file-excel":-1<n.inArray(e[1],["powerpoint","ms-powerpoint","vnd.ms-powerpoint","vnd.openxmlformats-officedocument.presentationml.presentation","vnd.openxmlformats-officedocument.presentationml.template","vnd.openxmlformats-officedocument.presentationml.slideshow","vnd.ms-powerpoint.addin.macroEnabled.12","vnd.ms-powerpoint.presentation.macroEnabled.12","vnd.ms-powerpoint.template.macroEnabled.12","vnd.ms-powerpoint.slideshow.macroEnabled.12"])&&(t="icon-file-chart-graph")),t},t.exports=s}(t)},{"../Common/Globals.js":9,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/window.js":32}],38:[function(e,t){!function(t){"use strict";function s(e,t){this.email=e||"",this.name=t||"",this.privateType=null,this.clearDuplicateName()}var o=e("../Common/Enums.js"),i=e("../Common/Utils.js");s.newInstanceFromJson=function(e){var t=new s;return t.initByJson(e)?t:null},s.prototype.name="",s.prototype.email="",s.prototype.privateType=null,s.prototype.clear=function(){this.email="",this.name="",this.privateType=null},s.prototype.validate=function(){return""!==this.name||""!==this.email},s.prototype.hash=function(e){return"#"+(e?"":this.name)+"#"+this.email+"#"},s.prototype.clearDuplicateName=function(){this.name===this.email&&(this.name="")},s.prototype.type=function(){return null===this.privateType&&(this.email&&"@facebook.com"===this.email.substr(-13)&&(this.privateType=o.EmailType.Facebook),null===this.privateType&&(this.privateType=o.EmailType.Default)),this.privateType},s.prototype.search=function(e){return-1<(this.name+" "+this.email).toLowerCase().indexOf(e.toLowerCase())},s.prototype.parse=function(e){this.clear(),e=i.trim(e);var t=/(?:"([^"]+)")? ?<?(.*?@[^>,]+)>?,? ?/g,s=t.exec(e);s?(this.name=s[1]||"",this.email=s[2]||"",this.clearDuplicateName()):/^[^@]+@[^@]+$/.test(e)&&(this.name="",this.email=e)},s.prototype.initByJson=function(e){var t=!1;return e&&"Object/Email"===e["@Object"]&&(this.name=i.trim(e.Name),this.email=i.trim(e.Email),t=""!==this.email,this.clearDuplicateName()),t},s.prototype.toLine=function(e,t,s){var o="";return""!==this.email&&(t=i.isUnd(t)?!1:!!t,s=i.isUnd(s)?!1:!!s,e&&""!==this.name?o=t?'<a href="mailto:'+i.encodeHtml('"'+this.name+'" <'+this.email+">")+'" target="_blank" tabindex="-1">'+i.encodeHtml(this.name)+"</a>":s?i.encodeHtml(this.name):this.name:(o=this.email,""!==this.name?t?o=i.encodeHtml('"'+this.name+'" <')+'<a href="mailto:'+i.encodeHtml('"'+this.name+'" <'+this.email+">")+'" target="_blank" tabindex="-1">'+i.encodeHtml(o)+"</a>"+i.encodeHtml(">"):(o='"'+this.name+'" <'+o+">",s&&(o=i.encodeHtml(o))):t&&(o='<a href="mailto:'+i.encodeHtml(this.email)+'" target="_blank" tabindex="-1">'+i.encodeHtml(this.email)+"</a>"))),o},s.prototype.mailsoParse=function(e){if(e=i.trim(e),""===e)return!1;for(var t=function(e,t,s){e+="";var o=e.length;return 0>t&&(t+=o),o="undefined"==typeof s?o:0>s?s+o:s+t,t>=e.length||0>t||t>o?!1:e.slice(t,o)},s=function(e,t,s,o){return 0>s&&(s+=e.length),o=void 0!==o?o:e.length,0>o&&(o=o+e.length-s),e.slice(0,s)+t.substr(0,o)+t.slice(o)+e.slice(s+o)},o="",n="",r="",a=!1,l=!1,c=!1,u=null,d=0,p=0,h=0;h<e.length;){switch(e.substr(h,1)){case'"':a||l||c?l||c||(p=h,o=t(e,d+1,p-d-1),e=s(e,"",d,p-d+1),p=0,h=0,d=0,a=!1):(a=!0,d=h);break;case"<":a||l||c||(h>0&&0===o.length&&(o=t(e,0,h)),l=!0,d=h);break;case">":l&&(p=h,n=t(e,d+1,p-d-1),e=s(e,"",d,p-d+1),p=0,h=0,d=0,l=!1);break;case"(":a||l||c||(c=!0,d=h);break;case")":c&&(p=h,r=t(e,d+1,p-d-1),e=s(e,"",d,p-d+1),p=0,h=0,d=0,c=!1);break;case"\\":h++}h++}return 0===n.length&&(u=e.match(/[^@\s]+@\S+/i),u&&u[0]?n=u[0]:o=e),n.length>0&&0===o.length&&0===r.length&&(o=e.replace(n,"")),n=i.trim(n).replace(/^[<]+/,"").replace(/[>]+$/,""),o=i.trim(o).replace(/^["']+/,"").replace(/["']+$/,""),r=i.trim(r).replace(/^[(]+/,"").replace(/[)]+$/,""),o=o.replace(/\\\\(.)/,"$1"),r=r.replace(/\\\\(.)/,"$1"),this.name=o,this.email=n,this.clearDuplicateName(),!0},s.prototype.inputoTagLine=function(){return 0<this.name.length?this.name+" ("+this.email+")":this.email},t.exports=s}(t)},{"../Common/Enums.js":7,"../Common/Utils.js":14}],39:[function(e,t){!function(t){"use strict";function s(){this.name=i.observable(""),this.fullName="",this.fullNameRaw="",this.fullNameHash="",this.delimiter="",this.namespace="",this.deep=0,this.interval=0,this.selectable=!1,this.existen=!0,this.type=i.observable(r.FolderType.User),this.focused=i.observable(!1),this.selected=i.observable(!1),this.edited=i.observable(!1),this.collapsed=i.observable(!0),this.subScribed=i.observable(!0),this.subFolders=i.observableArray([]),this.deleteAccess=i.observable(!1),this.actionBlink=i.observable(!1).extend({falseTimeout:1e3}),this.nameForEdit=i.observable(""),this.name.subscribe(function(e){this.nameForEdit(e)},this),this.edited.subscribe(function(e){e&&this.nameForEdit(this.name())},this),this.privateMessageCountAll=i.observable(0),this.privateMessageCountUnread=i.observable(0),this.collapsedPrivate=i.observable(!0)}var o=e("../External/underscore.js"),i=e("../External/ko.js"),n=e("../External/$window.js"),r=e("../Common/Enums.js"),a=e("../Common/Globals.js"),l=e("../Common/Utils.js"),c=e("../Storages/WebMailDataStorage.js");s.newInstanceFromJson=function(e){var t=new s;return t.initByJson(e)?t.initComputed():null},s.prototype.initComputed=function(){return this.hasSubScribedSubfolders=i.computed(function(){return!!o.find(this.subFolders(),function(e){return e.subScribed()&&!e.isSystemFolder()})},this),this.canBeEdited=i.computed(function(){return r.FolderType.User===this.type()&&this.existen&&this.selectable},this),this.visible=i.computed(function(){var e=this.subScribed(),t=this.hasSubScribedSubfolders();return e||t&&(!this.existen||!this.selectable)},this),this.isSystemFolder=i.computed(function(){return r.FolderType.User!==this.type()},this),this.hidden=i.computed(function(){var e=this.isSystemFolder(),t=this.hasSubScribedSubfolders();return e&&!t||!this.selectable&&!t},this),this.selectableForFolderList=i.computed(function(){return!this.isSystemFolder()&&this.selectable},this),this.messageCountAll=i.computed({read:this.privateMessageCountAll,write:function(e){l.isPosNumeric(e,!0)?this.privateMessageCountAll(e):this.privateMessageCountAll.valueHasMutated()},owner:this}),this.messageCountUnread=i.computed({read:this.privateMessageCountUnread,write:function(e){l.isPosNumeric(e,!0)?this.privateMessageCountUnread(e):this.privateMessageCountUnread.valueHasMutated()},owner:this}),this.printableUnreadCount=i.computed(function(){var e=this.messageCountAll(),t=this.messageCountUnread(),s=this.type();if(r.FolderType.Inbox===s&&c.foldersInboxUnreadCount(t),e>0){if(r.FolderType.Draft===s)return""+e;if(t>0&&r.FolderType.Trash!==s&&r.FolderType.Archive!==s&&r.FolderType.SentItems!==s)return""+t}return""},this),this.canBeDeleted=i.computed(function(){var e=this.isSystemFolder();return!e&&0===this.subFolders().length&&"INBOX"!==this.fullNameRaw},this),this.canBeSubScribed=i.computed(function(){return!this.isSystemFolder()&&this.selectable&&"INBOX"!==this.fullNameRaw},this),this.visible.subscribe(function(){l.timeOutAction("folder-list-folder-visibility-change",function(){n.trigger("folder-list-folder-visibility-change")},100)}),this.localName=i.computed(function(){a.langChangeTrigger();var e=this.type(),t=this.name();if(this.isSystemFolder())switch(e){case r.FolderType.Inbox:t=l.i18n("FOLDER_LIST/INBOX_NAME");break;case r.FolderType.SentItems:t=l.i18n("FOLDER_LIST/SENT_NAME");break;case r.FolderType.Draft:t=l.i18n("FOLDER_LIST/DRAFTS_NAME");break;case r.FolderType.Spam:t=l.i18n("FOLDER_LIST/SPAM_NAME");break;case r.FolderType.Trash:t=l.i18n("FOLDER_LIST/TRASH_NAME");break;case r.FolderType.Archive:t=l.i18n("FOLDER_LIST/ARCHIVE_NAME")}return t},this),this.manageFolderSystemName=i.computed(function(){a.langChangeTrigger();var e="",t=this.type(),s=this.name();if(this.isSystemFolder())switch(t){case r.FolderType.Inbox:e="("+l.i18n("FOLDER_LIST/INBOX_NAME")+")";break;case r.FolderType.SentItems:e="("+l.i18n("FOLDER_LIST/SENT_NAME")+")";break;case r.FolderType.Draft:e="("+l.i18n("FOLDER_LIST/DRAFTS_NAME")+")";break;case r.FolderType.Spam:e="("+l.i18n("FOLDER_LIST/SPAM_NAME")+")";break;case r.FolderType.Trash:e="("+l.i18n("FOLDER_LIST/TRASH_NAME")+")";break;case r.FolderType.Archive:e="("+l.i18n("FOLDER_LIST/ARCHIVE_NAME")+")"}return(""!==e&&"("+s+")"===e||"(inbox)"===e.toLowerCase())&&(e=""),e},this),this.collapsed=i.computed({read:function(){return!this.hidden()&&this.collapsedPrivate()},write:function(e){this.collapsedPrivate(e)},owner:this}),this.hasUnreadMessages=i.computed(function(){return 0<this.messageCountUnread()},this),this.hasSubScribedUnreadMessagesSubfolders=i.computed(function(){return!!o.find(this.subFolders(),function(e){return e.hasUnreadMessages()||e.hasSubScribedUnreadMessagesSubfolders()})},this),this},s.prototype.fullName="",s.prototype.fullNameRaw="",s.prototype.fullNameHash="",s.prototype.delimiter="",s.prototype.namespace="",s.prototype.deep=0,s.prototype.interval=0,s.prototype.collapsedCss=function(){return this.hasSubScribedSubfolders()?this.collapsed()?"icon-right-mini e-collapsed-sign":"icon-down-mini e-collapsed-sign":"icon-none e-collapsed-sign"},s.prototype.initByJson=function(e){var t=!1;return e&&"Object/Folder"===e["@Object"]&&(this.name(e.Name),this.delimiter=e.Delimiter,this.fullName=e.FullName,this.fullNameRaw=e.FullNameRaw,this.fullNameHash=e.FullNameHash,this.deep=e.FullNameRaw.split(this.delimiter).length-1,this.selectable=!!e.IsSelectable,this.existen=!!e.IsExists,this.subScribed(!!e.IsSubscribed),this.type("INBOX"===this.fullNameRaw?r.FolderType.Inbox:r.FolderType.User),t=!0),t},s.prototype.printableFullName=function(){return this.fullName.split(this.delimiter).join(" / ")},t.exports=s}(t)},{"../Common/Enums.js":7,"../Common/Globals.js":9,"../Common/Utils.js":14,"../External/$window.js":18,"../External/ko.js":28,"../External/underscore.js":31,"../Storages/WebMailDataStorage.js":65}],40:[function(e,t){!function(t){"use strict";function s(){this.folderFullNameRaw="",this.uid="",this.hash="",this.requestHash="",this.subject=r.observable(""),this.subjectPrefix=r.observable(""),this.subjectSuffix=r.observable(""),this.size=r.observable(0),this.dateTimeStampInUTC=r.observable(0),this.priority=r.observable(u.MessagePriority.Normal),this.proxy=!1,this.fromEmailString=r.observable(""),this.fromClearEmailString=r.observable(""),this.toEmailsString=r.observable(""),this.toClearEmailsString=r.observable(""),this.senderEmailsString=r.observable(""),this.senderClearEmailsString=r.observable(""),this.emails=[],this.from=[],this.to=[],this.cc=[],this.bcc=[],this.replyTo=[],this.deliveredTo=[],this.newForAnimation=r.observable(!1),this.deleted=r.observable(!1),this.unseen=r.observable(!1),this.flagged=r.observable(!1),this.answered=r.observable(!1),this.forwarded=r.observable(!1),this.isReadReceipt=r.observable(!1),this.focused=r.observable(!1),this.selected=r.observable(!1),this.checked=r.observable(!1),this.hasAttachments=r.observable(!1),this.attachmentsMainType=r.observable(""),this.moment=r.observable(a(a.unix(0))),this.attachmentIconClass=r.computed(function(){var e="";if(this.hasAttachments())switch(e="icon-attachment",this.attachmentsMainType()){case"image":e="icon-image";break;case"archive":e="icon-file-zip";break;case"doc":e="icon-file-text"}return e},this),this.fullFormatDateValue=r.computed(function(){return s.calculateFullFromatDateValue(this.dateTimeStampInUTC())},this),this.momentDate=d.createMomentDate(this),this.momentShortDate=d.createMomentShortDate(this),this.dateTimeStampInUTC.subscribe(function(e){var t=a().unix();this.moment(a.unix(e>t?t:e))},this),this.body=null,this.plainRaw="",this.isHtml=r.observable(!1),this.hasImages=r.observable(!1),this.attachments=r.observableArray([]),this.isPgpSigned=r.observable(!1),this.isPgpEncrypted=r.observable(!1),this.pgpSignedVerifyStatus=r.observable(u.SignedVerifyStatus.None),this.pgpSignedVerifyUser=r.observable(""),this.priority=r.observable(u.MessagePriority.Normal),this.readReceipt=r.observable(""),this.aDraftInfo=[],this.sMessageId="",this.sInReplyTo="",this.sReferences="",this.parentUid=r.observable(0),this.threads=r.observableArray([]),this.threadsLen=r.observable(0),this.hasUnseenSubMessage=r.observable(!1),this.hasFlaggedSubMessage=r.observable(!1),this.lastInCollapsedThread=r.observable(!1),this.lastInCollapsedThreadLoading=r.observable(!1),this.threadsLenResult=r.computed(function(){var e=this.threadsLen();return 0===this.parentUid()&&e>0?e+1:""},this)}var o=e("../External/window.js"),i=e("../External/jquery.js"),n=e("../External/underscore.js"),r=e("../External/ko.js"),a=e("../External/moment.js"),l=e("../External/$window.js"),c=e("../External/$div.js"),u=e("../Common/Enums.js"),d=e("../Common/Utils.js"),p=e("../Common/LinkBuilder.js"),h=e("../Storages/WebMailDataStorage.js"),m=e("./EmailModel.js"),g=e("./AttachmentModel.js");s.newInstanceFromJson=function(e){var t=new s;return t.initByJson(e)?t:null},s.calculateFullFromatDateValue=function(e){return e>0?a.unix(e).format("LLL"):""},s.emailsToLine=function(e,t,s){var o=[],i=0,n=0;if(d.isNonEmptyArray(e))for(i=0,n=e.length;n>i;i++)o.push(e[i].toLine(t,s));return o.join(", ")},s.emailsToLineClear=function(e){var t=[],s=0,o=0;if(d.isNonEmptyArray(e))for(s=0,o=e.length;o>s;s++)e[s]&&e[s].email&&""!==e[s].name&&t.push(e[s].email);return t.join(", ")},s.initEmailsFromJson=function(e){var t=0,s=0,o=null,i=[];if(d.isNonEmptyArray(e))for(t=0,s=e.length;s>t;t++)o=m.newInstanceFromJson(e[t]),o&&i.push(o);return i},s.replyHelper=function(e,t,s){if(e&&0<e.length)for(var o=0,i=e.length;i>o;o++)d.isUnd(t[e[o].email])&&(t[e[o].email]=!0,s.push(e[o]))},s.prototype.clear=function(){this.folderFullNameRaw="",this.uid="",this.hash="",this.requestHash="",this.subject(""),this.subjectPrefix(""),this.subjectSuffix(""),this.size(0),this.dateTimeStampInUTC(0),this.priority(u.MessagePriority.Normal),this.proxy=!1,this.fromEmailString(""),this.fromClearEmailString(""),this.toEmailsString(""),this.toClearEmailsString(""),this.senderEmailsString(""),this.senderClearEmailsString(""),this.emails=[],this.from=[],this.to=[],this.cc=[],this.bcc=[],this.replyTo=[],this.deliveredTo=[],this.newForAnimation(!1),this.deleted(!1),this.unseen(!1),this.flagged(!1),this.answered(!1),this.forwarded(!1),this.isReadReceipt(!1),this.selected(!1),this.checked(!1),this.hasAttachments(!1),this.attachmentsMainType(""),this.body=null,this.isHtml(!1),this.hasImages(!1),this.attachments([]),this.isPgpSigned(!1),this.isPgpEncrypted(!1),this.pgpSignedVerifyStatus(u.SignedVerifyStatus.None),this.pgpSignedVerifyUser(""),this.priority(u.MessagePriority.Normal),this.readReceipt(""),this.aDraftInfo=[],this.sMessageId="",this.sInReplyTo="",this.sReferences="",this.parentUid(0),this.threads([]),this.threadsLen(0),this.hasUnseenSubMessage(!1),this.hasFlaggedSubMessage(!1),this.lastInCollapsedThread(!1),this.lastInCollapsedThreadLoading(!1)},s.prototype.computeSenderEmail=function(){var e=h.sentFolder(),t=h.draftFolder();this.senderEmailsString(this.folderFullNameRaw===e||this.folderFullNameRaw===t?this.toEmailsString():this.fromEmailString()),this.senderClearEmailsString(this.folderFullNameRaw===e||this.folderFullNameRaw===t?this.toClearEmailsString():this.fromClearEmailString())},s.prototype.initByJson=function(e){var t=!1;return e&&"Object/Message"===e["@Object"]&&(this.folderFullNameRaw=e.Folder,this.uid=e.Uid,this.hash=e.Hash,this.requestHash=e.RequestHash,this.proxy=!!e.ExternalProxy,this.size(d.pInt(e.Size)),this.from=s.initEmailsFromJson(e.From),this.to=s.initEmailsFromJson(e.To),this.cc=s.initEmailsFromJson(e.Cc),this.bcc=s.initEmailsFromJson(e.Bcc),this.replyTo=s.initEmailsFromJson(e.ReplyTo),this.deliveredTo=s.initEmailsFromJson(e.DeliveredTo),this.subject(e.Subject),d.isArray(e.SubjectParts)?(this.subjectPrefix(e.SubjectParts[0]),this.subjectSuffix(e.SubjectParts[1])):(this.subjectPrefix(""),this.subjectSuffix(this.subject())),this.dateTimeStampInUTC(d.pInt(e.DateTimeStampInUTC)),this.hasAttachments(!!e.HasAttachments),this.attachmentsMainType(e.AttachmentsMainType),this.fromEmailString(s.emailsToLine(this.from,!0)),this.fromClearEmailString(s.emailsToLineClear(this.from)),this.toEmailsString(s.emailsToLine(this.to,!0)),this.toClearEmailsString(s.emailsToLineClear(this.to)),this.parentUid(d.pInt(e.ParentThread)),this.threads(d.isArray(e.Threads)?e.Threads:[]),this.threadsLen(d.pInt(e.ThreadsLen)),this.initFlagsByJson(e),this.computeSenderEmail(),t=!0),t},s.prototype.initUpdateByMessageJson=function(e){var t=!1,s=u.MessagePriority.Normal;return e&&"Object/Message"===e["@Object"]&&(s=d.pInt(e.Priority),this.priority(-1<d.inArray(s,[u.MessagePriority.High,u.MessagePriority.Low])?s:u.MessagePriority.Normal),this.aDraftInfo=e.DraftInfo,this.sMessageId=e.MessageId,this.sInReplyTo=e.InReplyTo,this.sReferences=e.References,this.proxy=!!e.ExternalProxy,h.capaOpenPGP()&&(this.isPgpSigned(!!e.PgpSigned),this.isPgpEncrypted(!!e.PgpEncrypted)),this.hasAttachments(!!e.HasAttachments),this.attachmentsMainType(e.AttachmentsMainType),this.foundedCIDs=d.isArray(e.FoundedCIDs)?e.FoundedCIDs:[],this.attachments(this.initAttachmentsFromJson(e.Attachments)),this.readReceipt(e.ReadReceipt||""),this.computeSenderEmail(),t=!0),t},s.prototype.initAttachmentsFromJson=function(e){var t=0,s=0,o=null,i=[];if(e&&"Collection/AttachmentCollection"===e["@Object"]&&d.isNonEmptyArray(e["@Collection"]))for(t=0,s=e["@Collection"].length;s>t;t++)o=g.newInstanceFromJson(e["@Collection"][t]),o&&(""!==o.cidWithOutTags&&0<this.foundedCIDs.length&&0<=d.inArray(o.cidWithOutTags,this.foundedCIDs)&&(o.isLinked=!0),i.push(o));return i},s.prototype.initFlagsByJson=function(e){var t=!1;return e&&"Object/Message"===e["@Object"]&&(this.unseen(!e.IsSeen),this.flagged(!!e.IsFlagged),this.answered(!!e.IsAnswered),this.forwarded(!!e.IsForwarded),this.isReadReceipt(!!e.IsReadReceipt),t=!0),t},s.prototype.fromToLine=function(e,t){return s.emailsToLine(this.from,e,t)},s.prototype.toToLine=function(e,t){return s.emailsToLine(this.to,e,t)},s.prototype.ccToLine=function(e,t){return s.emailsToLine(this.cc,e,t)},s.prototype.bccToLine=function(e,t){return s.emailsToLine(this.bcc,e,t)},s.prototype.lineAsCcc=function(){var e=[];if(this.deleted()&&e.push("deleted"),this.selected()&&e.push("selected"),this.checked()&&e.push("checked"),this.flagged()&&e.push("flagged"),this.unseen()&&e.push("unseen"),this.answered()&&e.push("answered"),this.forwarded()&&e.push("forwarded"),this.focused()&&e.push("focused"),this.hasAttachments())switch(e.push("withAttachments"),this.attachmentsMainType()){case"image":e.push("imageOnlyAttachments");break;case"archive":e.push("archiveOnlyAttachments")}return this.newForAnimation()&&e.push("new"),""===this.subject()&&e.push("emptySubject"),0<this.parentUid()&&e.push("hasParentMessage"),0<this.threadsLen()&&0===this.parentUid()&&e.push("hasChildrenMessage"),this.hasUnseenSubMessage()&&e.push("hasUnseenSubMessage"),this.hasFlaggedSubMessage()&&e.push("hasFlaggedSubMessage"),e.join(" ")},s.prototype.hasVisibleAttachments=function(){return!!n.find(this.attachments(),function(e){return!e.isLinked})},s.prototype.findAttachmentByCid=function(e){var t=null,s=this.attachments();return d.isNonEmptyArray(s)&&(e=e.replace(/^<+/,"").replace(/>+$/,""),t=n.find(s,function(t){return e===t.cidWithOutTags})),t||null},s.prototype.findAttachmentByContentLocation=function(e){var t=null,s=this.attachments();return d.isNonEmptyArray(s)&&(t=n.find(s,function(t){return e===t.contentLocation})),t||null},s.prototype.messageId=function(){return this.sMessageId},s.prototype.inReplyTo=function(){return this.sInReplyTo},s.prototype.references=function(){return this.sReferences},s.prototype.fromAsSingleEmail=function(){return d.isArray(this.from)&&this.from[0]?this.from[0].email:""},s.prototype.viewLink=function(){return p.messageViewLink(this.requestHash)},s.prototype.downloadLink=function(){return p.messageDownloadLink(this.requestHash)},s.prototype.replyEmails=function(e){var t=[],o=d.isUnd(e)?{}:e;return s.replyHelper(this.replyTo,o,t),0===t.length&&s.replyHelper(this.from,o,t),t},s.prototype.replyAllEmails=function(e){var t=[],o=[],i=d.isUnd(e)?{}:e;return s.replyHelper(this.replyTo,i,t),0===t.length&&s.replyHelper(this.from,i,t),s.replyHelper(this.to,i,t),s.replyHelper(this.cc,i,o),[t,o]},s.prototype.textBodyToString=function(){return this.body?this.body.html():""},s.prototype.attachmentsToStringLine=function(){var e=n.map(this.attachments(),function(e){return e.fileName+" ("+e.friendlySize+")"});return e&&0<e.length?e.join(", "):""},s.prototype.getDataForWindowPopup=function(){return{popupFrom:this.fromToLine(!1),popupTo:this.toToLine(!1),popupCc:this.ccToLine(!1),popupBcc:this.bccToLine(!1),popupSubject:this.subject(),popupDate:this.fullFormatDateValue(),popupAttachments:this.attachmentsToStringLine(),popupBody:this.textBodyToString()}},s.prototype.viewPopupMessage=function(e){d.windowPopupKnockout(this.getDataForWindowPopup(),"PopupsWindowSimpleMessage",this.subject(),function(t){t&&t.document&&t.document.body&&(i("img.lazy",t.document.body).each(function(e,t){var s=i(t),o=s.data("original"),n=s.attr("src");e>=0&&o&&!n&&s.attr("src",o)}),e&&o.setTimeout(function(){t.print()},100))})},s.prototype.printMessage=function(){this.viewPopupMessage(!0)},s.prototype.generateUid=function(){return this.folderFullNameRaw+"/"+this.uid},s.prototype.populateByMessageListItem=function(e){return this.folderFullNameRaw=e.folderFullNameRaw,this.uid=e.uid,this.hash=e.hash,this.requestHash=e.requestHash,this.subject(e.subject()),this.subjectPrefix(this.subjectPrefix()),this.subjectSuffix(this.subjectSuffix()),this.size(e.size()),this.dateTimeStampInUTC(e.dateTimeStampInUTC()),this.priority(e.priority()),this.proxy=e.proxy,this.fromEmailString(e.fromEmailString()),this.fromClearEmailString(e.fromClearEmailString()),this.toEmailsString(e.toEmailsString()),this.toClearEmailsString(e.toClearEmailsString()),this.emails=e.emails,this.from=e.from,this.to=e.to,this.cc=e.cc,this.bcc=e.bcc,this.replyTo=e.replyTo,this.deliveredTo=e.deliveredTo,this.unseen(e.unseen()),this.flagged(e.flagged()),this.answered(e.answered()),this.forwarded(e.forwarded()),this.isReadReceipt(e.isReadReceipt()),this.selected(e.selected()),this.checked(e.checked()),this.hasAttachments(e.hasAttachments()),this.attachmentsMainType(e.attachmentsMainType()),this.moment(e.moment()),this.body=null,this.priority(u.MessagePriority.Normal),this.aDraftInfo=[],this.sMessageId="",this.sInReplyTo="",this.sReferences="",this.parentUid(e.parentUid()),this.threads(e.threads()),this.threadsLen(e.threadsLen()),this.computeSenderEmail(),this},s.prototype.showExternalImages=function(e){if(this.body&&this.body.data("rl-has-images")){var t="";e=d.isUnd(e)?!1:e,this.hasImages(!1),this.body.data("rl-has-images",!1),t=this.proxy?"data-x-additional-src":"data-x-src",i("["+t+"]",this.body).each(function(){e&&i(this).is("img")?i(this).addClass("lazy").attr("data-original",i(this).attr(t)).removeAttr(t):i(this).attr("src",i(this).attr(t)).removeAttr(t)}),t=this.proxy?"data-x-additional-style-url":"data-x-style-url",i("["+t+"]",this.body).each(function(){var e=d.trim(i(this).attr("style"));e=""===e?"":";"===e.substr(-1)?e+" ":e+"; ",i(this).attr("style",e+i(this).attr(t)).removeAttr(t)}),e&&(i("img.lazy",this.body).addClass("lazy-inited").lazyload({threshold:400,effect:"fadeIn",skip_invisible:!1,container:i(".RL-MailMessageView .messageView .messageItem .content")[0]}),l.resize()),d.windowResize(500)}},s.prototype.showInternalImages=function(e){if(this.body&&!this.body.data("rl-init-internal-images")){this.body.data("rl-init-internal-images",!0),e=d.isUnd(e)?!1:e;var t=this;i("[data-x-src-cid]",this.body).each(function(){var s=t.findAttachmentByCid(i(this).attr("data-x-src-cid"));s&&s.download&&(e&&i(this).is("img")?i(this).addClass("lazy").attr("data-original",s.linkPreview()):i(this).attr("src",s.linkPreview()))}),i("[data-x-src-location]",this.body).each(function(){var s=t.findAttachmentByContentLocation(i(this).attr("data-x-src-location"));s||(s=t.findAttachmentByCid(i(this).attr("data-x-src-location"))),s&&s.download&&(e&&i(this).is("img")?i(this).addClass("lazy").attr("data-original",s.linkPreview()):i(this).attr("src",s.linkPreview()))}),i("[data-x-style-cid]",this.body).each(function(){var e="",s="",o=t.findAttachmentByCid(i(this).attr("data-x-style-cid"));o&&o.linkPreview&&(s=i(this).attr("data-x-style-cid-name"),""!==s&&(e=d.trim(i(this).attr("style")),e=""===e?"":";"===e.substr(-1)?e+" ":e+"; ",i(this).attr("style",e+s+": url('"+o.linkPreview()+"')")))}),e&&!function(e,t){n.delay(function(){e.addClass("lazy-inited").lazyload({threshold:400,effect:"fadeIn",skip_invisible:!1,container:t})},300)}(i("img.lazy",t.body),i(".RL-MailMessageView .messageView .messageItem .content")[0]),d.windowResize(500)}},s.prototype.storeDataToDom=function(){this.body&&(this.body.data("rl-is-html",!!this.isHtml()),this.body.data("rl-has-images",!!this.hasImages()),this.body.data("rl-plain-raw",this.plainRaw),h.capaOpenPGP()&&(this.body.data("rl-plain-pgp-signed",!!this.isPgpSigned()),this.body.data("rl-plain-pgp-encrypted",!!this.isPgpEncrypted()),this.body.data("rl-pgp-verify-status",this.pgpSignedVerifyStatus()),this.body.data("rl-pgp-verify-user",this.pgpSignedVerifyUser())))
},s.prototype.storePgpVerifyDataToDom=function(){this.body&&h.capaOpenPGP()&&(this.body.data("rl-pgp-verify-status",this.pgpSignedVerifyStatus()),this.body.data("rl-pgp-verify-user",this.pgpSignedVerifyUser()))},s.prototype.fetchDataToDom=function(){this.body&&(this.isHtml(!!this.body.data("rl-is-html")),this.hasImages(!!this.body.data("rl-has-images")),this.plainRaw=d.pString(this.body.data("rl-plain-raw")),h.capaOpenPGP()?(this.isPgpSigned(!!this.body.data("rl-plain-pgp-signed")),this.isPgpEncrypted(!!this.body.data("rl-plain-pgp-encrypted")),this.pgpSignedVerifyStatus(this.body.data("rl-pgp-verify-status")),this.pgpSignedVerifyUser(this.body.data("rl-pgp-verify-user"))):(this.isPgpSigned(!1),this.isPgpEncrypted(!1),this.pgpSignedVerifyStatus(u.SignedVerifyStatus.None),this.pgpSignedVerifyUser("")))},s.prototype.verifyPgpSignedClearMessage=function(){if(this.isPgpSigned()){var e=[],t=null,s=this.from&&this.from[0]&&this.from[0].email?this.from[0].email:"",r=h.findPublicKeysByEmail(s),a=null,l=null,d="";this.pgpSignedVerifyStatus(u.SignedVerifyStatus.Error),this.pgpSignedVerifyUser("");try{t=o.openpgp.cleartext.readArmored(this.plainRaw),t&&t.getText&&(this.pgpSignedVerifyStatus(r.length?u.SignedVerifyStatus.Unverified:u.SignedVerifyStatus.UnknownPublicKeys),e=t.verify(r),e&&0<e.length&&(a=n.find(e,function(e){return e&&e.keyid&&e.valid}),a&&(l=h.findPublicKeyByHex(a.keyid.toHex()),l&&(d=t.getText(),this.pgpSignedVerifyStatus(u.SignedVerifyStatus.Success),this.pgpSignedVerifyUser(l.user),d=c.empty().append(i('<pre class="b-plain-openpgp signed verified"></pre>').text(d)).html(),c.empty(),this.replacePlaneTextBody(d)))))}catch(p){}this.storePgpVerifyDataToDom()}},s.prototype.decryptPgpEncryptedMessage=function(e){if(this.isPgpEncrypted()){var t=[],s=null,r=null,a=this.from&&this.from[0]&&this.from[0].email?this.from[0].email:"",l=h.findPublicKeysByEmail(a),d=h.findSelfPrivateKey(e),p=null,m=null,g="";this.pgpSignedVerifyStatus(u.SignedVerifyStatus.Error),this.pgpSignedVerifyUser(""),d||this.pgpSignedVerifyStatus(u.SignedVerifyStatus.UnknownPrivateKey);try{s=o.openpgp.message.readArmored(this.plainRaw),s&&d&&s.decrypt&&(this.pgpSignedVerifyStatus(u.SignedVerifyStatus.Unverified),r=s.decrypt(d),r&&(t=r.verify(l),t&&0<t.length&&(p=n.find(t,function(e){return e&&e.keyid&&e.valid}),p&&(m=h.findPublicKeyByHex(p.keyid.toHex()),m&&(this.pgpSignedVerifyStatus(u.SignedVerifyStatus.Success),this.pgpSignedVerifyUser(m.user)))),g=r.getText(),g=c.empty().append(i('<pre class="b-plain-openpgp signed verified"></pre>').text(g)).html(),c.empty(),this.replacePlaneTextBody(g)))}catch(f){}this.storePgpVerifyDataToDom()}},s.prototype.replacePlaneTextBody=function(e){this.body&&this.body.html(e).addClass("b-text-part plain")},s.prototype.flagHash=function(){return[this.deleted(),this.unseen(),this.flagged(),this.answered(),this.forwarded(),this.isReadReceipt()].join("")},t.exports=s}(t)},{"../Common/Enums.js":7,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/$div.js":15,"../External/$window.js":18,"../External/jquery.js":26,"../External/ko.js":28,"../External/moment.js":29,"../External/underscore.js":31,"../External/window.js":32,"../Storages/WebMailDataStorage.js":65,"./AttachmentModel.js":37,"./EmailModel.js":38}],41:[function(e,t){!function(t){"use strict";function s(e){u.call(this,"settings",e),this.menu=n.observableArray([]),this.oCurrentSubScreen=null,this.oViewModelPlace=null}var o=e("../External/jquery.js"),i=e("../External/underscore.js"),n=e("../External/ko.js"),r=e("../Common/Globals.js"),a=e("../Common/Utils.js"),l=e("../Common/LinkBuilder.js"),c=e("../Knoin/Knoin.js"),u=e("../Knoin/KnoinAbstractScreen.js");i.extend(s.prototype,u.prototype),s.prototype.onRoute=function(e){var t=this,s=null,u=null,d=null,p=null;u=i.find(r.aViewModels.settings,function(t){return t&&t.__rlSettingsData&&e===t.__rlSettingsData.Route}),u&&(i.find(r.aViewModels["settings-removed"],function(e){return e&&e===u})&&(u=null),u&&i.find(r.aViewModels["settings-disabled"],function(e){return e&&e===u})&&(u=null)),u?(u.__builded&&u.__vm?s=u.__vm:(d=this.oViewModelPlace,d&&1===d.length?(u=u,s=new u,p=o("<div></div>").addClass("rl-settings-view-model").hide(),p.appendTo(d),s.viewModelDom=p,s.__rlSettingsData=u.__rlSettingsData,u.__dom=p,u.__builded=!0,u.__vm=s,n.applyBindingAccessorsToNode(p[0],{i18nInit:!0,template:function(){return{name:u.__rlSettingsData.Template}}},s),a.delegateRun(s,"onBuild",[p])):a.log("Cannot find sub settings view model position: SettingsSubScreen")),s&&i.defer(function(){t.oCurrentSubScreen&&(a.delegateRun(t.oCurrentSubScreen,"onHide"),t.oCurrentSubScreen.viewModelDom.hide()),t.oCurrentSubScreen=s,t.oCurrentSubScreen&&(t.oCurrentSubScreen.viewModelDom.show(),a.delegateRun(t.oCurrentSubScreen,"onShow"),a.delegateRun(t.oCurrentSubScreen,"onFocus",[],200),i.each(t.menu(),function(e){e.selected(s&&s.__rlSettingsData&&e.route===s.__rlSettingsData.Route)}),o("#rl-content .b-settings .b-content .content").scrollTop(0)),a.windowResize()})):c.setHash(l.settings(),!1,!0)},s.prototype.onHide=function(){this.oCurrentSubScreen&&this.oCurrentSubScreen.viewModelDom&&(a.delegateRun(this.oCurrentSubScreen,"onHide"),this.oCurrentSubScreen.viewModelDom.hide())},s.prototype.onBuild=function(){i.each(r.aViewModels.settings,function(e){e&&e.__rlSettingsData&&!i.find(r.aViewModels["settings-removed"],function(t){return t&&t===e})&&this.menu.push({route:e.__rlSettingsData.Route,label:e.__rlSettingsData.Label,selected:n.observable(!1),disabled:!!i.find(r.aViewModels["settings-disabled"],function(t){return t&&t===e})})},this),this.oViewModelPlace=o("#rl-content #rl-settings-subscreen")},s.prototype.routes=function(){var e=i.find(r.aViewModels.settings,function(e){return e&&e.__rlSettingsData&&e.__rlSettingsData.IsDefault}),t=e?e.__rlSettingsData.Route:"general",s={subname:/^(.*)$/,normalize_:function(e,s){return s.subname=a.isUnd(s.subname)?t:a.pString(s.subname),[s.subname]}};return[["{subname}/",s],["{subname}",s],["",s]]},t.exports=s}(t)},{"../Common/Globals.js":9,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/jquery.js":26,"../External/ko.js":28,"../External/underscore.js":31,"../Knoin/Knoin.js":33,"../Knoin/KnoinAbstractScreen.js":35}],42:[function(e,t){!function(t){"use strict";function s(){var t=e("../ViewModels/LoginViewModel.js");n.call(this,"login",[t])}var o=e("../External/underscore.js"),i=e("../Boots/RainLoopApp.js"),n=e("../Knoin/KnoinAbstractScreen.js");o.extend(s.prototype,n.prototype),s.prototype.onShow=function(){i.setTitle("")},t.exports=s}(t)},{"../Boots/RainLoopApp.js":4,"../External/underscore.js":31,"../Knoin/KnoinAbstractScreen.js":35,"../ViewModels/LoginViewModel.js":67}],43:[function(e,t){!function(t){"use strict";function s(){var t=e("../ViewModels/MailBoxSystemDropDownViewModel.js"),s=e("../ViewModels/MailBoxFolderListViewModel.js"),o=e("../ViewModels/MailBoxMessageListViewModel.js"),i=e("../ViewModels/MailBoxMessageViewViewModel.js");l.call(this,"mailbox",[t,s,o,i]),this.oLastRoute={}}var o=e("../External/underscore.js"),i=e("../External/$html.js"),n=e("../Common/Enums.js"),r=e("../Common/Globals.js"),a=e("../Common/Utils.js"),l=e("../Knoin/KnoinAbstractScreen.js"),c=e("../Storages/AppSettings.js"),u=e("../Storages/WebMailDataStorage.js"),d=e("../Storages/WebMailCacheStorage.js"),p=e("../Storages/WebMailAjaxRemoteStorage.js"),h=e("../Boots/RainLoopApp.js");o.extend(s.prototype,l.prototype),s.prototype.oLastRoute={},s.prototype.setNewTitle=function(){var e=u.accountEmail(),t=u.foldersInboxUnreadCount();h.setTitle((""===e?"":(t>0?"("+t+") ":" ")+e+" - ")+a.i18n("TITLES/MAILBOX"))},s.prototype.onShow=function(){this.setNewTitle(),r.keyScope(n.KeyState.MessageList)},s.prototype.onRoute=function(e,t,s,o){if(a.isUnd(o)?1:!o){var i=d.getFolderFullNameRaw(e),r=d.getFolderFromCacheList(i);r&&(u.currentFolder(r).messageListPage(t).messageListSearch(s),n.Layout.NoPreview===u.layout()&&u.message()&&u.message(null),h.reloadMessageList())}else n.Layout.NoPreview!==u.layout()||u.message()||h.historyBack()},s.prototype.onStart=function(){var e=function(){a.windowResize()};(c.capa(n.Capa.AdditionalAccounts)||c.capa(n.Capa.AdditionalIdentities))&&h.accountsAndIdentities(),o.delay(function(){"INBOX"!==u.currentFolderFullNameRaw()&&h.folderInformation("INBOX")},1e3),o.delay(function(){h.quota()},5e3),o.delay(function(){p.appDelayStart(a.emptyFunction)},35e3),i.toggleClass("rl-no-preview-pane",n.Layout.NoPreview===u.layout()),u.folderList.subscribe(e),u.messageList.subscribe(e),u.message.subscribe(e),u.layout.subscribe(function(e){i.toggleClass("rl-no-preview-pane",n.Layout.NoPreview===e)}),u.foldersInboxUnreadCount.subscribe(function(){this.setNewTitle()},this)},s.prototype.routes=function(){var e=function(){return["Inbox",1,"",!0]},t=function(e,t){return t[0]=a.pString(t[0]),t[1]=a.pInt(t[1]),t[1]=0>=t[1]?1:t[1],t[2]=a.pString(t[2]),""===e&&(t[0]="Inbox",t[1]=1),[decodeURI(t[0]),t[1],decodeURI(t[2]),!1]},s=function(e,t){return t[0]=a.pString(t[0]),t[1]=a.pString(t[1]),""===e&&(t[0]="Inbox"),[decodeURI(t[0]),1,decodeURI(t[1]),!1]};return[[/^([a-zA-Z0-9]+)\/p([1-9][0-9]*)\/(.+)\/?$/,{normalize_:t}],[/^([a-zA-Z0-9]+)\/p([1-9][0-9]*)$/,{normalize_:t}],[/^([a-zA-Z0-9]+)\/(.+)\/?$/,{normalize_:s}],[/^message-preview$/,{normalize_:e}],[/^([^\/]*)$/,{normalize_:t}]]},t.exports=s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Enums.js":7,"../Common/Globals.js":9,"../Common/Utils.js":14,"../External/$html.js":17,"../External/underscore.js":31,"../Knoin/KnoinAbstractScreen.js":35,"../Storages/AppSettings.js":59,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailCacheStorage.js":64,"../Storages/WebMailDataStorage.js":65,"../ViewModels/MailBoxFolderListViewModel.js":68,"../ViewModels/MailBoxMessageListViewModel.js":69,"../ViewModels/MailBoxMessageViewViewModel.js":70,"../ViewModels/MailBoxSystemDropDownViewModel.js":71}],44:[function(e,t){!function(t){"use strict";function s(){var t=e("../ViewModels/SettingsSystemDropDownViewModel.js"),s=e("../ViewModels/SettingsMenuViewModel.js"),o=e("../ViewModels/SettingsPaneViewModel.js");l.call(this,[t,s,o]),n.initOnStartOrLangChange(function(){this.sSettingsTitle=n.i18n("TITLES/SETTINGS")},this,function(){a.setTitle(this.sSettingsTitle)})}var o=e("../External/underscore.js"),i=e("../Common/Enums.js"),n=e("../Common/Utils.js"),r=e("../Common/Globals.js"),a=e("../Boots/RainLoopApp.js"),l=e("./AbstractSettings.js");o.extend(s.prototype,l.prototype),s.prototype.onShow=function(){a.setTitle(this.sSettingsTitle),r.keyScope(i.KeyState.Settings)},t.exports=s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Enums.js":7,"../Common/Globals.js":9,"../Common/Utils.js":14,"../External/underscore.js":31,"../ViewModels/SettingsMenuViewModel.js":85,"../ViewModels/SettingsPaneViewModel.js":86,"../ViewModels/SettingsSystemDropDownViewModel.js":87,"./AbstractSettings.js":41}],45:[function(e,t){!function(t){"use strict";function s(){this.accounts=c.accounts,this.processText=n.computed(function(){return c.accountsLoading()?a.i18n("SETTINGS_ACCOUNTS/LOADING_PROCESS"):""},this),this.visibility=n.computed(function(){return""===this.processText()?"hidden":"visible"},this),this.accountForDeletion=n.observable(null).extend({falseTimeout:3e3}).extend({toggleSubscribe:[this,function(e){e&&e.deleteAccess(!1)},function(e){e&&e.deleteAccess(!0)}]})}var o=e("../External/window.js"),i=e("../External/underscore.js"),n=e("../External/ko.js"),r=e("../Common/Enums.js"),a=e("../Common/Utils.js"),l=e("../Common/LinkBuilder.js"),c=e("../Storages/WebMailDataStorage.js"),u=e("../Storages/WebMailAjaxRemoteStorage.js"),d=e("../Boots/RainLoopApp.js"),p=e("../Knoin/Knoin.js"),h=e("../ViewModels/Popups/PopupsAddAccountViewModel.js");s.prototype.addNewAccount=function(){p.showScreenPopup(h)},s.prototype.deleteAccount=function(e){if(e&&e.deleteAccess()){this.accountForDeletion(null);var t=function(t){return e===t};e&&(this.accounts.remove(t),u.accountDelete(function(e,t){r.StorageResultType.Success===e&&t&&t.Result&&t.Reload?(p.routeOff(),p.setHash(l.root(),!0),p.routeOff(),i.defer(function(){o.location.reload()})):d.accountsAndIdentities()},e.email))}},t.exports=s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Enums.js":7,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/ko.js":28,"../External/underscore.js":31,"../External/window.js":32,"../Knoin/Knoin.js":33,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailDataStorage.js":65,"../ViewModels/Popups/PopupsAddAccountViewModel.js":72}],46:[function(e,t){!function(t){"use strict";function s(){this.changeProcess=i.observable(!1),this.errorDescription=i.observable(""),this.passwordMismatch=i.observable(!1),this.passwordUpdateError=i.observable(!1),this.passwordUpdateSuccess=i.observable(!1),this.currentPassword=i.observable(""),this.currentPassword.error=i.observable(!1),this.newPassword=i.observable(""),this.newPassword2=i.observable(""),this.currentPassword.subscribe(function(){this.passwordUpdateError(!1),this.passwordUpdateSuccess(!1),this.currentPassword.error(!1)},this),this.newPassword.subscribe(function(){this.passwordUpdateError(!1),this.passwordUpdateSuccess(!1),this.passwordMismatch(!1)},this),this.newPassword2.subscribe(function(){this.passwordUpdateError(!1),this.passwordUpdateSuccess(!1),this.passwordMismatch(!1)},this),this.saveNewPasswordCommand=r.createCommand(this,function(){this.newPassword()!==this.newPassword2()?(this.passwordMismatch(!0),this.errorDescription(r.i18n("SETTINGS_CHANGE_PASSWORD/ERROR_PASSWORD_MISMATCH"))):(this.changeProcess(!0),this.passwordUpdateError(!1),this.passwordUpdateSuccess(!1),this.currentPassword.error(!1),this.passwordMismatch(!1),this.errorDescription(""),a.changePassword(this.onChangePasswordResponse,this.currentPassword(),this.newPassword()))},function(){return!this.changeProcess()&&""!==this.currentPassword()&&""!==this.newPassword()&&""!==this.newPassword2()}),this.onChangePasswordResponse=o.bind(this.onChangePasswordResponse,this)}var o=e("../External/underscore.js"),i=e("../External/ko.js"),n=e("../Common/Enums.js"),r=e("../Common/Utils.js"),a=e("../Storages/WebMailAjaxRemoteStorage.js");s.prototype.onHide=function(){this.changeProcess(!1),this.currentPassword(""),this.newPassword(""),this.newPassword2(""),this.errorDescription(""),this.passwordMismatch(!1),this.currentPassword.error(!1)},s.prototype.onChangePasswordResponse=function(e,t){this.changeProcess(!1),this.passwordMismatch(!1),this.errorDescription(""),this.currentPassword.error(!1),n.StorageResultType.Success===e&&t&&t.Result?(this.currentPassword(""),this.newPassword(""),this.newPassword2(""),this.passwordUpdateSuccess(!0),this.currentPassword.error(!1)):(t&&n.Notification.CurrentPasswordIncorrect===t.ErrorCode&&this.currentPassword.error(!0),this.passwordUpdateError(!0),this.errorDescription(r.getNotification(t&&t.ErrorCode?t.ErrorCode:n.Notification.CouldNotSaveNewPassword)))},t.exports=s}(t)},{"../Common/Enums.js":7,"../Common/Utils.js":14,"../External/ko.js":28,"../External/underscore.js":31,"../Storages/WebMailAjaxRemoteStorage.js":63}],47:[function(e,t){!function(t){"use strict";function s(){this.contactsAutosave=r.contactsAutosave,this.allowContactsSync=r.allowContactsSync,this.enableContactsSync=r.enableContactsSync,this.contactsSyncUrl=r.contactsSyncUrl,this.contactsSyncUser=r.contactsSyncUser,this.contactsSyncPass=r.contactsSyncPass,this.saveTrigger=o.computed(function(){return[this.enableContactsSync()?"1":"0",this.contactsSyncUrl(),this.contactsSyncUser(),this.contactsSyncPass()].join("|")},this).extend({throttle:500}),this.saveTrigger.subscribe(function(){n.saveContactsSyncData(null,this.enableContactsSync(),this.contactsSyncUrl(),this.contactsSyncUser(),this.contactsSyncPass())},this)}var o=e("../External/ko.js"),i=e("../Common/Utils.js"),n=e("../Storages/WebMailAjaxRemoteStorage.js"),r=e("../Storages/WebMailDataStorage.js");s.prototype.onBuild=function(){r.contactsAutosave.subscribe(function(e){n.saveSettings(i.emptyFunction,{ContactsAutosave:e?"1":"0"})})},t.exports=s}(t)},{"../Common/Utils.js":14,"../External/ko.js":28,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailDataStorage.js":65}],48:[function(e,t){!function(t){"use strict";function s(){this.filters=o.observableArray([]),this.filters.loading=o.observable(!1),this.filters.subscribe(function(){i.windowResize()})}var o=e("../External/ko.js"),i=e("../Common/Utils.js"),n=e("../Knoin/Knoin.js"),r=e("../ViewModels/Popups/PopupsFilterViewModel.js");s.prototype.deleteFilter=function(e){this.filters.remove(e)},s.prototype.addFilter=function(){n.showScreenPopup(r,[new FilterModel])},t.exports=s}(t)},{"../Common/Utils.js":14,"../External/ko.js":28,"../Knoin/Knoin.js":33,"../ViewModels/Popups/PopupsFilterViewModel.js":76}],49:[function(e,t){!function(t){"use strict";function s(){this.foldersListError=c.foldersListError,this.folderList=c.folderList,this.processText=o.computed(function(){var e=c.foldersLoading(),t=c.foldersCreating(),s=c.foldersDeleting(),o=c.foldersRenaming();return t?n.i18n("SETTINGS_FOLDERS/CREATING_PROCESS"):s?n.i18n("SETTINGS_FOLDERS/DELETING_PROCESS"):o?n.i18n("SETTINGS_FOLDERS/RENAMING_PROCESS"):e?n.i18n("SETTINGS_FOLDERS/LOADING_PROCESS"):""},this),this.visibility=o.computed(function(){return""===this.processText()?"hidden":"visible"},this),this.folderForDeletion=o.observable(null).extend({falseTimeout:3e3}).extend({toggleSubscribe:[this,function(e){e&&e.deleteAccess(!1)},function(e){e&&e.deleteAccess(!0)}]}),this.folderForEdit=o.observable(null).extend({toggleSubscribe:[this,function(e){e&&e.edited(!1)},function(e){e&&e.canBeEdited()&&e.edited(!0)}]}),this.useImapSubscribe=!!a.settingsGet("UseImapSubscribe")}var o=e("../External/ko.js"),i=e("../Common/Enums.js"),n=e("../Common/Utils.js"),r=e("../Knoin/Knoin.js"),a=e("../Storages/AppSettings.js"),l=e("../Storages/LocalStorage.js"),c=e("../Storages/WebMailDataStorage.js"),u=e("../Storages/WebMailCacheStorage.js"),d=e("../Storages/WebMailAjaxRemoteStorage.js"),p=e("../Boots/RainLoopApp.js"),h=e("../ViewModels/Popups/PopupsFolderCreateViewModel.js"),m=e("../ViewModels/Popups/PopupsFolderSystemViewModel.js");s.prototype.folderEditOnEnter=function(e){var t=e?n.trim(e.nameForEdit()):"";""!==t&&e.name()!==t&&(l.set(i.ClientSideKeyName.FoldersLashHash,""),c.foldersRenaming(!0),d.folderRename(function(e,t){c.foldersRenaming(!1),i.StorageResultType.Success===e&&t&&t.Result||c.foldersListError(t&&t.ErrorCode?n.getNotification(t.ErrorCode):n.i18n("NOTIFICATIONS/CANT_RENAME_FOLDER")),p.folders()},e.fullNameRaw,t),u.removeFolderFromCacheList(e.fullNameRaw),e.name(t)),e.edited(!1)},s.prototype.folderEditOnEsc=function(e){e&&e.edited(!1)},s.prototype.onShow=function(){c.foldersListError("")},s.prototype.createFolder=function(){r.showScreenPopup(h)},s.prototype.systemFolder=function(){r.showScreenPopup(m)},s.prototype.deleteFolder=function(e){if(e&&e.canBeDeleted()&&e.deleteAccess()&&0===e.privateMessageCountAll()){this.folderForDeletion(null);var t=function(s){return e===s?!0:(s.subFolders.remove(t),!1)};e&&(l.set(i.ClientSideKeyName.FoldersLashHash,""),c.folderList.remove(t),c.foldersDeleting(!0),d.folderDelete(function(e,t){c.foldersDeleting(!1),i.StorageResultType.Success===e&&t&&t.Result||c.foldersListError(t&&t.ErrorCode?n.getNotification(t.ErrorCode):n.i18n("NOTIFICATIONS/CANT_DELETE_FOLDER")),p.folders()},e.fullNameRaw),u.removeFolderFromCacheList(e.fullNameRaw))}else 0<e.privateMessageCountAll()&&c.foldersListError(n.getNotification(i.Notification.CantDeleteNonEmptyFolder))},s.prototype.subscribeFolder=function(e){l.set(i.ClientSideKeyName.FoldersLashHash,""),d.folderSetSubscribe(n.emptyFunction,e.fullNameRaw,!0),e.subScribed(!0)},s.prototype.unSubscribeFolder=function(e){l.set(i.ClientSideKeyName.FoldersLashHash,""),d.folderSetSubscribe(n.emptyFunction,e.fullNameRaw,!1),e.subScribed(!1)},t.exports=s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Enums.js":7,"../Common/Utils.js":14,"../External/ko.js":28,"../Knoin/Knoin.js":33,"../Storages/AppSettings.js":59,"../Storages/LocalStorage.js":60,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailCacheStorage.js":64,"../Storages/WebMailDataStorage.js":65,"../ViewModels/Popups/PopupsFolderCreateViewModel.js":77,"../ViewModels/Popups/PopupsFolderSystemViewModel.js":78}],50:[function(e,t){!function(t){"use strict";function s(){this.mainLanguage=u.mainLanguage,this.mainMessagesPerPage=u.mainMessagesPerPage,this.mainMessagesPerPageArray=r.Defaults.MessagesPerPageArray,this.editorDefaultType=u.editorDefaultType,this.showImages=u.showImages,this.interfaceAnimation=u.interfaceAnimation,this.useDesktopNotifications=u.useDesktopNotifications,this.threading=u.threading,this.useThreads=u.useThreads,this.replySameFolder=u.replySameFolder,this.layout=u.layout,this.usePreviewPane=u.usePreviewPane,this.useCheckboxesInList=u.useCheckboxesInList,this.allowLanguagesOnSettings=u.allowLanguagesOnSettings,this.isDesktopNotificationsSupported=i.computed(function(){return n.DesktopNotifications.NotSupported!==u.desktopNotificationsPermisions()}),this.isDesktopNotificationsDenied=i.computed(function(){return n.DesktopNotifications.NotSupported===u.desktopNotificationsPermisions()||n.DesktopNotifications.Denied===u.desktopNotificationsPermisions()}),this.mainLanguageFullName=i.computed(function(){return l.convertLangName(this.mainLanguage())},this),this.languageTrigger=i.observable(n.SaveSettingsStep.Idle).extend({throttle:100}),this.mppTrigger=i.observable(n.SaveSettingsStep.Idle),this.isAnimationSupported=a.bAnimationSupported}var o=e("../External/jquery.js"),i=e("../External/ko.js"),n=e("../Common/Enums.js"),r=e("../Common/Consts.js"),a=e("../Common/Globals.js"),l=e("../Common/Utils.js"),c=e("../Common/LinkBuilder.js"),u=e("../Storages/WebMailDataStorage.js"),d=e("../Storages/WebMailAjaxRemoteStorage.js"),p=e("../Knoin/Knoin.js"),h=e("../ViewModels/Popups/PopupsLanguagesViewModel.js");s.prototype.toggleLayout=function(){this.layout(n.Layout.NoPreview===this.layout()?n.Layout.SidePreview:n.Layout.NoPreview)},s.prototype.onBuild=function(){var e=this;_.delay(function(){var t=l.settingsSaveHelperSimpleFunction(e.mppTrigger,e);u.language.subscribe(function(t){e.languageTrigger(n.SaveSettingsStep.Animate),o.ajax({url:c.langLink(t),dataType:"script",cache:!0}).done(function(){l.i18nReload(),e.languageTrigger(n.SaveSettingsStep.TrueResult)}).fail(function(){e.languageTrigger(n.SaveSettingsStep.FalseResult)}).always(function(){_.delay(function(){e.languageTrigger(n.SaveSettingsStep.Idle)},1e3)}),d.saveSettings(l.emptyFunction,{Language:t})}),u.editorDefaultType.subscribe(function(e){d.saveSettings(l.emptyFunction,{EditorDefaultType:e})}),u.messagesPerPage.subscribe(function(e){d.saveSettings(t,{MPP:e})}),u.showImages.subscribe(function(e){d.saveSettings(l.emptyFunction,{ShowImages:e?"1":"0"})}),u.interfaceAnimation.subscribe(function(e){d.saveSettings(l.emptyFunction,{InterfaceAnimation:e})}),u.useDesktopNotifications.subscribe(function(e){l.timeOutAction("SaveDesktopNotifications",function(){d.saveSettings(l.emptyFunction,{DesktopNotifications:e?"1":"0"})},3e3)}),u.replySameFolder.subscribe(function(e){l.timeOutAction("SaveReplySameFolder",function(){d.saveSettings(l.emptyFunction,{ReplySameFolder:e?"1":"0"})},3e3)}),u.useThreads.subscribe(function(e){u.messageList([]),d.saveSettings(l.emptyFunction,{UseThreads:e?"1":"0"})}),u.layout.subscribe(function(e){u.messageList([]),d.saveSettings(l.emptyFunction,{Layout:e})}),u.useCheckboxesInList.subscribe(function(e){d.saveSettings(l.emptyFunction,{UseCheckboxesInList:e?"1":"0"})})},50)},s.prototype.onShow=function(){u.desktopNotifications.valueHasMutated()},s.prototype.selectLanguage=function(){p.showScreenPopup(h)},t.exports=s}(t)},{"../Common/Consts.js":6,"../Common/Enums.js":7,"../Common/Globals.js":9,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/jquery.js":26,"../External/ko.js":28,"../Knoin/Knoin.js":33,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailDataStorage.js":65,"../ViewModels/Popups/PopupsLanguagesViewModel.js":82}],51:[function(e,t){!function(t){"use strict";function s(){this.editor=null,this.defautOptionsAfterRender=n.defautOptionsAfterRender,this.accountEmail=a.accountEmail,this.displayName=a.displayName,this.signature=a.signature,this.signatureToAll=a.signatureToAll,this.replyTo=a.replyTo,this.signatureDom=o.observable(null),this.defaultIdentityIDTrigger=o.observable(i.SaveSettingsStep.Idle),this.displayNameTrigger=o.observable(i.SaveSettingsStep.Idle),this.replyTrigger=o.observable(i.SaveSettingsStep.Idle),this.signatureTrigger=o.observable(i.SaveSettingsStep.Idle),this.identities=a.identities,this.defaultIdentityID=a.defaultIdentityID,this.identitiesOptions=o.computed(function(){var e=this.identities(),t=[];return 0<e.length&&(t.push({id:this.accountEmail.peek(),name:this.formattedAccountIdentity(),seporator:!1}),t.push({id:"---",name:"---",seporator:!0,disabled:!0}),_.each(e,function(e){t.push({id:e.id,name:e.formattedNameForEmail(),seporator:!1})})),t},this),this.processText=o.computed(function(){return a.identitiesLoading()?n.i18n("SETTINGS_IDENTITIES/LOADING_PROCESS"):""},this),this.visibility=o.computed(function(){return""===this.processText()?"hidden":"visible"},this),this.identityForDeletion=o.observable(null).extend({falseTimeout:3e3}).extend({toggleSubscribe:[this,function(e){e&&e.deleteAccess(!1)},function(e){e&&e.deleteAccess(!0)}]})}var o=e("../External/ko.js"),i=e("../Common/Enums.js"),n=e("../Common/Utils.js"),r=e("../Common/NewHtmlEditorWrapper.js"),a=e("../Storages/WebMailDataStorage.js"),l=e("../Storages/WebMailAjaxRemoteStorage.js"),c=e("../Boots/RainLoopApp.js"),u=e("../Knoin/Knoin.js"),d=e("../ViewModels/Popups/PopupsIdentityViewModel.js");s.prototype.formattedAccountIdentity=function(){var e=this.displayName.peek(),t=this.accountEmail.peek();return""===e?t:'"'+n.quoteName(e)+'" <'+t+">"},s.prototype.addNewIdentity=function(){u.showScreenPopup(d)},s.prototype.editIdentity=function(e){u.showScreenPopup(d,[e])},s.prototype.deleteIdentity=function(e){if(e&&e.deleteAccess()){this.identityForDeletion(null);var t=function(t){return e===t};e&&(this.identities.remove(t),l.identityDelete(function(){c.accountsAndIdentities()},e.id))}},s.prototype.onFocus=function(){if(!this.editor&&this.signatureDom()){var e=this,t=a.signature();this.editor=new r(e.signatureDom(),function(){a.signature((e.editor.isHtml()?":HTML:":"")+e.editor.getData())},function(){":HTML:"===t.substr(0,6)?e.editor.setHtml(t.substr(6),!1):e.editor.setPlain(t,!1)})}},s.prototype.onBuild=function(e){var t=this;e.on("click",".identity-item .e-action",function(){var e=o.dataFor(this);e&&t.editIdentity(e)}),_.delay(function(){var e=n.settingsSaveHelperSimpleFunction(t.displayNameTrigger,t),s=n.settingsSaveHelperSimpleFunction(t.replyTrigger,t),o=n.settingsSaveHelperSimpleFunction(t.signatureTrigger,t),i=n.settingsSaveHelperSimpleFunction(t.defaultIdentityIDTrigger,t);a.defaultIdentityID.subscribe(function(e){l.saveSettings(i,{DefaultIdentityID:e})}),a.displayName.subscribe(function(t){l.saveSettings(e,{DisplayName:t})}),a.replyTo.subscribe(function(e){l.saveSettings(s,{ReplyTo:e})}),a.signature.subscribe(function(e){l.saveSettings(o,{Signature:e})}),a.signatureToAll.subscribe(function(e){l.saveSettings(null,{SignatureToAll:e?"1":"0"})})},50)},t.exports=s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Enums.js":7,"../Common/NewHtmlEditorWrapper.js":11,"../Common/Utils.js":14,"../External/ko.js":28,"../Knoin/Knoin.js":33,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailDataStorage.js":65,"../ViewModels/Popups/PopupsIdentityViewModel.js":80}],52:[function(e,t){!function(t){"use strict";function s(){this.editor=null,this.displayName=a.displayName,this.signature=a.signature,this.signatureToAll=a.signatureToAll,this.replyTo=a.replyTo,this.signatureDom=o.observable(null),this.displayNameTrigger=o.observable(i.SaveSettingsStep.Idle),this.replyTrigger=o.observable(i.SaveSettingsStep.Idle),this.signatureTrigger=o.observable(i.SaveSettingsStep.Idle)}var o=e("../External/ko.js"),i=e("../Common/Enums.js"),n=e("../Common/Utils.js"),r=e("../Common/NewHtmlEditorWrapper.js"),a=e("../Storages/WebMailDataStorage.js"),l=e("../Storages/WebMailAjaxRemoteStorage.js");s.prototype.onFocus=function(){if(!this.editor&&this.signatureDom()){var e=this,t=a.signature();this.editor=new r(e.signatureDom(),function(){a.signature((e.editor.isHtml()?":HTML:":"")+e.editor.getData())},function(){":HTML:"===t.substr(0,6)?e.editor.setHtml(t.substr(6),!1):e.editor.setPlain(t,!1)})}},s.prototype.onBuild=function(){var e=this;_.delay(function(){var t=n.settingsSaveHelperSimpleFunction(e.displayNameTrigger,e),s=n.settingsSaveHelperSimpleFunction(e.replyTrigger,e),o=n.settingsSaveHelperSimpleFunction(e.signatureTrigger,e);a.displayName.subscribe(function(e){l.saveSettings(t,{DisplayName:e})}),a.replyTo.subscribe(function(e){l.saveSettings(s,{ReplyTo:e})}),a.signature.subscribe(function(e){l.saveSettings(o,{Signature:e})}),a.signatureToAll.subscribe(function(e){l.saveSettings(null,{SignatureToAll:e?"1":"0"})})},50)},t.exports=s}(t)},{"../Common/Enums.js":7,"../Common/NewHtmlEditorWrapper.js":11,"../Common/Utils.js":14,"../External/ko.js":28,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailDataStorage.js":65}],53:[function(e,t){!function(t){"use strict";function s(){this.openpgpkeys=n.openpgpkeys,this.openpgpkeysPublic=n.openpgpkeysPublic,this.openpgpkeysPrivate=n.openpgpkeysPrivate,this.openPgpKeyForDeletion=o.observable(null).extend({falseTimeout:3e3}).extend({toggleSubscribe:[this,function(e){e&&e.deleteAccess(!1)},function(e){e&&e.deleteAccess(!0)}]})}var o=e("../External/ko.js"),i=e("../Knoin/Knoin.js"),n=e("../Storages/WebMailDataStorage.js"),r=e("../Boots/RainLoopApp.js"),a=e("../ViewModels/Popups/PopupsAddOpenPgpKeyViewModel.js"),l=e("../ViewModels/Popups/PopupsGenerateNewOpenPgpKeyViewModel.js"),c=e("../ViewModels/Popups/PopupsViewOpenPgpKeyViewModel.js");s.prototype.addOpenPgpKey=function(){i.showScreenPopup(a)},s.prototype.generateOpenPgpKey=function(){i.showScreenPopup(l)},s.prototype.viewOpenPgpKey=function(e){e&&i.showScreenPopup(c,[e])},s.prototype.deleteOpenPgpKey=function(e){e&&e.deleteAccess()&&(this.openPgpKeyForDeletion(null),e&&n.openpgpKeyring&&(this.openpgpkeys.remove(function(t){return e===t}),n.openpgpKeyring[e.isPrivate?"privateKeys":"publicKeys"].removeForId(e.guid),n.openpgpKeyring.store(),r.reloadOpenPgpKeys()))},t.exports=s}(t)},{"../Boots/RainLoopApp.js":4,"../External/ko.js":28,"../Knoin/Knoin.js":33,"../Storages/WebMailDataStorage.js":65,"../ViewModels/Popups/PopupsAddOpenPgpKeyViewModel.js":73,"../ViewModels/Popups/PopupsGenerateNewOpenPgpKeyViewModel.js":79,"../ViewModels/Popups/PopupsViewOpenPgpKeyViewModel.js":84}],54:[function(e,t){!function(t){"use strict";function s(){this.processing=o.observable(!1),this.clearing=o.observable(!1),this.secreting=o.observable(!1),this.viewUser=o.observable(""),this.viewEnable=o.observable(!1),this.viewEnable.subs=!0,this.twoFactorStatus=o.observable(!1),this.viewSecret=o.observable(""),this.viewBackupCodes=o.observable(""),this.viewUrl=o.observable(""),this.bFirst=!0,this.viewTwoFactorStatus=o.computed(function(){return n.langChangeTrigger(),r.i18n(this.twoFactorStatus()?"SETTINGS_SECURITY/TWO_FACTOR_SECRET_CONFIGURED_DESC":"SETTINGS_SECURITY/TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC")},this),this.onResult=_.bind(this.onResult,this),this.onSecretResult=_.bind(this.onSecretResult,this)}var o=e("../External/ko.js"),i=e("../Common/Utils.js"),n=e("../Common/Globals.js"),r=e("../Common/Utils.js"),a=e("../Storages/WebMailAjaxRemoteStorage.js"),l=e("../Knoin/Knoin.js"),c=e("../ViewModels/Popups/PopupsTwoFactorTestViewModel.js");s.prototype.showSecret=function(){this.secreting(!0),a.showTwoFactorSecret(this.onSecretResult)},s.prototype.hideSecret=function(){this.viewSecret(""),this.viewBackupCodes(""),this.viewUrl("")
},s.prototype.createTwoFactor=function(){this.processing(!0),a.createTwoFactor(this.onResult)},s.prototype.enableTwoFactor=function(){this.processing(!0),a.enableTwoFactor(this.onResult,this.viewEnable())},s.prototype.testTwoFactor=function(){l.showScreenPopup(c)},s.prototype.clearTwoFactor=function(){this.viewSecret(""),this.viewBackupCodes(""),this.viewUrl(""),this.clearing(!0),a.clearTwoFactor(this.onResult)},s.prototype.onShow=function(){this.viewSecret(""),this.viewBackupCodes(""),this.viewUrl("")},s.prototype.onResult=function(e,t){if(this.processing(!1),this.clearing(!1),i.StorageResultType.Success===e&&t&&t.Result?(this.viewUser(r.pString(t.Result.User)),this.viewEnable(!!t.Result.Enable),this.twoFactorStatus(!!t.Result.IsSet),this.viewSecret(r.pString(t.Result.Secret)),this.viewBackupCodes(r.pString(t.Result.BackupCodes).replace(/[\s]+/g," ")),this.viewUrl(r.pString(t.Result.Url))):(this.viewUser(""),this.viewEnable(!1),this.twoFactorStatus(!1),this.viewSecret(""),this.viewBackupCodes(""),this.viewUrl("")),this.bFirst){this.bFirst=!1;var s=this;this.viewEnable.subscribe(function(e){this.viewEnable.subs&&a.enableTwoFactor(function(e,t){i.StorageResultType.Success===e&&t&&t.Result||(s.viewEnable.subs=!1,s.viewEnable(!1),s.viewEnable.subs=!0)},e)},this)}},s.prototype.onSecretResult=function(e,t){this.secreting(!1),i.StorageResultType.Success===e&&t&&t.Result?(this.viewSecret(r.pString(t.Result.Secret)),this.viewUrl(r.pString(t.Result.Url))):(this.viewSecret(""),this.viewUrl(""))},s.prototype.onBuild=function(){this.processing(!0),a.getTwoFactor(this.onResult)},t.exports=s}(t)},{"../Common/Globals.js":9,"../Common/Utils.js":14,"../External/ko.js":28,"../Knoin/Knoin.js":33,"../Storages/WebMailAjaxRemoteStorage.js":63,"../ViewModels/Popups/PopupsTwoFactorTestViewModel.js":83}],55:[function(e,t){!function(t){"use strict";function s(){this.googleEnable=i.googleEnable,this.googleActions=i.googleActions,this.googleLoggined=i.googleLoggined,this.googleUserName=i.googleUserName,this.facebookEnable=i.facebookEnable,this.facebookActions=i.facebookActions,this.facebookLoggined=i.facebookLoggined,this.facebookUserName=i.facebookUserName,this.twitterEnable=i.twitterEnable,this.twitterActions=i.twitterActions,this.twitterLoggined=i.twitterLoggined,this.twitterUserName=i.twitterUserName,this.connectGoogle=o.createCommand(this,function(){this.googleLoggined()||n.googleConnect()},function(){return!this.googleLoggined()&&!this.googleActions()}),this.disconnectGoogle=o.createCommand(this,function(){n.googleDisconnect()}),this.connectFacebook=o.createCommand(this,function(){this.facebookLoggined()||n.facebookConnect()},function(){return!this.facebookLoggined()&&!this.facebookActions()}),this.disconnectFacebook=o.createCommand(this,function(){n.facebookDisconnect()}),this.connectTwitter=o.createCommand(this,function(){this.twitterLoggined()||n.twitterConnect()},function(){return!this.twitterLoggined()&&!this.twitterActions()}),this.disconnectTwitter=o.createCommand(this,function(){n.twitterDisconnect()})}var o=e("../Common/Utils.js"),i=e("../Storages/WebMailDataStorage.js"),n=e("../Boots/RainLoopApp.js");t.exports=s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Utils.js":14,"../Storages/WebMailDataStorage.js":65}],56:[function(e,t){!function(t){"use strict";function s(){var e=this;this.mainTheme=c.mainTheme,this.themesObjects=n.observableArray([]),this.themeTrigger=n.observable(r.SaveSettingsStep.Idle).extend({throttle:100}),this.oLastAjax=null,this.iTimer=0,c.theme.subscribe(function(t){_.each(this.themesObjects(),function(e){e.selected(t===e.name)});var s=i("#rlThemeLink"),n=i("#rlThemeStyle"),l=s.attr("href");l||(l=n.attr("data-href")),l&&(l=l.toString().replace(/\/-\/[^\/]+\/\-\//,"/-/"+t+"/-/"),l=l.toString().replace(/\/Css\/[^\/]+\/User\//,"/Css/0/User/"),"Json/"!==l.substring(l.length-5,l.length)&&(l+="Json/"),o.clearTimeout(e.iTimer),e.themeTrigger(r.SaveSettingsStep.Animate),this.oLastAjax&&this.oLastAjax.abort&&this.oLastAjax.abort(),this.oLastAjax=i.ajax({url:l,dataType:"json"}).done(function(t){t&&a.isArray(t)&&2===t.length&&(!s||!s[0]||n&&n[0]||(n=i('<style id="rlThemeStyle"></style>'),s.after(n),s.remove()),n&&n[0]&&(n.attr("data-href",l).attr("data-theme",t[0]),n&&n[0]&&n[0].styleSheet&&!a.isUnd(n[0].styleSheet.cssText)?n[0].styleSheet.cssText=t[1]:n.text(t[1])),e.themeTrigger(r.SaveSettingsStep.TrueResult))}).always(function(){e.iTimer=o.setTimeout(function(){e.themeTrigger(r.SaveSettingsStep.Idle)},1e3),e.oLastAjax=null})),u.saveSettings(null,{Theme:t})},this)}var o=e("../External/window.js"),i=e("../External/jquery.js"),n=e("../External/ko.js"),r=e("../Common/Enums.js"),a=e("../Common/Utils.js"),l=e("../Common/LinkBuilder.js"),c=e("../Storages/WebMailDataStorage.js"),u=e("../Storages/WebMailAjaxRemoteStorage.js");s.prototype.onBuild=function(){var e=c.theme();this.themesObjects(_.map(c.themes(),function(t){return{name:t,nameDisplay:a.convertThemeName(t),selected:n.observable(t===e),themePreviewSrc:l.themePreviewLink(t)}}))},t.exports=s}(t)},{"../Common/Enums.js":7,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/jquery.js":26,"../External/ko.js":28,"../External/window.js":32,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailDataStorage.js":65}],57:[function(e,t){!function(t){"use strict";function s(){this.oRequests={}}var o=e("../External/window.js"),i=e("../External/jquery.js"),n=e("../Common/Consts.js"),r=e("../Common/Enums.js"),a=e("../Common/Globals.js"),l=e("../Common/Utils.js"),c=e("../Common/Plugins.js"),u=e("../Common/LinkBuilder.js"),d=e("./AppSettings.js");s.prototype.oRequests={},s.prototype.defaultResponse=function(e,t,s,i,u,d){var p=function(){r.StorageResultType.Success!==s&&a.bUnload&&(s=r.StorageResultType.Unload),r.StorageResultType.Success===s&&i&&!i.Result?(i&&-1<l.inArray(i.ErrorCode,[r.Notification.AuthError,r.Notification.AccessError,r.Notification.ConnectionError,r.Notification.DomainNotAllowed,r.Notification.AccountNotAllowed,r.Notification.MailServerError,r.Notification.UnknownNotification,r.Notification.UnknownError])&&a.iAjaxErrorCount++,i&&r.Notification.InvalidToken===i.ErrorCode&&a.iTokenErrorCount++,n.Values.TokenErrorLimit<a.iTokenErrorCount&&RL.loginAndLogoutReload(!0),(i.Logout||n.Values.AjaxErrorLimit<a.iAjaxErrorCount)&&(o.__rlah_clear&&o.__rlah_clear(),RL.loginAndLogoutReload(!0))):r.StorageResultType.Success===s&&i&&i.Result&&(a.iAjaxErrorCount=0,a.iTokenErrorCount=0),e&&(c.runHook("ajax-default-response",[t,r.StorageResultType.Success===s?i:null,s,u,d]),e(s,r.StorageResultType.Success===s?i:null,u,t,d))};switch(s){case"success":s=r.StorageResultType.Success;break;case"abort":s=r.StorageResultType.Abort;break;default:s=r.StorageResultType.Error}r.StorageResultType.Error===s?_.delay(p,300):p()},s.prototype.ajaxRequest=function(e,t,s,n,r){var a=this,c=""===n,p={},h=(new o.Date).getTime(),m=null,g="";return t=t||{},s=l.isNormal(s)?s:2e4,n=l.isUnd(n)?"":l.pString(n),r=l.isArray(r)?r:[],g=t.Action||"",g&&0<r.length&&_.each(r,function(e){a.oRequests[e]&&(a.oRequests[e].__aborted=!0,a.oRequests[e].abort&&a.oRequests[e].abort(),a.oRequests[e]=null)}),c&&(t.XToken=d.settingsGet("Token")),m=i.ajax({type:c?"POST":"GET",url:u.ajax(n),async:!0,dataType:"json",data:c?t:{},headers:p,timeout:s,global:!0}),m.always(function(s,i){var n=!1;s&&s.Time&&(n=l.pInt(s.Time)>(new o.Date).getTime()-h),g&&a.oRequests[g]&&(a.oRequests[g].__aborted&&(i="abort"),a.oRequests[g]=null),a.defaultResponse(e,g,i,s,n,t)}),g&&0<r.length&&-1<l.inArray(g,r)&&(this.oRequests[g]&&(this.oRequests[g].__aborted=!0,this.oRequests[g].abort&&this.oRequests[g].abort(),this.oRequests[g]=null),this.oRequests[g]=m),m},s.prototype.defaultRequest=function(e,t,s,o,i,r){s=s||{},s.Action=t,i=l.pString(i),c.runHook("ajax-default-request",[t,s,i]),this.ajaxRequest(e,s,l.isUnd(o)?n.Defaults.DefaultAjaxTimeout:l.pInt(o),i,r)},s.prototype.noop=function(e){this.defaultRequest(e,"Noop")},s.prototype.jsError=function(e,t,s,o,i,n,r){this.defaultRequest(e,"JsError",{Message:t,FileName:s,LineNo:o,Location:i,HtmlCapa:n,TimeOnPage:r})},s.prototype.jsInfo=function(e,t,s,o){this.defaultRequest(e,"JsInfo",{Type:t,Data:s,IsError:(l.isUnd(o)?1:!o)?"0":"1"})},s.prototype.getPublicKey=function(e){this.defaultRequest(e,"GetPublicKey")},s.prototype.jsVersion=function(e,t){this.defaultRequest(e,"Version",{Version:t})},t.exports=s}(t)},{"../Common/Consts.js":6,"../Common/Enums.js":7,"../Common/Globals.js":9,"../Common/LinkBuilder.js":10,"../Common/Plugins.js":12,"../Common/Utils.js":14,"../External/jquery.js":26,"../External/window.js":32,"./AppSettings.js":59}],58:[function(e,t){!function(t){"use strict";function s(){i.initDataConstructorBySettings(this)}var o=e("../Common/Enums.js"),i=e("../Common/Utils.js"),n=e("./AppSettings.js");s.prototype.populateDataOnStart=function(){var e=i.pInt(n.settingsGet("Layout")),t=n.settingsGet("Languages"),s=n.settingsGet("Themes");i.isArray(t)&&this.languages(t),i.isArray(s)&&this.themes(s),this.mainLanguage(n.settingsGet("Language")),this.mainTheme(n.settingsGet("Theme")),this.capaAdditionalAccounts(n.capa(o.Capa.AdditionalAccounts)),this.capaAdditionalIdentities(n.capa(o.Capa.AdditionalIdentities)),this.capaGravatar(n.capa(o.Capa.Gravatar)),this.determineUserLanguage(!!n.settingsGet("DetermineUserLanguage")),this.determineUserDomain(!!n.settingsGet("DetermineUserDomain")),this.capaThemes(n.capa(o.Capa.Themes)),this.allowLanguagesOnLogin(!!n.settingsGet("AllowLanguagesOnLogin")),this.allowLanguagesOnSettings(!!n.settingsGet("AllowLanguagesOnSettings")),this.useLocalProxyForExternalImages(!!n.settingsGet("UseLocalProxyForExternalImages")),this.editorDefaultType(n.settingsGet("EditorDefaultType")),this.showImages(!!n.settingsGet("ShowImages")),this.contactsAutosave(!!n.settingsGet("ContactsAutosave")),this.interfaceAnimation(n.settingsGet("InterfaceAnimation")),this.mainMessagesPerPage(n.settingsGet("MPP")),this.desktopNotifications(!!n.settingsGet("DesktopNotifications")),this.useThreads(!!n.settingsGet("UseThreads")),this.replySameFolder(!!n.settingsGet("ReplySameFolder")),this.useCheckboxesInList(!!n.settingsGet("UseCheckboxesInList")),this.layout(o.Layout.SidePreview),-1<i.inArray(e,[o.Layout.NoPreview,o.Layout.SidePreview,o.Layout.BottomPreview])&&this.layout(e),this.facebookSupported(!!n.settingsGet("SupportedFacebookSocial")),this.facebookEnable(!!n.settingsGet("AllowFacebookSocial")),this.facebookAppID(n.settingsGet("FacebookAppID")),this.facebookAppSecret(n.settingsGet("FacebookAppSecret")),this.twitterEnable(!!n.settingsGet("AllowTwitterSocial")),this.twitterConsumerKey(n.settingsGet("TwitterConsumerKey")),this.twitterConsumerSecret(n.settingsGet("TwitterConsumerSecret")),this.googleEnable(!!n.settingsGet("AllowGoogleSocial")),this.googleClientID(n.settingsGet("GoogleClientID")),this.googleClientSecret(n.settingsGet("GoogleClientSecret")),this.googleApiKey(n.settingsGet("GoogleApiKey")),this.dropboxEnable(!!n.settingsGet("AllowDropboxSocial")),this.dropboxApiKey(n.settingsGet("DropboxApiKey")),this.contactsIsAllowed(!!n.settingsGet("ContactsIsAllowed"))},t.exports=s}(t)},{"../Common/Enums.js":7,"../Common/Utils.js":14,"./AppSettings.js":59}],59:[function(e,t){!function(t){"use strict";function s(){this.oSettings=null}var o=e("../External/AppData.js"),i=e("../Common/Utils.js");s.prototype.oSettings=null,s.prototype.settingsGet=function(e){return null===this.oSettings&&(this.oSettings=i.isNormal(o)?o:{}),i.isUnd(this.oSettings[e])?null:this.oSettings[e]},s.prototype.settingsSet=function(e,t){null===this.oSettings&&(this.oSettings=i.isNormal(o)?o:{}),this.oSettings[e]=t},s.prototype.capa=function(e){var t=this.settingsGet("Capa");return i.isArray(t)&&i.isNormal(e)&&-1<i.inArray(e,t)},t.exports=new s}(t)},{"../Common/Utils.js":14,"../External/AppData.js":19}],60:[function(e,t){!function(t){"use strict";function s(){var e=o.find([n,i],function(e){return e.supported()});e&&(e=e,this.oDriver=new e)}var o=e("../External/underscore.js"),i=e("./LocalStorages/CookieDriver.js"),n=e("./LocalStorages/LocalStorageDriver.js");s.prototype.oDriver=null,s.prototype.set=function(e,t){return this.oDriver?this.oDriver.set("p"+e,t):!1},s.prototype.get=function(e){return this.oDriver?this.oDriver.get("p"+e):null},t.exports=new s}(t)},{"../External/underscore.js":31,"./LocalStorages/CookieDriver.js":61,"./LocalStorages/LocalStorageDriver.js":62}],61:[function(e,t){!function(t){"use strict";function s(){}var o=e("../../External/jquery.js"),i=e("../../External/JSON.js"),n=e("../../Common/Consts.js"),r=e("../../Common/Utils.js");s.supported=function(){return!0},s.prototype.set=function(e,t){var s=o.cookie(n.Values.ClientSideCookieIndexName),r=!1,a=null;try{a=null===s?null:i.parse(s),a||(a={}),a[e]=t,o.cookie(n.Values.ClientSideCookieIndexName,i.stringify(a),{expires:30}),r=!0}catch(l){}return r},s.prototype.get=function(e){var t=o.cookie(n.Values.ClientSideCookieIndexName),s=null;try{s=null===t?null:i.parse(t),s=s&&!r.isUnd(s[e])?s[e]:null}catch(a){}return s},t.exports=s}(t)},{"../../Common/Consts.js":6,"../../Common/Utils.js":14,"../../External/JSON.js":20,"../../External/jquery.js":26}],62:[function(e,t){!function(t){"use strict";function s(){}var o=e("../../External/window.js"),i=e("../../External/JSON.js"),n=e("../../Common/Consts.js"),r=e("../../Common/Utils.js");s.supported=function(){return!!o.localStorage},s.prototype.set=function(e,t){var s=o.localStorage[n.Values.ClientSideCookieIndexName]||null,r=!1,a=null;try{a=null===s?null:i.parse(s),a||(a={}),a[e]=t,o.localStorage[n.Values.ClientSideCookieIndexName]=i.stringify(a),r=!0}catch(l){}return r},s.prototype.get=function(e){var t=o.localStorage[n.Values.ClientSideCookieIndexName]||null,s=null;try{s=null===t?null:i.parse(t),s=s&&!r.isUnd(s[e])?s[e]:null}catch(a){}return s},t.exports=s}(t)},{"../../Common/Consts.js":6,"../../Common/Utils.js":14,"../../External/JSON.js":20,"../../External/window.js":32}],63:[function(e,t){!function(t){"use strict";function s(){u.call(this),this.oRequests={}}var o=e("../External/underscore.js"),i=e("../Common/Utils.js"),n=e("../Common/Consts.js"),r=e("../Common/Base64.js"),a=e("./AppSettings.js"),l=e("./WebMailCacheStorage.js"),c=e("./WebMailDataStorage.js"),u=e("./AbstractAjaxRemoteStorage.js");o.extend(s.prototype,u.prototype),s.prototype.folders=function(e){this.defaultRequest(e,"Folders",{SentFolder:a.settingsGet("SentFolder"),DraftFolder:a.settingsGet("DraftFolder"),SpamFolder:a.settingsGet("SpamFolder"),TrashFolder:a.settingsGet("TrashFolder"),ArchiveFolder:a.settingsGet("ArchiveFolder")},null,"",["Folders"])},s.prototype.login=function(e,t,s,o,i,n,r,a){this.defaultRequest(e,"Login",{Email:t,Login:s,Password:o,Language:n||"",AdditionalCode:r||"",AdditionalCodeSignMe:a?"1":"0",SignMe:i?"1":"0"})},s.prototype.getTwoFactor=function(e){this.defaultRequest(e,"GetTwoFactorInfo")},s.prototype.createTwoFactor=function(e){this.defaultRequest(e,"CreateTwoFactorSecret")},s.prototype.clearTwoFactor=function(e){this.defaultRequest(e,"ClearTwoFactorInfo")},s.prototype.showTwoFactorSecret=function(e){this.defaultRequest(e,"ShowTwoFactorSecret")},s.prototype.testTwoFactor=function(e,t){this.defaultRequest(e,"TestTwoFactorInfo",{Code:t})},s.prototype.enableTwoFactor=function(e,t){this.defaultRequest(e,"EnableTwoFactor",{Enable:t?"1":"0"})},s.prototype.clearTwoFactorInfo=function(e){this.defaultRequest(e,"ClearTwoFactorInfo")},s.prototype.contactsSync=function(e){this.defaultRequest(e,"ContactsSync",null,n.Defaults.ContactsSyncAjaxTimeout)},s.prototype.saveContactsSyncData=function(e,t,s,o,i){this.defaultRequest(e,"SaveContactsSyncData",{Enable:t?"1":"0",Url:s,User:o,Password:i})},s.prototype.accountAdd=function(e,t,s,o){this.defaultRequest(e,"AccountAdd",{Email:t,Login:s,Password:o})},s.prototype.accountDelete=function(e,t){this.defaultRequest(e,"AccountDelete",{EmailToDelete:t})},s.prototype.identityUpdate=function(e,t,s,o,i,n){this.defaultRequest(e,"IdentityUpdate",{Id:t,Email:s,Name:o,ReplyTo:i,Bcc:n})},s.prototype.identityDelete=function(e,t){this.defaultRequest(e,"IdentityDelete",{IdToDelete:t})},s.prototype.accountsAndIdentities=function(e){this.defaultRequest(e,"AccountsAndIdentities")},s.prototype.messageList=function(e,t,s,o,a,u){t=i.pString(t);var d=l.getFolderHash(t);u=i.isUnd(u)?!1:!!u,s=i.isUnd(s)?0:i.pInt(s),o=i.isUnd(s)?20:i.pInt(o),a=i.pString(a),""===d||""!==a&&-1!==a.indexOf("is:")?this.defaultRequest(e,"MessageList",{Folder:t,Offset:s,Limit:o,Search:a,UidNext:"INBOX"===t?l.getFolderUidNext(t):"",UseThreads:c.threading()&&c.useThreads()?"1":"0",ExpandedThreadUid:c.threading()&&t===c.messageListThreadFolder()?c.messageListThreadUids().join(","):""},""===a?n.Defaults.DefaultAjaxTimeout:n.Defaults.SearchAjaxTimeout,"",u?[]:["MessageList"]):this.defaultRequest(e,"MessageList",{},""===a?n.Defaults.DefaultAjaxTimeout:n.Defaults.SearchAjaxTimeout,"MessageList/"+r.urlsafe_encode([t,s,o,a,c.projectHash(),d,"INBOX"===t?l.getFolderUidNext(t):"",c.threading()&&c.useThreads()?"1":"0",c.threading()&&t===c.messageListThreadFolder()?c.messageListThreadUids().join(","):""].join(String.fromCharCode(0))),u?[]:["MessageList"])},s.prototype.messageUploadAttachments=function(e,t){this.defaultRequest(e,"MessageUploadAttachments",{Attachments:t},999e3)},s.prototype.message=function(e,t,s){return t=i.pString(t),s=i.pInt(s),l.getFolderFromCacheList(t)&&s>0?(this.defaultRequest(e,"Message",{},null,"Message/"+r.urlsafe_encode([t,s,c.projectHash(),c.threading()&&c.useThreads()?"1":"0"].join(String.fromCharCode(0))),["Message"]),!0):!1},s.prototype.composeUploadExternals=function(e,t){this.defaultRequest(e,"ComposeUploadExternals",{Externals:t},999e3)},s.prototype.composeUploadDrive=function(e,t,s){this.defaultRequest(e,"ComposeUploadDrive",{AccessToken:s,Url:t},999e3)},s.prototype.folderInformation=function(e,t,s){var n=!0,r=[];i.isArray(s)&&0<s.length&&(n=!1,o.each(s,function(e){l.getMessageFlagsFromCache(e.folderFullNameRaw,e.uid)||r.push(e.uid),0<e.threads().length&&o.each(e.threads(),function(t){l.getMessageFlagsFromCache(e.folderFullNameRaw,t)||r.push(t)})}),0<r.length&&(n=!0)),n?this.defaultRequest(e,"FolderInformation",{Folder:t,FlagsUids:i.isArray(r)?r.join(","):"",UidNext:"INBOX"===t?l.getFolderUidNext(t):""}):c.useThreads()&&RL.reloadFlagsCurrentMessageListAndMessageFromCache()},s.prototype.folderInformationMultiply=function(e,t){this.defaultRequest(e,"FolderInformationMultiply",{Folders:t})},s.prototype.logout=function(e){this.defaultRequest(e,"Logout")},s.prototype.messageSetFlagged=function(e,t,s,o){this.defaultRequest(e,"MessageSetFlagged",{Folder:t,Uids:s.join(","),SetAction:o?"1":"0"})},s.prototype.messageSetSeen=function(e,t,s,o){this.defaultRequest(e,"MessageSetSeen",{Folder:t,Uids:s.join(","),SetAction:o?"1":"0"})},s.prototype.messageSetSeenToAll=function(e,t,s){this.defaultRequest(e,"MessageSetSeenToAll",{Folder:t,SetAction:s?"1":"0"})},s.prototype.saveMessage=function(e,t,s,o,i,r,a,l,c,u,d,p,h,m,g){this.defaultRequest(e,"SaveMessage",{MessageFolder:t,MessageUid:s,DraftFolder:o,From:i,To:r,Cc:a,Bcc:l,Subject:c,TextIsHtml:u?"1":"0",Text:d,DraftInfo:h,InReplyTo:m,References:g,Attachments:p},n.Defaults.SaveMessageAjaxTimeout)},s.prototype.sendReadReceiptMessage=function(e,t,s,o,i,n){this.defaultRequest(e,"SendReadReceiptMessage",{MessageFolder:t,MessageUid:s,ReadReceipt:o,Subject:i,Text:n})},s.prototype.sendMessage=function(e,t,s,o,i,r,a,l,c,u,d,p,h,m,g,f){this.defaultRequest(e,"SendMessage",{MessageFolder:t,MessageUid:s,SentFolder:o,From:i,To:r,Cc:a,Bcc:l,Subject:c,TextIsHtml:u?"1":"0",Text:d,DraftInfo:h,InReplyTo:m,References:g,ReadReceiptRequest:f?"1":"0",Attachments:p},n.Defaults.SendMessageAjaxTimeout)},s.prototype.saveSystemFolders=function(e,t){this.defaultRequest(e,"SystemFoldersUpdate",t)},s.prototype.saveSettings=function(e,t){this.defaultRequest(e,"SettingsUpdate",t)},s.prototype.changePassword=function(e,t,s){this.defaultRequest(e,"ChangePassword",{PrevPassword:t,NewPassword:s})},s.prototype.folderCreate=function(e,t,s){this.defaultRequest(e,"FolderCreate",{Folder:t,Parent:s},null,"",["Folders"])},s.prototype.folderDelete=function(e,t){this.defaultRequest(e,"FolderDelete",{Folder:t},null,"",["Folders"])},s.prototype.folderRename=function(e,t,s){this.defaultRequest(e,"FolderRename",{Folder:t,NewFolderName:s},null,"",["Folders"])},s.prototype.folderClear=function(e,t){this.defaultRequest(e,"FolderClear",{Folder:t})},s.prototype.folderSetSubscribe=function(e,t,s){this.defaultRequest(e,"FolderSubscribe",{Folder:t,Subscribe:s?"1":"0"})},s.prototype.messagesMove=function(e,t,s,o,i){this.defaultRequest(e,"MessageMove",{FromFolder:t,ToFolder:s,Uids:o.join(","),Learning:i||""},null,"",["MessageList"])},s.prototype.messagesCopy=function(e,t,s,o){this.defaultRequest(e,"MessageCopy",{FromFolder:t,ToFolder:s,Uids:o.join(",")})},s.prototype.messagesDelete=function(e,t,s){this.defaultRequest(e,"MessageDelete",{Folder:t,Uids:s.join(",")},null,"",["MessageList"])},s.prototype.appDelayStart=function(e){this.defaultRequest(e,"AppDelayStart")},s.prototype.quota=function(e){this.defaultRequest(e,"Quota")},s.prototype.contacts=function(e,t,s,o){this.defaultRequest(e,"Contacts",{Offset:t,Limit:s,Search:o},null,"",["Contacts"])},s.prototype.contactSave=function(e,t,s,o,n){this.defaultRequest(e,"ContactSave",{RequestUid:t,Uid:i.trim(s),Tags:i.trim(o),Properties:n})},s.prototype.contactsDelete=function(e,t){this.defaultRequest(e,"ContactsDelete",{Uids:t.join(",")})},s.prototype.suggestions=function(e,t,s){this.defaultRequest(e,"Suggestions",{Query:t,Page:s},null,"",["Suggestions"])},s.prototype.facebookUser=function(e){this.defaultRequest(e,"SocialFacebookUserInformation")},s.prototype.facebookDisconnect=function(e){this.defaultRequest(e,"SocialFacebookDisconnect")},s.prototype.twitterUser=function(e){this.defaultRequest(e,"SocialTwitterUserInformation")},s.prototype.twitterDisconnect=function(e){this.defaultRequest(e,"SocialTwitterDisconnect")},s.prototype.googleUser=function(e){this.defaultRequest(e,"SocialGoogleUserInformation")},s.prototype.googleDisconnect=function(e){this.defaultRequest(e,"SocialGoogleDisconnect")},s.prototype.socialUsers=function(e){this.defaultRequest(e,"SocialUsers")},t.exports=new s}(t)},{"../Common/Base64.js":5,"../Common/Consts.js":6,"../Common/Utils.js":14,"../External/underscore.js":31,"./AbstractAjaxRemoteStorage.js":57,"./AppSettings.js":59,"./WebMailCacheStorage.js":64,"./WebMailDataStorage.js":65}],64:[function(e,t){!function(t){"use strict";function s(){this.oFoldersCache={},this.oFoldersNamesCache={},this.oFolderHashCache={},this.oFolderUidNextCache={},this.oMessageListHashCache={},this.oMessageFlagsCache={},this.oNewMessage={},this.oRequestedMessage={},this.bCapaGravatar=a.capa(i.Capa.Gravatar)}var o=e("../External/underscore.js"),i=e("../Common/Enums.js"),n=e("../Common/Utils.js"),r=e("../Common/LinkBuilder.js"),a=e("./AppSettings.js");s.prototype.bCapaGravatar=!1,s.prototype.oFoldersCache={},s.prototype.oFoldersNamesCache={},s.prototype.oFolderHashCache={},s.prototype.oFolderUidNextCache={},s.prototype.oMessageListHashCache={},s.prototype.oMessageFlagsCache={},s.prototype.oBodies={},s.prototype.oNewMessage={},s.prototype.oRequestedMessage={},s.prototype.clear=function(){this.oFoldersCache={},this.oFoldersNamesCache={},this.oFolderHashCache={},this.oFolderUidNextCache={},this.oMessageListHashCache={},this.oMessageFlagsCache={},this.oBodies={}},s.prototype.getUserPic=function(e,t){e=n.trim(e),t(this.bCapaGravatar&&""!==e?r.avatarLink(e):"",e)},s.prototype.getMessageKey=function(e,t){return e+"#"+t},s.prototype.addRequestedMessage=function(e,t){this.oRequestedMessage[this.getMessageKey(e,t)]=!0},s.prototype.hasRequestedMessage=function(e,t){return!0===this.oRequestedMessage[this.getMessageKey(e,t)]},s.prototype.addNewMessageCache=function(e,t){this.oNewMessage[this.getMessageKey(e,t)]=!0},s.prototype.hasNewMessageAndRemoveFromCache=function(e,t){return this.oNewMessage[this.getMessageKey(e,t)]?(this.oNewMessage[this.getMessageKey(e,t)]=null,!0):!1},s.prototype.clearNewMessageCache=function(){this.oNewMessage={}},s.prototype.getFolderFullNameRaw=function(e){return""!==e&&this.oFoldersNamesCache[e]?this.oFoldersNamesCache[e]:""},s.prototype.setFolderFullNameRaw=function(e,t){this.oFoldersNamesCache[e]=t},s.prototype.getFolderHash=function(e){return""!==e&&this.oFolderHashCache[e]?this.oFolderHashCache[e]:""},s.prototype.setFolderHash=function(e,t){this.oFolderHashCache[e]=t},s.prototype.getFolderUidNext=function(e){return""!==e&&this.oFolderUidNextCache[e]?this.oFolderUidNextCache[e]:""},s.prototype.setFolderUidNext=function(e,t){this.oFolderUidNextCache[e]=t},s.prototype.getFolderFromCacheList=function(e){return""!==e&&this.oFoldersCache[e]?this.oFoldersCache[e]:null},s.prototype.setFolderToCacheList=function(e,t){this.oFoldersCache[e]=t},s.prototype.removeFolderFromCacheList=function(e){this.setFolderToCacheList(e,null)},s.prototype.getMessageFlagsFromCache=function(e,t){return this.oMessageFlagsCache[e]&&this.oMessageFlagsCache[e][t]?this.oMessageFlagsCache[e][t]:null},s.prototype.setMessageFlagsToCache=function(e,t,s){this.oMessageFlagsCache[e]||(this.oMessageFlagsCache[e]={}),this.oMessageFlagsCache[e][t]=s},s.prototype.clearMessageFlagsFromCacheByFolder=function(e){this.oMessageFlagsCache[e]={}},s.prototype.initMessageFlagsFromCache=function(e){if(e){var t=this,s=this.getMessageFlagsFromCache(e.folderFullNameRaw,e.uid),i=null,r=null;s&&0<s.length&&(e.unseen(!!s[0]),e.flagged(!!s[1]),e.answered(!!s[2]),e.forwarded(!!s[3]),e.isReadReceipt(!!s[4])),0<e.threads().length&&(i=o.find(e.threads(),function(s){var o=t.getMessageFlagsFromCache(e.folderFullNameRaw,s);return o&&0<o.length&&!!o[0]}),r=o.find(e.threads(),function(s){var o=t.getMessageFlagsFromCache(e.folderFullNameRaw,s);return o&&0<o.length&&!!o[1]}),e.hasUnseenSubMessage(i&&0<n.pInt(i)),e.hasFlaggedSubMessage(r&&0<n.pInt(r)))}},s.prototype.storeMessageFlagsToCache=function(e){e&&this.setMessageFlagsToCache(e.folderFullNameRaw,e.uid,[e.unseen(),e.flagged(),e.answered(),e.forwarded(),e.isReadReceipt()])},s.prototype.storeMessageFlagsToCacheByFolderAndUid=function(e,t,s){n.isArray(s)&&0<s.length&&this.setMessageFlagsToCache(e,t,s)},t.exports=new s}(t)},{"../Common/Enums.js":7,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/underscore.js":31,"./AppSettings.js":59}],65:[function(e,t){!function(t){"use strict";function s(){E.call(this);var e=function(e){return function(){var t=f.getFolderFromCacheList(e());t&&t.type(d.FolderType.User)}},t=function(e){return function(t){var s=f.getFolderFromCacheList(t);s&&s.type(e)}};this.devEmail="",this.devPassword="",this.accountEmail=r.observable(""),this.accountIncLogin=r.observable(""),this.accountOutLogin=r.observable(""),this.projectHash=r.observable(""),this.threading=r.observable(!1),this.lastFoldersHash="",this.remoteSuggestions=!1,this.sentFolder=r.observable(""),this.draftFolder=r.observable(""),this.spamFolder=r.observable(""),this.trashFolder=r.observable(""),this.archiveFolder=r.observable(""),this.sentFolder.subscribe(e(this.sentFolder),this,"beforeChange"),this.draftFolder.subscribe(e(this.draftFolder),this,"beforeChange"),this.spamFolder.subscribe(e(this.spamFolder),this,"beforeChange"),this.trashFolder.subscribe(e(this.trashFolder),this,"beforeChange"),this.archiveFolder.subscribe(e(this.archiveFolder),this,"beforeChange"),this.sentFolder.subscribe(t(d.FolderType.SentItems),this),this.draftFolder.subscribe(t(d.FolderType.Draft),this),this.spamFolder.subscribe(t(d.FolderType.Spam),this),this.trashFolder.subscribe(t(d.FolderType.Trash),this),this.archiveFolder.subscribe(t(d.FolderType.Archive),this),this.draftFolderNotEnabled=r.computed(function(){return""===this.draftFolder()||u.Values.UnuseOptionValue===this.draftFolder()},this),this.displayName=r.observable(""),this.signature=r.observable(""),this.signatureToAll=r.observable(!1),this.replyTo=r.observable(""),this.enableTwoFactor=r.observable(!1),this.accounts=r.observableArray([]),this.accountsLoading=r.observable(!1).extend({throttle:100}),this.defaultIdentityID=r.observable(""),this.identities=r.observableArray([]),this.identitiesLoading=r.observable(!1).extend({throttle:100}),this.contactTags=r.observableArray([]),this.contacts=r.observableArray([]),this.contacts.loading=r.observable(!1).extend({throttle:200}),this.contacts.importing=r.observable(!1).extend({throttle:200}),this.contacts.syncing=r.observable(!1).extend({throttle:200}),this.contacts.exportingVcf=r.observable(!1).extend({throttle:200}),this.contacts.exportingCsv=r.observable(!1).extend({throttle:200}),this.allowContactsSync=r.observable(!1),this.enableContactsSync=r.observable(!1),this.contactsSyncUrl=r.observable(""),this.contactsSyncUser=r.observable(""),this.contactsSyncPass=r.observable(""),this.allowContactsSync=r.observable(!!g.settingsGet("ContactsSyncIsAllowed")),this.enableContactsSync=r.observable(!!g.settingsGet("EnableContactsSync")),this.contactsSyncUrl=r.observable(g.settingsGet("ContactsSyncUrl")),this.contactsSyncUser=r.observable(g.settingsGet("ContactsSyncUser")),this.contactsSyncPass=r.observable(g.settingsGet("ContactsSyncPassword")),this.namespace="",this.folderList=r.observableArray([]),this.folderList.focused=r.observable(!1),this.foldersListError=r.observable(""),this.foldersLoading=r.observable(!1),this.foldersCreating=r.observable(!1),this.foldersDeleting=r.observable(!1),this.foldersRenaming=r.observable(!1),this.foldersChanging=r.computed(function(){var e=this.foldersLoading(),t=this.foldersCreating(),s=this.foldersDeleting(),o=this.foldersRenaming();return e||t||s||o},this),this.foldersInboxUnreadCount=r.observable(0),this.currentFolder=r.observable(null).extend({toggleSubscribe:[null,function(e){e&&e.selected(!1)},function(e){e&&e.selected(!0)}]}),this.currentFolderFullNameRaw=r.computed(function(){return this.currentFolder()?this.currentFolder().fullNameRaw:""},this),this.currentFolderFullName=r.computed(function(){return this.currentFolder()?this.currentFolder().fullName:""},this),this.currentFolderFullNameHash=r.computed(function(){return this.currentFolder()?this.currentFolder().fullNameHash:""},this),this.currentFolderName=r.computed(function(){return this.currentFolder()?this.currentFolder().name():""},this),this.folderListSystemNames=r.computed(function(){var e=["INBOX"],t=this.folderList(),s=this.sentFolder(),o=this.draftFolder(),i=this.spamFolder(),n=this.trashFolder(),r=this.archiveFolder();return h.isArray(t)&&0<t.length&&(""!==s&&u.Values.UnuseOptionValue!==s&&e.push(s),""!==o&&u.Values.UnuseOptionValue!==o&&e.push(o),""!==i&&u.Values.UnuseOptionValue!==i&&e.push(i),""!==n&&u.Values.UnuseOptionValue!==n&&e.push(n),""!==r&&u.Values.UnuseOptionValue!==r&&e.push(r)),e},this),this.folderListSystem=r.computed(function(){return n.compact(n.map(this.folderListSystemNames(),function(e){return f.getFolderFromCacheList(e)}))},this),this.folderMenuForMove=r.computed(function(){return h.folderListOptionsBuilder(this.folderListSystem(),this.folderList(),[this.currentFolderFullNameRaw()],null,null,null,null,function(e){return e?e.localName():""})},this),this.staticMessageList=[],this.messageList=r.observableArray([]).extend({rateLimit:0}),this.messageListCount=r.observable(0),this.messageListSearch=r.observable(""),this.messageListPage=r.observable(1),this.messageListThreadFolder=r.observable(""),this.messageListThreadUids=r.observableArray([]),this.messageListThreadFolder.subscribe(function(){this.messageListThreadUids([])},this),this.messageListEndFolder=r.observable(""),this.messageListEndSearch=r.observable(""),this.messageListEndPage=r.observable(1),this.messageListEndHash=r.computed(function(){return this.messageListEndFolder()+"|"+this.messageListEndSearch()+"|"+this.messageListEndPage()},this),this.messageListPageCount=r.computed(function(){var e=o.Math.ceil(this.messageListCount()/this.messagesPerPage());return 0>=e?1:e},this),this.mainMessageListSearch=r.computed({read:this.messageListSearch,write:function(e){y.setHash(m.mailBox(this.currentFolderFullNameHash(),1,h.trim(e.toString())))
},owner:this}),this.messageListError=r.observable(""),this.messageListLoading=r.observable(!1),this.messageListIsNotCompleted=r.observable(!1),this.messageListCompleteLoadingThrottle=r.observable(!1).extend({throttle:200}),this.messageListCompleteLoading=r.computed(function(){var e=this.messageListLoading(),t=this.messageListIsNotCompleted();return e||t},this),this.messageListCompleteLoading.subscribe(function(e){this.messageListCompleteLoadingThrottle(e)},this),this.messageList.subscribe(n.debounce(function(e){n.each(e,function(e){e.newForAnimation()&&e.newForAnimation(!1)})},500)),this.staticMessageList=new C,this.message=r.observable(null),this.messageLoading=r.observable(!1),this.messageLoadingThrottle=r.observable(!1).extend({throttle:50}),this.message.focused=r.observable(!1),this.message.subscribe(function(e){e?d.Layout.NoPreview===this.layout()&&this.message.focused(!0):(this.message.focused(!1),this.messageFullScreenMode(!1),this.hideMessageBodies(),d.Layout.NoPreview===b.layout()&&-1<o.location.hash.indexOf("message-preview")&&RL.historyBack())},this),this.message.focused.subscribe(function(e){e?(this.folderList.focused(!1),p.keyScope(d.KeyState.MessageView)):d.KeyState.MessageView===p.keyScope()&&p.keyScope(d.Layout.NoPreview===b.layout()&&this.message()?d.KeyState.MessageView:d.KeyState.MessageList)},this),this.folderList.focused.subscribe(function(e){e?p.keyScope(d.KeyState.FolderList):d.KeyState.FolderList===p.keyScope()&&p.keyScope(d.KeyState.MessageList)}),this.messageLoading.subscribe(function(e){this.messageLoadingThrottle(e)},this),this.messageFullScreenMode=r.observable(!1),this.messageError=r.observable(""),this.messagesBodiesDom=r.observable(null),this.messagesBodiesDom.subscribe(function(e){!e||e instanceof i||this.messagesBodiesDom(i(e))},this),this.messageActiveDom=r.observable(null),this.isMessageSelected=r.computed(function(){return null!==this.message()},this),this.currentMessage=r.observable(null),this.messageListChecked=r.computed(function(){return n.filter(this.messageList(),function(e){return e.checked()})},this).extend({rateLimit:0}),this.hasCheckedMessages=r.computed(function(){return 0<this.messageListChecked().length},this).extend({rateLimit:0}),this.messageListCheckedOrSelected=r.computed(function(){var e=this.messageListChecked(),t=this.currentMessage();return n.union(e,t?[t]:[])},this),this.messageListCheckedOrSelectedUidsWithSubMails=r.computed(function(){var e=[];return n.each(this.messageListCheckedOrSelected(),function(t){t&&(e.push(t.uid),0<t.threadsLen()&&0===t.parentUid()&&t.lastInCollapsedThread()&&(e=n.union(e,t.threads())))}),e},this),this.userQuota=r.observable(0),this.userUsageSize=r.observable(0),this.userUsageProc=r.computed(function(){var e=this.userQuota(),t=this.userUsageSize();return e>0?o.Math.ceil(t/e*100):0},this),this.capaOpenPGP=r.observable(!1),this.openpgpkeys=r.observableArray([]),this.openpgpKeyring=null,this.openpgpkeysPublic=this.openpgpkeys.filter(function(e){return!(!e||e.isPrivate)}),this.openpgpkeysPrivate=this.openpgpkeys.filter(function(e){return!(!e||!e.isPrivate)}),this.googleActions=r.observable(!1),this.googleLoggined=r.observable(!1),this.googleUserName=r.observable(""),this.facebookActions=r.observable(!1),this.facebookLoggined=r.observable(!1),this.facebookUserName=r.observable(""),this.twitterActions=r.observable(!1),this.twitterLoggined=r.observable(!1),this.twitterUserName=r.observable(""),this.customThemeType=r.observable(d.CustomThemeType.Light),this.purgeMessageBodyCacheThrottle=n.throttle(this.purgeMessageBodyCache,3e4)}var o=e("../External/window.js"),i=e("../External/jquery.js"),n=e("../External/underscore.js"),r=e("../External/ko.js"),a=e("../External/moment.js"),l=e("../External/$div.js"),c=e("../External/NotificationClass.js"),u=e("../Common/Consts.js"),d=e("../Common/Enums.js"),p=e("../Common/Globals.js"),h=e("../Common/Utils.js"),m=e("../Common/LinkBuilder.js"),g=e("./AppSettings.js"),f=e("./WebMailCacheStorage.js"),b=e("./WebMailDataStorage.js"),S=e("./WebMailAjaxRemoteStorage.js"),y=e("../Knoin/Knoin.js"),C=e("../Models/MessageModel.js"),v=e("../Models/FolderModel.js"),w=e("./LocalStorage.js"),E=e("./AbstractData.js");n.extend(s.prototype,E.prototype),s.prototype.purgeMessageBodyCache=function(){var e=0,t=null,s=p.iMessageBodyCacheCount-u.Values.MessageBodyCacheLimit;s>0&&(t=this.messagesBodiesDom(),t&&(t.find(".rl-cache-class").each(function(){var t=i(this);s>t.data("rl-cache-count")&&(t.addClass("rl-cache-purge"),e++)}),e>0&&n.delay(function(){t.find(".rl-cache-purge").remove()},300)))},s.prototype.populateDataOnStart=function(){E.prototype.populateDataOnStart.call(this),this.accountEmail(g.settingsGet("Email")),this.accountIncLogin(g.settingsGet("IncLogin")),this.accountOutLogin(g.settingsGet("OutLogin")),this.projectHash(g.settingsGet("ProjectHash")),this.defaultIdentityID(g.settingsGet("DefaultIdentityID")),this.displayName(g.settingsGet("DisplayName")),this.replyTo(g.settingsGet("ReplyTo")),this.signature(g.settingsGet("Signature")),this.signatureToAll(!!g.settingsGet("SignatureToAll")),this.enableTwoFactor(!!g.settingsGet("EnableTwoFactor")),this.lastFoldersHash=w.get(d.ClientSideKeyName.FoldersLashHash)||"",this.remoteSuggestions=!!g.settingsGet("RemoteSuggestions"),this.devEmail=g.settingsGet("DevEmail"),this.devPassword=g.settingsGet("DevPassword")},s.prototype.initUidNextAndNewMessages=function(e,t,s){if("INBOX"===e&&h.isNormal(t)&&""!==t){if(h.isArray(s)&&0<s.length){var i=0,r=s.length,a=function(e,t,s){var i=null;c&&b.useDesktopNotifications()&&(i=new c(t,{body:s,icon:e}),i&&(i.show&&i.show(),o.setTimeout(function(e){return function(){e.cancel?e.cancel():e.close&&e.close()}}(i),7e3)))};if(n.each(s,function(t){f.addNewMessageCache(e,t.Uid)}),r>3)a(m.notificationMailIcon(),b.accountEmail(),h.i18n("MESSAGE_LIST/NEW_MESSAGE_NOTIFICATION",{COUNT:r}));else for(;r>i;i++)a(m.notificationMailIcon(),C.emailsToLine(C.initEmailsFromJson(s[i].From),!1),s[i].Subject)}f.setFolderUidNext(e,t)}},s.prototype.folderResponseParseRec=function(e,t){var s=0,o=0,i=null,n=null,r="",a=[],l=[];for(s=0,o=t.length;o>s;s++)i=t[s],i&&(r=i.FullNameRaw,n=f.getFolderFromCacheList(r),n||(n=v.newInstanceFromJson(i),n&&(f.setFolderToCacheList(r,n),f.setFolderFullNameRaw(n.fullNameHash,r))),n&&(n.collapsed(!h.isFolderExpanded(n.fullNameHash)),i.Extended&&(i.Extended.Hash&&f.setFolderHash(n.fullNameRaw,i.Extended.Hash),h.isNormal(i.Extended.MessageCount)&&n.messageCountAll(i.Extended.MessageCount),h.isNormal(i.Extended.MessageUnseenCount)&&n.messageCountUnread(i.Extended.MessageUnseenCount)),a=i.SubFolders,a&&"Collection/FolderCollection"===a["@Object"]&&a["@Collection"]&&h.isArray(a["@Collection"])&&n.subFolders(this.folderResponseParseRec(e,a["@Collection"])),l.push(n)));return l},s.prototype.setFolders=function(e){var t=[],s=!1,o=function(e){return""===e||u.Values.UnuseOptionValue===e||null!==f.getFolderFromCacheList(e)?e:""};e&&e.Result&&"Collection/FolderCollection"===e.Result["@Object"]&&e.Result["@Collection"]&&h.isArray(e.Result["@Collection"])&&(h.isUnd(e.Result.Namespace)||(b.namespace=e.Result.Namespace),this.threading(!!g.settingsGet("UseImapThread")&&e.Result.IsThreadsSupported&&!0),t=this.folderResponseParseRec(b.namespace,e.Result["@Collection"]),b.folderList(t),e.Result.SystemFolders&&""==""+g.settingsGet("SentFolder")+g.settingsGet("DraftFolder")+g.settingsGet("SpamFolder")+g.settingsGet("TrashFolder")+g.settingsGet("ArchiveFolder")+g.settingsGet("NullFolder")&&(g.settingsSet("SentFolder",e.Result.SystemFolders[2]||null),g.settingsSet("DraftFolder",e.Result.SystemFolders[3]||null),g.settingsSet("SpamFolder",e.Result.SystemFolders[4]||null),g.settingsSet("TrashFolder",e.Result.SystemFolders[5]||null),g.settingsSet("ArchiveFolder",e.Result.SystemFolders[12]||null),s=!0),b.sentFolder(o(g.settingsGet("SentFolder"))),b.draftFolder(o(g.settingsGet("DraftFolder"))),b.spamFolder(o(g.settingsGet("SpamFolder"))),b.trashFolder(o(g.settingsGet("TrashFolder"))),b.archiveFolder(o(g.settingsGet("ArchiveFolder"))),s&&S.saveSystemFolders(h.emptyFunction,{SentFolder:b.sentFolder(),DraftFolder:b.draftFolder(),SpamFolder:b.spamFolder(),TrashFolder:b.trashFolder(),ArchiveFolder:b.archiveFolder(),NullFolder:"NullFolder"}),w.set(d.ClientSideKeyName.FoldersLashHash,e.Result.FoldersHash))},s.prototype.hideMessageBodies=function(){var e=this.messagesBodiesDom();e&&e.find(".b-text-part").hide()},s.prototype.getNextFolderNames=function(e){e=h.isUnd(e)?!1:!!e;var t=[],s=10,o=a().unix(),i=o-300,r=[],l=function(t){n.each(t,function(t){t&&"INBOX"!==t.fullNameRaw&&t.selectable&&t.existen&&i>t.interval&&(!e||t.subScribed())&&r.push([t.interval,t.fullNameRaw]),t&&0<t.subFolders().length&&l(t.subFolders())})};return l(this.folderList()),r.sort(function(e,t){return e[0]<t[0]?-1:e[0]>t[0]?1:0}),n.find(r,function(e){var i=f.getFolderFromCacheList(e[1]);return i&&(i.interval=o,t.push(e[1])),s<=t.length}),n.uniq(t)},s.prototype.removeMessagesFromList=function(e,t,s,o){s=h.isNormal(s)?s:"",o=h.isUnd(o)?!1:!!o,t=n.map(t,function(e){return h.pInt(e)});var i=0,r=b.messageList(),a=f.getFolderFromCacheList(e),l=""===s?null:f.getFolderFromCacheList(s||""),c=b.currentFolderFullNameRaw(),u=b.message(),d=c===e?n.filter(r,function(e){return e&&-1<h.inArray(h.pInt(e.uid),t)}):[];n.each(d,function(e){e&&e.unseen()&&i++}),a&&!o&&(a.messageCountAll(0<=a.messageCountAll()-t.length?a.messageCountAll()-t.length:0),i>0&&a.messageCountUnread(0<=a.messageCountUnread()-i?a.messageCountUnread()-i:0)),l&&(l.messageCountAll(l.messageCountAll()+t.length),i>0&&l.messageCountUnread(l.messageCountUnread()+i),l.actionBlink(!0)),0<d.length&&(o?n.each(d,function(e){e.checked(!1)}):(b.messageListIsNotCompleted(!0),n.each(d,function(e){u&&u.hash===e.hash&&(u=null,b.message(null)),e.deleted(!0)}),n.delay(function(){n.each(d,function(e){b.messageList.remove(e)})},400))),""!==e&&f.setFolderHash(e,""),""!==s&&f.setFolderHash(s,"")},s.prototype.setMessage=function(e,t){var s=!1,o=!1,n=!1,r=null,a=null,c="",u="",m=!1,g=!1,S=this.messagesBodiesDom(),y=this.message();e&&y&&e.Result&&"Object/Message"===e.Result["@Object"]&&y.folderFullNameRaw===e.Result.Folder&&y.uid===e.Result.Uid&&(this.messageError(""),y.initUpdateByMessageJson(e.Result),f.addRequestedMessage(y.folderFullNameRaw,y.uid),t||y.initFlagsByJson(e.Result),S=S&&S[0]?S:null,S&&(c="rl-mgs-"+y.hash.replace(/[^a-zA-Z0-9]/g,""),a=S.find("#"+c),a&&a[0]?(y.body=a,y.body&&(y.body.data("rl-cache-count",++p.iMessageBodyCacheCount),y.fetchDataToDom())):(o=!!e.Result.HasExternals,n=!!e.Result.HasInternals,r=i('<div id="'+c+'" />').hide().addClass("rl-cache-class"),r.data("rl-cache-count",++p.iMessageBodyCacheCount),h.isNormal(e.Result.Html)&&""!==e.Result.Html?(s=!0,u=e.Result.Html.toString()):h.isNormal(e.Result.Plain)&&""!==e.Result.Plain?(s=!1,u=h.plainToHtml(e.Result.Plain.toString(),!1),(y.isPgpSigned()||y.isPgpEncrypted())&&b.capaOpenPGP()&&(y.plainRaw=h.pString(e.Result.Plain),g=/---BEGIN PGP MESSAGE---/.test(y.plainRaw),g||(m=/-----BEGIN PGP SIGNED MESSAGE-----/.test(y.plainRaw)&&/-----BEGIN PGP SIGNATURE-----/.test(y.plainRaw)),l.empty(),m&&y.isPgpSigned()?u=l.append(i('<pre class="b-plain-openpgp signed"></pre>').text(y.plainRaw)).html():g&&y.isPgpEncrypted()&&(u=l.append(i('<pre class="b-plain-openpgp encrypted"></pre>').text(y.plainRaw)).html()),l.empty(),y.isPgpSigned(m),y.isPgpEncrypted(g))):s=!1,r.html(h.linkify(u)).addClass("b-text-part "+(s?"html":"plain")),y.isHtml(!!s),y.hasImages(!!o),y.pgpSignedVerifyStatus(d.SignedVerifyStatus.None),y.pgpSignedVerifyUser(""),y.body=r,y.body&&S.append(y.body),y.storeDataToDom(),n&&y.showInternalImages(!0),y.hasImages()&&this.showImages()&&y.showExternalImages(!0),this.purgeMessageBodyCacheThrottle()),this.messageActiveDom(y.body),this.hideMessageBodies(),y.body.show(),r&&h.initBlockquoteSwitcher(r)),f.initMessageFlagsFromCache(y),y.unseen()&&RL.setMessageSeen(y),h.windowResize())},s.prototype.calculateMessageListHash=function(e){return n.map(e,function(e){return""+e.hash+"_"+e.threadsLen()+"_"+e.flagHash()}).join("|")},s.prototype.setMessageList=function(e,t){if(e&&e.Result&&"Collection/MessageCollection"===e.Result["@Object"]&&e.Result["@Collection"]&&h.isArray(e.Result["@Collection"])){var s=null,i=0,n=0,r=0,l=0,c=[],u=a().unix(),p=b.staticMessageList,m=null,g=null,S=null,y=0,v=!1;for(r=h.pInt(e.Result.MessageResultCount),l=h.pInt(e.Result.Offset),h.isNonEmptyArray(e.Result.LastCollapsedThreadUids)&&(s=e.Result.LastCollapsedThreadUids),S=f.getFolderFromCacheList(h.isNormal(e.Result.Folder)?e.Result.Folder:""),S&&!t&&(S.interval=u,f.setFolderHash(e.Result.Folder,e.Result.FolderHash),h.isNormal(e.Result.MessageCount)&&S.messageCountAll(e.Result.MessageCount),h.isNormal(e.Result.MessageUnseenCount)&&(h.pInt(S.messageCountUnread())!==h.pInt(e.Result.MessageUnseenCount)&&(v=!0),S.messageCountUnread(e.Result.MessageUnseenCount)),this.initUidNextAndNewMessages(S.fullNameRaw,e.Result.UidNext,e.Result.NewMessages)),v&&S&&f.clearMessageFlagsFromCacheByFolder(S.fullNameRaw),i=0,n=e.Result["@Collection"].length;n>i;i++)m=e.Result["@Collection"][i],m&&"Object/Message"===m["@Object"]&&(g=p[i],g&&g.initByJson(m)||(g=C.newInstanceFromJson(m)),g&&(f.hasNewMessageAndRemoveFromCache(g.folderFullNameRaw,g.uid)&&5>=y&&(y++,g.newForAnimation(!0)),g.deleted(!1),t?f.initMessageFlagsFromCache(g):f.storeMessageFlagsToCache(g),g.lastInCollapsedThread(s&&-1<h.inArray(h.pInt(g.uid),s)?!0:!1),c.push(g)));b.messageListCount(r),b.messageListSearch(h.isNormal(e.Result.Search)?e.Result.Search:""),b.messageListPage(o.Math.ceil(l/b.messagesPerPage()+1)),b.messageListEndFolder(h.isNormal(e.Result.Folder)?e.Result.Folder:""),b.messageListEndSearch(h.isNormal(e.Result.Search)?e.Result.Search:""),b.messageListEndPage(b.messageListPage()),b.messageList(c),b.messageListIsNotCompleted(!1),p.length<c.length&&(b.staticMessageList=c),f.clearNewMessageCache(),S&&(t||v||b.useThreads())&&RL.folderInformation(S.fullNameRaw,c)}else b.messageListCount(0),b.messageList([]),b.messageListError(h.getNotification(e&&e.ErrorCode?e.ErrorCode:d.Notification.CantGetMessageList))},s.prototype.findPublicKeyByHex=function(e){return n.find(this.openpgpkeysPublic(),function(t){return t&&e===t.id})},s.prototype.findPublicKeysByEmail=function(e){return n.compact(n.map(this.openpgpkeysPublic(),function(t){var s=null;if(t&&e===t.email)try{if(s=o.openpgp.key.readArmored(t.armor),s&&!s.err&&s.keys&&s.keys[0])return s.keys[0]}catch(i){}return null}))},s.prototype.findPrivateKeyByEmail=function(e,t){var s=null,i=n.find(this.openpgpkeysPrivate(),function(t){return t&&e===t.email});if(i)try{s=o.openpgp.key.readArmored(i.armor),s&&!s.err&&s.keys&&s.keys[0]?(s=s.keys[0],s.decrypt(h.pString(t))):s=null}catch(r){s=null}return s},s.prototype.findSelfPrivateKey=function(e){return this.findPrivateKeyByEmail(this.accountEmail(),e)},t.exports=new s}(t)},{"../Common/Consts.js":6,"../Common/Enums.js":7,"../Common/Globals.js":9,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/$div.js":15,"../External/NotificationClass.js":22,"../External/jquery.js":26,"../External/ko.js":28,"../External/moment.js":29,"../External/underscore.js":31,"../External/window.js":32,"../Knoin/Knoin.js":33,"../Models/FolderModel.js":39,"../Models/MessageModel.js":40,"./AbstractData.js":58,"./AppSettings.js":59,"./LocalStorage.js":60,"./WebMailAjaxRemoteStorage.js":63,"./WebMailCacheStorage.js":64,"./WebMailDataStorage.js":65}],66:[function(e,t){!function(t){"use strict";function s(){b.call(this,"Right","SystemDropDown"),this.accounts=d.accounts,this.accountEmail=d.accountEmail,this.accountsLoading=d.accountsLoading,this.accountMenuDropdownTrigger=i.observable(!1),this.capaAdditionalAccounts=u.capa(a.Capa.AdditionalAccounts),this.loading=i.computed(function(){return this.accountsLoading()},this),this.accountClick=o.bind(this.accountClick,this)}var o=e("../External/underscore.js"),i=e("../External/ko.js"),n=e("../External/window.js"),r=e("../External/key.js"),a=e("../Common/Enums.js"),l=e("../Common/Utils.js"),c=e("../Common/LinkBuilder.js"),u=e("../Storages/AppSettings.js"),d=e("../Storages/WebMailDataStorage.js"),p=e("../Storages/WebMailAjaxRemoteStorage.js"),h=e("../Boots/RainLoopApp.js"),m=e("../ViewModels/Popups/PopupsKeyboardShortcutsHelpViewModel.js"),g=e("../ViewModels/Popups/PopupsKeyboardShortcutsHelpViewModel.js"),f=e("../Knoin/Knoin.js"),b=e("../Knoin/KnoinAbstractViewModel.js");o.extend(s.prototype,b.prototype),s.prototype.accountClick=function(e,t){if(e&&t&&!l.isUnd(t.which)&&1===t.which){var s=this;this.accountsLoading(!0),o.delay(function(){s.accountsLoading(!1)},1e3)}return!0},s.prototype.emailTitle=function(){return d.accountEmail()},s.prototype.settingsClick=function(){f.setHash(c.settings())},s.prototype.settingsHelp=function(){f.showScreenPopup(m)},s.prototype.addAccountClick=function(){this.capaAdditionalAccounts&&f.showScreenPopup(g)},s.prototype.logoutClick=function(){p.logout(function(){n.__rlah_clear&&n.__rlah_clear(),h.loginAndLogoutReload(!0,u.settingsGet("ParentEmail")&&0<u.settingsGet("ParentEmail").length)})},s.prototype.onBuild=function(){var e=this;r("`",[a.KeyState.MessageList,a.KeyState.MessageView,a.KeyState.Settings],function(){e.viewModelVisibility()&&e.accountMenuDropdownTrigger(!0)}),r("shift+/",[a.KeyState.MessageList,a.KeyState.MessageView,a.KeyState.Settings],function(){return e.viewModelVisibility()?(f.showScreenPopup(m),!1):void 0})},t.exports=new s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Enums.js":7,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/key.js":27,"../External/ko.js":28,"../External/underscore.js":31,"../External/window.js":32,"../Knoin/Knoin.js":33,"../Knoin/KnoinAbstractViewModel.js":36,"../Storages/AppSettings.js":59,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailDataStorage.js":65,"../ViewModels/Popups/PopupsKeyboardShortcutsHelpViewModel.js":81}],67:[function(e,t){!function(t){"use strict";function s(){g.call(this,"Center","Login"),this.email=r.observable(""),this.password=r.observable(""),this.signMe=r.observable(!1),this.additionalCode=r.observable(""),this.additionalCode.error=r.observable(!1),this.additionalCode.focused=r.observable(!1),this.additionalCode.visibility=r.observable(!1),this.additionalCodeSignMe=r.observable(!1),this.logoImg=a.trim(u.settingsGet("LoginLogo")),this.loginDescription=a.trim(u.settingsGet("LoginDescription")),this.logoCss=a.trim(u.settingsGet("LoginCss")),this.emailError=r.observable(!1),this.passwordError=r.observable(!1),this.emailFocus=r.observable(!1),this.submitFocus=r.observable(!1),this.email.subscribe(function(){this.emailError(!1),this.additionalCode(""),this.additionalCode.visibility(!1)},this),this.password.subscribe(function(){this.passwordError(!1)},this),this.additionalCode.subscribe(function(){this.additionalCode.error(!1)},this),this.additionalCode.visibility.subscribe(function(){this.additionalCode.error(!1)},this),this.submitRequest=r.observable(!1),this.submitError=r.observable(""),this.allowLanguagesOnLogin=d.allowLanguagesOnLogin,this.langRequest=r.observable(!1),this.mainLanguage=d.mainLanguage,this.bSendLanguage=!1,this.mainLanguageFullName=r.computed(function(){return a.convertLangName(this.mainLanguage())},this),this.signMeType=r.observable(l.LoginSignMeType.Unused),this.signMeType.subscribe(function(e){this.signMe(l.LoginSignMeType.DefaultOn===e)},this),this.signMeVisibility=r.computed(function(){return l.LoginSignMeType.Unused!==this.signMeType()},this),this.submitCommand=a.createCommand(this,function(){if(a.triggerAutocompleteInputChange(),this.emailError(""===a.trim(this.email())),this.passwordError(""===a.trim(this.password())),this.additionalCode.visibility()&&this.additionalCode.error(""===a.trim(this.additionalCode())),this.emailError()||this.passwordError()||this.additionalCode.error())return!1;this.submitRequest(!0);var e=this.password(),t=n.bind(function(e){p.login(n.bind(function(e,t){l.StorageResultType.Success===e&&t&&"Login"===t.Action?t.Result?t.TwoFactorAuth?(this.additionalCode(""),this.additionalCode.visibility(!0),this.additionalCode.focused(!0),this.submitRequest(!1)):h.loginAndLogoutReload():t.ErrorCode?(this.submitRequest(!1),this.submitError(a.getNotification(t.ErrorCode)),""===this.submitError()&&this.submitError(a.getNotification(l.Notification.UnknownError))):this.submitRequest(!1):(this.submitRequest(!1),this.submitError(a.getNotification(l.Notification.UnknownError)))},this),this.email(),"",e,!!this.signMe(),this.bSendLanguage?this.mainLanguage():"",this.additionalCode.visibility()?this.additionalCode():"",this.additionalCode.visibility()?!!this.additionalCodeSignMe():!1)},this);return u.settingsGet("UseRsaEncryption")&&a.rsaEncode.supported?p.getPublicKey(n.bind(function(s,o){var i=!1;if(l.StorageResultType.Success===s&&o&&o.Result&&a.isArray(o.Result)&&o.Result[0]&&o.Result[1]&&o.Result[2]){var n=a.rsaEncode(e,o.Result[0],o.Result[1],o.Result[2]);n&&(t(n),i=!0)}i||(this.submitRequest(!1),this.submitError(a.getNotification(l.Notification.UnknownError)))},this)):t(e),!0},function(){return!this.submitRequest()}),this.facebookLoginEnabled=r.observable(!1),this.facebookCommand=a.createCommand(this,function(){return o.open(c.socialFacebook(),"Facebook","left=200,top=100,width=650,height=335,menubar=no,status=no,resizable=yes,scrollbars=yes"),!0},function(){return!this.submitRequest()&&this.facebookLoginEnabled()}),this.googleLoginEnabled=r.observable(!1),this.googleCommand=a.createCommand(this,function(){return o.open(c.socialGoogle(),"Google","left=200,top=100,width=650,height=335,menubar=no,status=no,resizable=yes,scrollbars=yes"),!0},function(){return!this.submitRequest()&&this.googleLoginEnabled()}),this.twitterLoginEnabled=r.observable(!1),this.twitterCommand=a.createCommand(this,function(){return o.open(c.socialTwitter(),"Twitter","left=200,top=100,width=650,height=335,menubar=no,status=no,resizable=yes,scrollbars=yes"),!0},function(){return!this.submitRequest()&&this.twitterLoginEnabled()}),this.socialLoginEnabled=r.computed(function(){var e=this.facebookLoginEnabled(),t=this.googleLoginEnabled(),s=this.twitterLoginEnabled();return e||t||s},this),m.constructorEnd(this)}var o=e("../External/window.js"),i=e("../External/jquery.js"),n=e("../External/underscore.js"),r=e("../External/ko.js"),a=e("../Common/Utils.js"),l=e("../Common/Enums.js"),c=e("../Common/LinkBuilder.js"),u=e("../Storages/AppSettings.js"),d=e("../Storages/WebMailDataStorage.js"),p=e("../Storages/WebMailAjaxRemoteStorage.js"),h=e("../Boots/RainLoopApp.js"),m=e("../Knoin/Knoin.js"),g=e("../Knoin/KnoinAbstractViewModel.js"),f=e("../ViewModels/Popups/PopupsLanguagesViewModel.js");m.extendAsViewModel("LoginViewModel",s),s.prototype.onShow=function(){m.routeOff(),n.delay(n.bind(function(){""!==this.email()&&""!==this.password()?this.submitFocus(!0):this.emailFocus(!0),u.settingsGet("UserLanguage")&&i.cookie("rllang",d.language(),{expires:30})},this),100)},s.prototype.onHide=function(){this.submitFocus(!1),this.emailFocus(!1)},s.prototype.onBuild=function(){var e=this,t=u.settingsGet("JsHash"),s=function(t){t=a.pInt(t),0===t?(e.submitRequest(!0),h.loginAndLogoutReload()):e.submitError(a.getNotification(t))};switch(this.facebookLoginEnabled(!!u.settingsGet("AllowFacebookSocial")),this.twitterLoginEnabled(!!u.settingsGet("AllowTwitterSocial")),this.googleLoginEnabled(!!u.settingsGet("AllowGoogleSocial")),(u.settingsGet("SignMe")||"unused").toLowerCase()){case l.LoginSignMeTypeAsString.DefaultOff:this.signMeType(l.LoginSignMeType.DefaultOff);break;case l.LoginSignMeTypeAsString.DefaultOn:this.signMeType(l.LoginSignMeType.DefaultOn);break;default:case l.LoginSignMeTypeAsString.Unused:this.signMeType(l.LoginSignMeType.Unused)}this.email(d.devEmail),this.password(d.devPassword),this.googleLoginEnabled()&&(o["rl_"+t+"_google_login_service"]=s),this.facebookLoginEnabled()&&(o["rl_"+t+"_facebook_login_service"]=s),this.twitterLoginEnabled()&&(o["rl_"+t+"_twitter_login_service"]=s),n.delay(function(){d.language.subscribe(function(t){e.langRequest(!0),i.ajax({url:c.langLink(t),dataType:"script",cache:!0}).done(function(){e.bSendLanguage=!0,a.i18nReload(),i.cookie("rllang",d.language(),{expires:30})}).always(function(){e.langRequest(!1)})})},50),a.triggerAutocompleteInputChange(!0)},s.prototype.submitForm=function(){this.submitCommand()},s.prototype.selectLanguage=function(){m.showScreenPopup(f)},t.exports=new s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Enums.js":7,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/jquery.js":26,"../External/ko.js":28,"../External/underscore.js":31,"../External/window.js":32,"../Knoin/Knoin.js":33,"../Knoin/KnoinAbstractViewModel.js":36,"../Storages/AppSettings.js":59,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailDataStorage.js":65,"../ViewModels/Popups/PopupsLanguagesViewModel.js":82}],68:[function(e,t){!function(t){"use strict";function s(){b.call(this,"Left","MailFolderList"),this.oContentVisible=null,this.oContentScrollable=null,this.messageList=m.messageList,this.folderList=m.folderList,this.folderListSystem=m.folderListSystem,this.foldersChanging=m.foldersChanging,this.leftPanelDisabled=u.leftPanelDisabled,this.iDropOverTimer=0,this.allowContacts=!!p.settingsGet("ContactsIsAllowed"),f.constructorEnd(this)}var o=e("../External/window.js"),i=e("../External/jquery.js"),n=e("../External/ko.js"),r=e("../External/key.js"),a=e("../External/$html.js"),l=e("../Common/Utils.js"),c=e("../Common/Enums.js"),u=e("../Common/Globals.js"),d=e("../Common/LinkBuilder.js"),p=e("../Storages/AppSettings.js"),h=e("../Storages/WebMailCacheStorage.js"),m=e("../Storages/WebMailDataStorage.js"),g=e("../Boots/RainLoopApp.js"),f=e("../Knoin/Knoin.js"),b=e("../Knoin/KnoinAbstractViewModel.js");f.extendAsViewModel("MailBoxFolderListViewModel",s),s.prototype.onBuild=function(e){this.oContentVisible=i(".b-content",e),this.oContentScrollable=i(".content",this.oContentVisible);var t=this;e.on("click",".b-folders .e-item .e-link .e-collapsed-sign",function(e){var t=n.dataFor(this),s=!1;t&&e&&(s=t.collapsed(),l.setExpandedFolder(t.fullNameHash,s),t.collapsed(!s),e.preventDefault(),e.stopPropagation())}).on("click",".b-folders .e-item .e-link.selectable",function(e){e.preventDefault();var t=n.dataFor(this);t&&(c.Layout.NoPreview===m.layout()&&m.message(null),t.fullNameRaw===m.currentFolderFullNameRaw()&&h.setFolderHash(t.fullNameRaw,""),f.setHash(d.mailBox(t.fullNameHash)))}),r("up, down",c.KeyState.FolderList,function(s,o){var n=-1,r=o&&"up"===o.shortcut?38:40,a=i(".b-folders .e-item .e-link:not(.hidden):visible",e);return s&&a.length&&(n=a.index(a.filter(".focused")),n>-1&&a.eq(n).removeClass("focused"),38===r&&n>0?n--:40===r&&n<a.length-1&&n++,a.eq(n).addClass("focused"),t.scrollToFocused()),!1}),r("enter",c.KeyState.FolderList,function(){var s=i(".b-folders .e-item .e-link:not(.hidden).focused",e);return s.length&&s[0]&&(t.folderList.focused(!1),s.click()),!1}),r("space",c.KeyState.FolderList,function(){var t=!0,s=null,o=i(".b-folders .e-item .e-link:not(.hidden).focused",e);return o.length&&o[0]&&(s=n.dataFor(o[0]),s&&(t=s.collapsed(),l.setExpandedFolder(s.fullNameHash,t),s.collapsed(!t))),!1}),r("esc, tab, shift+tab, right",c.KeyState.FolderList,function(){return t.folderList.focused(!1),!1}),t.folderList.focused.subscribe(function(t){i(".b-folders .e-item .e-link.focused",e).removeClass("focused"),t&&i(".b-folders .e-item .e-link.selected",e).addClass("focused")})},s.prototype.messagesDropOver=function(e){o.clearTimeout(this.iDropOverTimer),e&&e.collapsed()&&(this.iDropOverTimer=o.setTimeout(function(){e.collapsed(!1),l.setExpandedFolder(e.fullNameHash,!0),l.windowResize()},500))},s.prototype.messagesDropOut=function(){o.clearTimeout(this.iDropOverTimer)},s.prototype.scrollToFocused=function(){if(!this.oContentVisible||!this.oContentScrollable)return!1;var e=20,t=i(".e-item .e-link.focused",this.oContentScrollable),s=t.position(),o=this.oContentVisible.height(),n=t.outerHeight();return s&&(s.top<0||s.top+n>o)?(this.oContentScrollable.scrollTop(s.top<0?this.oContentScrollable.scrollTop()+s.top-e:this.oContentScrollable.scrollTop()+s.top-o+n+e),!0):!1},s.prototype.messagesDrop=function(e,t){if(e&&t&&t.helper){var s=t.helper.data("rl-folder"),o=a.hasClass("rl-ctrl-key-pressed"),i=t.helper.data("rl-uids");l.isNormal(s)&&""!==s&&l.isArray(i)&&g.moveMessagesToFolder(s,i,e.fullNameRaw,o)}},s.prototype.composeClick=function(){f.showScreenPopup(PopupsComposeViewModel)},s.prototype.createFolder=function(){f.showScreenPopup(PopupsFolderCreateViewModel)},s.prototype.configureFolders=function(){f.setHash(d.settings("folders"))},s.prototype.contactsClick=function(){this.allowContacts&&f.showScreenPopup(PopupsContactsViewModel)},t.exports=new s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Enums.js":7,"../Common/Globals.js":9,"../Common/LinkBuilder.js":10,"../Common/Utils.js":14,"../External/$html.js":17,"../External/jquery.js":26,"../External/key.js":27,"../External/ko.js":28,"../External/window.js":32,"../Knoin/Knoin.js":33,"../Knoin/KnoinAbstractViewModel.js":36,"../Storages/AppSettings.js":59,"../Storages/WebMailCacheStorage.js":64,"../Storages/WebMailDataStorage.js":65}],69:[function(e,t){!function(t){"use strict";function s(){w.call(this,"Right","MailMessageList"),this.sLastUid=null,this.bPrefetch=!1,this.emptySubjectValue="",this.hideDangerousActions=!!f.settingsGet("HideDangerousActions"),this.popupVisibility=p.popupVisibility,this.message=S.message,this.messageList=S.messageList,this.folderList=S.folderList,this.currentMessage=S.currentMessage,this.isMessageSelected=S.isMessageSelected,this.messageListSearch=S.messageListSearch,this.messageListError=S.messageListError,this.folderMenuForMove=S.folderMenuForMove,this.useCheckboxesInList=S.useCheckboxesInList,this.mainMessageListSearch=S.mainMessageListSearch,this.messageListEndFolder=S.messageListEndFolder,this.messageListChecked=S.messageListChecked,this.messageListCheckedOrSelected=S.messageListCheckedOrSelected,this.messageListCheckedOrSelectedUidsWithSubMails=S.messageListCheckedOrSelectedUidsWithSubMails,this.messageListCompleteLoadingThrottle=S.messageListCompleteLoadingThrottle,c.initOnStartOrLangChange(function(){this.emptySubjectValue=c.i18n("MESSAGE_LIST/EMPTY_SUBJECT_TEXT")},this),this.userQuota=S.userQuota,this.userUsageSize=S.userUsageSize,this.userUsageProc=S.userUsageProc,this.moveDropdownTrigger=n.observable(!1),this.moreDropdownTrigger=n.observable(!1),this.dragOver=n.observable(!1).extend({throttle:1}),this.dragOverEnter=n.observable(!1).extend({throttle:1}),this.dragOverArea=n.observable(null),this.dragOverBodyArea=n.observable(null),this.messageListItemTemplate=n.computed(function(){return u.Layout.NoPreview!==S.layout()?"MailMessageListItem":"MailMessageListItemNoPreviewPane"}),this.messageListSearchDesc=n.computed(function(){var e=S.messageListEndSearch();return""===e?"":c.i18n("MESSAGE_LIST/SEARCH_RESULT_FOR",{SEARCH:e})}),this.messageListPagenator=n.computed(c.computedPagenatorHelper(S.messageListPage,S.messageListPageCount)),this.checkAll=n.computed({read:function(){return 0<S.messageListChecked().length},write:function(e){e=!!e,i.each(S.messageList(),function(t){t.checked(e)})}}),this.inputMessageListSearchFocus=n.observable(!1),this.sLastSearchValue="",this.inputProxyMessageListSearch=n.computed({read:this.mainMessageListSearch,write:function(e){this.sLastSearchValue=e},owner:this}),this.isIncompleteChecked=n.computed(function(){var e=S.messageList().length,t=S.messageListChecked().length;return e>0&&t>0&&e>t},this),this.hasMessages=n.computed(function(){return 0<this.messageList().length},this),this.hasCheckedOrSelectedLines=n.computed(function(){return 0<this.messageListCheckedOrSelected().length},this),this.isSpamFolder=n.computed(function(){return S.spamFolder()===this.messageListEndFolder()&&""!==S.spamFolder()},this),this.isSpamDisabled=n.computed(function(){return d.Values.UnuseOptionValue===S.spamFolder()},this),this.isTrashFolder=n.computed(function(){return S.trashFolder()===this.messageListEndFolder()&&""!==S.trashFolder()
},this),this.isDraftFolder=n.computed(function(){return S.draftFolder()===this.messageListEndFolder()&&""!==S.draftFolder()},this),this.isSentFolder=n.computed(function(){return S.sentFolder()===this.messageListEndFolder()&&""!==S.sentFolder()},this),this.isArchiveFolder=n.computed(function(){return S.archiveFolder()===this.messageListEndFolder()&&""!==S.archiveFolder()},this),this.isArchiveDisabled=n.computed(function(){return d.Values.UnuseOptionValue===S.archiveFolder()},this),this.canBeMoved=this.hasCheckedOrSelectedLines,this.clearCommand=c.createCommand(this,function(){v.showScreenPopup(PopupsFolderClearViewModel,[S.currentFolder()])}),this.multyForwardCommand=c.createCommand(this,function(){v.showScreenPopup(E,[u.ComposeType.ForwardAsAttachment,S.messageListCheckedOrSelected()])},this.canBeMoved),this.deleteWithoutMoveCommand=c.createCommand(this,function(){C.deleteMessagesFromFolder(u.FolderType.Trash,S.currentFolderFullNameRaw(),S.messageListCheckedOrSelectedUidsWithSubMails(),!1)},this.canBeMoved),this.deleteCommand=c.createCommand(this,function(){C.deleteMessagesFromFolder(u.FolderType.Trash,S.currentFolderFullNameRaw(),S.messageListCheckedOrSelectedUidsWithSubMails(),!0)},this.canBeMoved),this.archiveCommand=c.createCommand(this,function(){C.deleteMessagesFromFolder(u.FolderType.Archive,S.currentFolderFullNameRaw(),S.messageListCheckedOrSelectedUidsWithSubMails(),!0)},this.canBeMoved),this.spamCommand=c.createCommand(this,function(){C.deleteMessagesFromFolder(u.FolderType.Spam,S.currentFolderFullNameRaw(),S.messageListCheckedOrSelectedUidsWithSubMails(),!0)},this.canBeMoved),this.notSpamCommand=c.createCommand(this,function(){C.deleteMessagesFromFolder(u.FolderType.NotSpam,S.currentFolderFullNameRaw(),S.messageListCheckedOrSelectedUidsWithSubMails(),!0)},this.canBeMoved),this.moveCommand=c.createCommand(this,c.emptyFunction,this.canBeMoved),this.reloadCommand=c.createCommand(this,function(){S.messageListCompleteLoadingThrottle()||C.reloadMessageList(!1,!0)}),this.quotaTooltip=i.bind(this.quotaTooltip,this),this.selector=new g(this.messageList,this.currentMessage,".messageListItem .actionHandle",".messageListItem.selected",".messageListItem .checkboxMessage",".messageListItem.focused"),this.selector.on("onItemSelect",i.bind(function(e){e?(S.message(S.staticMessageList.populateByMessageListItem(e)),this.populateMessageBody(S.message()),u.Layout.NoPreview===S.layout()&&(v.setHash(h.messagePreview(),!0),S.message.focused(!0))):S.message(null)},this)),this.selector.on("onItemGetUid",function(e){return e?e.generateUid():""}),S.messageListEndHash.subscribe(function(){this.selector.scrollToTop()},this),S.layout.subscribe(function(e){this.selector.autoSelect(u.Layout.NoPreview!==e)},this),S.layout.valueHasMutated(),m.sub("mailbox.message-list.selector.go-down",function(){this.selector.goDown(!0)},this).sub("mailbox.message-list.selector.go-up",function(){this.selector.goUp(!0)},this),v.constructorEnd(this)}var o=e("../External/jquery.js"),i=e("../External/underscore.js"),n=e("../External/ko.js"),r=e("../External/key.js"),a=e("../External/ifvisible.js"),l=e("../External/Jua.js"),c=e("../Common/Utils.js"),u=e("../Common/Enums.js"),d=e("../Common/Consts.js"),p=e("../Common/Globals.js"),h=e("../Common/LinkBuilder.js"),m=e("../Common/Events.js"),g=e("../Common/Selector.js"),f=e("../Storages/AppSettings.js"),b=e("../Storages/WebMailCacheStorage.js"),S=e("../Storages/WebMailDataStorage.js"),y=e("../Storages/WebMailAjaxRemoteStorage.js"),C=e("../Boots/RainLoopApp.js"),v=e("../Knoin/Knoin.js"),w=e("../Knoin/KnoinAbstractViewModel.js"),E=e("./Popups/PopupsComposeViewModel.js");v.extendAsViewModel("MailBoxMessageListViewModel",s),s.prototype.emptySubjectValue="",s.prototype.searchEnterAction=function(){this.mainMessageListSearch(this.sLastSearchValue),this.inputMessageListSearchFocus(!1)},s.prototype.printableMessageCountForDeletion=function(){var e=this.messageListCheckedOrSelectedUidsWithSubMails().length;return e>1?" ("+(100>e?e:"99+")+")":""},s.prototype.cancelSearch=function(){this.mainMessageListSearch(""),this.inputMessageListSearchFocus(!1)},s.prototype.moveSelectedMessagesToFolder=function(e,t){return this.canBeMoved()&&C.moveMessagesToFolder(S.currentFolderFullNameRaw(),S.messageListCheckedOrSelectedUidsWithSubMails(),e,t),!1},s.prototype.dragAndDronHelper=function(e){e&&e.checked(!0);var t=c.draggeblePlace(),s=S.messageListCheckedOrSelectedUidsWithSubMails();return t.data("rl-folder",S.currentFolderFullNameRaw()),t.data("rl-uids",s),t.find(".text").text(""+s.length),i.defer(function(){var e=S.messageListCheckedOrSelectedUidsWithSubMails();t.data("rl-uids",e),t.find(".text").text(""+e.length)}),t},s.prototype.onMessageResponse=function(e,t,s){S.hideMessageBodies(),S.messageLoading(!1),u.StorageResultType.Success===e&&t&&t.Result?S.setMessage(t,s):u.StorageResultType.Unload===e?(S.message(null),S.messageError("")):u.StorageResultType.Abort!==e&&(S.message(null),S.messageError(c.getNotification(t&&t.ErrorCode?t.ErrorCode:u.Notification.UnknownError)))},s.prototype.populateMessageBody=function(e){e&&(y.message(this.onMessageResponse,e.folderFullNameRaw,e.uid)?S.messageLoading(!0):c.log("Error: Unknown message request: "+e.folderFullNameRaw+" ~ "+e.uid+" [e-101]"))},s.prototype.setAction=function(e,t,s){var o=[],n=null,r=0;if(c.isUnd(s)&&(s=S.messageListChecked()),o=i.map(s,function(e){return e.uid}),""!==e&&0<o.length){switch(t){case u.MessageSetAction.SetSeen:i.each(s,function(e){e.unseen()&&r++,e.unseen(!1),b.storeMessageFlagsToCache(e)}),n=b.getFolderFromCacheList(e),n&&n.messageCountUnread(n.messageCountUnread()-r),y.messageSetSeen(c.emptyFunction,e,o,!0);break;case u.MessageSetAction.UnsetSeen:i.each(s,function(e){e.unseen()&&r++,e.unseen(!0),b.storeMessageFlagsToCache(e)}),n=b.getFolderFromCacheList(e),n&&n.messageCountUnread(n.messageCountUnread()-r+o.length),y.messageSetSeen(c.emptyFunction,e,o,!1);break;case u.MessageSetAction.SetFlag:i.each(s,function(e){e.flagged(!0),b.storeMessageFlagsToCache(e)}),y.messageSetFlagged(c.emptyFunction,e,o,!0);break;case u.MessageSetAction.UnsetFlag:i.each(s,function(e){e.flagged(!1),b.storeMessageFlagsToCache(e)}),y.messageSetFlagged(c.emptyFunction,e,o,!1)}C.reloadFlagsCurrentMessageListAndMessageFromCache()}},s.prototype.setActionForAll=function(e,t){var s=null,o=S.messageList();if(""!==e&&(s=b.getFolderFromCacheList(e))){switch(t){case u.MessageSetAction.SetSeen:s=b.getFolderFromCacheList(e),s&&(i.each(o,function(e){e.unseen(!1)}),s.messageCountUnread(0),b.clearMessageFlagsFromCacheByFolder(e)),y.messageSetSeenToAll(c.emptyFunction,e,!0);break;case u.MessageSetAction.UnsetSeen:s=b.getFolderFromCacheList(e),s&&(i.each(o,function(e){e.unseen(!0)}),s.messageCountUnread(s.messageCountAll()),b.clearMessageFlagsFromCacheByFolder(e)),y.messageSetSeenToAll(c.emptyFunction,e,!1)}C.reloadFlagsCurrentMessageListAndMessageFromCache()}},s.prototype.listSetSeen=function(){this.setAction(S.currentFolderFullNameRaw(),u.MessageSetAction.SetSeen,S.messageListCheckedOrSelected())},s.prototype.listSetAllSeen=function(){this.setActionForAll(S.currentFolderFullNameRaw(),u.MessageSetAction.SetSeen)},s.prototype.listUnsetSeen=function(){this.setAction(S.currentFolderFullNameRaw(),u.MessageSetAction.UnsetSeen,S.messageListCheckedOrSelected())},s.prototype.listSetFlags=function(){this.setAction(S.currentFolderFullNameRaw(),u.MessageSetAction.SetFlag,S.messageListCheckedOrSelected())},s.prototype.listUnsetFlags=function(){this.setAction(S.currentFolderFullNameRaw(),u.MessageSetAction.UnsetFlag,S.messageListCheckedOrSelected())},s.prototype.flagMessages=function(e){var t=this.messageListCheckedOrSelected(),s=[];e&&(0<t.length&&(s=i.map(t,function(e){return e.uid})),0<s.length&&-1<c.inArray(e.uid,s)?this.setAction(e.folderFullNameRaw,e.flagged()?u.MessageSetAction.UnsetFlag:u.MessageSetAction.SetFlag,t):this.setAction(e.folderFullNameRaw,e.flagged()?u.MessageSetAction.UnsetFlag:u.MessageSetAction.SetFlag,[e]))},s.prototype.flagMessagesFast=function(e){var t=this.messageListCheckedOrSelected(),s=[];0<t.length&&(s=i.filter(t,function(e){return e.flagged()}),c.isUnd(e)?this.setAction(t[0].folderFullNameRaw,t.length===s.length?u.MessageSetAction.UnsetFlag:u.MessageSetAction.SetFlag,t):this.setAction(t[0].folderFullNameRaw,e?u.MessageSetAction.SetFlag:u.MessageSetAction.UnsetFlag,t))},s.prototype.seenMessagesFast=function(e){var t=this.messageListCheckedOrSelected(),s=[];0<t.length&&(s=i.filter(t,function(e){return e.unseen()}),c.isUnd(e)?this.setAction(t[0].folderFullNameRaw,0<s.length?u.MessageSetAction.SetSeen:u.MessageSetAction.UnsetSeen,t):this.setAction(t[0].folderFullNameRaw,e?u.MessageSetAction.SetSeen:u.MessageSetAction.UnsetSeen,t))},s.prototype.onBuild=function(e){var t=this;this.oContentVisible=o(".b-content",e),this.oContentScrollable=o(".content",this.oContentVisible),this.oContentVisible.on("click",".fullThreadHandle",function(){var e=[],t=n.dataFor(this);return t&&!t.lastInCollapsedThreadLoading()&&(S.messageListThreadFolder(t.folderFullNameRaw),e=S.messageListThreadUids(),t.lastInCollapsedThread()?e.push(0<t.parentUid()?t.parentUid():t.uid):e=i.without(e,0<t.parentUid()?t.parentUid():t.uid),S.messageListThreadUids(i.uniq(e)),t.lastInCollapsedThreadLoading(!0),t.lastInCollapsedThread(!t.lastInCollapsedThread()),C.reloadMessageList()),!1}),this.selector.init(this.oContentVisible,this.oContentScrollable,u.KeyState.MessageList),e.on("click",".messageList .b-message-list-wrapper",function(){t.message.focused()&&t.message.focused(!1)}).on("click",".e-pagenator .e-page",function(){var e=n.dataFor(this);e&&v.setHash(h.mailBox(S.currentFolderFullNameHash(),e.value,S.messageListSearch()))}).on("click",".messageList .checkboxCkeckAll",function(){t.checkAll(!t.checkAll())}).on("click",".messageList .messageListItem .flagParent",function(){t.flagMessages(n.dataFor(this))}),this.initUploaderForAppend(),this.initShortcuts(),!p.bMobileDevice&&f.capa(u.Capa.Prefetch)&&a&&(a.setIdleDuration(10),a.idle(function(){t.prefetchNextTick()}))},s.prototype.initShortcuts=function(){var e=this;r("ctrl+p, command+p",u.KeyState.MessageList,function(){return!1}),r("z",[u.KeyState.MessageList,u.KeyState.MessageView],function(){return e.archiveCommand(),!1}),r("delete, shift+delete, shift+3",u.KeyState.MessageList,function(t,s){return t?(0<S.messageListCheckedOrSelected().length&&(s&&"shift+delete"===s.shortcut?e.deleteWithoutMoveCommand():e.deleteCommand()),!1):void 0}),r("ctrl+r, command+r",[u.KeyState.FolderList,u.KeyState.MessageList,u.KeyState.MessageView],function(){return e.reloadCommand(),!1}),r("ctrl+a, command+a",u.KeyState.MessageList,function(){return e.checkAll(!(e.checkAll()&&!e.isIncompleteChecked())),!1}),r("w,c",[u.KeyState.MessageList,u.KeyState.MessageView],function(){return v.showScreenPopup(E),!1}),r("i",[u.KeyState.MessageList,u.KeyState.MessageView],function(){return e.flagMessagesFast(),!1}),r("m",u.KeyState.MessageList,function(){return e.moveDropdownTrigger(!0),!1}),r("q",[u.KeyState.MessageList,u.KeyState.MessageView],function(){return e.seenMessagesFast(!0),!1}),r("u",[u.KeyState.MessageList,u.KeyState.MessageView],function(){return e.seenMessagesFast(!1),!1}),r("shift+f",[u.KeyState.MessageList,u.KeyState.MessageView],function(){return e.multyForwardCommand(),!1}),r("/",[u.KeyState.MessageList,u.KeyState.MessageView],function(){return e.inputMessageListSearchFocus(!0),!1}),r("esc",u.KeyState.MessageList,function(){return""!==e.messageListSearchDesc()?(e.cancelSearch(),!1):void 0}),r("tab, shift+tab, left, right",u.KeyState.MessageList,function(t,s){return t&&s&&"shift+tab"===s.shortcut||"left"===s.shortcut?e.folderList.focused(!0):e.message()&&e.message.focused(!0),!1}),r("ctrl+left, command+left",u.KeyState.MessageView,function(){return!1}),r("ctrl+right, command+right",u.KeyState.MessageView,function(){return!1})},s.prototype.prefetchNextTick=function(){if(!this.bPrefetch&&!a.now()&&this.viewModelVisibility()){var e=this,t=i.find(this.messageList(),function(e){return e&&!b.hasRequestedMessage(e.folderFullNameRaw,e.uid)});t&&(this.bPrefetch=!0,b.addRequestedMessage(t.folderFullNameRaw,t.uid),y.message(function(t,s){var o=!(u.StorageResultType.Success!==t||!s||!s.Result);i.delay(function(){e.bPrefetch=!1,o&&e.prefetchNextTick()},1e3)},t.folderFullNameRaw,t.uid))}},s.prototype.composeClick=function(){v.showScreenPopup(E)},s.prototype.advancedSearchClick=function(){v.showScreenPopup(PopupsAdvancedSearchViewModel)},s.prototype.quotaTooltip=function(){return c.i18n("MESSAGE_LIST/QUOTA_SIZE",{SIZE:c.friendlySize(this.userUsageSize()),PROC:this.userUsageProc(),LIMIT:c.friendlySize(this.userQuota())})},s.prototype.initUploaderForAppend=function(){if(!f.settingsGet("AllowAppendMessage")||!this.dragOverArea())return!1;var e=new l({action:h.append(),name:"AppendFile",queueSize:1,multipleSizeLimit:1,disableFolderDragAndDrop:!0,hidden:{Folder:function(){return S.currentFolderFullNameRaw()}},dragAndDropElement:this.dragOverArea(),dragAndDropBodyElement:this.dragOverBodyArea()});return e.on("onDragEnter",i.bind(function(){this.dragOverEnter(!0)},this)).on("onDragLeave",i.bind(function(){this.dragOverEnter(!1)},this)).on("onBodyDragEnter",i.bind(function(){this.dragOver(!0)},this)).on("onBodyDragLeave",i.bind(function(){this.dragOver(!1)},this)).on("onSelect",i.bind(function(e,t){return e&&t&&"message/rfc822"===t.Type?(S.messageListLoading(!0),!0):!1},this)).on("onComplete",i.bind(function(){C.reloadMessageList(!0,!0)},this)),!!e},t.exports=new s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Consts.js":6,"../Common/Enums.js":7,"../Common/Events.js":8,"../Common/Globals.js":9,"../Common/LinkBuilder.js":10,"../Common/Selector.js":13,"../Common/Utils.js":14,"../External/Jua.js":21,"../External/ifvisible.js":25,"../External/jquery.js":26,"../External/key.js":27,"../External/ko.js":28,"../External/underscore.js":31,"../Knoin/Knoin.js":33,"../Knoin/KnoinAbstractViewModel.js":36,"../Storages/AppSettings.js":59,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailCacheStorage.js":64,"../Storages/WebMailDataStorage.js":65,"./Popups/PopupsComposeViewModel.js":75}],70:[function(e,t){!function(t){"use strict";function s(){b.call(this,"Right","MailMessageView");var e=this,t="",s=function(t){return u.createCommand(e,function(){this.replyOrforward(t)},e.canBeRepliedOrForwarded)};this.oMessageScrollerDom=null,this.message=h.message,this.currentMessage=h.currentMessage,this.messageListChecked=h.messageListChecked,this.hasCheckedMessages=h.hasCheckedMessages,this.messageListCheckedOrSelectedUidsWithSubMails=h.messageListCheckedOrSelectedUidsWithSubMails,this.messageLoading=h.messageLoading,this.messageLoadingThrottle=h.messageLoadingThrottle,this.messagesBodiesDom=h.messagesBodiesDom,this.useThreads=h.useThreads,this.replySameFolder=h.replySameFolder,this.layout=h.layout,this.usePreviewPane=h.usePreviewPane,this.isMessageSelected=h.isMessageSelected,this.messageActiveDom=h.messageActiveDom,this.messageError=h.messageError,this.fullScreenMode=h.messageFullScreenMode,this.showFullInfo=i.observable(!1),this.moreDropdownTrigger=i.observable(!1),this.messageDomFocused=i.observable(!1).extend({rateLimit:0}),this.messageVisibility=i.computed(function(){return!this.messageLoadingThrottle()&&!!this.message()},this),this.message.subscribe(function(e){e||this.currentMessage(null)},this),this.canBeRepliedOrForwarded=this.messageVisibility,this.closeMessage=u.createCommand(this,function(){h.message(null)}),this.replyCommand=s(l.ComposeType.Reply),this.replyAllCommand=s(l.ComposeType.ReplyAll),this.forwardCommand=s(l.ComposeType.Forward),this.forwardAsAttachmentCommand=s(l.ComposeType.ForwardAsAttachment),this.editAsNewCommand=s(l.ComposeType.EditAsNew),this.messageVisibilityCommand=u.createCommand(this,u.emptyFunction,this.messageVisibility),this.messageEditCommand=u.createCommand(this,function(){this.editMessage()},this.messageVisibility),this.deleteCommand=u.createCommand(this,function(){this.message()&&g.deleteMessagesFromFolder(l.FolderType.Trash,this.message().folderFullNameRaw,[this.message().uid],!0)},this.messageVisibility),this.deleteWithoutMoveCommand=u.createCommand(this,function(){this.message()&&g.deleteMessagesFromFolder(l.FolderType.Trash,h.currentFolderFullNameRaw(),[this.message().uid],!1)},this.messageVisibility),this.archiveCommand=u.createCommand(this,function(){this.message()&&g.deleteMessagesFromFolder(l.FolderType.Archive,this.message().folderFullNameRaw,[this.message().uid],!0)},this.messageVisibility),this.spamCommand=u.createCommand(this,function(){this.message()&&g.deleteMessagesFromFolder(l.FolderType.Spam,this.message().folderFullNameRaw,[this.message().uid],!0)},this.messageVisibility),this.notSpamCommand=u.createCommand(this,function(){this.message()&&g.deleteMessagesFromFolder(l.FolderType.NotSpam,this.message().folderFullNameRaw,[this.message().uid],!0)},this.messageVisibility),this.viewHash="",this.viewSubject=i.observable(""),this.viewFromShort=i.observable(""),this.viewToShort=i.observable(""),this.viewFrom=i.observable(""),this.viewTo=i.observable(""),this.viewCc=i.observable(""),this.viewBcc=i.observable(""),this.viewDate=i.observable(""),this.viewMoment=i.observable(""),this.viewLineAsCcc=i.observable(""),this.viewViewLink=i.observable(""),this.viewDownloadLink=i.observable(""),this.viewUserPic=i.observable(a.DataImages.UserDotPic),this.viewUserPicVisible=i.observable(!1),this.viewPgpPassword=i.observable(""),this.viewPgpSignedVerifyStatus=i.computed(function(){return this.message()?this.message().pgpSignedVerifyStatus():l.SignedVerifyStatus.None},this),this.viewPgpSignedVerifyUser=i.computed(function(){return this.message()?this.message().pgpSignedVerifyUser():""},this),this.message.subscribe(function(s){this.messageActiveDom(null),this.viewPgpPassword(""),s?(this.viewHash!==s.hash&&this.scrollMessageToTop(),this.viewHash=s.hash,this.viewSubject(s.subject()),this.viewFromShort(s.fromToLine(!0,!0)),this.viewToShort(s.toToLine(!0,!0)),this.viewFrom(s.fromToLine(!1)),this.viewTo(s.toToLine(!1)),this.viewCc(s.ccToLine(!1)),this.viewBcc(s.bccToLine(!1)),this.viewDate(s.fullFormatDateValue()),this.viewMoment(s.momentDate()),this.viewLineAsCcc(s.lineAsCcc()),this.viewViewLink(s.viewLink()),this.viewDownloadLink(s.downloadLink()),t=s.fromAsSingleEmail(),p.getUserPic(t,function(s,o){s!==e.viewUserPic()&&t===o&&(e.viewUserPicVisible(!1),e.viewUserPic(a.DataImages.UserDotPic),""!==s&&(e.viewUserPicVisible(!0),e.viewUserPic(s)))})):(this.viewHash="",this.scrollMessageToTop())},this),this.fullScreenMode.subscribe(function(e){e?r.addClass("rl-message-fullscreen"):r.removeClass("rl-message-fullscreen"),u.windowResize()}),this.messageLoadingThrottle.subscribe(function(e){e&&u.windowResize()}),this.goUpCommand=u.createCommand(this,function(){d.pub("mailbox.message-list.selector.go-up")}),this.goDownCommand=u.createCommand(this,function(){d.pub("mailbox.message-list.selector.go-down")}),f.constructorEnd(this)}var o=e("../External/jquery.js"),i=e("../External/ko.js"),n=e("../External/key.js"),r=e("../External/$html.js"),a=e("../Common/Consts.js"),l=e("../Common/Enums.js"),c=e("../Common/Globals.js"),u=e("../Common/Utils.js"),d=e("../Common/Events.js"),p=e("../Storages/WebMailCacheStorage.js"),h=e("../Storages/WebMailDataStorage.js"),m=e("../Storages/WebMailAjaxRemoteStorage.js"),g=e("../Boots/RainLoopApp.js"),f=e("../Knoin/Knoin.js"),b=e("../Knoin/KnoinAbstractViewModel.js");f.extendAsViewModel("MailBoxMessageViewViewModel",s),s.prototype.isPgpActionVisible=function(){return l.SignedVerifyStatus.Success!==this.viewPgpSignedVerifyStatus()},s.prototype.isPgpStatusVerifyVisible=function(){return l.SignedVerifyStatus.None!==this.viewPgpSignedVerifyStatus()},s.prototype.isPgpStatusVerifySuccess=function(){return l.SignedVerifyStatus.Success===this.viewPgpSignedVerifyStatus()},s.prototype.pgpStatusVerifyMessage=function(){var e="";switch(this.viewPgpSignedVerifyStatus()){case l.SignedVerifyStatus.UnknownPublicKeys:e=u.i18n("PGP_NOTIFICATIONS/NO_PUBLIC_KEYS_FOUND");break;case l.SignedVerifyStatus.UnknownPrivateKey:e=u.i18n("PGP_NOTIFICATIONS/NO_PRIVATE_KEY_FOUND");break;case l.SignedVerifyStatus.Unverified:e=u.i18n("PGP_NOTIFICATIONS/UNVERIFIRED_SIGNATURE");break;case l.SignedVerifyStatus.Error:e=u.i18n("PGP_NOTIFICATIONS/DECRYPTION_ERROR");break;case l.SignedVerifyStatus.Success:e=u.i18n("PGP_NOTIFICATIONS/GOOD_SIGNATURE",{USER:this.viewPgpSignedVerifyUser()})}return e},s.prototype.scrollToTop=function(){var e=o(".messageItem.nano .content",this.viewModelDom);e&&e[0]?e.scrollTop(0):o(".messageItem",this.viewModelDom).scrollTop(0),u.windowResize()},s.prototype.fullScreen=function(){this.fullScreenMode(!0),u.windowResize()},s.prototype.unFullScreen=function(){this.fullScreenMode(!1),u.windowResize()},s.prototype.toggleFullScreen=function(){u.removeSelection(),this.fullScreenMode(!this.fullScreenMode()),u.windowResize()},s.prototype.replyOrforward=function(e){f.showScreenPopup(PopupsComposeViewModel,[e,h.message()])},s.prototype.onBuild=function(e){var t=this;this.fullScreenMode.subscribe(function(e){e&&t.message.focused(!0)},this),o(".attachmentsPlace",e).magnificPopup({delegate:".magnificPopupImage:visible",type:"image",gallery:{enabled:!0,preload:[1,1],navigateByImgClick:!0},callbacks:{open:function(){c.useKeyboardShortcuts(!1)},close:function(){c.useKeyboardShortcuts(!0)}},mainClass:"mfp-fade",removalDelay:400}),e.on("click",".messageView .messageItem .messageItemHeader",function(){c.useKeyboardShortcuts()&&t.message()&&t.message.focused(!0)}).on("click","a",function(e){return!(e&&3!==e.which&&g.mailToHelper(o(this).attr("href")))}).on("click",".attachmentsPlace .attachmentPreview",function(e){e&&e.stopPropagation&&e.stopPropagation()}).on("click",".attachmentsPlace .attachmentItem",function(){var e=i.dataFor(this);e&&e.download&&g.download(e.linkDownload())}),this.message.focused.subscribe(function(e){this.messageDomFocused(e&&!u.inFocus()?!0:!1)},this),this.messageDomFocused.subscribe(function(e){e||l.KeyState.MessageView!==c.keyScope()||this.message.focused(!1)},this),c.keyScope.subscribe(function(e){l.KeyState.MessageView===e&&this.message.focused()&&this.messageDomFocused(!0)},this),this.oMessageScrollerDom=e.find(".messageItem .content"),this.oMessageScrollerDom=this.oMessageScrollerDom&&this.oMessageScrollerDom[0]?this.oMessageScrollerDom:null,this.initShortcuts()},s.prototype.escShortcuts=function(){return this.viewModelVisibility()&&this.message()?(this.fullScreenMode()?this.fullScreenMode(!1):l.Layout.NoPreview===h.layout()?this.message(null):this.message.focused(!1),!1):void 0},s.prototype.initShortcuts=function(){var e=this;n("esc",l.KeyState.MessageView,_.bind(this.escShortcuts,this)),n("enter",l.KeyState.MessageView,function(){return e.toggleFullScreen(),!1}),n("enter",l.KeyState.MessageList,function(){return l.Layout.NoPreview!==h.layout()&&e.message()?(e.toggleFullScreen(),!1):void 0}),n("r",[l.KeyState.MessageList,l.KeyState.MessageView],function(){return h.message()?(e.replyCommand(),!1):void 0}),n("a",[l.KeyState.MessageList,l.KeyState.MessageView],function(){return h.message()?(e.replyAllCommand(),!1):void 0}),n("f",[l.KeyState.MessageList,l.KeyState.MessageView],function(){return h.message()?(e.forwardCommand(),!1):void 0}),n("b",[l.KeyState.MessageList,l.KeyState.MessageView],function(){return h.message()&&h.message().body?(u.toggleMessageBlockquote(h.message().body),!1):void 0}),n("ctrl+left, command+left, ctrl+up, command+up",l.KeyState.MessageView,function(){return e.goUpCommand(),!1}),n("ctrl+right, command+right, ctrl+down, command+down",l.KeyState.MessageView,function(){return e.goDownCommand(),!1}),n("ctrl+p, command+p",l.KeyState.MessageView,function(){return e.message()&&e.message().printMessage(),!1}),n("delete, shift+delete",l.KeyState.MessageView,function(t,s){return t?(s&&"shift+delete"===s.shortcut?e.deleteWithoutMoveCommand():e.deleteCommand(),!1):void 0}),n("tab, shift+tab, left",l.KeyState.MessageView,function(){return!e.fullScreenMode()&&e.message()&&l.Layout.NoPreview!==h.layout()&&e.message.focused(!1),!1})},s.prototype.isDraftFolder=function(){return h.message()&&h.draftFolder()===h.message().folderFullNameRaw},s.prototype.isSentFolder=function(){return h.message()&&h.sentFolder()===h.message().folderFullNameRaw},s.prototype.isSpamFolder=function(){return h.message()&&h.spamFolder()===h.message().folderFullNameRaw},s.prototype.isSpamDisabled=function(){return h.message()&&h.spamFolder()===a.Values.UnuseOptionValue},s.prototype.isArchiveFolder=function(){return h.message()&&h.archiveFolder()===h.message().folderFullNameRaw},s.prototype.isArchiveDisabled=function(){return h.message()&&h.archiveFolder()===a.Values.UnuseOptionValue},s.prototype.isDraftOrSentFolder=function(){return this.isDraftFolder()||this.isSentFolder()},s.prototype.composeClick=function(){f.showScreenPopup(PopupsComposeViewModel)},s.prototype.editMessage=function(){h.message()&&f.showScreenPopup(PopupsComposeViewModel,[l.ComposeType.Draft,h.message()])},s.prototype.scrollMessageToTop=function(){this.oMessageScrollerDom&&this.oMessageScrollerDom.scrollTop(0)},s.prototype.showImages=function(e){e&&e.showExternalImages&&e.showExternalImages(!0)},s.prototype.printableCheckedMessageCount=function(){var e=this.messageListCheckedOrSelectedUidsWithSubMails().length;return e>0?100>e?e:"99+":""},s.prototype.verifyPgpSignedClearMessage=function(e){e&&e.verifyPgpSignedClearMessage()},s.prototype.decryptPgpEncryptedMessage=function(e){e&&e.decryptPgpEncryptedMessage(this.viewPgpPassword())},s.prototype.readReceipt=function(e){e&&""!==e.readReceipt()&&(m.sendReadReceiptMessage(u.emptyFunction,e.folderFullNameRaw,e.uid,e.readReceipt(),u.i18n("READ_RECEIPT/SUBJECT",{SUBJECT:e.subject()}),u.i18n("READ_RECEIPT/BODY",{"READ-RECEIPT":h.accountEmail()})),e.isReadReceipt(!0),p.storeMessageFlagsToCache(e),g.reloadFlagsCurrentMessageListAndMessageFromCache())},t.exports=s}(t)},{"../Boots/RainLoopApp.js":4,"../Common/Consts.js":6,"../Common/Enums.js":7,"../Common/Events.js":8,"../Common/Globals.js":9,"../Common/Utils.js":14,"../External/$html.js":17,"../External/jquery.js":26,"../External/key.js":27,"../External/ko.js":28,"../Knoin/Knoin.js":33,"../Knoin/KnoinAbstractViewModel.js":36,"../Storages/WebMailAjaxRemoteStorage.js":63,"../Storages/WebMailCacheStorage.js":64,"../Storages/WebMailDataStorage.js":65}],71:[function(e,t){!function(t){"use strict";function s(){i.call(this),o.constructorEnd(this)}var o=(e("../Common/Utils.js"),e("../Knoin/Knoin.js")),i=e("./AbstractSystemDropDownViewModel.js");o.extendAsViewModel("MailBoxSystemDropDownViewModel",s,i),t.exports=s}(t)},{"../Common/Utils.js":14,"../Knoin/Knoin.js":33,"./AbstractSystemDropDownViewModel.js":66}],72:[function(e,t){!function(t){"use strict";function s(){c.call(this,"Popups","PopupsAddAccount"),this.email=o.observable(""),this.password=o.observable(""),this.emailError=o.observable(!1),this.passwordError=o.observable(!1),this.email.subscribe(function(){this.emailError(!1)},this),this.password.subscribe(function(){this.passwordError(!1)},this),this.submitRequest=o.observable(!1),this.submitError=o.observable(""),this.emailFocus=o.observable(!1),this.addAccountCommand=n.createCommand(this,function(){return this.emailError(""===n.trim(this.email())),this.passwordError(""===n.trim(this.password())),this.emailError()||this.passwordError()?!1:(this.submitRequest(!0),r.accountAdd(_.bind(function(e,t){this.submitRequest(!1),i.StorageResultType.Success===e&&t&&"AccountAdd"===t.Action?t.Result?(a.accountsAndIdentities(),this.cancelCommand()):t.ErrorCode&&this.submitError(n.getNotification(t.ErrorCode)):this.submitError(n.getNotification(i.Notification.UnknownError))},this),this.email(),"",this.password()),!0)},function(){return!this.submitRequest()}),l.constructorEnd(this)}var o=e("../../External/ko.js"),i=e("../../Common/Enums.js"),n=e("../../Common/Utils.js"),r=e("../../Storages/WebMailAjaxRemoteStorage.js"),a=e("../../Boots/RainLoopApp.js"),l=e("../../Knoin/Knoin.js"),c=e("../../Knoin/KnoinAbstractViewModel.js");l.extendAsViewModel("PopupsAddAccountViewModel",s),s.prototype.clearPopup=function(){this.email(""),this.password(""),this.emailError(!1),this.passwordError(!1),this.submitRequest(!1),this.submitError("")},s.prototype.onShow=function(){this.clearPopup()},s.prototype.onFocus=function(){this.emailFocus(!0)},t.exports=new s}(t)},{"../../Boots/RainLoopApp.js":4,"../../Common/Enums.js":7,"../../Common/Utils.js":14,"../../External/ko.js":28,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36,"../../Storages/WebMailAjaxRemoteStorage.js":63}],73:[function(e,t){!function(t){"use strict";function s(){l.call(this,"Popups","PopupsAddOpenPgpKey"),this.key=o.observable(""),this.key.error=o.observable(!1),this.key.focus=o.observable(!1),this.key.subscribe(function(){this.key.error(!1)},this),this.addOpenPgpKeyCommand=i.createCommand(this,function(){var e=30,t=null,s=i.trim(this.key()),o=/[\-]{3,6}BEGIN[\s]PGP[\s](PRIVATE|PUBLIC)[\s]KEY[\s]BLOCK[\-]{3,6}[\s\S]+?[\-]{3,6}END[\s]PGP[\s](PRIVATE|PUBLIC)[\s]KEY[\s]BLOCK[\-]{3,6}/gi,a=n.openpgpKeyring;if(s=s.replace(/[\r\n]([a-zA-Z0-9]{2,}:[^\r\n]+)[\r\n]+([a-zA-Z0-9\/\\+=]{10,})/g,"\n$1!-!N!-!$2").replace(/[\n\r]+/g,"\n").replace(/!-!N!-!/g,"\n\n"),this.key.error(""===s),!a||this.key.error())return!1;for(;;){if(t=o.exec(s),!t||0>e)break;t[0]&&t[1]&&t[2]&&t[1]===t[2]&&("PRIVATE"===t[1]?a.privateKeys.importKey(t[0]):"PUBLIC"===t[1]&&a.publicKeys.importKey(t[0])),e--}return a.store(),r.reloadOpenPgpKeys(),i.delegateRun(this,"cancelCommand"),!0}),a.constructorEnd(this)}var o=e("../../External/ko.js"),i=e("../../Common/Utils.js"),n=e("../../Storages/WebMailDataStorage.js"),r=e("../../Boots/RainLoopApp.js"),a=e("../../Knoin/Knoin.js"),l=e("../../Knoin/KnoinAbstractViewModel.js");a.extendAsViewModel("PopupsAddOpenPgpKeyViewModel",s),s.prototype.clearPopup=function(){this.key(""),this.key.error(!1)},s.prototype.onShow=function(){this.clearPopup()},s.prototype.onFocus=function(){this.key.focus(!0)},t.exports=new s}(t)},{"../../Boots/RainLoopApp.js":4,"../../Common/Utils.js":14,"../../External/ko.js":28,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36,"../../Storages/WebMailDataStorage.js":65}],74:[function(e,t){!function(t){"use strict";function s(){l.call(this,"Popups","PopupsAsk"),this.askDesc=o.observable(""),this.yesButton=o.observable(""),this.noButton=o.observable(""),this.yesFocus=o.observable(!1),this.noFocus=o.observable(!1),this.fYesAction=null,this.fNoAction=null,this.bDisabeCloseOnEsc=!0,this.sDefaultKeyScope=n.KeyState.PopupAsk,a.constructorEnd(this)}var o=e("../../External/ko.js"),i=e("../../External/key.js"),n=e("../../Common/Enums.js"),r=e("../../Common/Utils.js"),a=e("../../Knoin/Knoin.js"),l=e("../../Knoin/KnoinAbstractViewModel.js");a.extendAsViewModel("PopupsAskViewModel",s),s.prototype.clearPopup=function(){this.askDesc(""),this.yesButton(r.i18n("POPUPS_ASK/BUTTON_YES")),this.noButton(r.i18n("POPUPS_ASK/BUTTON_NO")),this.yesFocus(!1),this.noFocus(!1),this.fYesAction=null,this.fNoAction=null},s.prototype.yesClick=function(){this.cancelCommand(),r.isFunc(this.fYesAction)&&this.fYesAction.call(null)},s.prototype.noClick=function(){this.cancelCommand(),r.isFunc(this.fNoAction)&&this.fNoAction.call(null)},s.prototype.onShow=function(e,t,s,o,i){this.clearPopup(),this.fYesAction=t||null,this.fNoAction=s||null,this.askDesc(e||""),o&&this.yesButton(o),o&&this.yesButton(i)},s.prototype.onFocus=function(){this.yesFocus(!0)},s.prototype.onBuild=function(){i("tab, shift+tab, right, left",n.KeyState.PopupAsk,_.bind(function(){return this.yesFocus()?this.noFocus(!0):this.yesFocus(!0),!1},this)),i("esc",n.KeyState.PopupAsk,_.bind(function(){return this.noClick(),!1},this))},t.exports=new s}(t)},{"../../Common/Enums.js":7,"../../Common/Utils.js":14,"../../External/key.js":27,"../../External/ko.js":28,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36}],75:[function(e,t){!function(t){"use strict";
function s(){y.call(this,"Popups","PopupsCompose"),this.oEditor=null,this.aDraftInfo=null,this.sInReplyTo="",this.bFromDraft=!1,this.bSkipNext=!1,this.sReferences="",this.bCapaAdditionalIdentities=h.capa(a.Capa.AdditionalIdentities);var e=this,t=function(t){!1===e.showCcAndBcc()&&0<t.length&&e.showCcAndBcc(!0)};this.capaOpenPGP=m.capaOpenPGP,this.resizer=n.observable(!1).extend({throttle:50}),this.identitiesDropdownTrigger=n.observable(!1),this.to=n.observable(""),this.to.focusTrigger=n.observable(!1),this.cc=n.observable(""),this.bcc=n.observable(""),this.replyTo=n.observable(""),this.subject=n.observable(""),this.isHtml=n.observable(!1),this.requestReadReceipt=n.observable(!1),this.sendError=n.observable(!1),this.sendSuccessButSaveError=n.observable(!1),this.savedError=n.observable(!1),this.savedTime=n.observable(0),this.savedOrSendingText=n.observable(""),this.emptyToError=n.observable(!1),this.attachmentsInProcessError=n.observable(!1),this.showCcAndBcc=n.observable(!1),this.cc.subscribe(t,this),this.bcc.subscribe(t,this),this.draftFolder=n.observable(""),this.draftUid=n.observable(""),this.sending=n.observable(!1),this.saving=n.observable(!1),this.attachments=n.observableArray([]),this.attachmentsInProcess=this.attachments.filter(function(e){return e&&""===e.tempName()}),this.attachmentsInReady=this.attachments.filter(function(e){return e&&""!==e.tempName()}),this.attachments.subscribe(function(){this.triggerForResize()},this),this.isDraftFolderMessage=n.computed(function(){return""!==this.draftFolder()&&""!==this.draftUid()},this),this.composeUploaderButton=n.observable(null),this.composeUploaderDropPlace=n.observable(null),this.dragAndDropEnabled=n.observable(!1),this.dragAndDropOver=n.observable(!1).extend({throttle:1}),this.dragAndDropVisible=n.observable(!1).extend({throttle:1}),this.attacheMultipleAllowed=n.observable(!1),this.addAttachmentEnabled=n.observable(!1),this.composeEditorArea=n.observable(null),this.identities=m.identities,this.defaultIdentityID=m.defaultIdentityID,this.currentIdentityID=n.observable(""),this.currentIdentityString=n.observable(""),this.currentIdentityResultEmail=n.observable(""),this.identitiesOptions=n.computed(function(){var e=[{optValue:m.accountEmail(),optText:this.formattedFrom(!1)}];return i.each(m.identities(),function(t){e.push({optValue:t.id,optText:t.formattedNameForCompose()})}),e},this),n.computed(function(){var e="",t="",s=null,o=this.identities(),n=this.currentIdentityID();return this.bCapaAdditionalIdentities&&n&&n!==m.accountEmail()&&(s=i.find(o,function(e){return e&&n===e.id}),e=s?s.formattedNameForCompose():"",t=s?s.formattedNameForEmail():"",""===e&&o[0])?(this.currentIdentityID(o[0].id),""):(""===e&&(e=this.formattedFrom(!1),t=this.formattedFrom(!0)),this.currentIdentityString(e),this.currentIdentityResultEmail(t),e)},this),this.to.subscribe(function(e){this.emptyToError()&&0<e.length&&this.emptyToError(!1)},this),this.attachmentsInProcess.subscribe(function(e){this.attachmentsInProcessError()&&c.isArray(e)&&0===e.length&&this.attachmentsInProcessError(!1)},this),this.editorResizeThrottle=i.throttle(i.bind(this.editorResize,this),100),this.resizer.subscribe(function(){this.editorResizeThrottle()},this),this.canBeSendedOrSaved=n.computed(function(){return!this.sending()&&!this.saving()},this),this.deleteCommand=c.createCommand(this,function(){b.deleteMessagesFromFolderWithoutCheck(this.draftFolder(),[this.draftUid()]),S.hideScreenPopup(s)},function(){return this.isDraftFolderMessage()}),this.sendMessageResponse=i.bind(this.sendMessageResponse,this),this.saveMessageResponse=i.bind(this.saveMessageResponse,this),this.sendCommand=c.createCommand(this,function(){var e=c.trim(this.to()),t=m.sentFolder(),s=[];0<this.attachmentsInProcess().length?this.attachmentsInProcessError(!0):0===e.length?this.emptyToError(!0):(m.replySameFolder()&&c.isArray(this.aDraftInfo)&&3===this.aDraftInfo.length&&c.isNormal(this.aDraftInfo[2])&&0<this.aDraftInfo[2].length&&(t=this.aDraftInfo[2]),""===t?S.showScreenPopup(PopupsFolderSystemViewModel,[a.SetSystemFoldersNotification.Sent]):(this.sendError(!1),this.sending(!0),c.isArray(this.aDraftInfo)&&3===this.aDraftInfo.length&&(s=g.getMessageFlagsFromCache(this.aDraftInfo[2],this.aDraftInfo[1]),s&&("forward"===this.aDraftInfo[0]?s[3]=!0:s[2]=!0,g.setMessageFlagsToCache(this.aDraftInfo[2],this.aDraftInfo[1],s),b.reloadFlagsCurrentMessageListAndMessageFromCache(),g.setFolderHash(this.aDraftInfo[2],""))),t=l.Values.UnuseOptionValue===t?"":t,g.setFolderHash(this.draftFolder(),""),g.setFolderHash(t,""),f.sendMessage(this.sendMessageResponse,this.draftFolder(),this.draftUid(),t,this.currentIdentityResultEmail(),e,this.cc(),this.bcc(),this.subject(),this.oEditor?this.oEditor.isHtml():!1,this.oEditor?this.oEditor.getData(!0):"",this.prepearAttachmentsForSendOrSave(),this.aDraftInfo,this.sInReplyTo,this.sReferences,this.requestReadReceipt())))},this.canBeSendedOrSaved),this.saveCommand=c.createCommand(this,function(){m.draftFolderNotEnabled()?S.showScreenPopup(PopupsFolderSystemViewModel,[a.SetSystemFoldersNotification.Draft]):(this.savedError(!1),this.saving(!0),this.bSkipNext=!0,g.setFolderHash(m.draftFolder(),""),f.saveMessage(this.saveMessageResponse,this.draftFolder(),this.draftUid(),m.draftFolder(),this.currentIdentityResultEmail(),this.to(),this.cc(),this.bcc(),this.subject(),this.oEditor?this.oEditor.isHtml():!1,this.oEditor?this.oEditor.getData(!0):"",this.prepearAttachmentsForSendOrSave(),this.aDraftInfo,this.sInReplyTo,this.sReferences))},this.canBeSendedOrSaved),d.sub("interval.1m",function(){!this.modalVisibility()||m.draftFolderNotEnabled()||this.isEmptyForm(!1)||this.bSkipNext||this.saving()||this.sending()||this.savedError()||(this.bSkipNext=!1,this.saveCommand())},this),this.showCcAndBcc.subscribe(function(){this.triggerForResize()},this),this.dropboxEnabled=n.observable(!!h.settingsGet("DropboxApiKey")),this.dropboxCommand=c.createCommand(this,function(){return window.Dropbox&&window.Dropbox.choose({success:function(t){t&&t[0]&&t[0].link&&e.addDropboxAttachment(t[0])},linkType:"direct",multiselect:!1}),!0},function(){return this.dropboxEnabled()}),this.driveEnabled=n.observable(Globals.bXMLHttpRequestSupported&&!!h.settingsGet("GoogleClientID")&&!!h.settingsGet("GoogleApiKey")),this.driveVisible=n.observable(!1),this.driveCommand=c.createCommand(this,function(){return this.driveOpenPopup(),!0},function(){return this.driveEnabled()}),this.driveCallback=i.bind(this.driveCallback,this),this.bDisabeCloseOnEsc=!0,this.sDefaultKeyScope=a.KeyState.Compose,this.tryToClosePopup=i.debounce(i.bind(this.tryToClosePopup,this),200),S.constructorEnd(this)}var o=e("../../External/jquery.js"),i=e("../../External/underscore.js"),n=e("../../External/ko.js"),r=e("../../External/moment.js"),a=e("../../Common/Enums.js"),l=e("../../Common/Consts.js"),c=e("../../Common/Utils.js"),u=e("../../Common/LinkBuilder.js"),d=e("../../Common/Events.js"),p=e("../../Common/NewHtmlEditorWrapper.js"),h=e("../../Storages/AppSettings.js"),m=e("../../Storages/WebMailDataStorage.js"),g=e("../../Storages/WebMailCacheStorage.js"),f=e("../../Storages/WebMailAjaxRemoteStorage.js"),b=e("../../Boots/RainLoopApp.js"),S=e("../../Knoin/Knoin.js"),y=e("../../Knoin/KnoinAbstractViewModel.js");S.extendAsViewModel("PopupsComposeViewModel",s),s.prototype.openOpenPgpPopup=function(){if(this.capaOpenPGP()&&this.oEditor&&!this.oEditor.isHtml()){var e=this;S.showScreenPopup(PopupsComposeOpenPgpViewModel,[function(t){e.editor(function(e){e.setPlain(t)})},this.oEditor.getData(),this.currentIdentityResultEmail(),this.to(),this.cc(),this.bcc()])}},s.prototype.reloadDraftFolder=function(){var e=m.draftFolder();""!==e&&(g.setFolderHash(e,""),m.currentFolderFullNameRaw()===e?b.reloadMessageList(!0):b.folderInformation(e))},s.prototype.findIdentityIdByMessage=function(e,t){var s={},o="",n=function(e){return e&&e.email&&s[e.email]?(o=s[e.email],!0):!1};if(this.bCapaAdditionalIdentities&&i.each(this.identities(),function(e){s[e.email()]=e.id}),s[m.accountEmail()]=m.accountEmail(),t)switch(e){case a.ComposeType.Empty:break;case a.ComposeType.Reply:case a.ComposeType.ReplyAll:case a.ComposeType.Forward:case a.ComposeType.ForwardAsAttachment:i.find(i.union(t.to,t.cc,t.bcc,t.deliveredTo),n);break;case a.ComposeType.Draft:i.find(i.union(t.from,t.replyTo),n)}return""===o&&(o=this.defaultIdentityID()),""===o&&(o=m.accountEmail()),o},s.prototype.selectIdentity=function(e){e&&this.currentIdentityID(e.optValue)},s.prototype.formattedFrom=function(e){var t=m.displayName(),s=m.accountEmail();return""===t?s:(c.isUnd(e)?1:!e)?t+" ("+s+")":'"'+c.quoteName(t)+'" <'+s+">"},s.prototype.sendMessageResponse=function(e,t){var s=!1,o="";this.sending(!1),a.StorageResultType.Success===e&&t&&t.Result&&(s=!0,this.modalVisibility()&&c.delegateRun(this,"closeCommand")),this.modalVisibility()&&!s&&(t&&a.Notification.CantSaveMessage===t.ErrorCode?(this.sendSuccessButSaveError(!0),window.alert(c.trim(c.i18n("COMPOSE/SAVED_ERROR_ON_SEND")))):(o=c.getNotification(t&&t.ErrorCode?t.ErrorCode:a.Notification.CantSendMessage,t&&t.ErrorMessage?t.ErrorMessage:""),this.sendError(!0),window.alert(o||c.getNotification(a.Notification.CantSendMessage)))),this.reloadDraftFolder()},s.prototype.saveMessageResponse=function(e,t){var s=!1,o=null;this.saving(!1),a.StorageResultType.Success===e&&t&&t.Result&&t.Result.NewFolder&&t.Result.NewUid&&(this.bFromDraft&&(o=m.message(),o&&this.draftFolder()===o.folderFullNameRaw&&this.draftUid()===o.uid&&m.message(null)),this.draftFolder(t.Result.NewFolder),this.draftUid(t.Result.NewUid),this.modalVisibility()&&(this.savedTime(window.Math.round((new window.Date).getTime()/1e3)),this.savedOrSendingText(0<this.savedTime()?c.i18n("COMPOSE/SAVED_TIME",{TIME:r.unix(this.savedTime()-1).format("LT")}):""),s=!0,this.bFromDraft&&g.setFolderHash(this.draftFolder(),""))),this.modalVisibility()||s||(this.savedError(!0),this.savedOrSendingText(c.getNotification(a.Notification.CantSaveMessage))),this.reloadDraftFolder()},s.prototype.onHide=function(){this.reset(),S.routeOn()},s.prototype.convertSignature=function(e,t,s,o){var i=!1,n=!1;if(""!==e&&(":HTML:"===e.substr(0,6)&&(i=!0,e=e.substr(6)),e=e.replace(/[\r]/,""),t=c.pString(t),""!==t&&(e=e.replace(/{{FROM}}/,t)),e=e.replace(/[\s]{1,2}{{FROM}}/,"{{FROM}}"),e=e.replace(/{{FROM}}/,""),e=e.replace(/{{DATE}}/,r().format("llll")),s&&a.ComposeType.Empty===o&&-1<e.indexOf("{{DATA}}")&&(n=!0,e=e.replace("{{DATA}}",s)),e=e.replace(/{{DATA}}/,""),i||(e=c.convertPlainTextToHtml(e))),s&&!n)switch(o){case a.ComposeType.Empty:e=s+"<br />"+e;break;default:e=e+"<br />"+s}return e},s.prototype.editor=function(e){if(e){var t=this;!this.oEditor&&this.composeEditorArea()?i.delay(function(){t.oEditor=new p(t.composeEditorArea(),null,function(){e(t.oEditor)},function(e){t.isHtml(!!e)})},300):this.oEditor&&e(this.oEditor)}},s.prototype.onShow=function(e,t,s,n,r){S.routeOff();var l=this,u="",d="",p="",h="",g="",b=null,y=null,C="",v="",w=[],E={},A=m.accountEmail(),F=m.signature(),T=m.signatureToAll(),j=[],M=null,R=null,N=e||a.ComposeType.Empty,L=function(e,t){for(var s=0,o=e.length,i=[];o>s;s++)i.push(e[s].toLine(!!t));return i.join(", ")};if(t=t||null,t&&c.isNormal(t)&&(R=c.isArray(t)&&1===t.length?t[0]:c.isArray(t)?null:t),null!==A&&(E[A]=!0),this.currentIdentityID(this.findIdentityIdByMessage(N,R)),this.reset(),c.isNonEmptyArray(s)&&this.to(L(s)),""!==N&&R){switch(h=R.fullFormatDateValue(),g=R.subject(),M=R.aDraftInfo,b=o(R.body).clone(),c.removeBlockquoteSwitcher(b),y=b.find("[data-html-editor-font-wrapper=true]"),C=y&&y[0]?y.html():b.html(),N){case a.ComposeType.Empty:break;case a.ComposeType.Reply:this.to(L(R.replyEmails(E))),this.subject(c.replySubjectAdd("Re",g)),this.prepearMessageAttachments(R,N),this.aDraftInfo=["reply",R.uid,R.folderFullNameRaw],this.sInReplyTo=R.sMessageId,this.sReferences=c.trim(this.sInReplyTo+" "+R.sReferences);break;case a.ComposeType.ReplyAll:w=R.replyAllEmails(E),this.to(L(w[0])),this.cc(L(w[1])),this.subject(c.replySubjectAdd("Re",g)),this.prepearMessageAttachments(R,N),this.aDraftInfo=["reply",R.uid,R.folderFullNameRaw],this.sInReplyTo=R.sMessageId,this.sReferences=c.trim(this.sInReplyTo+" "+R.references());break;case a.ComposeType.Forward:this.subject(c.replySubjectAdd("Fwd",g)),this.prepearMessageAttachments(R,N),this.aDraftInfo=["forward",R.uid,R.folderFullNameRaw],this.sInReplyTo=R.sMessageId,this.sReferences=c.trim(this.sInReplyTo+" "+R.sReferences);break;case a.ComposeType.ForwardAsAttachment:this.subject(c.replySubjectAdd("Fwd",g)),this.prepearMessageAttachments(R,N),this.aDraftInfo=["forward",R.uid,R.folderFullNameRaw],this.sInReplyTo=R.sMessageId,this.sReferences=c.trim(this.sInReplyTo+" "+R.sReferences);break;case a.ComposeType.Draft:this.to(L(R.to)),this.cc(L(R.cc)),this.bcc(L(R.bcc)),this.bFromDraft=!0,this.draftFolder(R.folderFullNameRaw),this.draftUid(R.uid),this.subject(g),this.prepearMessageAttachments(R,N),this.aDraftInfo=c.isNonEmptyArray(M)&&3===M.length?M:null,this.sInReplyTo=R.sInReplyTo,this.sReferences=R.sReferences;break;case a.ComposeType.EditAsNew:this.to(L(R.to)),this.cc(L(R.cc)),this.bcc(L(R.bcc)),this.subject(g),this.prepearMessageAttachments(R,N),this.aDraftInfo=c.isNonEmptyArray(M)&&3===M.length?M:null,this.sInReplyTo=R.sInReplyTo,this.sReferences=R.sReferences}switch(N){case a.ComposeType.Reply:case a.ComposeType.ReplyAll:u=R.fromToLine(!1,!0),v=c.i18n("COMPOSE/REPLY_MESSAGE_TITLE",{DATETIME:h,EMAIL:u}),C="<br /><br />"+v+":<blockquote><p>"+C+"</p></blockquote>";break;case a.ComposeType.Forward:u=R.fromToLine(!1,!0),d=R.toToLine(!1,!0),p=R.ccToLine(!1,!0),C="<br /><br /><br />"+c.i18n("COMPOSE/FORWARD_MESSAGE_TOP_TITLE")+"<br />"+c.i18n("COMPOSE/FORWARD_MESSAGE_TOP_FROM")+": "+u+"<br />"+c.i18n("COMPOSE/FORWARD_MESSAGE_TOP_TO")+": "+d+(0<p.length?"<br />"+c.i18n("COMPOSE/FORWARD_MESSAGE_TOP_CC")+": "+p:"")+"<br />"+c.i18n("COMPOSE/FORWARD_MESSAGE_TOP_SENT")+": "+c.encodeHtml(h)+"<br />"+c.i18n("COMPOSE/FORWARD_MESSAGE_TOP_SUBJECT")+": "+c.encodeHtml(g)+"<br /><br />"+C;break;case a.ComposeType.ForwardAsAttachment:C=""}T&&""!==F&&a.ComposeType.EditAsNew!==N&&a.ComposeType.Draft!==N&&(C=this.convertSignature(F,L(R.from,!0),C,N)),this.editor(function(e){e.setHtml(C,!1),R.isHtml()||e.modeToggle(!1)})}else a.ComposeType.Empty===N?(this.subject(c.isNormal(n)?""+n:""),C=c.isNormal(r)?""+r:"",T&&""!==F&&(C=this.convertSignature(F,"",c.convertPlainTextToHtml(C),N)),this.editor(function(e){e.setHtml(C,!1),a.EditorDefaultType.Html!==m.editorDefaultType()&&e.modeToggle(!1)})):c.isNonEmptyArray(t)&&i.each(t,function(e){l.addMessageAsAttachment(e)});j=this.getAttachmentsDownloadsForUpload(),c.isNonEmptyArray(j)&&f.messageUploadAttachments(function(e,t){if(a.StorageResultType.Success===e&&t&&t.Result){var s=null,o="";if(!l.viewModelVisibility())for(o in t.Result)t.Result.hasOwnProperty(o)&&(s=l.getAttachmentById(t.Result[o]),s&&s.tempName(o))}else l.setMessageAttachmentFailedDowbloadText()},j),this.triggerForResize()},s.prototype.onFocus=function(){""===this.to()?this.to.focusTrigger(!this.to.focusTrigger()):this.oEditor&&this.oEditor.focus(),this.triggerForResize()},s.prototype.editorResize=function(){this.oEditor&&this.oEditor.resize()},s.prototype.tryToClosePopup=function(){var e=this;S.isPopupVisible(PopupsAskViewModel)||S.showScreenPopup(PopupsAskViewModel,[c.i18n("POPUPS_ASK/DESC_WANT_CLOSE_THIS_WINDOW"),function(){e.modalVisibility()&&c.delegateRun(e,"closeCommand")}])},s.prototype.onBuild=function(){this.initUploader();var e=this,t=null;key("ctrl+q, command+q",a.KeyState.Compose,function(){return e.identitiesDropdownTrigger(!0),!1}),key("ctrl+s, command+s",a.KeyState.Compose,function(){return e.saveCommand(),!1}),key("ctrl+enter, command+enter",a.KeyState.Compose,function(){return e.sendCommand(),!1}),key("esc",a.KeyState.Compose,function(){return e.modalVisibility()&&e.tryToClosePopup(),!1}),$window.on("resize",function(){e.triggerForResize()}),this.dropboxEnabled()&&(t=document.createElement("script"),t.type="text/javascript",t.src="https://www.dropbox.com/static/api/1/dropins.js",o(t).attr("id","dropboxjs").attr("data-app-key",h.settingsGet("DropboxApiKey")),document.body.appendChild(t)),this.driveEnabled()&&o.getScript("https://apis.google.com/js/api.js",function(){window.gapi&&e.driveVisible(!0)})},s.prototype.driveCallback=function(e,t){if(t&&window.XMLHttpRequest&&window.google&&t[window.google.picker.Response.ACTION]===window.google.picker.Action.PICKED&&t[window.google.picker.Response.DOCUMENTS]&&t[window.google.picker.Response.DOCUMENTS][0]&&t[window.google.picker.Response.DOCUMENTS][0].id){var s=this,o=new window.XMLHttpRequest;o.open("GET","https://www.googleapis.com/drive/v2/files/"+t[window.google.picker.Response.DOCUMENTS][0].id),o.setRequestHeader("Authorization","Bearer "+e),o.addEventListener("load",function(){if(o&&o.responseText){var t=JSON.parse(o.responseText),i=function(e,t,s){e&&e.exportLinks&&(e.exportLinks[t]?(e.downloadUrl=e.exportLinks[t],e.title=e.title+"."+s,e.mimeType=t):e.exportLinks["application/pdf"]&&(e.downloadUrl=e.exportLinks["application/pdf"],e.title=e.title+".pdf",e.mimeType="application/pdf"))};if(t&&!t.downloadUrl&&t.mimeType&&t.exportLinks)switch(t.mimeType.toString().toLowerCase()){case"application/vnd.google-apps.document":i(t,"application/vnd.openxmlformats-officedocument.wordprocessingml.document","docx");break;case"application/vnd.google-apps.spreadsheet":i(t,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","xlsx");break;case"application/vnd.google-apps.drawing":i(t,"image/png","png");break;case"application/vnd.google-apps.presentation":i(t,"application/vnd.openxmlformats-officedocument.presentationml.presentation","pptx");break;default:i(t,"application/pdf","pdf")}t&&t.downloadUrl&&s.addDriveAttachment(t,e)}}),o.send()}},s.prototype.driveCreatePiker=function(e){if(window.gapi&&e&&e.access_token){var t=this;window.gapi.load("picker",{callback:function(){if(window.google&&window.google.picker){var s=(new window.google.picker.PickerBuilder).addView((new window.google.picker.DocsView).setIncludeFolders(!0)).setAppId(h.settingsGet("GoogleClientID")).setOAuthToken(e.access_token).setCallback(i.bind(t.driveCallback,t,e.access_token)).enableFeature(window.google.picker.Feature.NAV_HIDDEN).build();s.setVisible(!0)}}})}},s.prototype.driveOpenPopup=function(){if(window.gapi){var e=this;window.gapi.load("auth",{callback:function(){var t=window.gapi.auth.getToken();t?e.driveCreatePiker(t):window.gapi.auth.authorize({client_id:h.settingsGet("GoogleClientID"),scope:"https://www.googleapis.com/auth/drive.readonly",immediate:!0},function(t){if(t&&!t.error){var s=window.gapi.auth.getToken();s&&e.driveCreatePiker(s)}else window.gapi.auth.authorize({client_id:h.settingsGet("GoogleClientID"),scope:"https://www.googleapis.com/auth/drive.readonly",immediate:!1},function(t){if(t&&!t.error){var s=window.gapi.auth.getToken();s&&e.driveCreatePiker(s)}})})}})}},s.prototype.getAttachmentById=function(e){for(var t=this.attachments(),s=0,o=t.length;o>s;s++)if(t[s]&&e===t[s].id)return t[s];return null},s.prototype.initUploader=function(){if(this.composeUploaderButton()){var e={},t=c.pInt(h.settingsGet("AttachmentLimit")),s=new Jua({action:u.upload(),name:"uploader",queueSize:2,multipleSizeLimit:50,disableFolderDragAndDrop:!1,clickElement:this.composeUploaderButton(),dragAndDropElement:this.composeUploaderDropPlace()});s?(s.on("onDragEnter",i.bind(function(){this.dragAndDropOver(!0)},this)).on("onDragLeave",i.bind(function(){this.dragAndDropOver(!1)},this)).on("onBodyDragEnter",i.bind(function(){this.dragAndDropVisible(!0)},this)).on("onBodyDragLeave",i.bind(function(){this.dragAndDropVisible(!1)},this)).on("onProgress",i.bind(function(t,s,o){var i=null;c.isUnd(e[t])?(i=this.getAttachmentById(t),i&&(e[t]=i)):i=e[t],i&&i.progress(" - "+Math.floor(s/o*100)+"%")},this)).on("onSelect",i.bind(function(e,o){this.dragAndDropOver(!1);var i=this,n=c.isUnd(o.FileName)?"":o.FileName.toString(),r=c.isNormal(o.Size)?c.pInt(o.Size):null,a=new ComposeAttachmentModel(e,n,r);return a.cancel=function(e){return function(){i.attachments.remove(function(t){return t&&t.id===e}),s&&s.cancel(e)}}(e),this.attachments.push(a),r>0&&t>0&&r>t?(a.error(c.i18n("UPLOAD/ERROR_FILE_IS_TOO_BIG")),!1):!0},this)).on("onStart",i.bind(function(t){var s=null;c.isUnd(e[t])?(s=this.getAttachmentById(t),s&&(e[t]=s)):s=e[t],s&&(s.waiting(!1),s.uploading(!0))},this)).on("onComplete",i.bind(function(t,s,o){var i="",n=null,r=null,a=this.getAttachmentById(t);r=s&&o&&o.Result&&o.Result.Attachment?o.Result.Attachment:null,n=o&&o.Result&&o.Result.ErrorCode?o.Result.ErrorCode:null,null!==n?i=c.getUploadErrorDescByCode(n):r||(i=c.i18n("UPLOAD/ERROR_UNKNOWN")),a&&(""!==i&&0<i.length?a.waiting(!1).uploading(!1).error(i):r&&(a.waiting(!1).uploading(!1),a.initByUploadJson(r)),c.isUnd(e[t])&&delete e[t])},this)),this.addAttachmentEnabled(!0).dragAndDropEnabled(s.isDragAndDropSupported())):this.addAttachmentEnabled(!1).dragAndDropEnabled(!1)}},s.prototype.prepearAttachmentsForSendOrSave=function(){var e={};return i.each(this.attachmentsInReady(),function(t){t&&""!==t.tempName()&&t.enabled()&&(e[t.tempName()]=[t.fileName(),t.isInline?"1":"0",t.CID,t.contentLocation])}),e},s.prototype.addMessageAsAttachment=function(e){if(e){var t=this,s=null,o=e.subject(),i=function(e){return function(){t.attachments.remove(function(t){return t&&t.id===e})}};o=".eml"===o.substr(-4).toLowerCase()?o:o+".eml",s=new ComposeAttachmentModel(e.requestHash,o,e.size()),s.fromMessage=!0,s.cancel=i(e.requestHash),s.waiting(!1).uploading(!0),this.attachments.push(s)}},s.prototype.addDropboxAttachment=function(e){var t=this,s=null,o=function(e){return function(){t.attachments.remove(function(t){return t&&t.id===e})}},i=c.pInt(h.settingsGet("AttachmentLimit")),n=e.bytes;return s=new ComposeAttachmentModel(e.link,e.name,n),s.fromMessage=!1,s.cancel=o(e.link),s.waiting(!1).uploading(!0),this.attachments.push(s),n>0&&i>0&&n>i?(s.uploading(!1),s.error(c.i18n("UPLOAD/ERROR_FILE_IS_TOO_BIG")),!1):(f.composeUploadExternals(function(e,t){var o=!1;s.uploading(!1),a.StorageResultType.Success===e&&t&&t.Result&&t.Result[s.id]&&(o=!0,s.tempName(t.Result[s.id])),o||s.error(c.getUploadErrorDescByCode(a.UploadErrorCode.FileNoUploaded))},[e.link]),!0)},s.prototype.addDriveAttachment=function(e,t){var s=this,o=function(e){return function(){s.attachments.remove(function(t){return t&&t.id===e})}},i=c.pInt(h.settingsGet("AttachmentLimit")),n=null,r=e.fileSize?c.pInt(e.fileSize):0;return n=new ComposeAttachmentModel(e.downloadUrl,e.title,r),n.fromMessage=!1,n.cancel=o(e.downloadUrl),n.waiting(!1).uploading(!0),this.attachments.push(n),r>0&&i>0&&r>i?(n.uploading(!1),n.error(c.i18n("UPLOAD/ERROR_FILE_IS_TOO_BIG")),!1):(f.composeUploadDrive(function(e,t){var s=!1;n.uploading(!1),a.StorageResultType.Success===e&&t&&t.Result&&t.Result[n.id]&&(s=!0,n.tempName(t.Result[n.id][0]),n.size(c.pInt(t.Result[n.id][1]))),s||n.error(c.getUploadErrorDescByCode(a.UploadErrorCode.FileNoUploaded))},e.downloadUrl,t),!0)},s.prototype.prepearMessageAttachments=function(e,t){if(e){var s=this,o=c.isNonEmptyArray(e.attachments())?e.attachments():[],i=0,n=o.length,r=null,l=null,u=!1,d=function(e){return function(){s.attachments.remove(function(t){return t&&t.id===e})}};if(a.ComposeType.ForwardAsAttachment===t)this.addMessageAsAttachment(e);else for(;n>i;i++){switch(l=o[i],u=!1,t){case a.ComposeType.Reply:case a.ComposeType.ReplyAll:u=l.isLinked;break;case a.ComposeType.Forward:case a.ComposeType.Draft:case a.ComposeType.EditAsNew:u=!0}u&&(r=new ComposeAttachmentModel(l.download,l.fileName,l.estimatedSize,l.isInline,l.isLinked,l.cid,l.contentLocation),r.fromMessage=!0,r.cancel=d(l.download),r.waiting(!1).uploading(!0),this.attachments.push(r))}}},s.prototype.removeLinkedAttachments=function(){this.attachments.remove(function(e){return e&&e.isLinked})},s.prototype.setMessageAttachmentFailedDowbloadText=function(){i.each(this.attachments(),function(e){e&&e.fromMessage&&e.waiting(!1).uploading(!1).error(c.getUploadErrorDescByCode(a.UploadErrorCode.FileNoUploaded))},this)},s.prototype.isEmptyForm=function(e){e=c.isUnd(e)?!0:!!e;var t=e?0===this.attachments().length:0===this.attachmentsInReady().length;return 0===this.to().length&&0===this.cc().length&&0===this.bcc().length&&0===this.subject().length&&t&&(!this.oEditor||""===this.oEditor.getData())},s.prototype.reset=function(){this.to(""),this.cc(""),this.bcc(""),this.replyTo(""),this.subject(""),this.requestReadReceipt(!1),this.aDraftInfo=null,this.sInReplyTo="",this.bFromDraft=!1,this.sReferences="",this.sendError(!1),this.sendSuccessButSaveError(!1),this.savedError(!1),this.savedTime(0),this.savedOrSendingText(""),this.emptyToError(!1),this.attachmentsInProcessError(!1),this.showCcAndBcc(!1),this.attachments([]),this.dragAndDropOver(!1),this.dragAndDropVisible(!1),this.draftFolder(""),this.draftUid(""),this.sending(!1),this.saving(!1),this.oEditor&&this.oEditor.clear(!1)},s.prototype.getAttachmentsDownloadsForUpload=function(){return i.map(i.filter(this.attachments(),function(e){return e&&""===e.tempName()}),function(e){return e.id})},s.prototype.triggerForResize=function(){this.resizer(!this.resizer()),this.editorResizeThrottle()},t.exports=new s}(t)},{"../../Boots/RainLoopApp.js":4,"../../Common/Consts.js":6,"../../Common/Enums.js":7,"../../Common/Events.js":8,"../../Common/LinkBuilder.js":10,"../../Common/NewHtmlEditorWrapper.js":11,"../../Common/Utils.js":14,"../../External/jquery.js":26,"../../External/ko.js":28,"../../External/moment.js":29,"../../External/underscore.js":31,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36,"../../Storages/AppSettings.js":59,"../../Storages/WebMailAjaxRemoteStorage.js":63,"../../Storages/WebMailCacheStorage.js":64,"../../Storages/WebMailDataStorage.js":65}],76:[function(e,t){!function(t){"use strict";function s(){l.call(this,"Popups","PopupsFilter"),this.filter=o.observable(null),this.selectedFolderValue=o.observable(i.Values.UnuseOptionValue),this.folderSelectList=r.folderMenuForMove,this.defautOptionsAfterRender=n.defautOptionsAfterRender,a.constructorEnd(this)}var o=e("../../External/ko.js"),i=e("../../Common/Consts.js"),n=e("../../Common/Utils.js"),r=e("../../Storages/WebMailDataStorage.js"),a=e("../../Knoin/Knoin.js"),l=e("../../Knoin/KnoinAbstractViewModel.js");a.extendAsViewModel("PopupsFilterViewModel",s),s.prototype.clearPopup=function(){},s.prototype.onShow=function(e){this.clearPopup(),this.filter(e)},t.exports=new s}(t)},{"../../Common/Consts.js":6,"../../Common/Utils.js":14,"../../External/ko.js":28,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36,"../../Storages/WebMailDataStorage.js":65}],77:[function(e,t){!function(t){"use strict";function s(){d.call(this,"Popups","PopupsFolderCreate"),r.initOnStartOrLangChange(function(){this.sNoParentText=r.i18n("POPUPS_CREATE_FOLDER/SELECT_NO_PARENT")},this),this.folderName=o.observable(""),this.folderName.focused=o.observable(!1),this.selectedParentValue=o.observable(n.Values.UnuseOptionValue),this.parentFolderSelectList=o.computed(function(){var e=[],t=null,s=null,o=a.folderList(),i=function(e){return e?e.isSystemFolder()?e.name()+" "+e.manageFolderSystemName():e.name():""};return e.push(["",this.sNoParentText]),""!==a.namespace&&(t=function(e){return a.namespace!==e.fullNameRaw.substr(0,a.namespace.length)}),r.folderListOptionsBuilder([],o,[],e,null,t,s,i)},this),this.createFolder=r.createCommand(this,function(){var e=this.selectedParentValue();""===e&&1<a.namespace.length&&(e=a.namespace.substr(0,a.namespace.length-1)),a.foldersCreating(!0),l.folderCreate(function(e,t){a.foldersCreating(!1),i.StorageResultType.Success===e&&t&&t.Result?c.folders():a.foldersListError(t&&t.ErrorCode?r.getNotification(t.ErrorCode):r.i18n("NOTIFICATIONS/CANT_CREATE_FOLDER"))},this.folderName(),e),this.cancelCommand()},function(){return this.simpleFolderNameValidation(this.folderName())}),this.defautOptionsAfterRender=r.defautOptionsAfterRender,u.constructorEnd(this)}var o=e("../../External/ko.js"),i=e("../../Common/Enums.js"),n=e("../../Common/Consts.js"),r=e("../../Common/Utils.js"),a=e("../../Storages/WebMailDataStorage.js"),l=e("../../Storages/WebMailAjaxRemoteStorage.js"),c=e("../../Boots/RainLoopApp.js"),u=e("../../Knoin/Knoin.js"),d=e("../../Knoin/KnoinAbstractViewModel.js");u.extendAsViewModel("PopupsFolderCreateViewModel",s),s.prototype.sNoParentText="",s.prototype.simpleFolderNameValidation=function(e){return/^[^\\\/]+$/g.test(r.trim(e))},s.prototype.clearPopup=function(){this.folderName(""),this.selectedParentValue(""),this.folderName.focused(!1)},s.prototype.onShow=function(){this.clearPopup()},s.prototype.onFocus=function(){this.folderName.focused(!0)},t.exports=new s}(t)},{"../../Boots/RainLoopApp.js":4,"../../Common/Consts.js":6,"../../Common/Enums.js":7,"../../Common/Utils.js":14,"../../External/ko.js":28,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36,"../../Storages/WebMailAjaxRemoteStorage.js":63,"../../Storages/WebMailDataStorage.js":65}],78:[function(e,t){!function(t){"use strict";function s(){d.call(this,"Popups","PopupsFolderSystem"),r.initOnStartOrLangChange(function(){this.sChooseOnText=r.i18n("POPUPS_SYSTEM_FOLDERS/SELECT_CHOOSE_ONE"),this.sUnuseText=r.i18n("POPUPS_SYSTEM_FOLDERS/SELECT_UNUSE_NAME")},this),this.notification=o.observable(""),this.folderSelectList=o.computed(function(){return r.folderListOptionsBuilder([],l.folderList(),l.folderListSystemNames(),[["",this.sChooseOnText],[n.Values.UnuseOptionValue,this.sUnuseText]])},this);var e=this,t=null,s=null;this.sentFolder=l.sentFolder,this.draftFolder=l.draftFolder,this.spamFolder=l.spamFolder,this.trashFolder=l.trashFolder,this.archiveFolder=l.archiveFolder,t=_.debounce(function(){a.settingsSet("SentFolder",e.sentFolder()),a.settingsSet("DraftFolder",e.draftFolder()),a.settingsSet("SpamFolder",e.spamFolder()),a.settingsSet("TrashFolder",e.trashFolder()),a.settingsSet("ArchiveFolder",e.archiveFolder()),c.saveSystemFolders(r.emptyFunction,{SentFolder:e.sentFolder(),DraftFolder:e.draftFolder(),SpamFolder:e.spamFolder(),TrashFolder:e.trashFolder(),ArchiveFolder:e.archiveFolder(),NullFolder:"NullFolder"})},1e3),s=function(){a.settingsSet("SentFolder",e.sentFolder()),a.settingsSet("DraftFolder",e.draftFolder()),a.settingsSet("SpamFolder",e.spamFolder()),a.settingsSet("TrashFolder",e.trashFolder()),a.settingsSet("ArchiveFolder",e.archiveFolder()),t()},this.sentFolder.subscribe(s),this.draftFolder.subscribe(s),this.spamFolder.subscribe(s),this.trashFolder.subscribe(s),this.archiveFolder.subscribe(s),this.defautOptionsAfterRender=r.defautOptionsAfterRender,u.constructorEnd(this)}var o=e("../../External/ko.js"),i=e("../../Common/Enums.js"),n=e("../../Common/Consts.js"),r=e("../../Common/Utils.js"),a=e("../../Storages/AppSettings.js"),l=e("../../Storages/WebMailDataStorage.js"),c=e("../../Storages/WebMailAjaxRemoteStorage.js"),u=(e("../../Boots/RainLoopApp.js"),e("../../Knoin/Knoin.js")),d=e("../../Knoin/KnoinAbstractViewModel.js");u.extendAsViewModel("PopupsFolderSystemViewModel",s),s.prototype.sChooseOnText="",s.prototype.sUnuseText="",s.prototype.onShow=function(e){var t="";switch(e=r.isUnd(e)?i.SetSystemFoldersNotification.None:e){case i.SetSystemFoldersNotification.Sent:t=r.i18n("POPUPS_SYSTEM_FOLDERS/NOTIFICATION_SENT");break;case i.SetSystemFoldersNotification.Draft:t=r.i18n("POPUPS_SYSTEM_FOLDERS/NOTIFICATION_DRAFTS");break;case i.SetSystemFoldersNotification.Spam:t=r.i18n("POPUPS_SYSTEM_FOLDERS/NOTIFICATION_SPAM");break;case i.SetSystemFoldersNotification.Trash:t=r.i18n("POPUPS_SYSTEM_FOLDERS/NOTIFICATION_TRASH");break;case i.SetSystemFoldersNotification.Archive:t=r.i18n("POPUPS_SYSTEM_FOLDERS/NOTIFICATION_ARCHIVE")}this.notification(t)},t.exports=new s}(t)},{"../../Boots/RainLoopApp.js":4,"../../Common/Consts.js":6,"../../Common/Enums.js":7,"../../Common/Utils.js":14,"../../External/ko.js":28,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36,"../../Storages/AppSettings.js":59,"../../Storages/WebMailAjaxRemoteStorage.js":63,"../../Storages/WebMailDataStorage.js":65}],79:[function(e,t){!function(t){"use strict";
function s(){c.call(this,"Popups","PopupsGenerateNewOpenPgpKey"),this.email=i.observable(""),this.email.focus=i.observable(""),this.email.error=i.observable(!1),this.name=i.observable(""),this.password=i.observable(""),this.keyBitLength=i.observable(2048),this.submitRequest=i.observable(!1),this.email.subscribe(function(){this.email.error(!1)},this),this.generateOpenPgpKeyCommand=n.createCommand(this,function(){var e=this,t="",s=null,i=r.openpgpKeyring;return this.email.error(""===n.trim(this.email())),!i||this.email.error()?!1:(t=this.email(),""!==this.name()&&(t=this.name()+" <"+t+">"),this.submitRequest(!0),_.delay(function(){s=o.openpgp.generateKeyPair({userId:t,numBits:n.pInt(e.keyBitLength()),passphrase:n.trim(e.password())}),s&&s.privateKeyArmored&&(i.privateKeys.importKey(s.privateKeyArmored),i.publicKeys.importKey(s.publicKeyArmored),i.store(),a.reloadOpenPgpKeys(),n.delegateRun(e,"cancelCommand")),e.submitRequest(!1)},100),!0)}),l.constructorEnd(this)}var o=e("../../External/window.js"),i=e("../../External/ko.js"),n=e("../../Common/Utils.js"),r=e("../../Storages/WebMailDataStorage.js"),a=e("../../Boots/RainLoopApp.js"),l=e("../../Knoin/Knoin.js"),c=e("../../Knoin/KnoinAbstractViewModel.js");l.extendAsViewModel("PopupsGenerateNewOpenPgpKeyViewModel",s),s.prototype.clearPopup=function(){this.name(""),this.password(""),this.email(""),this.email.error(!1),this.keyBitLength(2048)},s.prototype.onShow=function(){this.clearPopup()},s.prototype.onFocus=function(){this.email.focus(!0)},t.exports=new s}(t)},{"../../Boots/RainLoopApp.js":4,"../../Common/Utils.js":14,"../../External/ko.js":28,"../../External/window.js":32,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36,"../../Storages/WebMailDataStorage.js":65}],80:[function(e,t){!function(t){"use strict";function s(){u.call(this,"Popups","PopupsIdentity"),this.id="",this.edit=o.observable(!1),this.owner=o.observable(!1),this.email=o.observable("").validateEmail(),this.email.focused=o.observable(!1),this.name=o.observable(""),this.name.focused=o.observable(!1),this.replyTo=o.observable("").validateSimpleEmail(),this.replyTo.focused=o.observable(!1),this.bcc=o.observable("").validateSimpleEmail(),this.bcc.focused=o.observable(!1),this.submitRequest=o.observable(!1),this.submitError=o.observable(""),this.addOrEditIdentityCommand=n.createCommand(this,function(){return this.email.hasError()||this.email.hasError(""===n.trim(this.email())),this.email.hasError()?(this.owner()||this.email.focused(!0),!1):this.replyTo.hasError()?(this.replyTo.focused(!0),!1):this.bcc.hasError()?(this.bcc.focused(!0),!1):(this.submitRequest(!0),a.identityUpdate(_.bind(function(e,t){this.submitRequest(!1),i.StorageResultType.Success===e&&t?t.Result?(c.accountsAndIdentities(),this.cancelCommand()):t.ErrorCode&&this.submitError(n.getNotification(t.ErrorCode)):this.submitError(n.getNotification(i.Notification.UnknownError))},this),this.id,this.email(),this.name(),this.replyTo(),this.bcc()),!0)},function(){return!this.submitRequest()}),this.label=o.computed(function(){return n.i18n("POPUPS_IDENTITIES/"+(this.edit()?"TITLE_UPDATE_IDENTITY":"TITLE_ADD_IDENTITY"))},this),this.button=o.computed(function(){return n.i18n("POPUPS_IDENTITIES/"+(this.edit()?"BUTTON_UPDATE_IDENTITY":"BUTTON_ADD_IDENTITY"))},this),r.constructorEnd(this)}var o=e("../../External/ko.js"),i=e("../../Common/Enums.js"),n=e("../../Common/Utils.js"),r=e("../../Knoin/Knoin.js"),a=e("../../Storages/WebMailAjaxRemoteStorage.js"),l=e("../../Storages/WebMailDataStorage.js"),c=e("../../Boots/RainLoopApp.js"),u=e("../../Knoin/KnoinAbstractViewModel.js");r.extendAsViewModel("PopupsIdentityViewModel",s),s.prototype.clearPopup=function(){this.id="",this.edit(!1),this.owner(!1),this.name(""),this.email(""),this.replyTo(""),this.bcc(""),this.email.hasError(!1),this.replyTo.hasError(!1),this.bcc.hasError(!1),this.submitRequest(!1),this.submitError("")},s.prototype.onShow=function(e){this.clearPopup(),e&&(this.edit(!0),this.id=e.id,this.name(e.name()),this.email(e.email()),this.replyTo(e.replyTo()),this.bcc(e.bcc()),this.owner(this.id===l.accountEmail()))},s.prototype.onFocus=function(){this.owner()||this.email.focused(!0)},t.exports=new s}(t)},{"../../Boots/RainLoopApp.js":4,"../../Common/Enums.js":7,"../../Common/Utils.js":14,"../../External/ko.js":28,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36,"../../Storages/WebMailAjaxRemoteStorage.js":63,"../../Storages/WebMailDataStorage.js":65}],81:[function(e,t){!function(t){"use strict";function s(){a.call(this,"Popups","PopupsKeyboardShortcutsHelp"),this.sDefaultKeyScope=n.KeyState.PopupKeyboardShortcutsHelp,r.constructorEnd(this)}var o=e("../../External/underscore.js"),i=e("../../External/key.js"),n=e("../../Common/Enums.js"),r=(e("../../Common/Utils.js"),e("../../Knoin/Knoin.js")),a=e("../../Knoin/KnoinAbstractViewModel.js");r.extendAsViewModel("PopupsKeyboardShortcutsHelpViewModel",s),s.prototype.onBuild=function(e){i("tab, shift+tab, left, right",n.KeyState.PopupKeyboardShortcutsHelp,o.bind(function(t,s){if(t&&s){var o=e.find(".nav.nav-tabs > li"),i=s&&("tab"===s.shortcut||"right"===s.shortcut),n=o.index(o.filter(".active"));return!i&&n>0?n--:i&&n<o.length-1?n++:n=i?0:o.length-1,o.eq(n).find('a[data-toggle="tab"]').tab("show"),!1}},this))},t.exports=new AdminPaneViewModel}(t)},{"../../Common/Enums.js":7,"../../Common/Utils.js":14,"../../External/key.js":27,"../../External/underscore.js":31,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36}],82:[function(e,t){!function(t){"use strict";function s(){l.call(this,"Popups","PopupsLanguages"),this.exp=i.observable(!1),this.languages=i.computed(function(){return o.map(r.languages(),function(e){return{key:e,selected:i.observable(!1),fullName:n.convertLangName(e)}})}),r.mainLanguage.subscribe(function(){this.resetMainLanguage()},this),a.constructorEnd(this)}var o=e("../../External/underscore.js"),i=e("../../External/ko.js"),n=e("../../Common/Utils.js"),r=e("../../Storages/WebMailDataStorage.js"),a=e("../../Knoin/Knoin.js"),l=e("../../Knoin/KnoinAbstractViewModel.js");a.extendAsViewModel("PopupsLanguagesViewModel",s),s.prototype.languageEnName=function(e){return n.convertLangName(e,!0)},s.prototype.resetMainLanguage=function(){var e=r.mainLanguage();o.each(this.languages(),function(t){t.selected(t.key===e)})},s.prototype.onShow=function(){this.exp(!0),this.resetMainLanguage()},s.prototype.onHide=function(){this.exp(!1)},s.prototype.changeLanguage=function(e){r.mainLanguage(e),this.cancelCommand()},t.exports=new s}(t)},{"../../Common/Utils.js":14,"../../External/ko.js":28,"../../External/underscore.js":31,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36,"../../Storages/WebMailDataStorage.js":65}],83:[function(e,t){!function(t){"use strict";function s(){l.call(this,"Popups","PopupsTwoFactorTest");var e=this;this.code=o.observable(""),this.code.focused=o.observable(!1),this.code.status=o.observable(null),this.testing=o.observable(!1),this.testCode=n.createCommand(this,function(){this.testing(!0),r.testTwoFactor(function(t,s){e.testing(!1),e.code.status(i.StorageResultType.Success===t&&s&&s.Result?!0:!1)},this.code())},function(){return""!==this.code()&&!this.testing()}),a.constructorEnd(this)}var o=e("../../External/ko.js"),i=e("../../Common/Enums.js"),n=e("../../Common/Utils.js"),r=e("../../Storages/WebMailAjaxRemoteStorage.js"),a=e("../../Knoin/Knoin.js"),l=e("../../Knoin/KnoinAbstractViewModel.js");a.extendAsViewModel("PopupsTwoFactorTestViewModel",s),s.prototype.clearPopup=function(){this.code(""),this.code.focused(!1),this.code.status(null),this.testing(!1)},s.prototype.onShow=function(){this.clearPopup()},s.prototype.onFocus=function(){this.code.focused(!0)},t.exports=new s}(t)},{"../../Common/Enums.js":7,"../../Common/Utils.js":14,"../../External/ko.js":28,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36,"../../Storages/WebMailAjaxRemoteStorage.js":63}],84:[function(e,t){!function(t){"use strict";function s(){r.call(this,"Popups","PopupsViewOpenPgpKey"),this.key=o.observable(""),this.keyDom=o.observable(null),n.constructorEnd(this)}var o=e("../../External/ko.js"),i=e("../../Common/Utils.js"),n=e("../../Knoin/Knoin.js"),r=e("../../Knoin/KnoinAbstractViewModel.js");n.extendAsViewModel("PopupsViewOpenPgpKeyViewModel",s),s.prototype.clearPopup=function(){this.key("")},s.prototype.selectKey=function(){var e=this.keyDom();e&&i.selectElement(e)},s.prototype.onShow=function(e){this.clearPopup(),e&&this.key(e.armor)},t.exports=new s}(t)},{"../../Common/Utils.js":14,"../../External/ko.js":28,"../../Knoin/Knoin.js":33,"../../Knoin/KnoinAbstractViewModel.js":36}],85:[function(e,t){!function(t){"use strict";function s(e){r.call(this,"Left","SettingsMenu"),this.leftPanelDisabled=i.leftPanelDisabled,this.menu=e.menu,n.constructorEnd(this)}var o=e("../Common/LinkBuilder.js"),i=e("../Common/Globals.js"),n=e("../Knoin/Knoin.js"),r=e("../Knoin/KnoinAbstractViewModel.js");n.extendAsViewModel("SettingsMenuViewModel",s),s.prototype.link=function(e){return o.settings(e)},s.prototype.backToMailBoxClick=function(){n.setHash(o.inbox())},t.exports=s}(t)},{"../Common/Globals.js":9,"../Common/LinkBuilder.js":10,"../Knoin/Knoin.js":33,"../Knoin/KnoinAbstractViewModel.js":36}],86:[function(e,t){!function(t){"use strict";function s(){l.call(this,"Right","SettingsPane"),a.constructorEnd(this)}var o=e("../External/key.js"),i=e("../Common/Enums.js"),n=e("../Common/LinkBuilder.js"),r=e("../Storages/WebMailDataStorage.js"),a=e("../Knoin/Knoin.js"),l=e("../Knoin/KnoinAbstractViewModel.js");a.extendAsViewModel("SettingsPaneViewModel",s),s.prototype.onBuild=function(){var e=this;o("esc",i.KeyState.Settings,function(){e.backToMailBoxClick()})},s.prototype.onShow=function(){r.message(null)},s.prototype.backToMailBoxClick=function(){a.setHash(n.inbox())},t.exports=s}(t)},{"../Common/Enums.js":7,"../Common/LinkBuilder.js":10,"../External/key.js":27,"../Knoin/Knoin.js":33,"../Knoin/KnoinAbstractViewModel.js":36,"../Storages/WebMailDataStorage.js":65}],87:[function(e,t){!function(t){"use strict";function s(){i.call(this),o.constructorEnd(this)}var o=e("../Knoin/Knoin.js"),i=e("./AbstractSystemDropDownViewModel.js");o.extendAsViewModel("SettingsSystemDropDownViewModel",s,i),t.exports=s}(t)},{"../Knoin/Knoin.js":33,"./AbstractSystemDropDownViewModel.js":66}]},{},[1]);