appLazy.js 1.0 MB

12
  1. !function(e){var t={};function a(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,a),o.l=!0,o.exports}a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=1)}({"./node_modules/babel-runtime/core-js/array/from.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/array/from.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/get-iterator.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/get-iterator.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/is-iterable.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/is-iterable.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/json/stringify.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/json/stringify.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/object/assign.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/object/assign.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/object/create.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/object/create.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/object/define-properties.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/object/define-properties.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/object/define-property.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/object/define-property.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/object/freeze.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/object/freeze.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/object/keys.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/object/keys.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/promise.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/promise.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/symbol.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/symbol/index.js"),__esModule:!0}},"./node_modules/babel-runtime/core-js/symbol/iterator.js":function(e,t,a){e.exports={default:a("./node_modules/core-js/library/fn/symbol/iterator.js"),__esModule:!0}},"./node_modules/babel-runtime/helpers/asyncToGenerator.js":function(e,t,a){"use strict";t.__esModule=!0;var n,o=a("./node_modules/babel-runtime/core-js/promise.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(e){return function(){var t=e.apply(this,arguments);return new r.default(function(e,a){return function n(o,s){try{var i=t[o](s),l=i.value}catch(e){return void a(e)}if(!i.done)return r.default.resolve(l).then(function(e){n("next",e)},function(e){n("throw",e)});e(l)}("next")})}}},"./node_modules/babel-runtime/helpers/classCallCheck.js":function(e,t,a){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},"./node_modules/babel-runtime/helpers/createClass.js":function(e,t,a){"use strict";t.__esModule=!0;var n,o=a("./node_modules/babel-runtime/core-js/object/define-property.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),(0,r.default)(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}()},"./node_modules/babel-runtime/helpers/defineProperty.js":function(e,t,a){"use strict";t.__esModule=!0;var n,o=a("./node_modules/babel-runtime/core-js/object/define-property.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(e,t,a){return t in e?(0,r.default)(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}},"./node_modules/babel-runtime/helpers/extends.js":function(e,t,a){"use strict";t.__esModule=!0;var n,o=a("./node_modules/babel-runtime/core-js/object/assign.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=r.default||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}},"./node_modules/babel-runtime/helpers/slicedToArray.js":function(e,t,a){"use strict";t.__esModule=!0;var n=r(a("./node_modules/babel-runtime/core-js/is-iterable.js")),o=r(a("./node_modules/babel-runtime/core-js/get-iterator.js"));function r(e){return e&&e.__esModule?e:{default:e}}t.default=function(){return function(e,t){if(Array.isArray(e))return e;if((0,n.default)(Object(e)))return function(e,t){var a=[],n=!0,r=!1,s=void 0;try{for(var i,l=(0,o.default)(e);!(n=(i=l.next()).done)&&(a.push(i.value),!t||a.length!==t);n=!0);}catch(e){r=!0,s=e}finally{try{!n&&l.return&&l.return()}finally{if(r)throw s}}return a}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},"./node_modules/babel-runtime/helpers/taggedTemplateLiteral.js":function(e,t,a){"use strict";t.__esModule=!0;var n=r(a("./node_modules/babel-runtime/core-js/object/define-properties.js")),o=r(a("./node_modules/babel-runtime/core-js/object/freeze.js"));function r(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){return(0,o.default)((0,n.default)(e,{raw:{value:(0,o.default)(t)}}))}},"./node_modules/babel-runtime/helpers/toArray.js":function(e,t,a){"use strict";t.__esModule=!0;var n,o=a("./node_modules/babel-runtime/core-js/array/from.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(e){return Array.isArray(e)?e:(0,r.default)(e)}},"./node_modules/babel-runtime/helpers/toConsumableArray.js":function(e,t,a){"use strict";t.__esModule=!0;var n,o=a("./node_modules/babel-runtime/core-js/array/from.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return(0,r.default)(e)}},"./node_modules/babel-runtime/helpers/typeof.js":function(e,t,a){"use strict";t.__esModule=!0;var n=s(a("./node_modules/babel-runtime/core-js/symbol/iterator.js")),o=s(a("./node_modules/babel-runtime/core-js/symbol.js")),r="function"==typeof o.default&&"symbol"==typeof n.default?function(e){return typeof e}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":typeof e};function s(e){return e&&e.__esModule?e:{default:e}}t.default="function"==typeof o.default&&"symbol"===r(n.default)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":void 0===e?"undefined":r(e)}},"./node_modules/babel-runtime/regenerator/index.js":function(e,t,a){e.exports=a("./node_modules/regenerator-runtime/runtime-module.js")},"./node_modules/core-js/library/fn/array/from.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.string.iterator.js"),a("./node_modules/core-js/library/modules/es6.array.from.js"),e.exports=a("./node_modules/core-js/library/modules/_core.js").Array.from},"./node_modules/core-js/library/fn/get-iterator.js":function(e,t,a){a("./node_modules/core-js/library/modules/web.dom.iterable.js"),a("./node_modules/core-js/library/modules/es6.string.iterator.js"),e.exports=a("./node_modules/core-js/library/modules/core.get-iterator.js")},"./node_modules/core-js/library/fn/is-iterable.js":function(e,t,a){a("./node_modules/core-js/library/modules/web.dom.iterable.js"),a("./node_modules/core-js/library/modules/es6.string.iterator.js"),e.exports=a("./node_modules/core-js/library/modules/core.is-iterable.js")},"./node_modules/core-js/library/fn/json/stringify.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_core.js"),o=n.JSON||(n.JSON={stringify:JSON.stringify});e.exports=function(e){return o.stringify.apply(o,arguments)}},"./node_modules/core-js/library/fn/object/assign.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.object.assign.js"),e.exports=a("./node_modules/core-js/library/modules/_core.js").Object.assign},"./node_modules/core-js/library/fn/object/create.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.object.create.js");var n=a("./node_modules/core-js/library/modules/_core.js").Object;e.exports=function(e,t){return n.create(e,t)}},"./node_modules/core-js/library/fn/object/define-properties.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.object.define-properties.js");var n=a("./node_modules/core-js/library/modules/_core.js").Object;e.exports=function(e,t){return n.defineProperties(e,t)}},"./node_modules/core-js/library/fn/object/define-property.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.object.define-property.js");var n=a("./node_modules/core-js/library/modules/_core.js").Object;e.exports=function(e,t,a){return n.defineProperty(e,t,a)}},"./node_modules/core-js/library/fn/object/freeze.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.object.freeze.js"),e.exports=a("./node_modules/core-js/library/modules/_core.js").Object.freeze},"./node_modules/core-js/library/fn/object/keys.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.object.keys.js"),e.exports=a("./node_modules/core-js/library/modules/_core.js").Object.keys},"./node_modules/core-js/library/fn/promise.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.object.to-string.js"),a("./node_modules/core-js/library/modules/es6.string.iterator.js"),a("./node_modules/core-js/library/modules/web.dom.iterable.js"),a("./node_modules/core-js/library/modules/es6.promise.js"),a("./node_modules/core-js/library/modules/es7.promise.finally.js"),a("./node_modules/core-js/library/modules/es7.promise.try.js"),e.exports=a("./node_modules/core-js/library/modules/_core.js").Promise},"./node_modules/core-js/library/fn/symbol/index.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.symbol.js"),a("./node_modules/core-js/library/modules/es6.object.to-string.js"),a("./node_modules/core-js/library/modules/es7.symbol.async-iterator.js"),a("./node_modules/core-js/library/modules/es7.symbol.observable.js"),e.exports=a("./node_modules/core-js/library/modules/_core.js").Symbol},"./node_modules/core-js/library/fn/symbol/iterator.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.string.iterator.js"),a("./node_modules/core-js/library/modules/web.dom.iterable.js"),e.exports=a("./node_modules/core-js/library/modules/_wks-ext.js").f("iterator")},"./node_modules/core-js/library/modules/_a-function.js":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"./node_modules/core-js/library/modules/_add-to-unscopables.js":function(e,t){e.exports=function(){}},"./node_modules/core-js/library/modules/_an-instance.js":function(e,t){e.exports=function(e,t,a,n){if(!(e instanceof t)||void 0!==n&&n in e)throw TypeError(a+": incorrect invocation!");return e}},"./node_modules/core-js/library/modules/_an-object.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_is-object.js");e.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},"./node_modules/core-js/library/modules/_array-includes.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_to-iobject.js"),o=a("./node_modules/core-js/library/modules/_to-length.js"),r=a("./node_modules/core-js/library/modules/_to-absolute-index.js");e.exports=function(e){return function(t,a,s){var i,l=n(t),c=o(l.length),d=r(s,c);if(e&&a!=a){for(;c>d;)if((i=l[d++])!=i)return!0}else for(;c>d;d++)if((e||d in l)&&l[d]===a)return e||d||0;return!e&&-1}}},"./node_modules/core-js/library/modules/_classof.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_cof.js"),o=a("./node_modules/core-js/library/modules/_wks.js")("toStringTag"),r="Arguments"==n(function(){return arguments}());e.exports=function(e){var t,a,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?a:r?n(t):"Object"==(s=n(t))&&"function"==typeof t.callee?"Arguments":s}},"./node_modules/core-js/library/modules/_cof.js":function(e,t){var a={}.toString;e.exports=function(e){return a.call(e).slice(8,-1)}},"./node_modules/core-js/library/modules/_core.js":function(e,t){var a=e.exports={version:"2.5.6"};"number"==typeof __e&&(__e=a)},"./node_modules/core-js/library/modules/_create-property.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_object-dp.js"),o=a("./node_modules/core-js/library/modules/_property-desc.js");e.exports=function(e,t,a){t in e?n.f(e,t,o(0,a)):e[t]=a}},"./node_modules/core-js/library/modules/_ctx.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_a-function.js");e.exports=function(e,t,a){if(n(e),void 0===t)return e;switch(a){case 1:return function(a){return e.call(t,a)};case 2:return function(a,n){return e.call(t,a,n)};case 3:return function(a,n,o){return e.call(t,a,n,o)}}return function(){return e.apply(t,arguments)}}},"./node_modules/core-js/library/modules/_defined.js":function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},"./node_modules/core-js/library/modules/_descriptors.js":function(e,t,a){e.exports=!a("./node_modules/core-js/library/modules/_fails.js")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"./node_modules/core-js/library/modules/_dom-create.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_is-object.js"),o=a("./node_modules/core-js/library/modules/_global.js").document,r=n(o)&&n(o.createElement);e.exports=function(e){return r?o.createElement(e):{}}},"./node_modules/core-js/library/modules/_enum-bug-keys.js":function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"./node_modules/core-js/library/modules/_enum-keys.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_object-keys.js"),o=a("./node_modules/core-js/library/modules/_object-gops.js"),r=a("./node_modules/core-js/library/modules/_object-pie.js");e.exports=function(e){var t=n(e),a=o.f;if(a)for(var s,i=a(e),l=r.f,c=0;i.length>c;)l.call(e,s=i[c++])&&t.push(s);return t}},"./node_modules/core-js/library/modules/_export.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_global.js"),o=a("./node_modules/core-js/library/modules/_core.js"),r=a("./node_modules/core-js/library/modules/_ctx.js"),s=a("./node_modules/core-js/library/modules/_hide.js"),i=a("./node_modules/core-js/library/modules/_has.js"),l=function(e,t,a){var c,d,u,p=e&l.F,m=e&l.G,f=e&l.S,h=e&l.P,v=e&l.B,g=e&l.W,b=m?o:o[t]||(o[t]={}),y=b.prototype,_=m?n:f?n[t]:(n[t]||{}).prototype;for(c in m&&(a=t),a)(d=!p&&_&&void 0!==_[c])&&i(b,c)||(u=d?_[c]:a[c],b[c]=m&&"function"!=typeof _[c]?a[c]:v&&d?r(u,n):g&&_[c]==u?function(e){var t=function(t,a,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,a)}return new e(t,a,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(u):h&&"function"==typeof u?r(Function.call,u):u,h&&((b.virtual||(b.virtual={}))[c]=u,e&l.R&&y&&!y[c]&&s(y,c,u)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},"./node_modules/core-js/library/modules/_fails.js":function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},"./node_modules/core-js/library/modules/_for-of.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_ctx.js"),o=a("./node_modules/core-js/library/modules/_iter-call.js"),r=a("./node_modules/core-js/library/modules/_is-array-iter.js"),s=a("./node_modules/core-js/library/modules/_an-object.js"),i=a("./node_modules/core-js/library/modules/_to-length.js"),l=a("./node_modules/core-js/library/modules/core.get-iterator-method.js"),c={},d={};(t=e.exports=function(e,t,a,u,p){var m,f,h,v,g=p?function(){return e}:l(e),b=n(a,u,t?2:1),y=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(r(g)){for(m=i(e.length);m>y;y++)if((v=t?b(s(f=e[y])[0],f[1]):b(e[y]))===c||v===d)return v}else for(h=g.call(e);!(f=h.next()).done;)if((v=o(h,b,f.value,t))===c||v===d)return v}).BREAK=c,t.RETURN=d},"./node_modules/core-js/library/modules/_global.js":function(e,t){var a=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=a)},"./node_modules/core-js/library/modules/_has.js":function(e,t){var a={}.hasOwnProperty;e.exports=function(e,t){return a.call(e,t)}},"./node_modules/core-js/library/modules/_hide.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_object-dp.js"),o=a("./node_modules/core-js/library/modules/_property-desc.js");e.exports=a("./node_modules/core-js/library/modules/_descriptors.js")?function(e,t,a){return n.f(e,t,o(1,a))}:function(e,t,a){return e[t]=a,e}},"./node_modules/core-js/library/modules/_html.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_global.js").document;e.exports=n&&n.documentElement},"./node_modules/core-js/library/modules/_ie8-dom-define.js":function(e,t,a){e.exports=!a("./node_modules/core-js/library/modules/_descriptors.js")&&!a("./node_modules/core-js/library/modules/_fails.js")(function(){return 7!=Object.defineProperty(a("./node_modules/core-js/library/modules/_dom-create.js")("div"),"a",{get:function(){return 7}}).a})},"./node_modules/core-js/library/modules/_invoke.js":function(e,t){e.exports=function(e,t,a){var n=void 0===a;switch(t.length){case 0:return n?e():e.call(a);case 1:return n?e(t[0]):e.call(a,t[0]);case 2:return n?e(t[0],t[1]):e.call(a,t[0],t[1]);case 3:return n?e(t[0],t[1],t[2]):e.call(a,t[0],t[1],t[2]);case 4:return n?e(t[0],t[1],t[2],t[3]):e.call(a,t[0],t[1],t[2],t[3])}return e.apply(a,t)}},"./node_modules/core-js/library/modules/_iobject.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_cof.js");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},"./node_modules/core-js/library/modules/_is-array-iter.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_iterators.js"),o=a("./node_modules/core-js/library/modules/_wks.js")("iterator"),r=Array.prototype;e.exports=function(e){return void 0!==e&&(n.Array===e||r[o]===e)}},"./node_modules/core-js/library/modules/_is-array.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_cof.js");e.exports=Array.isArray||function(e){return"Array"==n(e)}},"./node_modules/core-js/library/modules/_is-object.js":function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},"./node_modules/core-js/library/modules/_iter-call.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_an-object.js");e.exports=function(e,t,a,o){try{return o?t(n(a)[0],a[1]):t(a)}catch(t){var r=e.return;throw void 0!==r&&n(r.call(e)),t}}},"./node_modules/core-js/library/modules/_iter-create.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_object-create.js"),o=a("./node_modules/core-js/library/modules/_property-desc.js"),r=a("./node_modules/core-js/library/modules/_set-to-string-tag.js"),s={};a("./node_modules/core-js/library/modules/_hide.js")(s,a("./node_modules/core-js/library/modules/_wks.js")("iterator"),function(){return this}),e.exports=function(e,t,a){e.prototype=n(s,{next:o(1,a)}),r(e,t+" Iterator")}},"./node_modules/core-js/library/modules/_iter-define.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_library.js"),o=a("./node_modules/core-js/library/modules/_export.js"),r=a("./node_modules/core-js/library/modules/_redefine.js"),s=a("./node_modules/core-js/library/modules/_hide.js"),i=a("./node_modules/core-js/library/modules/_iterators.js"),l=a("./node_modules/core-js/library/modules/_iter-create.js"),c=a("./node_modules/core-js/library/modules/_set-to-string-tag.js"),d=a("./node_modules/core-js/library/modules/_object-gpo.js"),u=a("./node_modules/core-js/library/modules/_wks.js")("iterator"),p=!([].keys&&"next"in[].keys()),m=function(){return this};e.exports=function(e,t,a,f,h,v,g){l(a,t,f);var b,y,_,j=function(e){if(!p&&e in I)return I[e];switch(e){case"keys":case"values":return function(){return new a(this,e)}}return function(){return new a(this,e)}},A=t+" Iterator",S="values"==h,C=!1,I=e.prototype,x=I[u]||I["@@iterator"]||h&&I[h],E=x||j(h),w=h?S?j("entries"):E:void 0,T="Array"==t&&I.entries||x;if(T&&(_=d(T.call(new e)))!==Object.prototype&&_.next&&(c(_,A,!0),n||"function"==typeof _[u]||s(_,u,m)),S&&x&&"values"!==x.name&&(C=!0,E=function(){return x.call(this)}),n&&!g||!p&&!C&&I[u]||s(I,u,E),i[t]=E,i[A]=m,h)if(b={values:S?E:j("values"),keys:v?E:j("keys"),entries:w},g)for(y in b)y in I||r(I,y,b[y]);else o(o.P+o.F*(p||C),t,b);return b}},"./node_modules/core-js/library/modules/_iter-detect.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_wks.js")("iterator"),o=!1;try{var r=[7][n]();r.return=function(){o=!0},Array.from(r,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var a=!1;try{var r=[7],s=r[n]();s.next=function(){return{done:a=!0}},r[n]=function(){return s},e(r)}catch(e){}return a}},"./node_modules/core-js/library/modules/_iter-step.js":function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},"./node_modules/core-js/library/modules/_iterators.js":function(e,t){e.exports={}},"./node_modules/core-js/library/modules/_library.js":function(e,t){e.exports=!0},"./node_modules/core-js/library/modules/_meta.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_uid.js")("meta"),o=a("./node_modules/core-js/library/modules/_is-object.js"),r=a("./node_modules/core-js/library/modules/_has.js"),s=a("./node_modules/core-js/library/modules/_object-dp.js").f,i=0,l=Object.isExtensible||function(){return!0},c=!a("./node_modules/core-js/library/modules/_fails.js")(function(){return l(Object.preventExtensions({}))}),d=function(e){s(e,n,{value:{i:"O"+ ++i,w:{}}})},u=e.exports={KEY:n,NEED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!r(e,n)){if(!l(e))return"F";if(!t)return"E";d(e)}return e[n].i},getWeak:function(e,t){if(!r(e,n)){if(!l(e))return!0;if(!t)return!1;d(e)}return e[n].w},onFreeze:function(e){return c&&u.NEED&&l(e)&&!r(e,n)&&d(e),e}}},"./node_modules/core-js/library/modules/_microtask.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_global.js"),o=a("./node_modules/core-js/library/modules/_task.js").set,r=n.MutationObserver||n.WebKitMutationObserver,s=n.process,i=n.Promise,l="process"==a("./node_modules/core-js/library/modules/_cof.js")(s);e.exports=function(){var e,t,a,c=function(){var n,o;for(l&&(n=s.domain)&&n.exit();e;){o=e.fn,e=e.next;try{o()}catch(n){throw e?a():t=void 0,n}}t=void 0,n&&n.enter()};if(l)a=function(){s.nextTick(c)};else if(!r||n.navigator&&n.navigator.standalone)if(i&&i.resolve){var d=i.resolve(void 0);a=function(){d.then(c)}}else a=function(){o.call(n,c)};else{var u=!0,p=document.createTextNode("");new r(c).observe(p,{characterData:!0}),a=function(){p.data=u=!u}}return function(n){var o={fn:n,next:void 0};t&&(t.next=o),e||(e=o,a()),t=o}}},"./node_modules/core-js/library/modules/_new-promise-capability.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_a-function.js");e.exports.f=function(e){return new function(e){var t,a;this.promise=new e(function(e,n){if(void 0!==t||void 0!==a)throw TypeError("Bad Promise constructor");t=e,a=n}),this.resolve=n(t),this.reject=n(a)}(e)}},"./node_modules/core-js/library/modules/_object-assign.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_object-keys.js"),o=a("./node_modules/core-js/library/modules/_object-gops.js"),r=a("./node_modules/core-js/library/modules/_object-pie.js"),s=a("./node_modules/core-js/library/modules/_to-object.js"),i=a("./node_modules/core-js/library/modules/_iobject.js"),l=Object.assign;e.exports=!l||a("./node_modules/core-js/library/modules/_fails.js")(function(){var e={},t={},a=Symbol(),n="abcdefghijklmnopqrst";return e[a]=7,n.split("").forEach(function(e){t[e]=e}),7!=l({},e)[a]||Object.keys(l({},t)).join("")!=n})?function(e,t){for(var a=s(e),l=arguments.length,c=1,d=o.f,u=r.f;l>c;)for(var p,m=i(arguments[c++]),f=d?n(m).concat(d(m)):n(m),h=f.length,v=0;h>v;)u.call(m,p=f[v++])&&(a[p]=m[p]);return a}:l},"./node_modules/core-js/library/modules/_object-create.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_an-object.js"),o=a("./node_modules/core-js/library/modules/_object-dps.js"),r=a("./node_modules/core-js/library/modules/_enum-bug-keys.js"),s=a("./node_modules/core-js/library/modules/_shared-key.js")("IE_PROTO"),i=function(){},l=function(){var e,t=a("./node_modules/core-js/library/modules/_dom-create.js")("iframe"),n=r.length;for(t.style.display="none",a("./node_modules/core-js/library/modules/_html.js").appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),l=e.F;n--;)delete l.prototype[r[n]];return l()};e.exports=Object.create||function(e,t){var a;return null!==e?(i.prototype=n(e),a=new i,i.prototype=null,a[s]=e):a=l(),void 0===t?a:o(a,t)}},"./node_modules/core-js/library/modules/_object-dp.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_an-object.js"),o=a("./node_modules/core-js/library/modules/_ie8-dom-define.js"),r=a("./node_modules/core-js/library/modules/_to-primitive.js"),s=Object.defineProperty;t.f=a("./node_modules/core-js/library/modules/_descriptors.js")?Object.defineProperty:function(e,t,a){if(n(e),t=r(t,!0),n(a),o)try{return s(e,t,a)}catch(e){}if("get"in a||"set"in a)throw TypeError("Accessors not supported!");return"value"in a&&(e[t]=a.value),e}},"./node_modules/core-js/library/modules/_object-dps.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_object-dp.js"),o=a("./node_modules/core-js/library/modules/_an-object.js"),r=a("./node_modules/core-js/library/modules/_object-keys.js");e.exports=a("./node_modules/core-js/library/modules/_descriptors.js")?Object.defineProperties:function(e,t){o(e);for(var a,s=r(t),i=s.length,l=0;i>l;)n.f(e,a=s[l++],t[a]);return e}},"./node_modules/core-js/library/modules/_object-gopd.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_object-pie.js"),o=a("./node_modules/core-js/library/modules/_property-desc.js"),r=a("./node_modules/core-js/library/modules/_to-iobject.js"),s=a("./node_modules/core-js/library/modules/_to-primitive.js"),i=a("./node_modules/core-js/library/modules/_has.js"),l=a("./node_modules/core-js/library/modules/_ie8-dom-define.js"),c=Object.getOwnPropertyDescriptor;t.f=a("./node_modules/core-js/library/modules/_descriptors.js")?c:function(e,t){if(e=r(e),t=s(t,!0),l)try{return c(e,t)}catch(e){}if(i(e,t))return o(!n.f.call(e,t),e[t])}},"./node_modules/core-js/library/modules/_object-gopn-ext.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_to-iobject.js"),o=a("./node_modules/core-js/library/modules/_object-gopn.js").f,r={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return s&&"[object Window]"==r.call(e)?function(e){try{return o(e)}catch(e){return s.slice()}}(e):o(n(e))}},"./node_modules/core-js/library/modules/_object-gopn.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_object-keys-internal.js"),o=a("./node_modules/core-js/library/modules/_enum-bug-keys.js").concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},"./node_modules/core-js/library/modules/_object-gops.js":function(e,t){t.f=Object.getOwnPropertySymbols},"./node_modules/core-js/library/modules/_object-gpo.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_has.js"),o=a("./node_modules/core-js/library/modules/_to-object.js"),r=a("./node_modules/core-js/library/modules/_shared-key.js")("IE_PROTO"),s=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),n(e,r)?e[r]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?s:null}},"./node_modules/core-js/library/modules/_object-keys-internal.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_has.js"),o=a("./node_modules/core-js/library/modules/_to-iobject.js"),r=a("./node_modules/core-js/library/modules/_array-includes.js")(!1),s=a("./node_modules/core-js/library/modules/_shared-key.js")("IE_PROTO");e.exports=function(e,t){var a,i=o(e),l=0,c=[];for(a in i)a!=s&&n(i,a)&&c.push(a);for(;t.length>l;)n(i,a=t[l++])&&(~r(c,a)||c.push(a));return c}},"./node_modules/core-js/library/modules/_object-keys.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_object-keys-internal.js"),o=a("./node_modules/core-js/library/modules/_enum-bug-keys.js");e.exports=Object.keys||function(e){return n(e,o)}},"./node_modules/core-js/library/modules/_object-pie.js":function(e,t){t.f={}.propertyIsEnumerable},"./node_modules/core-js/library/modules/_object-sap.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_export.js"),o=a("./node_modules/core-js/library/modules/_core.js"),r=a("./node_modules/core-js/library/modules/_fails.js");e.exports=function(e,t){var a=(o.Object||{})[e]||Object[e],s={};s[e]=t(a),n(n.S+n.F*r(function(){a(1)}),"Object",s)}},"./node_modules/core-js/library/modules/_perform.js":function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},"./node_modules/core-js/library/modules/_promise-resolve.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_an-object.js"),o=a("./node_modules/core-js/library/modules/_is-object.js"),r=a("./node_modules/core-js/library/modules/_new-promise-capability.js");e.exports=function(e,t){if(n(e),o(t)&&t.constructor===e)return t;var a=r.f(e);return(0,a.resolve)(t),a.promise}},"./node_modules/core-js/library/modules/_property-desc.js":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"./node_modules/core-js/library/modules/_redefine-all.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_hide.js");e.exports=function(e,t,a){for(var o in t)a&&e[o]?e[o]=t[o]:n(e,o,t[o]);return e}},"./node_modules/core-js/library/modules/_redefine.js":function(e,t,a){e.exports=a("./node_modules/core-js/library/modules/_hide.js")},"./node_modules/core-js/library/modules/_set-species.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_global.js"),o=a("./node_modules/core-js/library/modules/_core.js"),r=a("./node_modules/core-js/library/modules/_object-dp.js"),s=a("./node_modules/core-js/library/modules/_descriptors.js"),i=a("./node_modules/core-js/library/modules/_wks.js")("species");e.exports=function(e){var t="function"==typeof o[e]?o[e]:n[e];s&&t&&!t[i]&&r.f(t,i,{configurable:!0,get:function(){return this}})}},"./node_modules/core-js/library/modules/_set-to-string-tag.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_object-dp.js").f,o=a("./node_modules/core-js/library/modules/_has.js"),r=a("./node_modules/core-js/library/modules/_wks.js")("toStringTag");e.exports=function(e,t,a){e&&!o(e=a?e:e.prototype,r)&&n(e,r,{configurable:!0,value:t})}},"./node_modules/core-js/library/modules/_shared-key.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_shared.js")("keys"),o=a("./node_modules/core-js/library/modules/_uid.js");e.exports=function(e){return n[e]||(n[e]=o(e))}},"./node_modules/core-js/library/modules/_shared.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_core.js"),o=a("./node_modules/core-js/library/modules/_global.js"),r=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return r[e]||(r[e]=void 0!==t?t:{})})("versions",[]).push({version:n.version,mode:a("./node_modules/core-js/library/modules/_library.js")?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},"./node_modules/core-js/library/modules/_species-constructor.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_an-object.js"),o=a("./node_modules/core-js/library/modules/_a-function.js"),r=a("./node_modules/core-js/library/modules/_wks.js")("species");e.exports=function(e,t){var a,s=n(e).constructor;return void 0===s||void 0==(a=n(s)[r])?t:o(a)}},"./node_modules/core-js/library/modules/_string-at.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_to-integer.js"),o=a("./node_modules/core-js/library/modules/_defined.js");e.exports=function(e){return function(t,a){var r,s,i=String(o(t)),l=n(a),c=i.length;return l<0||l>=c?e?"":void 0:(r=i.charCodeAt(l))<55296||r>56319||l+1===c||(s=i.charCodeAt(l+1))<56320||s>57343?e?i.charAt(l):r:e?i.slice(l,l+2):s-56320+(r-55296<<10)+65536}}},"./node_modules/core-js/library/modules/_task.js":function(e,t,a){var n,o,r,s=a("./node_modules/core-js/library/modules/_ctx.js"),i=a("./node_modules/core-js/library/modules/_invoke.js"),l=a("./node_modules/core-js/library/modules/_html.js"),c=a("./node_modules/core-js/library/modules/_dom-create.js"),d=a("./node_modules/core-js/library/modules/_global.js"),u=d.process,p=d.setImmediate,m=d.clearImmediate,f=d.MessageChannel,h=d.Dispatch,v=0,g={},b=function(){var e=+this;if(g.hasOwnProperty(e)){var t=g[e];delete g[e],t()}},y=function(e){b.call(e.data)};p&&m||(p=function(e){for(var t=[],a=1;arguments.length>a;)t.push(arguments[a++]);return g[++v]=function(){i("function"==typeof e?e:Function(e),t)},n(v),v},m=function(e){delete g[e]},"process"==a("./node_modules/core-js/library/modules/_cof.js")(u)?n=function(e){u.nextTick(s(b,e,1))}:h&&h.now?n=function(e){h.now(s(b,e,1))}:f?(r=(o=new f).port2,o.port1.onmessage=y,n=s(r.postMessage,r,1)):d.addEventListener&&"function"==typeof postMessage&&!d.importScripts?(n=function(e){d.postMessage(e+"","*")},d.addEventListener("message",y,!1)):n="onreadystatechange"in c("script")?function(e){l.appendChild(c("script")).onreadystatechange=function(){l.removeChild(this),b.call(e)}}:function(e){setTimeout(s(b,e,1),0)}),e.exports={set:p,clear:m}},"./node_modules/core-js/library/modules/_to-absolute-index.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_to-integer.js"),o=Math.max,r=Math.min;e.exports=function(e,t){return(e=n(e))<0?o(e+t,0):r(e,t)}},"./node_modules/core-js/library/modules/_to-integer.js":function(e,t){var a=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:a)(e)}},"./node_modules/core-js/library/modules/_to-iobject.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_iobject.js"),o=a("./node_modules/core-js/library/modules/_defined.js");e.exports=function(e){return n(o(e))}},"./node_modules/core-js/library/modules/_to-length.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_to-integer.js"),o=Math.min;e.exports=function(e){return e>0?o(n(e),9007199254740991):0}},"./node_modules/core-js/library/modules/_to-object.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_defined.js");e.exports=function(e){return Object(n(e))}},"./node_modules/core-js/library/modules/_to-primitive.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_is-object.js");e.exports=function(e,t){if(!n(e))return e;var a,o;if(t&&"function"==typeof(a=e.toString)&&!n(o=a.call(e)))return o;if("function"==typeof(a=e.valueOf)&&!n(o=a.call(e)))return o;if(!t&&"function"==typeof(a=e.toString)&&!n(o=a.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},"./node_modules/core-js/library/modules/_uid.js":function(e,t){var a=0,n=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++a+n).toString(36))}},"./node_modules/core-js/library/modules/_user-agent.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_global.js").navigator;e.exports=n&&n.userAgent||""},"./node_modules/core-js/library/modules/_wks-define.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_global.js"),o=a("./node_modules/core-js/library/modules/_core.js"),r=a("./node_modules/core-js/library/modules/_library.js"),s=a("./node_modules/core-js/library/modules/_wks-ext.js"),i=a("./node_modules/core-js/library/modules/_object-dp.js").f;e.exports=function(e){var t=o.Symbol||(o.Symbol=r?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||i(t,e,{value:s.f(e)})}},"./node_modules/core-js/library/modules/_wks-ext.js":function(e,t,a){t.f=a("./node_modules/core-js/library/modules/_wks.js")},"./node_modules/core-js/library/modules/_wks.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_shared.js")("wks"),o=a("./node_modules/core-js/library/modules/_uid.js"),r=a("./node_modules/core-js/library/modules/_global.js").Symbol,s="function"==typeof r;(e.exports=function(e){return n[e]||(n[e]=s&&r[e]||(s?r:o)("Symbol."+e))}).store=n},"./node_modules/core-js/library/modules/core.get-iterator-method.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_classof.js"),o=a("./node_modules/core-js/library/modules/_wks.js")("iterator"),r=a("./node_modules/core-js/library/modules/_iterators.js");e.exports=a("./node_modules/core-js/library/modules/_core.js").getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||r[n(e)]}},"./node_modules/core-js/library/modules/core.get-iterator.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_an-object.js"),o=a("./node_modules/core-js/library/modules/core.get-iterator-method.js");e.exports=a("./node_modules/core-js/library/modules/_core.js").getIterator=function(e){var t=o(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return n(t.call(e))}},"./node_modules/core-js/library/modules/core.is-iterable.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_classof.js"),o=a("./node_modules/core-js/library/modules/_wks.js")("iterator"),r=a("./node_modules/core-js/library/modules/_iterators.js");e.exports=a("./node_modules/core-js/library/modules/_core.js").isIterable=function(e){var t=Object(e);return void 0!==t[o]||"@@iterator"in t||r.hasOwnProperty(n(t))}},"./node_modules/core-js/library/modules/es6.array.from.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_ctx.js"),o=a("./node_modules/core-js/library/modules/_export.js"),r=a("./node_modules/core-js/library/modules/_to-object.js"),s=a("./node_modules/core-js/library/modules/_iter-call.js"),i=a("./node_modules/core-js/library/modules/_is-array-iter.js"),l=a("./node_modules/core-js/library/modules/_to-length.js"),c=a("./node_modules/core-js/library/modules/_create-property.js"),d=a("./node_modules/core-js/library/modules/core.get-iterator-method.js");o(o.S+o.F*!a("./node_modules/core-js/library/modules/_iter-detect.js")(function(e){Array.from(e)}),"Array",{from:function(e){var t,a,o,u,p=r(e),m="function"==typeof this?this:Array,f=arguments.length,h=f>1?arguments[1]:void 0,v=void 0!==h,g=0,b=d(p);if(v&&(h=n(h,f>2?arguments[2]:void 0,2)),void 0==b||m==Array&&i(b))for(a=new m(t=l(p.length));t>g;g++)c(a,g,v?h(p[g],g):p[g]);else for(u=b.call(p),a=new m;!(o=u.next()).done;g++)c(a,g,v?s(u,h,[o.value,g],!0):o.value);return a.length=g,a}})},"./node_modules/core-js/library/modules/es6.array.iterator.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_add-to-unscopables.js"),o=a("./node_modules/core-js/library/modules/_iter-step.js"),r=a("./node_modules/core-js/library/modules/_iterators.js"),s=a("./node_modules/core-js/library/modules/_to-iobject.js");e.exports=a("./node_modules/core-js/library/modules/_iter-define.js")(Array,"Array",function(e,t){this._t=s(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,a=this._i++;return!e||a>=e.length?(this._t=void 0,o(1)):o(0,"keys"==t?a:"values"==t?e[a]:[a,e[a]])},"values"),r.Arguments=r.Array,n("keys"),n("values"),n("entries")},"./node_modules/core-js/library/modules/es6.object.assign.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_export.js");n(n.S+n.F,"Object",{assign:a("./node_modules/core-js/library/modules/_object-assign.js")})},"./node_modules/core-js/library/modules/es6.object.create.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_export.js");n(n.S,"Object",{create:a("./node_modules/core-js/library/modules/_object-create.js")})},"./node_modules/core-js/library/modules/es6.object.define-properties.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_export.js");n(n.S+n.F*!a("./node_modules/core-js/library/modules/_descriptors.js"),"Object",{defineProperties:a("./node_modules/core-js/library/modules/_object-dps.js")})},"./node_modules/core-js/library/modules/es6.object.define-property.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_export.js");n(n.S+n.F*!a("./node_modules/core-js/library/modules/_descriptors.js"),"Object",{defineProperty:a("./node_modules/core-js/library/modules/_object-dp.js").f})},"./node_modules/core-js/library/modules/es6.object.freeze.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_is-object.js"),o=a("./node_modules/core-js/library/modules/_meta.js").onFreeze;a("./node_modules/core-js/library/modules/_object-sap.js")("freeze",function(e){return function(t){return e&&n(t)?e(o(t)):t}})},"./node_modules/core-js/library/modules/es6.object.keys.js":function(e,t,a){var n=a("./node_modules/core-js/library/modules/_to-object.js"),o=a("./node_modules/core-js/library/modules/_object-keys.js");a("./node_modules/core-js/library/modules/_object-sap.js")("keys",function(){return function(e){return o(n(e))}})},"./node_modules/core-js/library/modules/es6.object.to-string.js":function(e,t){},"./node_modules/core-js/library/modules/es6.promise.js":function(e,t,a){"use strict";var n,o,r,s,i=a("./node_modules/core-js/library/modules/_library.js"),l=a("./node_modules/core-js/library/modules/_global.js"),c=a("./node_modules/core-js/library/modules/_ctx.js"),d=a("./node_modules/core-js/library/modules/_classof.js"),u=a("./node_modules/core-js/library/modules/_export.js"),p=a("./node_modules/core-js/library/modules/_is-object.js"),m=a("./node_modules/core-js/library/modules/_a-function.js"),f=a("./node_modules/core-js/library/modules/_an-instance.js"),h=a("./node_modules/core-js/library/modules/_for-of.js"),v=a("./node_modules/core-js/library/modules/_species-constructor.js"),g=a("./node_modules/core-js/library/modules/_task.js").set,b=a("./node_modules/core-js/library/modules/_microtask.js")(),y=a("./node_modules/core-js/library/modules/_new-promise-capability.js"),_=a("./node_modules/core-js/library/modules/_perform.js"),j=a("./node_modules/core-js/library/modules/_user-agent.js"),A=a("./node_modules/core-js/library/modules/_promise-resolve.js"),S=l.TypeError,C=l.process,I=C&&C.versions,x=I&&I.v8||"",E=l.Promise,w="process"==d(C),T=function(){},M=o=y.f,D=!!function(){try{var e=E.resolve(1),t=(e.constructor={})[a("./node_modules/core-js/library/modules/_wks.js")("species")]=function(e){e(T,T)};return(w||"function"==typeof PromiseRejectionEvent)&&e.then(T)instanceof t&&0!==x.indexOf("6.6")&&-1===j.indexOf("Chrome/66")}catch(e){}}(),k=function(e){var t;return!(!p(e)||"function"!=typeof(t=e.then))&&t},L=function(e,t){if(!e._n){e._n=!0;var a=e._c;b(function(){for(var n=e._v,o=1==e._s,r=0,s=function(t){var a,r,s,i=o?t.ok:t.fail,l=t.resolve,c=t.reject,d=t.domain;try{i?(o||(2==e._h&&N(e),e._h=1),!0===i?a=n:(d&&d.enter(),a=i(n),d&&(d.exit(),s=!0)),a===t.promise?c(S("Promise-chain cycle")):(r=k(a))?r.call(a,l,c):l(a)):c(n)}catch(e){d&&!s&&d.exit(),c(e)}};a.length>r;)s(a[r++]);e._c=[],e._n=!1,t&&!e._h&&P(e)})}},P=function(e){g.call(l,function(){var t,a,n,o=e._v,r=O(e);if(r&&(t=_(function(){w?C.emit("unhandledRejection",o,e):(a=l.onunhandledrejection)?a({promise:e,reason:o}):(n=l.console)&&n.error&&n.error("Unhandled promise rejection",o)}),e._h=w||O(e)?2:1),e._a=void 0,r&&t.e)throw t.v})},O=function(e){return 1!==e._h&&0===(e._a||e._c).length},N=function(e){g.call(l,function(){var t;w?C.emit("rejectionHandled",e):(t=l.onrejectionhandled)&&t({promise:e,reason:e._v})})},R=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),L(t,!0))},$=function(e){var t,a=this;if(!a._d){a._d=!0,a=a._w||a;try{if(a===e)throw S("Promise can't be resolved itself");(t=k(e))?b(function(){var n={_w:a,_d:!1};try{t.call(e,c($,n,1),c(R,n,1))}catch(e){R.call(n,e)}}):(a._v=e,a._s=1,L(a,!1))}catch(e){R.call({_w:a,_d:!1},e)}}};D||(E=function(e){f(this,E,"Promise","_h"),m(e),n.call(this);try{e(c($,this,1),c(R,this,1))}catch(e){R.call(this,e)}},(n=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=a("./node_modules/core-js/library/modules/_redefine-all.js")(E.prototype,{then:function(e,t){var a=M(v(this,E));return a.ok="function"!=typeof e||e,a.fail="function"==typeof t&&t,a.domain=w?C.domain:void 0,this._c.push(a),this._a&&this._a.push(a),this._s&&L(this,!1),a.promise},catch:function(e){return this.then(void 0,e)}}),r=function(){var e=new n;this.promise=e,this.resolve=c($,e,1),this.reject=c(R,e,1)},y.f=M=function(e){return e===E||e===s?new r(e):o(e)}),u(u.G+u.W+u.F*!D,{Promise:E}),a("./node_modules/core-js/library/modules/_set-to-string-tag.js")(E,"Promise"),a("./node_modules/core-js/library/modules/_set-species.js")("Promise"),s=a("./node_modules/core-js/library/modules/_core.js").Promise,u(u.S+u.F*!D,"Promise",{reject:function(e){var t=M(this);return(0,t.reject)(e),t.promise}}),u(u.S+u.F*(i||!D),"Promise",{resolve:function(e){return A(i&&this===s?E:this,e)}}),u(u.S+u.F*!(D&&a("./node_modules/core-js/library/modules/_iter-detect.js")(function(e){E.all(e).catch(T)})),"Promise",{all:function(e){var t=this,a=M(t),n=a.resolve,o=a.reject,r=_(function(){var a=[],r=0,s=1;h(e,!1,function(e){var i=r++,l=!1;a.push(void 0),s++,t.resolve(e).then(function(e){l||(l=!0,a[i]=e,--s||n(a))},o)}),--s||n(a)});return r.e&&o(r.v),a.promise},race:function(e){var t=this,a=M(t),n=a.reject,o=_(function(){h(e,!1,function(e){t.resolve(e).then(a.resolve,n)})});return o.e&&n(o.v),a.promise}})},"./node_modules/core-js/library/modules/es6.string.iterator.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_string-at.js")(!0);a("./node_modules/core-js/library/modules/_iter-define.js")(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,a=this._i;return a>=t.length?{value:void 0,done:!0}:(e=n(t,a),this._i+=e.length,{value:e,done:!1})})},"./node_modules/core-js/library/modules/es6.symbol.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_global.js"),o=a("./node_modules/core-js/library/modules/_has.js"),r=a("./node_modules/core-js/library/modules/_descriptors.js"),s=a("./node_modules/core-js/library/modules/_export.js"),i=a("./node_modules/core-js/library/modules/_redefine.js"),l=a("./node_modules/core-js/library/modules/_meta.js").KEY,c=a("./node_modules/core-js/library/modules/_fails.js"),d=a("./node_modules/core-js/library/modules/_shared.js"),u=a("./node_modules/core-js/library/modules/_set-to-string-tag.js"),p=a("./node_modules/core-js/library/modules/_uid.js"),m=a("./node_modules/core-js/library/modules/_wks.js"),f=a("./node_modules/core-js/library/modules/_wks-ext.js"),h=a("./node_modules/core-js/library/modules/_wks-define.js"),v=a("./node_modules/core-js/library/modules/_enum-keys.js"),g=a("./node_modules/core-js/library/modules/_is-array.js"),b=a("./node_modules/core-js/library/modules/_an-object.js"),y=a("./node_modules/core-js/library/modules/_is-object.js"),_=a("./node_modules/core-js/library/modules/_to-iobject.js"),j=a("./node_modules/core-js/library/modules/_to-primitive.js"),A=a("./node_modules/core-js/library/modules/_property-desc.js"),S=a("./node_modules/core-js/library/modules/_object-create.js"),C=a("./node_modules/core-js/library/modules/_object-gopn-ext.js"),I=a("./node_modules/core-js/library/modules/_object-gopd.js"),x=a("./node_modules/core-js/library/modules/_object-dp.js"),E=a("./node_modules/core-js/library/modules/_object-keys.js"),w=I.f,T=x.f,M=C.f,D=n.Symbol,k=n.JSON,L=k&&k.stringify,P=m("_hidden"),O=m("toPrimitive"),N={}.propertyIsEnumerable,R=d("symbol-registry"),$=d("symbols"),F=d("op-symbols"),B=Object.prototype,U="function"==typeof D,z=n.QObject,q=!z||!z.prototype||!z.prototype.findChild,V=r&&c(function(){return 7!=S(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(e,t,a){var n=w(B,t);n&&delete B[t],T(e,t,a),n&&e!==B&&T(B,t,n)}:T,Y=function(e){var t=$[e]=S(D.prototype);return t._k=e,t},H=U&&"symbol"==typeof D.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof D},W=function(e,t,a){return e===B&&W(F,t,a),b(e),t=j(t,!0),b(a),o($,t)?(a.enumerable?(o(e,P)&&e[P][t]&&(e[P][t]=!1),a=S(a,{enumerable:A(0,!1)})):(o(e,P)||T(e,P,A(1,{})),e[P][t]=!0),V(e,t,a)):T(e,t,a)},K=function(e,t){b(e);for(var a,n=v(t=_(t)),o=0,r=n.length;r>o;)W(e,a=n[o++],t[a]);return e},G=function(e){var t=N.call(this,e=j(e,!0));return!(this===B&&o($,e)&&!o(F,e))&&(!(t||!o(this,e)||!o($,e)||o(this,P)&&this[P][e])||t)},X=function(e,t){if(e=_(e),t=j(t,!0),e!==B||!o($,t)||o(F,t)){var a=w(e,t);return!a||!o($,t)||o(e,P)&&e[P][t]||(a.enumerable=!0),a}},Z=function(e){for(var t,a=M(_(e)),n=[],r=0;a.length>r;)o($,t=a[r++])||t==P||t==l||n.push(t);return n},J=function(e){for(var t,a=e===B,n=M(a?F:_(e)),r=[],s=0;n.length>s;)!o($,t=n[s++])||a&&!o(B,t)||r.push($[t]);return r};U||(i((D=function(){if(this instanceof D)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(a){this===B&&t.call(F,a),o(this,P)&&o(this[P],e)&&(this[P][e]=!1),V(this,e,A(1,a))};return r&&q&&V(B,e,{configurable:!0,set:t}),Y(e)}).prototype,"toString",function(){return this._k}),I.f=X,x.f=W,a("./node_modules/core-js/library/modules/_object-gopn.js").f=C.f=Z,a("./node_modules/core-js/library/modules/_object-pie.js").f=G,a("./node_modules/core-js/library/modules/_object-gops.js").f=J,r&&!a("./node_modules/core-js/library/modules/_library.js")&&i(B,"propertyIsEnumerable",G,!0),f.f=function(e){return Y(m(e))}),s(s.G+s.W+s.F*!U,{Symbol:D});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ee=0;Q.length>ee;)m(Q[ee++]);for(var te=E(m.store),ae=0;te.length>ae;)h(te[ae++]);s(s.S+s.F*!U,"Symbol",{for:function(e){return o(R,e+="")?R[e]:R[e]=D(e)},keyFor:function(e){if(!H(e))throw TypeError(e+" is not a symbol!");for(var t in R)if(R[t]===e)return t},useSetter:function(){q=!0},useSimple:function(){q=!1}}),s(s.S+s.F*!U,"Object",{create:function(e,t){return void 0===t?S(e):K(S(e),t)},defineProperty:W,defineProperties:K,getOwnPropertyDescriptor:X,getOwnPropertyNames:Z,getOwnPropertySymbols:J}),k&&s(s.S+s.F*(!U||c(function(){var e=D();return"[null]"!=L([e])||"{}"!=L({a:e})||"{}"!=L(Object(e))})),"JSON",{stringify:function(e){for(var t,a,n=[e],o=1;arguments.length>o;)n.push(arguments[o++]);if(a=t=n[1],(y(t)||void 0!==e)&&!H(e))return g(t)||(t=function(e,t){if("function"==typeof a&&(t=a.call(this,e,t)),!H(t))return t}),n[1]=t,L.apply(k,n)}}),D.prototype[O]||a("./node_modules/core-js/library/modules/_hide.js")(D.prototype,O,D.prototype.valueOf),u(D,"Symbol"),u(Math,"Math",!0),u(n.JSON,"JSON",!0)},"./node_modules/core-js/library/modules/es7.promise.finally.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_export.js"),o=a("./node_modules/core-js/library/modules/_core.js"),r=a("./node_modules/core-js/library/modules/_global.js"),s=a("./node_modules/core-js/library/modules/_species-constructor.js"),i=a("./node_modules/core-js/library/modules/_promise-resolve.js");n(n.P+n.R,"Promise",{finally:function(e){var t=s(this,o.Promise||r.Promise),a="function"==typeof e;return this.then(a?function(a){return i(t,e()).then(function(){return a})}:e,a?function(a){return i(t,e()).then(function(){throw a})}:e)}})},"./node_modules/core-js/library/modules/es7.promise.try.js":function(e,t,a){"use strict";var n=a("./node_modules/core-js/library/modules/_export.js"),o=a("./node_modules/core-js/library/modules/_new-promise-capability.js"),r=a("./node_modules/core-js/library/modules/_perform.js");n(n.S,"Promise",{try:function(e){var t=o.f(this),a=r(e);return(a.e?t.reject:t.resolve)(a.v),t.promise}})},"./node_modules/core-js/library/modules/es7.symbol.async-iterator.js":function(e,t,a){a("./node_modules/core-js/library/modules/_wks-define.js")("asyncIterator")},"./node_modules/core-js/library/modules/es7.symbol.observable.js":function(e,t,a){a("./node_modules/core-js/library/modules/_wks-define.js")("observable")},"./node_modules/core-js/library/modules/web.dom.iterable.js":function(e,t,a){a("./node_modules/core-js/library/modules/es6.array.iterator.js");for(var n=a("./node_modules/core-js/library/modules/_global.js"),o=a("./node_modules/core-js/library/modules/_hide.js"),r=a("./node_modules/core-js/library/modules/_iterators.js"),s=a("./node_modules/core-js/library/modules/_wks.js")("toStringTag"),i="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),l=0;l<i.length;l++){var c=i[l],d=n[c],u=d&&d.prototype;u&&!u[s]&&o(u,s,c),r[c]=r.Array}},"./node_modules/debug/src/browser.js":function(e,t,a){(function(n){function o(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==n&&"env"in n&&(e=n.env.DEBUG),e}(t=e.exports=a("./node_modules/debug/src/debug.js")).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var a=this.useColors;if(e[0]=(a?"%c":"")+this.namespace+(a?" %c":" ")+e[0]+(a?"%c ":" ")+"+"+t.humanize(this.diff),!a)return;var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var o=0,r=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&"%c"===e&&(r=++o)}),e.splice(r,0,n)},t.save=function(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}},t.load=o,t.useColors=function(){if("undefined"!=typeof window&&window.process&&"renderer"===window.process.type)return!0;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(o())}).call(t,a("./node_modules/process/browser.js"))},"./node_modules/debug/src/debug.js":function(e,t,a){var n;function o(e){function a(){if(a.enabled){var e=a,o=+new Date,r=o-(n||o);e.diff=r,e.prev=n,e.curr=o,n=o;for(var s=new Array(arguments.length),i=0;i<s.length;i++)s[i]=arguments[i];s[0]=t.coerce(s[0]),"string"!=typeof s[0]&&s.unshift("%O");var l=0;s[0]=s[0].replace(/%([a-zA-Z%])/g,function(a,n){if("%%"===a)return a;l++;var o=t.formatters[n];if("function"==typeof o){var r=s[l];a=o.call(e,r),s.splice(l,1),l--}return a}),t.formatArgs.call(e,s),(a.log||t.log||console.log.bind(console)).apply(e,s)}}return a.namespace=e,a.enabled=t.enabled(e),a.useColors=t.useColors(),a.color=function(e){var a,n=0;for(a in e)n=(n<<5)-n+e.charCodeAt(a),n|=0;return t.colors[Math.abs(n)%t.colors.length]}(e),"function"==typeof t.init&&t.init(a),a}(t=e.exports=o.debug=o.default=o).coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){t.enable("")},t.enable=function(e){t.save(e),t.names=[],t.skips=[];for(var a=("string"==typeof e?e:"").split(/[\s,]+/),n=a.length,o=0;o<n;o++)a[o]&&("-"===(e=a[o].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.substr(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){var a,n;for(a=0,n=t.skips.length;a<n;a++)if(t.skips[a].test(e))return!1;for(a=0,n=t.names.length;a<n;a++)if(t.names[a].test(e))return!0;return!1},t.humanize=a("./node_modules/ms/index.js"),t.names=[],t.skips=[],t.formatters={}},"./node_modules/ical.js/build/ical.js":function(e,t,a){var n,o,r;ICAL=e.exports,ICAL.foldLength=75,ICAL.newLineChar="\r\n",ICAL.helpers={isStrictlyNaN:function(e){return"number"==typeof e&&isNaN(e)},strictParseInt:function(e){var t=parseInt(e,10);if(ICAL.helpers.isStrictlyNaN(t))throw new Error('Could not extract integer from "'+e+'"');return t},formatClassType:function(e,t){if(void 0!==e)return e instanceof t?e:new t(e)},unescapedIndexOf:function(e,t,a){for(;-1!==(a=e.indexOf(t,a));){if(!(a>0&&"\\"===e[a-1]))return a;a+=1}return-1},binsearchInsert:function(e,t,a){if(!e.length)return 0;for(var n,o,r=0,s=e.length-1;r<=s;)if((o=a(t,e[n=r+Math.floor((s-r)/2)]))<0)s=n-1;else{if(!(o>0))break;r=n+1}return o<0?n:o>0?n+1:n},dumpn:function(){ICAL.debug&&("undefined"!=typeof console&&"log"in console?ICAL.helpers.dumpn=function(e){console.log(e)}:ICAL.helpers.dumpn=function(e){dump(e+"\n")},ICAL.helpers.dumpn(arguments[0]))},clone:function(e,t){if(e&&"object"==typeof e){if(e instanceof Date)return new Date(e.getTime());if("clone"in e)return e.clone();if(Array.isArray(e)){for(var a=[],n=0;n<e.length;n++)a.push(t?ICAL.helpers.clone(e[n],!0):e[n]);return a}var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(o[r]=t?ICAL.helpers.clone(e[r],!0):e[r]);return o}return e},foldline:function(e){for(var t="",a=e||"";a.length;)t+=ICAL.newLineChar+" "+a.substr(0,ICAL.foldLength),a=a.substr(ICAL.foldLength);return t.substr(ICAL.newLineChar.length+1)},pad2:function(e){switch("string"!=typeof e&&("number"==typeof e&&(e=parseInt(e)),e=String(e)),e.length){case 0:return"00";case 1:return"0"+e;default:return e}},trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)},inherits:function(e,t,a){function n(){}n.prototype=e.prototype,t.prototype=new n,a&&ICAL.helpers.extend(a,t.prototype)},extend:function(e,t){for(var a in e){var n=Object.getOwnPropertyDescriptor(e,a);n&&!Object.getOwnPropertyDescriptor(t,a)&&Object.defineProperty(t,a,n)}return t}},ICAL.design=function(){"use strict";var e=/\\\\|\\,|\\[Nn]/g,t=/\\|,|\n/g;function a(e,t){return{matches:/.*/,fromICAL:function(t,a){return function(e,t,a){if(-1===e.indexOf("\\"))return e;a&&(t=new RegExp(t.source+"|\\\\"+a));return e.replace(t,m)}(t,e,a)},toICAL:function(e,a){var n=t;return a&&(n=new RegExp(n.source+"|"+a)),e.replace(n,function(e){switch(e){case"\\":return"\\\\";case";":return"\\;";case",":return"\\,";case"\n":return"\\n";default:return e}})}}}var n={defaultType:"text"},o={defaultType:"text",multiValue:","},r={defaultType:"text",structuredValue:";"},s={defaultType:"integer"},i={defaultType:"date-time",allowedTypes:["date-time","date"]},l={defaultType:"date-time"},c={defaultType:"uri"},d={defaultType:"utc-offset"},u={defaultType:"recur"},p={defaultType:"date-and-or-time",allowedTypes:["date-time","date","text"]};function m(e){switch(e){case"\\\\":return"\\";case"\\;":return";";case"\\,":return",";case"\\n":case"\\N":return"\n";default:return e}}var f={categories:o,url:c,version:n,uid:n},h={boolean:{values:["TRUE","FALSE"],fromICAL:function(e){switch(e){case"TRUE":return!0;case"FALSE":default:return!1}},toICAL:function(e){return e?"TRUE":"FALSE"}},float:{matches:/^[+-]?\d+\.\d+$/,fromICAL:function(e){var t=parseFloat(e);return ICAL.helpers.isStrictlyNaN(t)?0:t},toICAL:function(e){return String(e)}},integer:{fromICAL:function(e){var t=parseInt(e);return ICAL.helpers.isStrictlyNaN(t)?0:t},toICAL:function(e){return String(e)}},"utc-offset":{toICAL:function(e){return e.length<7?e.substr(0,3)+e.substr(4,2):e.substr(0,3)+e.substr(4,2)+e.substr(7,2)},fromICAL:function(e){return e.length<6?e.substr(0,3)+":"+e.substr(3,2):e.substr(0,3)+":"+e.substr(3,2)+":"+e.substr(5,2)},decorate:function(e){return ICAL.UtcOffset.fromString(e)},undecorate:function(e){return e.toString()}}},v=ICAL.helpers.extend(h,{text:a(/\\\\|\\;|\\,|\\[Nn]/g,/\\|;|,|\n/g),uri:{},binary:{decorate:function(e){return ICAL.Binary.fromString(e)},undecorate:function(e){return e.toString()}},"cal-address":{},date:{decorate:function(e,t){return ICAL.Time.fromDateString(e,t)},undecorate:function(e){return e.toString()},fromICAL:function(e){return e.substr(0,4)+"-"+e.substr(4,2)+"-"+e.substr(6,2)},toICAL:function(e){return e.length>11?e:e.substr(0,4)+e.substr(5,2)+e.substr(8,2)}},"date-time":{fromICAL:function(e){var t=e.substr(0,4)+"-"+e.substr(4,2)+"-"+e.substr(6,2)+"T"+e.substr(9,2)+":"+e.substr(11,2)+":"+e.substr(13,2);return e[15]&&"Z"===e[15]&&(t+="Z"),t},toICAL:function(e){if(e.length<19)return e;var t=e.substr(0,4)+e.substr(5,2)+e.substr(8,5)+e.substr(14,2)+e.substr(17,2);return e[19]&&"Z"===e[19]&&(t+="Z"),t},decorate:function(e,t){return ICAL.Time.fromDateTimeString(e,t)},undecorate:function(e){return e.toString()}},duration:{decorate:function(e){return ICAL.Duration.fromString(e)},undecorate:function(e){return e.toString()}},period:{fromICAL:function(e){var t=e.split("/");return t[0]=v["date-time"].fromICAL(t[0]),ICAL.Duration.isValueString(t[1])||(t[1]=v["date-time"].fromICAL(t[1])),t},toICAL:function(e){return e[0]=v["date-time"].toICAL(e[0]),ICAL.Duration.isValueString(e[1])||(e[1]=v["date-time"].toICAL(e[1])),e.join("/")},decorate:function(e,t){return ICAL.Period.fromJSON(e,t)},undecorate:function(e){return e.toJSON()}},recur:{fromICAL:function(e){return ICAL.Recur._stringToData(e,!0)},toICAL:function(e){var t="";for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var n=e[a];"until"==a?n=n.length>10?v["date-time"].toICAL(n):v.date.toICAL(n):"wkst"==a?"number"==typeof n&&(n=ICAL.Recur.numericDayToIcalDay(n)):Array.isArray(n)&&(n=n.join(",")),t+=a.toUpperCase()+"="+n+";"}return t.substr(0,t.length-1)},decorate:function(e){return ICAL.Recur.fromData(e)},undecorate:function(e){return e.toJSON()}},time:{fromICAL:function(e){if(e.length<6)return e;var t=e.substr(0,2)+":"+e.substr(2,2)+":"+e.substr(4,2);return"Z"===e[6]&&(t+="Z"),t},toICAL:function(e){if(e.length<8)return e;var t=e.substr(0,2)+e.substr(3,2)+e.substr(6,2);return"Z"===e[8]&&(t+="Z"),t}}}),g=ICAL.helpers.extend(f,{action:n,attach:{defaultType:"uri"},attendee:{defaultType:"cal-address"},calscale:n,class:n,comment:n,completed:l,contact:n,created:l,description:n,dtend:i,dtstamp:l,dtstart:i,due:i,duration:{defaultType:"duration"},exdate:{defaultType:"date-time",allowedTypes:["date-time","date"],multiValue:","},exrule:u,freebusy:{defaultType:"period",multiValue:","},geo:{defaultType:"float",structuredValue:";"},"last-modified":l,location:n,method:n,organizer:{defaultType:"cal-address"},"percent-complete":s,priority:s,prodid:n,"related-to":n,repeat:s,rdate:{defaultType:"date-time",allowedTypes:["date-time","date","period"],multiValue:",",detectType:function(e){return-1!==e.indexOf("/")?"period":-1===e.indexOf("T")?"date":"date-time"}},"recurrence-id":i,resources:o,"request-status":r,rrule:u,sequence:s,status:n,summary:n,transp:n,trigger:{defaultType:"duration",allowedTypes:["duration","date-time"]},tzoffsetfrom:d,tzoffsetto:d,tzurl:c,tzid:n,tzname:n}),b=ICAL.helpers.extend(h,{text:a(e,t),uri:a(e,t),date:{decorate:function(e){return ICAL.VCardTime.fromDateAndOrTimeString(e,"date")},undecorate:function(e){return e.toString()},fromICAL:function(e){return 8==e.length?v.date.fromICAL(e):"-"==e[0]&&6==e.length?e.substr(0,4)+"-"+e.substr(4):e},toICAL:function(e){return 10==e.length?v.date.toICAL(e):"-"==e[0]&&7==e.length?e.substr(0,4)+e.substr(5):e}},time:{decorate:function(e){return ICAL.VCardTime.fromDateAndOrTimeString("T"+e,"time")},undecorate:function(e){return e.toString()},fromICAL:function(e){var t=b.time._splitZone(e,!0),a=t[0],n=t[1];return 6==n.length?n=n.substr(0,2)+":"+n.substr(2,2)+":"+n.substr(4,2):4==n.length&&"-"!=n[0]?n=n.substr(0,2)+":"+n.substr(2,2):5==n.length&&(n=n.substr(0,3)+":"+n.substr(3,2)),5!=a.length||"-"!=a[0]&&"+"!=a[0]||(a=a.substr(0,3)+":"+a.substr(3)),n+a},toICAL:function(e){var t=b.time._splitZone(e),a=t[0],n=t[1];return 8==n.length?n=n.substr(0,2)+n.substr(3,2)+n.substr(6,2):5==n.length&&"-"!=n[0]?n=n.substr(0,2)+n.substr(3,2):6==n.length&&(n=n.substr(0,3)+n.substr(4,2)),6!=a.length||"-"!=a[0]&&"+"!=a[0]||(a=a.substr(0,3)+a.substr(4)),n+a},_splitZone:function(e,t){var a,n,o=e.length-1,r=e.length-(t?5:6),s=e[r];return"Z"==e[o]?(a=e[o],n=e.substr(0,o)):e.length>6&&("-"==s||"+"==s)?(a=e.substr(r),n=e.substr(0,r)):(a="",n=e),[a,n]}},"date-time":{decorate:function(e){return ICAL.VCardTime.fromDateAndOrTimeString(e,"date-time")},undecorate:function(e){return e.toString()},fromICAL:function(e){return b["date-and-or-time"].fromICAL(e)},toICAL:function(e){return b["date-and-or-time"].toICAL(e)}},"date-and-or-time":{decorate:function(e){return ICAL.VCardTime.fromDateAndOrTimeString(e,"date-and-or-time")},undecorate:function(e){return e.toString()},fromICAL:function(e){var t=e.split("T");return(t[0]?b.date.fromICAL(t[0]):"")+(t[1]?"T"+b.time.fromICAL(t[1]):"")},toICAL:function(e){var t=e.split("T");return b.date.toICAL(t[0])+(t[1]?"T"+b.time.toICAL(t[1]):"")}},timestamp:v["date-time"],"language-tag":{matches:/^[a-zA-Z0-9\-]+$/}}),y=ICAL.helpers.extend(f,{adr:{defaultType:"text",structuredValue:";",multiValue:","},anniversary:p,bday:p,caladruri:c,caluri:c,clientpidmap:r,email:n,fburl:c,fn:n,gender:r,geo:c,impp:c,key:c,kind:n,lang:{defaultType:"language-tag"},logo:c,member:c,n:{defaultType:"text",structuredValue:";",multiValue:","},nickname:o,note:n,org:{defaultType:"text",structuredValue:";"},photo:c,related:c,rev:{defaultType:"timestamp"},role:n,sound:c,source:c,tel:{defaultType:"uri",allowedTypes:["uri","text"]},title:n,tz:{defaultType:"text",allowedTypes:["text","utc-offset","uri"]},xml:n}),_=ICAL.helpers.extend(h,{binary:v.binary,date:b.date,"date-time":b["date-time"],"phone-number":{},uri:v.uri,text:v.text,time:v.time,vcard:v.text,"utc-offset":{toICAL:function(e){return e.substr(0,7)},fromICAL:function(e){return e.substr(0,7)},decorate:function(e){return ICAL.UtcOffset.fromString(e)},undecorate:function(e){return e.toString()}}}),j=ICAL.helpers.extend(f,{fn:n,n:{defaultType:"text",structuredValue:";",multiValue:","},nickname:o,photo:{defaultType:"binary",allowedTypes:["binary","uri"]},bday:{defaultType:"date-time",allowedTypes:["date-time","date"],detectType:function(e){return-1===e.indexOf("T")?"date":"date-time"}},adr:{defaultType:"text",structuredValue:";",multiValue:","},label:n,tel:{defaultType:"phone-number"},email:n,mailer:n,tz:{defaultType:"utc-offset",allowedTypes:["utc-offset","text"]},geo:{defaultType:"float",structuredValue:";"},title:n,role:n,logo:{defaultType:"binary",allowedTypes:["binary","uri"]},agent:{defaultType:"vcard",allowedTypes:["vcard","text","uri"]},org:r,note:o,prodid:n,rev:{defaultType:"date-time",allowedTypes:["date-time","date"],detectType:function(e){return-1===e.indexOf("T")?"date":"date-time"}},"sort-string":n,sound:{defaultType:"binary",allowedTypes:["binary","uri"]},class:n,key:{defaultType:"binary",allowedTypes:["binary","text"]}}),A={value:v,param:{cutype:{values:["INDIVIDUAL","GROUP","RESOURCE","ROOM","UNKNOWN"],allowXName:!0,allowIanaToken:!0},"delegated-from":{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},"delegated-to":{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},encoding:{values:["8BIT","BASE64"]},fbtype:{values:["FREE","BUSY","BUSY-UNAVAILABLE","BUSY-TENTATIVE"],allowXName:!0,allowIanaToken:!0},member:{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},partstat:{values:["NEEDS-ACTION","ACCEPTED","DECLINED","TENTATIVE","DELEGATED","COMPLETED","IN-PROCESS"],allowXName:!0,allowIanaToken:!0},range:{values:["THISLANDFUTURE"]},related:{values:["START","END"]},reltype:{values:["PARENT","CHILD","SIBLING"],allowXName:!0,allowIanaToken:!0},role:{values:["REQ-PARTICIPANT","CHAIR","OPT-PARTICIPANT","NON-PARTICIPANT"],allowXName:!0,allowIanaToken:!0},rsvp:{values:["TRUE","FALSE"]},"sent-by":{valueType:"cal-address"},tzid:{matches:/^\//},value:{values:["binary","boolean","cal-address","date","date-time","duration","float","integer","period","recur","text","time","uri","utc-offset"],allowXName:!0,allowIanaToken:!0}},property:g},S={value:b,param:{type:{valueType:"text",multiValue:","},value:{values:["text","uri","date","time","date-time","date-and-or-time","timestamp","boolean","integer","float","utc-offset","language-tag"],allowXName:!0,allowIanaToken:!0}},property:y},C={value:_,param:{type:{valueType:"text",multiValue:","},value:{values:["text","uri","date","date-time","phone-number","time","boolean","integer","float","utc-offset","vcard","binary"],allowXName:!0,allowIanaToken:!0}},property:j},I={defaultSet:A,defaultType:"unknown",components:{vcard:S,vcard3:C,vevent:A,vtodo:A,vjournal:A,valarm:A,vtimezone:A,daylight:A,standard:A},icalendar:A,vcard:S,vcard3:C,getDesignSet:function(e){return e&&e in I.components?I.components[e]:I.defaultSet}};return I}(),ICAL.stringify=function(){"use strict";var e="\r\n",t=ICAL.design,a=ICAL.helpers;function n(t){"string"==typeof t[0]&&(t=[t]);for(var a=0,o=t.length,r="";a<o;a++)r+=n.component(t[a])+e;return r}n.component=function(a,o){var r=a[0].toUpperCase(),s="BEGIN:"+r+e,i=a[1],l=0,c=i.length,d=a[0];for("vcard"===d&&a[1].length>0&&("version"!==a[1][0][0]||"4.0"!==a[1][0][3])&&(d="vcard3"),o=o||t.getDesignSet(d);l<c;l++)s+=n.property(i[l],o)+e;for(var u=a[2],p=0,m=u.length;p<m;p++)s+=n.component(u[p],o)+e;return s+="END:"+r},n.property=function(e,a,o){var r,s=e[0].toUpperCase(),i=e[0],l=e[1],c=s;for(r in l){var d=l[r];if(l.hasOwnProperty(r))(m=r in a.param&&a.param[r].multiValue)&&Array.isArray(d)?(a.param[r].multiValueSeparateDQuote&&(m='"'+m+'"'),d=d.map(n._rfc6868Unescape),d=n.multiValue(d,m,"unknown",null,a)):d=n._rfc6868Unescape(d),c+=";"+r.toUpperCase(),c+="="+n.propertyValue(d)}if(3===e.length)return c+":";var u,p=e[2];a||(a=t.defaultSet);var m=!1,f=!1,h=!1;return i in a.property?("multiValue"in(u=a.property[i])&&(m=u.multiValue),"structuredValue"in u&&Array.isArray(e[3])&&(f=u.structuredValue),"defaultType"in u?p===u.defaultType&&(h=!0):"unknown"===p&&(h=!0)):"unknown"===p&&(h=!0),h||(c+=";VALUE="+p.toUpperCase()),c+=":",c+=m&&f?n.multiValue(e[3],f,p,m,a,f):m?n.multiValue(e.slice(3),m,p,null,a,!1):f?n.multiValue(e[3],f,p,null,a,f):n.value(e[3],p,a,!1),o?c:ICAL.helpers.foldline(c)},n.propertyValue=function(e){return-1===a.unescapedIndexOf(e,",")&&-1===a.unescapedIndexOf(e,":")&&-1===a.unescapedIndexOf(e,";")?e:'"'+e+'"'},n.multiValue=function(e,t,a,o,r,s){for(var i="",l=e.length,c=0;c<l;c++)o&&Array.isArray(e[c])?i+=n.multiValue(e[c],o,a,null,r,s):i+=n.value(e[c],a,r,s),c!==l-1&&(i+=t);return i},n.value=function(e,t,a,n){return t in a.value&&"toICAL"in a.value[t]?a.value[t].toICAL(e,n):e},n._rfc6868Unescape=function(e){return e.replace(/[\n^"]/g,function(e){return o[e]})};var o={'"':"^'","\n":"^n","^":"^^"};return n}(),ICAL.parse=function(){"use strict";var e=/[^ \t]/,t=ICAL.design,a=ICAL.helpers;function n(e){this.message=e,this.name="ParserError";try{throw new Error}catch(e){if(e.stack){var t=e.stack.split("\n");t.shift(),this.stack=t.join("\n")}}}function o(e){var t={},a=t.component=[];if(t.stack=[a],o._eachLine(e,function(e,a){o._handleContentLine(a,t)}),t.stack.length>1)throw new n("invalid ical body. component began but did not end");return t=null,1==a.length?a[0]:a}n.prototype=Error.prototype,o.property=function(e,a){var n={component:[[],[]],designSet:a||t.defaultSet};return o._handleContentLine(e,n),n.component[1][0]},o.component=function(e){return o(e)},o.ParserError=n,o._handleContentLine=function(e,a){var r,s,i,l,c,d,u=e.indexOf(":"),p=e.indexOf(";"),m={};if(-1!==p&&-1!==u&&p>u&&(p=-1),-1!==p){if(i=e.substring(0,p).toLowerCase(),-1==(c=o._parseParameters(e.substring(p),0,a.designSet))[2])throw new n("Invalid parameters in '"+e+"'");if(m=c[0],r=c[1].length+c[2]+p,-1===(s=e.substring(r).indexOf(":")))throw new n("Missing parameter value in '"+e+"'");l=e.substring(r+s+1)}else{if(-1===u)throw new n('invalid line (no token ";" or ":") "'+e+'"');if(i=e.substring(0,u).toLowerCase(),l=e.substring(u+1),"begin"===i){var f=[l.toLowerCase(),[],[]];return 1===a.stack.length?a.component.push(f):a.component[2].push(f),a.stack.push(a.component),a.component=f,void(a.designSet||(a.designSet=t.getDesignSet(a.component[0])))}if("end"===i)return void(a.component=a.stack.pop())}var h,v,g=!1,b=!1;i in a.designSet.property&&("multiValue"in(h=a.designSet.property[i])&&(g=h.multiValue),"structuredValue"in h&&(b=h.structuredValue),l&&"detectType"in h&&(d=h.detectType(l))),d||(d="value"in m?m.value.toLowerCase():h?h.defaultType:"unknown"),delete m.value,g&&b?v=[i,m,d,l=o._parseMultiValue(l,b,d,[],g,a.designSet,b)]:g?(v=[i,m,d],o._parseMultiValue(l,g,d,v,null,a.designSet,!1)):v=b?[i,m,d,l=o._parseMultiValue(l,b,d,[],null,a.designSet,b)]:[i,m,d,l=o._parseValue(l,d,a.designSet,!1)],"vcard"!==a.component[0]||0!==a.component[1].length||"version"===i&&"4.0"===l||(a.designSet=t.getDesignSet("vcard3")),a.component[1].push(v)},o._parseValue=function(e,t,a,n){return t in a.value&&"fromICAL"in a.value[t]?a.value[t].fromICAL(e,n):e},o._parseParameters=function(e,t,r){for(var s,i,l,c,d,u,p=t,m=0,f={},h=-1;!1!==m&&-1!==(m=a.unescapedIndexOf(e,"=",m+1));){if(0==(s=e.substr(p+1,m-p-1)).length)throw new n("Empty parameter name in '"+e+"'");if(c=(i=s.toLowerCase())in r.param&&r.param[i].valueType?r.param[i].valueType:"text",i in r.param&&(d=r.param[i].multiValue,r.param[i].multiValueSeparateDQuote&&(u=o._rfc6868Escape('"'+d+'"'))),'"'===e[m+1]){if(h=m+2,m=a.unescapedIndexOf(e,'"',h),d&&-1!=m)for(var v=!0;v;)e[m+1]==d&&'"'==e[m+2]?m=a.unescapedIndexOf(e,'"',m+3):v=!1;if(-1===m)throw new n('invalid line (no matching double quote) "'+e+'"');l=e.substr(h,m-h),-1===(p=a.unescapedIndexOf(e,";",m))&&(m=!1)}else{h=m+1;var g=a.unescapedIndexOf(e,";",h),b=a.unescapedIndexOf(e,":",h);-1!==b&&g>b?(g=b,m=!1):-1===g?(g=-1===b?e.length:b,m=!1):(p=g,m=g),l=e.substr(h,g-h)}if(l=o._rfc6868Escape(l),d){var y=u||d;f[i]=o._parseMultiValue(l,y,c,[],null,r)}else f[i]=o._parseValue(l,c,r)}return[f,l,h]},o._rfc6868Escape=function(e){return e.replace(/\^['n^]/g,function(e){return r[e]})};var r={"^'":'"',"^n":"\n","^^":"^"};return o._parseMultiValue=function(e,t,n,r,s,i,l){var c,d=0,u=0;if(0===t.length)return e;for(;-1!==(d=a.unescapedIndexOf(e,t,u));)c=e.substr(u,d-u),c=s?o._parseMultiValue(c,s,n,[],null,i,l):o._parseValue(c,n,i,l),r.push(c),u=d+t.length;return c=e.substr(u),c=s?o._parseMultiValue(c,s,n,[],null,i,l):o._parseValue(c,n,i,l),r.push(c),1==r.length?r[0]:r},o._eachLine=function(t,a){var n,o,r,s=t.length,i=t.search(e),l=i;do{r=(l=t.indexOf("\n",i)+1)>1&&"\r"===t[l-2]?2:1,0===l&&(l=s,r=0)," "===(o=t[i])||"\t"===o?n+=t.substr(i+1,l-i-(r+1)):(n&&a(null,n),n=t.substr(i,l-i-r)),i=l}while(l!==s);(n=n.trim()).length&&a(null,n)},o}(),ICAL.Component=function(){"use strict";function e(e,t){"string"==typeof e&&(e=[e,[],[]]),this.jCal=e,this.parent=t||null}return e.prototype={_hydratedPropertyCount:0,_hydratedComponentCount:0,get name(){return this.jCal[0]},get _designSet(){return this.parent&&this.parent._designSet||ICAL.design.getDesignSet(this.name)},_hydrateComponent:function(t){if(this._components||(this._components=[],this._hydratedComponentCount=0),this._components[t])return this._components[t];var a=new e(this.jCal[2][t],this);return this._hydratedComponentCount++,this._components[t]=a},_hydrateProperty:function(e){if(this._properties||(this._properties=[],this._hydratedPropertyCount=0),this._properties[e])return this._properties[e];var t=new ICAL.Property(this.jCal[1][e],this);return this._hydratedPropertyCount++,this._properties[e]=t},getFirstSubcomponent:function(e){if(e)for(var t=0,a=this.jCal[2],n=a.length;t<n;t++){if(a[t][0]===e)return this._hydrateComponent(t)}else if(this.jCal[2].length)return this._hydrateComponent(0);return null},getAllSubcomponents:function(e){var t=this.jCal[2].length,a=0;if(e){for(var n=this.jCal[2],o=[];a<t;a++)e===n[a][0]&&o.push(this._hydrateComponent(a));return o}if(!this._components||this._hydratedComponentCount!==t)for(;a<t;a++)this._hydrateComponent(a);return this._components||[]},hasProperty:function(e){for(var t=this.jCal[1],a=t.length,n=0;n<a;n++)if(t[n][0]===e)return!0;return!1},getFirstProperty:function(e){if(e)for(var t=0,a=this.jCal[1],n=a.length;t<n;t++){if(a[t][0]===e)return this._hydrateProperty(t)}else if(this.jCal[1].length)return this._hydrateProperty(0);return null},getFirstPropertyValue:function(e){var t=this.getFirstProperty(e);return t?t.getFirstValue():null},getAllProperties:function(e){var t=this.jCal[1].length,a=0;if(e){for(var n=this.jCal[1],o=[];a<t;a++)e===n[a][0]&&o.push(this._hydrateProperty(a));return o}if(!this._properties||this._hydratedPropertyCount!==t)for(;a<t;a++)this._hydrateProperty(a);return this._properties||[]},_removeObjectByIndex:function(e,t,a){if((t=t||[])[a]){var n=t[a];"parent"in n&&(n.parent=null)}t.splice(a,1),this.jCal[e].splice(a,1)},_removeObject:function(e,t,a){var n=0,o=this.jCal[e],r=o.length,s=this[t];if("string"==typeof a){for(;n<r;n++)if(o[n][0]===a)return this._removeObjectByIndex(e,s,n),!0}else if(s)for(;n<r;n++)if(s[n]&&s[n]===a)return this._removeObjectByIndex(e,s,n),!0;return!1},_removeAllObjects:function(e,t,a){for(var n=this[t],o=this.jCal[e],r=o.length-1;r>=0;r--)a&&o[r][0]!==a||this._removeObjectByIndex(e,n,r)},addSubcomponent:function(e){this._components||(this._components=[],this._hydratedComponentCount=0),e.parent&&e.parent.removeSubcomponent(e);var t=this.jCal[2].push(e.jCal);return this._components[t-1]=e,this._hydratedComponentCount++,e.parent=this,e},removeSubcomponent:function(e){var t=this._removeObject(2,"_components",e);return t&&this._hydratedComponentCount--,t},removeAllSubcomponents:function(e){var t=this._removeAllObjects(2,"_components",e);return this._hydratedComponentCount=0,t},addProperty:function(e){if(!(e instanceof ICAL.Property))throw new TypeError("must instance of ICAL.Property");this._properties||(this._properties=[],this._hydratedPropertyCount=0),e.parent&&e.parent.removeProperty(e);var t=this.jCal[1].push(e.jCal);return this._properties[t-1]=e,this._hydratedPropertyCount++,e.parent=this,e},addPropertyWithValue:function(e,t){var a=new ICAL.Property(e);return a.setValue(t),this.addProperty(a),a},updatePropertyWithValue:function(e,t){var a=this.getFirstProperty(e);return a?a.setValue(t):a=this.addPropertyWithValue(e,t),a},removeProperty:function(e){var t=this._removeObject(1,"_properties",e);return t&&this._hydratedPropertyCount--,t},removeAllProperties:function(e){var t=this._removeAllObjects(1,"_properties",e);return this._hydratedPropertyCount=0,t},toJSON:function(){return this.jCal},toString:function(){return ICAL.stringify.component(this.jCal,this._designSet)}},e.fromString=function(t){return new e(ICAL.parse.component(t))},e}(),ICAL.Property=function(){"use strict";var e=2,t=ICAL.design;function a(a,n){this._parent=n||null,"string"==typeof a?(this.jCal=[a,{},t.defaultType],this.jCal[e]=this.getDefaultType()):this.jCal=a,this._updateType()}return a.prototype={get type(){return this.jCal[e]},get name(){return this.jCal[0]},get parent(){return this._parent},set parent(a){var n=!this._parent||a&&a._designSet!=this._parent._designSet;return this._parent=a,this.type==t.defaultType&&n&&(this.jCal[e]=this.getDefaultType(),this._updateType()),a},get _designSet(){return this.parent?this.parent._designSet:t.defaultSet},_updateType:function(){var e=this._designSet;if(this.type in e.value){e.value[this.type];"decorate"in e.value[this.type]?this.isDecorated=!0:this.isDecorated=!1,this.name in e.property&&(this.isMultiValue="multiValue"in e.property[this.name],this.isStructuredValue="structuredValue"in e.property[this.name])}},_hydrateValue:function(e){return this._values&&this._values[e]?this._values[e]:this.jCal.length<=3+e?null:this.isDecorated?(this._values||(this._values=[]),this._values[e]=this._decorate(this.jCal[3+e])):this.jCal[3+e]},_decorate:function(e){return this._designSet.value[this.type].decorate(e,this)},_undecorate:function(e){return this._designSet.value[this.type].undecorate(e,this)},_setDecoratedValue:function(e,t){this._values||(this._values=[]),"object"==typeof e&&"icaltype"in e?(this.jCal[3+t]=this._undecorate(e),this._values[t]=e):(this.jCal[3+t]=e,this._values[t]=this._decorate(e))},getParameter:function(e){return e in this.jCal[1]?this.jCal[1][e]:void 0},setParameter:function(e,t){var a=e.toLowerCase();"string"==typeof t&&a in this._designSet.param&&"multiValue"in this._designSet.param[a]&&(t=[t]),this.jCal[1][e]=t},removeParameter:function(e){delete this.jCal[1][e]},getDefaultType:function(){var e=this.jCal[0],a=this._designSet;if(e in a.property){var n=a.property[e];if("defaultType"in n)return n.defaultType}return t.defaultType},resetType:function(t){this.removeAllValues(),this.jCal[e]=t,this._updateType()},getFirstValue:function(){return this._hydrateValue(0)},getValues:function(){var e=this.jCal.length-3;if(e<1)return[];for(var t=0,a=[];t<e;t++)a[t]=this._hydrateValue(t);return a},removeAllValues:function(){this._values&&(this._values.length=0),this.jCal.length=3},setValues:function(e){if(!this.isMultiValue)throw new Error(this.name+": does not not support mulitValue.\noverride isMultiValue");var t=e.length,a=0;if(this.removeAllValues(),t>0&&"object"==typeof e[0]&&"icaltype"in e[0]&&this.resetType(e[0].icaltype),this.isDecorated)for(;a<t;a++)this._setDecoratedValue(e[a],a);else for(;a<t;a++)this.jCal[3+a]=e[a]},setValue:function(e){this.removeAllValues(),"object"==typeof e&&"icaltype"in e&&this.resetType(e.icaltype),this.isDecorated?this._setDecoratedValue(e,0):this.jCal[3]=e},toJSON:function(){return this.jCal},toICALString:function(){return ICAL.stringify.property(this.jCal,this._designSet,!0)}},a.fromString=function(e,t){return new a(ICAL.parse.property(e,t))},a}(),ICAL.UtcOffset=function(){function e(e){this.fromData(e)}return e.prototype={hours:0,minutes:0,factor:1,icaltype:"utc-offset",clone:function(){return ICAL.UtcOffset.fromSeconds(this.toSeconds())},fromData:function(e){if(e)for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);this._normalize()},fromSeconds:function(e){var t=Math.abs(e);return this.factor=e<0?-1:1,this.hours=ICAL.helpers.trunc(t/3600),t-=3600*this.hours,this.minutes=ICAL.helpers.trunc(t/60),this},toSeconds:function(){return this.factor*(60*this.minutes+3600*this.hours)},compare:function(e){var t=this.toSeconds(),a=e.toSeconds();return(t>a)-(a>t)},_normalize:function(){for(var e=this.toSeconds(),t=this.factor;e<-43200;)e+=97200;for(;e>50400;)e-=97200;this.fromSeconds(e),0==e&&(this.factor=t)},toICALString:function(){return ICAL.design.icalendar.value["utc-offset"].toICAL(this.toString())},toString:function(){return(1==this.factor?"+":"-")+ICAL.helpers.pad2(this.hours)+":"+ICAL.helpers.pad2(this.minutes)}},e.fromString=function(e){var t={};return t.factor="+"===e[0]?1:-1,t.hours=ICAL.helpers.strictParseInt(e.substr(1,2)),t.minutes=ICAL.helpers.strictParseInt(e.substr(4,2)),new ICAL.UtcOffset(t)},e.fromSeconds=function(t){var a=new e;return a.fromSeconds(t),a},e}(),ICAL.Binary=function(){function e(e){this.value=e}return e.prototype={icaltype:"binary",decodeValue:function(){return this._b64_decode(this.value)},setEncodedValue:function(e){this.value=this._b64_encode(e)},_b64_encode:function(e){var t,a,n,o,r,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i=0,l=0,c="",d=[];if(!e)return e;do{t=(r=e.charCodeAt(i++)<<16|e.charCodeAt(i++)<<8|e.charCodeAt(i++))>>18&63,a=r>>12&63,n=r>>6&63,o=63&r,d[l++]=s.charAt(t)+s.charAt(a)+s.charAt(n)+s.charAt(o)}while(i<e.length);c=d.join("");var u=e.length%3;return(u?c.slice(0,u-3):c)+"===".slice(u||3)},_b64_decode:function(e){var t,a,n,o,r,s,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l=0,c=0,d=[];if(!e)return e;e+="";do{t=(s=i.indexOf(e.charAt(l++))<<18|i.indexOf(e.charAt(l++))<<12|(o=i.indexOf(e.charAt(l++)))<<6|(r=i.indexOf(e.charAt(l++))))>>16&255,a=s>>8&255,n=255&s,d[c++]=64==o?String.fromCharCode(t):64==r?String.fromCharCode(t,a):String.fromCharCode(t,a,n)}while(l<e.length);return d.join("")},toString:function(){return this.value}},e.fromString=function(t){return new e(t)},e}(),ICAL.Period=function(e){if(this.wrappedJSObject=this,e&&"start"in e){if(e.start&&!(e.start instanceof ICAL.Time))throw new TypeError(".start must be an instance of ICAL.Time");this.start=e.start}if(e&&e.end&&e.duration)throw new Error("cannot accept both end and duration");if(e&&"end"in e){if(e.end&&!(e.end instanceof ICAL.Time))throw new TypeError(".end must be an instance of ICAL.Time");this.end=e.end}if(e&&"duration"in e){if(e.duration&&!(e.duration instanceof ICAL.Duration))throw new TypeError(".duration must be an instance of ICAL.Duration");this.duration=e.duration}},ICAL.Period.prototype={start:null,end:null,duration:null,icalclass:"icalperiod",icaltype:"period",clone:function(){return ICAL.Period.fromData({start:this.start?this.start.clone():null,end:this.end?this.end.clone():null,duration:this.duration?this.duration.clone():null})},getDuration:function(){return this.duration?this.duration:this.end.subtractDate(this.start)},getEnd:function(){if(this.end)return this.end;var e=this.start.clone();return e.addDuration(this.duration),e},toString:function(){return this.start+"/"+(this.end||this.duration)},toJSON:function(){return[this.start.toString(),(this.end||this.duration).toString()]},toICALString:function(){return this.start.toICALString()+"/"+(this.end||this.duration).toICALString()}},ICAL.Period.fromString=function(e,t){var a=e.split("/");if(2!==a.length)throw new Error('Invalid string value: "'+e+'" must contain a "/" char.');var n={start:ICAL.Time.fromDateTimeString(a[0],t)},o=a[1];return ICAL.Duration.isValueString(o)?n.duration=ICAL.Duration.fromString(o):n.end=ICAL.Time.fromDateTimeString(o,t),new ICAL.Period(n)},ICAL.Period.fromData=function(e){return new ICAL.Period(e)},ICAL.Period.fromJSON=function(e,t){return ICAL.Duration.isValueString(e[1])?ICAL.Period.fromData({start:ICAL.Time.fromDateTimeString(e[0],t),duration:ICAL.Duration.fromString(e[1])}):ICAL.Period.fromData({start:ICAL.Time.fromDateTimeString(e[0],t),end:ICAL.Time.fromDateTimeString(e[1],t)})},function(){var e=/([PDWHMTS]{1,1})/;function t(e,t,a){var n;switch(e){case"P":a.isNegative=!(!t||"-"!==t);break;case"D":n="days";break;case"W":n="weeks";break;case"H":n="hours";break;case"M":n="minutes";break;case"S":n="seconds";break;default:return 0}if(n){if(!t&&0!==t)throw new Error('invalid duration value: Missing number before "'+e+'"');var o=parseInt(t,10);if(ICAL.helpers.isStrictlyNaN(o))throw new Error('invalid duration value: Invalid number "'+t+'" before "'+e+'"');a[n]=o}return 1}ICAL.Duration=function(e){this.wrappedJSObject=this,this.fromData(e)},ICAL.Duration.prototype={weeks:0,days:0,hours:0,minutes:0,seconds:0,isNegative:!1,icalclass:"icalduration",icaltype:"duration",clone:function(){return ICAL.Duration.fromData(this)},toSeconds:function(){var e=this.seconds+60*this.minutes+3600*this.hours+86400*this.days+604800*this.weeks;return this.isNegative?-e:e},fromSeconds:function(e){var t=Math.abs(e);return this.isNegative=e<0,this.days=ICAL.helpers.trunc(t/86400),this.days%7==0?(this.weeks=this.days/7,this.days=0):this.weeks=0,t-=86400*(this.days+7*this.weeks),this.hours=ICAL.helpers.trunc(t/3600),t-=3600*this.hours,this.minutes=ICAL.helpers.trunc(t/60),t-=60*this.minutes,this.seconds=t,this},fromData:function(e){var t=["weeks","days","hours","minutes","seconds","isNegative"];for(var a in t)if(t.hasOwnProperty(a)){var n=t[a];this[n]=e&&n in e?e[n]:0}},reset:function(){this.isNegative=!1,this.weeks=0,this.days=0,this.hours=0,this.minutes=0,this.seconds=0},compare:function(e){var t=this.toSeconds(),a=e.toSeconds();return(t>a)-(t<a)},normalize:function(){this.fromSeconds(this.toSeconds())},toString:function(){if(0==this.toSeconds())return"PT0S";var e="";return this.isNegative&&(e+="-"),e+="P",this.weeks&&(e+=this.weeks+"W"),this.days&&(e+=this.days+"D"),(this.hours||this.minutes||this.seconds)&&(e+="T",this.hours&&(e+=this.hours+"H"),this.minutes&&(e+=this.minutes+"M"),this.seconds&&(e+=this.seconds+"S")),e},toICALString:function(){return this.toString()}},ICAL.Duration.fromSeconds=function(e){return(new ICAL.Duration).fromSeconds(e)},ICAL.Duration.isValueString=function(e){return"P"===e[0]||"P"===e[1]},ICAL.Duration.fromString=function(a){for(var n=0,o=Object.create(null),r=0;-1!==(n=a.search(e));){var s=a[n],i=a.substr(0,n);a=a.substr(n+1),r+=t(s,i,o)}if(r<2)throw new Error('invalid duration value: Not enough duration components in "'+a+'"');return new ICAL.Duration(o)},ICAL.Duration.fromData=function(e){return new ICAL.Duration(e)}}(),n=["tzid","location","tznames","latitude","longitude"],ICAL.Timezone=function(e){this.wrappedJSObject=this,this.fromData(e)},ICAL.Timezone.prototype={tzid:"",location:"",tznames:"",latitude:0,longitude:0,component:null,expandedUntilYear:0,icalclass:"icaltimezone",fromData:function(e){if(this.expandedUntilYear=0,this.changes=[],e instanceof ICAL.Component)this.component=e;else{if(e&&"component"in e)if("string"==typeof e.component){var t=ICAL.parse(e.component);this.component=new ICAL.Component(t)}else e.component instanceof ICAL.Component?this.component=e.component:this.component=null;for(var a in n)if(n.hasOwnProperty(a)){var o=n[a];e&&o in e&&(this[o]=e[o])}}return this.component instanceof ICAL.Component&&!this.tzid&&(this.tzid=this.component.getFirstPropertyValue("tzid")),this},utcOffset:function(e){if(this==ICAL.Timezone.utcTimezone||this==ICAL.Timezone.localTimezone)return 0;if(this._ensureCoverage(e.year),!this.changes.length)return 0;for(var t={year:e.year,month:e.month,day:e.day,hour:e.hour,minute:e.minute,second:e.second},a=this._findNearbyChange(t),n=-1,o=1;;){var r=ICAL.helpers.clone(this.changes[a],!0);if(r.utcOffset<r.prevUtcOffset?ICAL.Timezone.adjust_change(r,0,0,0,r.utcOffset):ICAL.Timezone.adjust_change(r,0,0,0,r.prevUtcOffset),ICAL.Timezone._compare_change_fn(t,r)>=0?n=a:o=-1,-1==o&&-1!=n)break;if((a+=o)<0)return 0;if(a>=this.changes.length)break}var s=this.changes[n];if(s.utcOffset-s.prevUtcOffset<0&&n>0){var i=ICAL.helpers.clone(s,!0);if(ICAL.Timezone.adjust_change(i,0,0,0,i.prevUtcOffset),ICAL.Timezone._compare_change_fn(t,i)<0){var l=this.changes[n-1];0!=s.is_daylight&&0==l.is_daylight&&(s=l)}}return s.utcOffset},_findNearbyChange:function(e){var t=ICAL.helpers.binsearchInsert(this.changes,e,ICAL.Timezone._compare_change_fn);return t>=this.changes.length?this.changes.length-1:t},_ensureCoverage:function(e){if(-1==ICAL.Timezone._minimumExpansionYear){var t=ICAL.Time.now();ICAL.Timezone._minimumExpansionYear=t.year}var a=e;if(a<ICAL.Timezone._minimumExpansionYear&&(a=ICAL.Timezone._minimumExpansionYear),(a+=ICAL.Timezone.EXTRA_COVERAGE)>ICAL.Timezone.MAX_YEAR&&(a=ICAL.Timezone.MAX_YEAR),!this.changes.length||this.expandedUntilYear<e){for(var n=this.component.getAllSubcomponents(),o=n.length,r=0;r<o;r++)this._expandComponent(n[r],a,this.changes);this.changes.sort(ICAL.Timezone._compare_change_fn),this.expandedUntilYear=a}},_expandComponent:function(e,t,a){if(!e.hasProperty("dtstart")||!e.hasProperty("tzoffsetto")||!e.hasProperty("tzoffsetfrom"))return null;var n,o=e.getFirstProperty("dtstart").getFirstValue();function r(e){return e.factor*(3600*e.hours+60*e.minutes)}function s(){var t={};return t.is_daylight="daylight"==e.name,t.utcOffset=r(e.getFirstProperty("tzoffsetto").getFirstValue()),t.prevUtcOffset=r(e.getFirstProperty("tzoffsetfrom").getFirstValue()),t}if(e.hasProperty("rrule")||e.hasProperty("rdate")){var i=e.getAllProperties("rdate");for(var l in i)if(i.hasOwnProperty(l)){var c=i[l].getFirstValue();(n=s()).year=c.year,n.month=c.month,n.day=c.day,c.isDate?(n.hour=o.hour,n.minute=o.minute,n.second=o.second,o.zone!=ICAL.Timezone.utcTimezone&&ICAL.Timezone.adjust_change(n,0,0,0,-n.prevUtcOffset)):(n.hour=c.hour,n.minute=c.minute,n.second=c.second,c.zone!=ICAL.Timezone.utcTimezone&&ICAL.Timezone.adjust_change(n,0,0,0,-n.prevUtcOffset)),a.push(n)}var d=e.getFirstProperty("rrule");if(d){d=d.getFirstValue(),n=s(),d.until&&d.until.zone==ICAL.Timezone.utcTimezone&&(d.until.adjust(0,0,0,n.prevUtcOffset),d.until.zone=ICAL.Timezone.localTimezone);for(var u,p=d.iterator(o);(u=p.next())&&(n=s(),!(u.year>t)&&u);)n.year=u.year,n.month=u.month,n.day=u.day,n.hour=u.hour,n.minute=u.minute,n.second=u.second,n.isDate=u.isDate,ICAL.Timezone.adjust_change(n,0,0,0,-n.prevUtcOffset),a.push(n)}}else(n=s()).year=o.year,n.month=o.month,n.day=o.day,n.hour=o.hour,n.minute=o.minute,n.second=o.second,ICAL.Timezone.adjust_change(n,0,0,0,-n.prevUtcOffset),a.push(n);return a},toString:function(){return this.tznames?this.tznames:this.tzid}},ICAL.Timezone._compare_change_fn=function(e,t){return e.year<t.year?-1:e.year>t.year?1:e.month<t.month?-1:e.month>t.month?1:e.day<t.day?-1:e.day>t.day?1:e.hour<t.hour?-1:e.hour>t.hour?1:e.minute<t.minute?-1:e.minute>t.minute?1:e.second<t.second?-1:e.second>t.second?1:0},ICAL.Timezone.convert_time=function(e,t,a){if(e.isDate||t.tzid==a.tzid||t==ICAL.Timezone.localTimezone||a==ICAL.Timezone.localTimezone)return e.zone=a,e;var n=t.utcOffset(e);return e.adjust(0,0,0,-n),n=a.utcOffset(e),e.adjust(0,0,0,n),null},ICAL.Timezone.fromData=function(e){return(new ICAL.Timezone).fromData(e)},ICAL.Timezone.utcTimezone=ICAL.Timezone.fromData({tzid:"UTC"}),ICAL.Timezone.localTimezone=ICAL.Timezone.fromData({tzid:"floating"}),ICAL.Timezone.adjust_change=function(e,t,a,n,o){return ICAL.Time.prototype.adjust.call(e,t,a,n,o,e)},ICAL.Timezone._minimumExpansionYear=-1,ICAL.Timezone.MAX_YEAR=2035,ICAL.Timezone.EXTRA_COVERAGE=5,ICAL.TimezoneService=((r={reset:function(){o=Object.create(null);var e=ICAL.Timezone.utcTimezone;o.Z=e,o.UTC=e,o.GMT=e},has:function(e){return!!o[e]},get:function(e){return o[e]},register:function(e,t){if(e instanceof ICAL.Component&&"vtimezone"===e.name&&(e=(t=new ICAL.Timezone(e)).tzid),!(t instanceof ICAL.Timezone))throw new TypeError("timezone must be ICAL.Timezone or ICAL.Component");o[e]=t},remove:function(e){return delete o[e]}}).reset(),r),ICAL.Time=function(e,t){this.wrappedJSObject=this;var a=this._time=Object.create(null);a.year=0,a.month=1,a.day=1,a.hour=0,a.minute=0,a.second=0,a.isDate=!1,this.fromData(e,t)},ICAL.Time._dowCache={},ICAL.Time._wnCache={},ICAL.Time.prototype={icalclass:"icaltime",_cachedUnixTime:null,get icaltype(){return this.isDate?"date":"date-time"},zone:null,_pendingNormalization:!1,clone:function(){return new ICAL.Time(this._time,this.zone)},reset:function(){this.fromData(ICAL.Time.epochTime),this.zone=ICAL.Timezone.utcTimezone},resetTo:function(e,t,a,n,o,r,s){this.fromData({year:e,month:t,day:a,hour:n,minute:o,second:r,zone:s})},fromJSDate:function(e,t){return e?t?(this.zone=ICAL.Timezone.utcTimezone,this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()):(this.zone=ICAL.Timezone.localTimezone,this.year=e.getFullYear(),this.month=e.getMonth()+1,this.day=e.getDate(),this.hour=e.getHours(),this.minute=e.getMinutes(),this.second=e.getSeconds()):this.reset(),this._cachedUnixTime=null,this},fromData:function(e,t){if(e)for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if("icaltype"===a)continue;this[a]=e[a]}if(t&&(this.zone=t),!e||"isDate"in e?e&&"isDate"in e&&(this.isDate=e.isDate):this.isDate=!("hour"in e),e&&"timezone"in e){var n=ICAL.TimezoneService.get(e.timezone);this.zone=n||ICAL.Timezone.localTimezone}return e&&"zone"in e&&(this.zone=e.zone),this.zone||(this.zone=ICAL.Timezone.localTimezone),this._cachedUnixTime=null,this},dayOfWeek:function(){var e=(this.year<<9)+(this.month<<5)+this.day;if(e in ICAL.Time._dowCache)return ICAL.Time._dowCache[e];var t=this.day,a=this.month+(this.month<3?12:0),n=this.year-(this.month<3?1:0),o=t+n+ICAL.helpers.trunc(26*(a+1)/10)+ICAL.helpers.trunc(n/4);return o=((o+=6*ICAL.helpers.trunc(n/100)+ICAL.helpers.trunc(n/400))+6)%7+1,ICAL.Time._dowCache[e]=o,o},dayOfYear:function(){var e=ICAL.Time.isLeapYear(this.year)?1:0;return ICAL.Time.daysInYearPassedMonth[e][this.month-1]+this.day},startOfWeek:function(e){var t=e||ICAL.Time.SUNDAY,a=this.clone();return a.day-=(this.dayOfWeek()+7-t)%7,a.isDate=!0,a.hour=0,a.minute=0,a.second=0,a},endOfWeek:function(e){var t=e||ICAL.Time.SUNDAY,a=this.clone();return a.day+=(7-this.dayOfWeek()+t-ICAL.Time.SUNDAY)%7,a.isDate=!0,a.hour=0,a.minute=0,a.second=0,a},startOfMonth:function(){var e=this.clone();return e.day=1,e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e},endOfMonth:function(){var e=this.clone();return e.day=ICAL.Time.daysInMonth(e.month,e.year),e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e},startOfYear:function(){var e=this.clone();return e.day=1,e.month=1,e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e},endOfYear:function(){var e=this.clone();return e.day=31,e.month=12,e.isDate=!0,e.hour=0,e.minute=0,e.second=0,e},startDoyWeek:function(e){var t=e||ICAL.Time.SUNDAY,a=this.dayOfWeek()-t;return a<0&&(a+=7),this.dayOfYear()-a},getDominicalLetter:function(){return ICAL.Time.getDominicalLetter(this.year)},nthWeekDay:function(e,t){var a,n=ICAL.Time.daysInMonth(this.month,this.year),o=t,r=0,s=this.clone();if(o>=0){s.day=1,0!=o&&o--,r=s.day;var i=e-s.dayOfWeek();i<0&&(i+=7),r+=i,r-=e,a=e}else s.day=n,o++,(a=s.dayOfWeek()-e)<0&&(a+=7),a=n-a;return r+(a+=7*o)},isNthWeekDay:function(e,t){var a=this.dayOfWeek();return 0===t&&a===e||this.nthWeekDay(e,t)===this.day},weekNumber:function(e){var t,a=(this.year<<12)+(this.month<<8)+(this.day<<3)+e;if(a in ICAL.Time._wnCache)return ICAL.Time._wnCache[a];var n=this.clone();n.isDate=!0;var o=this.year;12==n.month&&n.day>25?(t=ICAL.Time.weekOneStarts(o+1,e),n.compare(t)<0?t=ICAL.Time.weekOneStarts(o,e):o++):(t=ICAL.Time.weekOneStarts(o,e),n.compare(t)<0&&(t=ICAL.Time.weekOneStarts(--o,e)));var r=n.subtractDate(t).toSeconds()/86400,s=ICAL.helpers.trunc(r/7)+1;return ICAL.Time._wnCache[a]=s,s},addDuration:function(e){var t=e.isNegative?-1:1,a=this.second,n=this.minute,o=this.hour,r=this.day;a+=t*e.seconds,n+=t*e.minutes,o+=t*e.hours,r+=t*e.days,r+=7*t*e.weeks,this.second=a,this.minute=n,this.hour=o,this.day=r,this._cachedUnixTime=null},subtractDate:function(e){var t=this.toUnixTime()+this.utcOffset(),a=e.toUnixTime()+e.utcOffset();return ICAL.Duration.fromSeconds(t-a)},subtractDateTz:function(e){var t=this.toUnixTime(),a=e.toUnixTime();return ICAL.Duration.fromSeconds(t-a)},compare:function(e){var t=this.toUnixTime(),a=e.toUnixTime();return t>a?1:a>t?-1:0},compareDateOnlyTz:function(e,t){function a(e){return ICAL.Time._cmp_attr(n,o,e)}var n=this.convertToZone(t),o=e.convertToZone(t),r=0;return 0!=(r=a("year"))?r:0!=(r=a("month"))?r:r=a("day")},convertToZone:function(e){var t=this.clone(),a=this.zone.tzid==e.tzid;return this.isDate||a||ICAL.Timezone.convert_time(t,this.zone,e),t.zone=e,t},utcOffset:function(){return this.zone==ICAL.Timezone.localTimezone||this.zone==ICAL.Timezone.utcTimezone?0:this.zone.utcOffset(this)},toICALString:function(){var e=this.toString();return e.length>10?ICAL.design.icalendar.value["date-time"].toICAL(e):ICAL.design.icalendar.value.date.toICAL(e)},toString:function(){var e=this.year+"-"+ICAL.helpers.pad2(this.month)+"-"+ICAL.helpers.pad2(this.day);return this.isDate||(e+="T"+ICAL.helpers.pad2(this.hour)+":"+ICAL.helpers.pad2(this.minute)+":"+ICAL.helpers.pad2(this.second),this.zone===ICAL.Timezone.utcTimezone&&(e+="Z")),e},toJSDate:function(){return this.zone==ICAL.Timezone.localTimezone?this.isDate?new Date(this.year,this.month-1,this.day):new Date(this.year,this.month-1,this.day,this.hour,this.minute,this.second,0):new Date(1e3*this.toUnixTime())},_normalize:function(){return this._time.isDate,this._time.isDate&&(this._time.hour=0,this._time.minute=0,this._time.second=0),this.adjust(0,0,0,0),this},adjust:function(e,t,a,n,o){var r,s,i,l,c,d,u,p=0,m=0,f=o||this._time;if(f.isDate||(i=f.second+n,f.second=i%60,r=ICAL.helpers.trunc(i/60),f.second<0&&(f.second+=60,r--),l=f.minute+a+r,f.minute=l%60,s=ICAL.helpers.trunc(l/60),f.minute<0&&(f.minute+=60,s--),c=f.hour+t+s,f.hour=c%24,p=ICAL.helpers.trunc(c/24),f.hour<0&&(f.hour+=24,p--)),f.month>12?m=ICAL.helpers.trunc((f.month-1)/12):f.month<1&&(m=ICAL.helpers.trunc(f.month/12)-1),f.year+=m,f.month-=12*m,(d=f.day+e+p)>0)for(;!(d<=(u=ICAL.Time.daysInMonth(f.month,f.year)));)f.month++,f.month>12&&(f.year++,f.month=1),d-=u;else for(;d<=0;)1==f.month?(f.year--,f.month=12):f.month--,d+=ICAL.Time.daysInMonth(f.month,f.year);return f.day=d,this._cachedUnixTime=null,this},fromUnixTime:function(e){this.zone=ICAL.Timezone.utcTimezone;var t=ICAL.Time.epochTime.clone();t.adjust(0,0,0,e),this.year=t.year,this.month=t.month,this.day=t.day,this.hour=t.hour,this.minute=t.minute,this.second=Math.floor(t.second),this._cachedUnixTime=null},toUnixTime:function(){if(null!==this._cachedUnixTime)return this._cachedUnixTime;var e=this.utcOffset(),t=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second-e);return this._cachedUnixTime=t/1e3,this._cachedUnixTime},toJSON:function(){for(var e,t=["year","month","day","hour","minute","second","isDate"],a=Object.create(null),n=0,o=t.length;n<o;n++)a[e=t[n]]=this[e];return this.zone&&(a.timezone=this.zone.tzid),a}},function(){function e(e){Object.defineProperty(ICAL.Time.prototype,e,{get:function(){return this._pendingNormalization&&(this._normalize(),this._pendingNormalization=!1),this._time[e]},set:function(t){return this._cachedUnixTime=null,this._pendingNormalization=!0,this._time[e]=t,t}})}"defineProperty"in Object&&(e("year"),e("month"),e("day"),e("hour"),e("minute"),e("second"),e("isDate"))}(),ICAL.Time.daysInMonth=function(e,t){var a=30;return e<1||e>12?a:(a=[0,31,28,31,30,31,30,31,31,30,31,30,31][e],2==e&&(a+=ICAL.Time.isLeapYear(t)),a)},ICAL.Time.isLeapYear=function(e){return e<=1752?e%4==0:e%4==0&&e%100!=0||e%400==0},ICAL.Time.fromDayOfYear=function(e,t){var a=t,n=e,o=new ICAL.Time;o.auto_normalize=!1;var r=ICAL.Time.isLeapYear(a)?1:0;if(n<1)return a--,r=ICAL.Time.isLeapYear(a)?1:0,n+=ICAL.Time.daysInYearPassedMonth[r][12],ICAL.Time.fromDayOfYear(n,a);if(n>ICAL.Time.daysInYearPassedMonth[r][12])return r=ICAL.Time.isLeapYear(a)?1:0,n-=ICAL.Time.daysInYearPassedMonth[r][12],a++,ICAL.Time.fromDayOfYear(n,a);o.year=a,o.isDate=!0;for(var s=11;s>=0;s--)if(n>ICAL.Time.daysInYearPassedMonth[r][s]){o.month=s+1,o.day=n-ICAL.Time.daysInYearPassedMonth[r][s];break}return o.auto_normalize=!0,o},ICAL.Time.fromStringv2=function(e){return new ICAL.Time({year:parseInt(e.substr(0,4),10),month:parseInt(e.substr(5,2),10),day:parseInt(e.substr(8,2),10),isDate:!0})},ICAL.Time.fromDateString=function(e){return new ICAL.Time({year:ICAL.helpers.strictParseInt(e.substr(0,4)),month:ICAL.helpers.strictParseInt(e.substr(5,2)),day:ICAL.helpers.strictParseInt(e.substr(8,2)),isDate:!0})},ICAL.Time.fromDateTimeString=function(e,t){if(e.length<19)throw new Error('invalid date-time value: "'+e+'"');var a;return e[19]&&"Z"===e[19]?a="Z":t&&(a=t.getParameter("tzid")),new ICAL.Time({year:ICAL.helpers.strictParseInt(e.substr(0,4)),month:ICAL.helpers.strictParseInt(e.substr(5,2)),day:ICAL.helpers.strictParseInt(e.substr(8,2)),hour:ICAL.helpers.strictParseInt(e.substr(11,2)),minute:ICAL.helpers.strictParseInt(e.substr(14,2)),second:ICAL.helpers.strictParseInt(e.substr(17,2)),timezone:a})},ICAL.Time.fromString=function(e){return e.length>10?ICAL.Time.fromDateTimeString(e):ICAL.Time.fromDateString(e)},ICAL.Time.fromJSDate=function(e,t){return(new ICAL.Time).fromJSDate(e,t)},ICAL.Time.fromData=function(e,t){return(new ICAL.Time).fromData(e,t)},ICAL.Time.now=function(){return ICAL.Time.fromJSDate(new Date,!1)},ICAL.Time.weekOneStarts=function(e,t){var a=ICAL.Time.fromData({year:e,month:1,day:1,isDate:!0}),n=a.dayOfWeek(),o=t||ICAL.Time.DEFAULT_WEEK_START;return n>ICAL.Time.THURSDAY&&(a.day+=7),o>ICAL.Time.THURSDAY&&(a.day-=7),a.day-=n-o,a},ICAL.Time.getDominicalLetter=function(e){var t=(e+(e/4|0)+(e/400|0)-(e/100|0)-1)%7;return ICAL.Time.isLeapYear(e)?"GFEDCBA"[(t+6)%7]+"GFEDCBA"[t]:"GFEDCBA"[t]},ICAL.Time.epochTime=ICAL.Time.fromData({year:1970,month:1,day:1,hour:0,minute:0,second:0,isDate:!1,timezone:"Z"}),ICAL.Time._cmp_attr=function(e,t,a){return e[a]>t[a]?1:e[a]<t[a]?-1:0},ICAL.Time.daysInYearPassedMonth=[[0,31,59,90,120,151,181,212,243,273,304,334,365],[0,31,60,91,121,152,182,213,244,274,305,335,366]],ICAL.Time.SUNDAY=1,ICAL.Time.MONDAY=2,ICAL.Time.TUESDAY=3,ICAL.Time.WEDNESDAY=4,ICAL.Time.THURSDAY=5,ICAL.Time.FRIDAY=6,ICAL.Time.SATURDAY=7,ICAL.Time.DEFAULT_WEEK_START=ICAL.Time.MONDAY,ICAL.VCardTime=function(e,t,a){this.wrappedJSObject=this;var n=this._time=Object.create(null);n.year=null,n.month=null,n.day=null,n.hour=null,n.minute=null,n.second=null,this.icaltype=a||"date-and-or-time",this.fromData(e,t)},ICAL.helpers.inherits(ICAL.Time,ICAL.VCardTime,{icalclass:"vcardtime",icaltype:"date-and-or-time",zone:null,clone:function(){return new ICAL.VCardTime(this._time,this.zone,this.icaltype)},_normalize:function(){return this},utcOffset:function(){return this.zone instanceof ICAL.UtcOffset?this.zone.toSeconds():ICAL.Time.prototype.utcOffset.apply(this,arguments)},toICALString:function(){return ICAL.design.vcard.value[this.icaltype].toICAL(this.toString())},toString:function(){var e,t=ICAL.helpers.pad2,a=this.year,n=this.month,o=this.day,r=this.hour,s=this.minute,i=this.second,l=null!==n,c=null!==o,d=null!==r,u=null!==s,p=null!==i,m=(null!==a?t(a)+(l||c?"-":""):l||c?"--":"")+(l?t(n):"")+(c?"-"+t(o):""),f=(d?t(r):"-")+(d&&u?":":"")+(u?t(s):"")+(d||u?"":"-")+(u&&p?":":"")+(p?t(i):"");switch(e=this.zone===ICAL.Timezone.utcTimezone?"Z":this.zone instanceof ICAL.UtcOffset?this.zone.toString():this.zone===ICAL.Timezone.localTimezone?"":this.zone instanceof ICAL.Timezone?ICAL.UtcOffset.fromSeconds(this.zone.utcOffset(this)).toString():"",this.icaltype){case"time":return f+e;case"date-and-or-time":case"date-time":return m+("--"==f?"":"T"+f+e);case"date":return m}return null}}),ICAL.VCardTime.fromDateAndOrTimeString=function(e,t){function a(e,t,a){return e?ICAL.helpers.strictParseInt(e.substr(t,a)):null}var n=e.split("T"),o=n[0],r=n[1],s=r?ICAL.design.vcard.value.time._splitZone(r):[],i=s[0],l=s[1],c=(ICAL.helpers.strictParseInt,o?o.length:0),d=l?l.length:0,u=o&&"-"==o[0]&&"-"==o[1],p=l&&"-"==l[0],m={year:u?null:a(o,0,4),month:!u||4!=c&&7!=c?7==c?a(o,5,2):10==c?a(o,5,2):null:a(o,2,2),day:5==c?a(o,3,2):7==c&&u?a(o,5,2):10==c?a(o,8,2):null,hour:p?null:a(l,0,2),minute:p&&3==d?a(l,1,2):d>4?a(l,p?1:3,2):null,second:4==d?a(l,2,2):6==d?a(l,4,2):8==d?a(l,6,2):null};return i="Z"==i?ICAL.Timezone.utcTimezone:i&&":"==i[3]?ICAL.UtcOffset.fromString(i):null,new ICAL.VCardTime(m,i,t)},function(){var e={SU:ICAL.Time.SUNDAY,MO:ICAL.Time.MONDAY,TU:ICAL.Time.TUESDAY,WE:ICAL.Time.WEDNESDAY,TH:ICAL.Time.THURSDAY,FR:ICAL.Time.FRIDAY,SA:ICAL.Time.SATURDAY},t={};for(var a in e)e.hasOwnProperty(a)&&(t[e[a]]=a);function n(e,t,a,n){var o=n;if("+"===n[0]&&(o=n.substr(1)),o=ICAL.helpers.strictParseInt(o),void 0!==t&&n<t)throw new Error(e+': invalid value "'+n+'" must be > '+t);if(void 0!==a&&n>a)throw new Error(e+': invalid value "'+n+'" must be < '+t);return o}ICAL.Recur=function(e){this.wrappedJSObject=this,this.parts={},e&&"object"==typeof e&&this.fromData(e)},ICAL.Recur.prototype={parts:null,interval:1,wkst:ICAL.Time.MONDAY,until:null,count:null,freq:null,icalclass:"icalrecur",icaltype:"recur",iterator:function(e){return new ICAL.RecurIterator({rule:this,dtstart:e})},clone:function(){return new ICAL.Recur(this.toJSON())},isFinite:function(){return!(!this.count&&!this.until)},isByCount:function(){return!(!this.count||this.until)},addComponent:function(e,t){var a=e.toUpperCase();a in this.parts?this.parts[a].push(t):this.parts[a]=[t]},setComponent:function(e,t){this.parts[e.toUpperCase()]=t.slice()},getComponent:function(e){var t=e.toUpperCase();return t in this.parts?this.parts[t].slice():[]},getNextOccurrence:function(e,t){var a,n=this.iterator(e);do{a=n.next()}while(a&&a.compare(t)<=0);return a&&t.zone&&(a.zone=t.zone),a},fromData:function(e){for(var t in e){var a=t.toUpperCase();a in l?Array.isArray(e[t])?this.parts[a]=e[t]:this.parts[a]=[e[t]]:this[t]=e[t]}this.wkst&&"number"!=typeof this.wkst&&(this.wkst=ICAL.Recur.icalDayToNumericDay(this.wkst)),!this.until||this.until instanceof ICAL.Time||(this.until=ICAL.Time.fromString(this.until))},toJSON:function(){var e=Object.create(null);for(var t in e.freq=this.freq,this.count&&(e.count=this.count),this.interval>1&&(e.interval=this.interval),this.parts)if(this.parts.hasOwnProperty(t)){var a=this.parts[t];Array.isArray(a)&&1==a.length?e[t.toLowerCase()]=a[0]:e[t.toLowerCase()]=ICAL.helpers.clone(this.parts[t])}return this.until&&(e.until=this.until.toString()),"wkst"in this&&this.wkst!==ICAL.Time.DEFAULT_WEEK_START&&(e.wkst=ICAL.Recur.numericDayToIcalDay(this.wkst)),e},toString:function(){var e="FREQ="+this.freq;for(var t in this.count&&(e+=";COUNT="+this.count),this.interval>1&&(e+=";INTERVAL="+this.interval),this.parts)this.parts.hasOwnProperty(t)&&(e+=";"+t+"="+this.parts[t]);return this.until&&(e+=";UNTIL="+this.until.toString()),"wkst"in this&&this.wkst!==ICAL.Time.DEFAULT_WEEK_START&&(e+=";WKST="+ICAL.Recur.numericDayToIcalDay(this.wkst)),e}},ICAL.Recur.icalDayToNumericDay=function(t){return e[t]},ICAL.Recur.numericDayToIcalDay=function(e){return t[e]};var o=/^(SU|MO|TU|WE|TH|FR|SA)$/,r=/^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/,s=["SECONDLY","MINUTELY","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY"],i={FREQ:function(e,t,a){if(-1===s.indexOf(e))throw new Error('invalid frequency "'+e+'" expected: "'+s.join(", ")+'"');t.freq=e},COUNT:function(e,t,a){t.count=ICAL.helpers.strictParseInt(e)},INTERVAL:function(e,t,a){t.interval=ICAL.helpers.strictParseInt(e),t.interval<1&&(t.interval=1)},UNTIL:function(e,t,a){a?e.length>10?t.until=ICAL.design.icalendar.value["date-time"].fromICAL(e):t.until=ICAL.design.icalendar.value.date.fromICAL(e):t.until=ICAL.Time.fromString(e)},WKST:function(e,t,a){if(!o.test(e))throw new Error('invalid WKST value "'+e+'"');t.wkst=ICAL.Recur.icalDayToNumericDay(e)}},l={BYSECOND:n.bind(this,"BYSECOND",0,60),BYMINUTE:n.bind(this,"BYMINUTE",0,59),BYHOUR:n.bind(this,"BYHOUR",0,23),BYDAY:function(e){if(r.test(e))return e;throw new Error('invalid BYDAY value "'+e+'"')},BYMONTHDAY:n.bind(this,"BYMONTHDAY",-31,31),BYYEARDAY:n.bind(this,"BYYEARDAY",-366,366),BYWEEKNO:n.bind(this,"BYWEEKNO",-53,53),BYMONTH:n.bind(this,"BYMONTH",0,12),BYSETPOS:n.bind(this,"BYSETPOS",-366,366)};ICAL.Recur.fromString=function(e){var t=ICAL.Recur._stringToData(e,!1);return new ICAL.Recur(t)},ICAL.Recur.fromData=function(e){return new ICAL.Recur(e)},ICAL.Recur._stringToData=function(e,t){for(var a=Object.create(null),n=e.split(";"),o=n.length,r=0;r<o;r++){var s=n[r].split("="),c=s[0].toUpperCase(),d=s[0].toLowerCase(),u=t?d:c,p=s[1];if(c in l){for(var m=p.split(","),f=0,h=m.length;f<h;f++)m[f]=l[c](m[f]);a[u]=1==m.length?m[0]:m}else c in i?i[c](p,a,t):a[d]=p}return a}}(),ICAL.RecurIterator=function(){function e(e){this.fromData(e)}return e.prototype={completed:!1,rule:null,dtstart:null,last:null,occurrence_number:0,by_indices:null,initialized:!1,by_data:null,days:null,days_index:0,fromData:function(e){if(this.rule=ICAL.helpers.formatClassType(e.rule,ICAL.Recur),!this.rule)throw new Error("iterator requires a (ICAL.Recur) rule");if(this.dtstart=ICAL.helpers.formatClassType(e.dtstart,ICAL.Time),!this.dtstart)throw new Error("iterator requires a (ICAL.Time) dtstart");e.by_data?this.by_data=e.by_data:this.by_data=ICAL.helpers.clone(this.rule.parts,!0),e.occurrence_number&&(this.occurrence_number=e.occurrence_number),this.days=e.days||[],e.last&&(this.last=ICAL.helpers.formatClassType(e.last,ICAL.Time)),this.by_indices=e.by_indices,this.by_indices||(this.by_indices={BYSECOND:0,BYMINUTE:0,BYHOUR:0,BYDAY:0,BYMONTH:0,BYWEEKNO:0,BYMONTHDAY:0}),this.initialized=e.initialized||!1,this.initialized||this.init()},init:function(){this.initialized=!0,this.last=this.dtstart.clone();var e=this.by_data;if("BYDAY"in e&&this.sort_byday_rules(e.BYDAY,this.rule.wkst),"BYYEARDAY"in e&&("BYMONTH"in e||"BYWEEKNO"in e||"BYMONTHDAY"in e||"BYDAY"in e))throw new Error("Invalid BYYEARDAY rule");if("BYWEEKNO"in e&&"BYMONTHDAY"in e)throw new Error("BYWEEKNO does not fit to BYMONTHDAY");if("MONTHLY"==this.rule.freq&&("BYYEARDAY"in e||"BYWEEKNO"in e))throw new Error("For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear");if("WEEKLY"==this.rule.freq&&("BYYEARDAY"in e||"BYMONTHDAY"in e))throw new Error("For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear");if("YEARLY"!=this.rule.freq&&"BYYEARDAY"in e)throw new Error("BYYEARDAY may only appear in YEARLY rules");if(this.last.second=this.setup_defaults("BYSECOND","SECONDLY",this.dtstart.second),this.last.minute=this.setup_defaults("BYMINUTE","MINUTELY",this.dtstart.minute),this.last.hour=this.setup_defaults("BYHOUR","HOURLY",this.dtstart.hour),this.last.day=this.setup_defaults("BYMONTHDAY","DAILY",this.dtstart.day),this.last.month=this.setup_defaults("BYMONTH","MONTHLY",this.dtstart.month),"WEEKLY"==this.rule.freq)if("BYDAY"in e){var t=(l=this.ruleDayOfWeek(e.BYDAY[0]))[0],a=(c=l[1])-this.last.dayOfWeek();(this.last.dayOfWeek()<c&&a>=0||a<0)&&(this.last.day+=a)}else{var n=ICAL.Recur.numericDayToIcalDay(this.dtstart.dayOfWeek());e.BYDAY=[n]}if("YEARLY"==this.rule.freq){for(;this.expand_year_days(this.last.year),!(this.days.length>0);)this.increment_year(this.rule.interval);this._nextByYearDay()}if("MONTHLY"==this.rule.freq&&this.has_by_data("BYDAY")){var o=null,r=this.last.clone(),s=ICAL.Time.daysInMonth(this.last.month,this.last.year);for(var i in this.by_data.BYDAY)if(this.by_data.BYDAY.hasOwnProperty(i)){this.last=r.clone();t=(l=this.ruleDayOfWeek(this.by_data.BYDAY[i]))[0];var l,c=l[1],d=this.last.nthWeekDay(c,t);if(t>=6||t<=-6)throw new Error("Malformed values in BYDAY part");if(d>s||d<=0){if(o&&o.month==r.month)continue;for(;d>s||d<=0;)this.increment_month(),s=ICAL.Time.daysInMonth(this.last.month,this.last.year),d=this.last.nthWeekDay(c,t)}this.last.day=d,(!o||this.last.compare(o)<0)&&(o=this.last.clone())}if(this.last=o.clone(),this.has_by_data("BYMONTHDAY")&&this._byDayAndMonthDay(!0),this.last.day>s||0==this.last.day)throw new Error("Malformed values in BYDAY part")}else if(this.has_by_data("BYMONTHDAY")&&this.last.day<0){s=ICAL.Time.daysInMonth(this.last.month,this.last.year);this.last.day=s+this.last.day+1}},next:function(){var e,t=this.last?this.last.clone():null;if(this.rule.count&&this.occurrence_number>=this.rule.count||this.rule.until&&this.last.compare(this.rule.until)>0)return this.completed=!0,null;if(0==this.occurrence_number&&this.last.compare(this.dtstart)>=0)return this.occurrence_number++,this.last;do{switch(e=1,this.rule.freq){case"SECONDLY":this.next_second();break;case"MINUTELY":this.next_minute();break;case"HOURLY":this.next_hour();break;case"DAILY":this.next_day();break;case"WEEKLY":this.next_week();break;case"MONTHLY":e=this.next_month();break;case"YEARLY":this.next_year();break;default:return null}}while(!this.check_contracting_rules()||this.last.compare(this.dtstart)<0||!e);if(0==this.last.compare(t))throw new Error("Same occurrence found twice, protecting you from death by recursion");return this.rule.until&&this.last.compare(this.rule.until)>0?(this.completed=!0,null):(this.occurrence_number++,this.last)},next_second:function(){return this.next_generic("BYSECOND","SECONDLY","second","minute")},increment_second:function(e){return this.increment_generic(e,"second",60,"minute")},next_minute:function(){return this.next_generic("BYMINUTE","MINUTELY","minute","hour","next_second")},increment_minute:function(e){return this.increment_generic(e,"minute",60,"hour")},next_hour:function(){return this.next_generic("BYHOUR","HOURLY","hour","monthday","next_minute")},increment_hour:function(e){this.increment_generic(e,"hour",24,"monthday")},next_day:function(){this.by_data;var e="DAILY"==this.rule.freq;return 0==this.next_hour()?0:(e?this.increment_monthday(this.rule.interval):this.increment_monthday(1),0)},next_week:function(){var e=0;if(0==this.next_weekday_by_week())return e;if(this.has_by_data("BYWEEKNO")){++this.by_indices.BYWEEKNO;this.by_indices.BYWEEKNO==this.by_data.BYWEEKNO.length&&(this.by_indices.BYWEEKNO=0,e=1),this.last.month=1,this.last.day=1;var t=this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];this.last.day+=7*t,e&&this.increment_year(1)}else this.increment_monthday(7*this.rule.interval);return e},normalizeByMonthDayRules:function(e,t,a){for(var n,o=ICAL.Time.daysInMonth(t,e),r=[],s=0,i=a.length;s<i;s++)if(n=a[s],!(Math.abs(n)>o)){if(n<0)n=o+(n+1);else if(0===n)continue;-1===r.indexOf(n)&&r.push(n)}return r.sort(function(e,t){return e-t})},_byDayAndMonthDay:function(e){var t,a,n,o,r=this.by_data.BYDAY,s=0,i=r.length,l=0,c=this,d=this.last.day;function u(){for(o=ICAL.Time.daysInMonth(c.last.month,c.last.year),t=c.normalizeByMonthDayRules(c.last.year,c.last.month,c.by_data.BYMONTHDAY),n=t.length;t[s]<=d&&(!e||t[s]!=d)&&s<n-1;)s++}function p(){d=0,c.increment_month(),s=0,u()}u(),e&&(d-=1);for(var m=48;!l&&m;)if(m--,(a=d+1)>o)p();else{var f=t[s++];if(f>=a){d=f;for(var h=0;h<i;h++){var v=this.ruleDayOfWeek(r[h]),g=v[0],b=v[1];if(this.last.day=d,this.last.isNthWeekDay(b,g)){l=1;break}}l||s!==n||p()}else p()}if(m<=0)throw new Error("Malformed values in BYDAY combined with BYMONTHDAY parts");return l},next_month:function(){this.rule.freq;var e=1;if(0==this.next_hour())return e;if(this.has_by_data("BYDAY")&&this.has_by_data("BYMONTHDAY"))e=this._byDayAndMonthDay();else if(this.has_by_data("BYDAY")){var t=ICAL.Time.daysInMonth(this.last.month,this.last.year),a=0,n=0;if(this.has_by_data("BYSETPOS")){for(var o=this.last.day,r=1;r<=t;r++)this.last.day=r,this.is_day_in_byday(this.last)&&(n++,r<=o&&a++);this.last.day=o}e=0;for(r=this.last.day+1;r<=t;r++)if(this.last.day=r,this.is_day_in_byday(this.last)&&(!this.has_by_data("BYSETPOS")||this.check_set_position(++a)||this.check_set_position(a-n-1))){e=1;break}r>t&&(this.last.day=1,this.increment_month(),this.is_day_in_byday(this.last)?this.has_by_data("BYSETPOS")&&!this.check_set_position(1)||(e=1):e=0)}else if(this.has_by_data("BYMONTHDAY")){this.by_indices.BYMONTHDAY++,this.by_indices.BYMONTHDAY>=this.by_data.BYMONTHDAY.length&&(this.by_indices.BYMONTHDAY=0,this.increment_month());t=ICAL.Time.daysInMonth(this.last.month,this.last.year);(r=this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY])<0&&(r=t+r+1),r>t?(this.last.day=1,e=this.is_day_in_byday(this.last)):this.last.day=r}else{this.increment_month();t=ICAL.Time.daysInMonth(this.last.month,this.last.year);this.by_data.BYMONTHDAY[0]>t?e=0:this.last.day=this.by_data.BYMONTHDAY[0]}return e},next_weekday_by_week:function(){var e=0;if(0==this.next_hour())return e;if(!this.has_by_data("BYDAY"))return 1;for(;;){var t=new ICAL.Time;this.by_indices.BYDAY++,this.by_indices.BYDAY==Object.keys(this.by_data.BYDAY).length&&(this.by_indices.BYDAY=0,e=1);var a=this.by_data.BYDAY[this.by_indices.BYDAY],n=this.ruleDayOfWeek(a)[1];(n-=this.rule.wkst)<0&&(n+=7),t.year=this.last.year,t.month=this.last.month,t.day=this.last.day;var o=t.startDoyWeek(this.rule.wkst);if(!(n+o<1)||e){var r=ICAL.Time.fromDayOfYear(o+n,this.last.year);return this.last.year=r.year,this.last.month=r.month,this.last.day=r.day,e}}},next_year:function(){if(0==this.next_hour())return 0;if(++this.days_index==this.days.length){this.days_index=0;do{this.increment_year(this.rule.interval),this.expand_year_days(this.last.year)}while(0==this.days.length)}return this._nextByYearDay(),1},_nextByYearDay:function(){var e=this.days[this.days_index],t=this.last.year;e<1&&(e+=1,t+=1);var a=ICAL.Time.fromDayOfYear(e,t);this.last.day=a.day,this.last.month=a.month},ruleDayOfWeek:function(e){var t=e.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);return t?[parseInt(t[1]||0,10),e=ICAL.Recur.icalDayToNumericDay(t[2])]:[0,0]},next_generic:function(e,t,a,n,o){var r=e in this.by_data,s=this.rule.freq==t,i=0;if(o&&0==this[o]())return i;if(r){this.by_indices[e]++;this.by_indices[e];var l=this.by_data[e];this.by_indices[e]==l.length&&(this.by_indices[e]=0,i=1),this.last[a]=l[this.by_indices[e]]}else s&&this["increment_"+a](this.rule.interval);return r&&i&&s&&this["increment_"+n](1),i},increment_monthday:function(e){for(var t=0;t<e;t++){var a=ICAL.Time.daysInMonth(this.last.month,this.last.year);this.last.day++,this.last.day>a&&(this.last.day-=a,this.increment_month())}},increment_month:function(){if(this.last.day=1,this.has_by_data("BYMONTH"))this.by_indices.BYMONTH++,this.by_indices.BYMONTH==this.by_data.BYMONTH.length&&(this.by_indices.BYMONTH=0,this.increment_year(1)),this.last.month=this.by_data.BYMONTH[this.by_indices.BYMONTH];else{"MONTHLY"==this.rule.freq?this.last.month+=this.rule.interval:this.last.month++,this.last.month--;var e=ICAL.helpers.trunc(this.last.month/12);this.last.month%=12,this.last.month++,0!=e&&this.increment_year(e)}},increment_year:function(e){this.last.year+=e},increment_generic:function(e,t,a,n){this.last[t]+=e;var o=ICAL.helpers.trunc(this.last[t]/a);this.last[t]%=a,0!=o&&this["increment_"+n](o)},has_by_data:function(e){return e in this.rule.parts},expand_year_days:function(e){var t=new ICAL.Time;this.days=[];var a={},n=["BYDAY","BYWEEKNO","BYMONTHDAY","BYMONTH","BYYEARDAY"];for(var o in n)if(n.hasOwnProperty(o)){var r=n[o];r in this.rule.parts&&(a[r]=this.rule.parts[r])}if("BYMONTH"in a&&"BYWEEKNO"in a){var s=1,i={};t.year=e,t.isDate=!0;for(var l=0;l<this.by_data.BYMONTH.length;l++){var c=this.by_data.BYMONTH[l];t.month=c,t.day=1;var d=t.weekNumber(this.rule.wkst);t.day=ICAL.Time.daysInMonth(c,e);var u=t.weekNumber(this.rule.wkst);for(l=d;l<u;l++)i[l]=1}for(var p=0;p<this.by_data.BYWEEKNO.length&&s;p++){(F=this.by_data.BYWEEKNO[p])<52?s&=i[p]:s=0}s?delete a.BYMONTH:delete a.BYWEEKNO}var m=Object.keys(a).length;if(0==m){var f=this.dtstart.clone();f.year=this.last.year,this.days.push(f.dayOfYear())}else if(1==m&&"BYMONTH"in a){for(var h in this.by_data.BYMONTH)if(this.by_data.BYMONTH.hasOwnProperty(h)){var v=this.dtstart.clone();v.year=e,v.month=this.by_data.BYMONTH[h],v.isDate=!0,this.days.push(v.dayOfYear())}}else if(1==m&&"BYMONTHDAY"in a){for(var g in this.by_data.BYMONTHDAY)if(this.by_data.BYMONTHDAY.hasOwnProperty(g)){var b=this.dtstart.clone();if((j=this.by_data.BYMONTHDAY[g])<0)j=j+(_=ICAL.Time.daysInMonth(b.month,e))+1;b.day=j,b.year=e,b.isDate=!0,this.days.push(b.dayOfYear())}}else if(2==m&&"BYMONTHDAY"in a&&"BYMONTH"in a){for(var h in this.by_data.BYMONTH)if(this.by_data.BYMONTH.hasOwnProperty(h)){var y=this.by_data.BYMONTH[h],_=ICAL.Time.daysInMonth(y,e);for(var g in this.by_data.BYMONTHDAY){var j;if(this.by_data.BYMONTHDAY.hasOwnProperty(g))(j=this.by_data.BYMONTHDAY[g])<0&&(j=j+_+1),t.day=j,t.month=y,t.year=e,t.isDate=!0,this.days.push(t.dayOfYear())}}}else if(1==m&&"BYWEEKNO"in a);else if(2==m&&"BYWEEKNO"in a&&"BYMONTHDAY"in a);else if(1==m&&"BYDAY"in a)this.days=this.days.concat(this.expand_by_day(e));else if(2==m&&"BYDAY"in a&&"BYMONTH"in a){for(var h in this.by_data.BYMONTH)if(this.by_data.BYMONTH.hasOwnProperty(h)){c=this.by_data.BYMONTH[h],_=ICAL.Time.daysInMonth(c,e);t.year=e,t.month=this.by_data.BYMONTH[h],t.day=1,t.isDate=!0;var A=t.dayOfWeek(),S=t.dayOfYear()-1;t.day=_;var C=t.dayOfWeek();if(this.has_by_data("BYSETPOS")){for(var I=[],x=1;x<=_;x++)t.day=x,this.is_day_in_byday(t)&&I.push(x);for(var E=0;E<I.length;E++)(this.check_set_position(E+1)||this.check_set_position(E-I.length))&&this.days.push(S+I[E])}else for(var w in this.by_data.BYDAY)if(this.by_data.BYDAY.hasOwnProperty(w)){var T,M=this.by_data.BYDAY[w],D=this.ruleDayOfWeek(M),k=D[0],L=D[1],P=(L+7-A)%7+1,O=_-(C+7-L)%7;if(0==k)for(x=P;x<=_;x+=7)this.days.push(S+x);else k>0?(T=P+7*(k-1))<=_&&this.days.push(S+T):(T=O+7*(k+1))>0&&this.days.push(S+T)}}this.days.sort(function(e,t){return e-t})}else if(2==m&&"BYDAY"in a&&"BYMONTHDAY"in a){var N=this.expand_by_day(e);for(var R in N)if(N.hasOwnProperty(R)){x=N[R];var $=ICAL.Time.fromDayOfYear(x,e);this.by_data.BYMONTHDAY.indexOf($.day)>=0&&this.days.push(x)}}else if(3==m&&"BYDAY"in a&&"BYMONTHDAY"in a&&"BYMONTH"in a){N=this.expand_by_day(e);for(var R in N)if(N.hasOwnProperty(R)){x=N[R],$=ICAL.Time.fromDayOfYear(x,e);this.by_data.BYMONTH.indexOf($.month)>=0&&this.by_data.BYMONTHDAY.indexOf($.day)>=0&&this.days.push(x)}}else if(2==m&&"BYDAY"in a&&"BYWEEKNO"in a){N=this.expand_by_day(e);for(var R in N)if(N.hasOwnProperty(R)){x=N[R];var F=($=ICAL.Time.fromDayOfYear(x,e)).weekNumber(this.rule.wkst);this.by_data.BYWEEKNO.indexOf(F)&&this.days.push(x)}}else 3==m&&"BYDAY"in a&&"BYWEEKNO"in a&&"BYMONTHDAY"in a||(this.days=1==m&&"BYYEARDAY"in a?this.days.concat(this.by_data.BYYEARDAY):[]);return 0},expand_by_day:function(e){var t=[],a=this.last.clone();a.year=e,a.month=1,a.day=1,a.isDate=!0;var n=a.dayOfWeek();a.month=12,a.day=31,a.isDate=!0;var o=a.dayOfWeek(),r=a.dayOfYear();for(var s in this.by_data.BYDAY)if(this.by_data.BYDAY.hasOwnProperty(s)){var i=this.by_data.BYDAY[s],l=this.ruleDayOfWeek(i),c=l[0],d=l[1];if(0==c)for(var u=(d+7-n)%7+1;u<=r;u+=7)t.push(u);else if(c>0){var p;p=d>=n?d-n+1:d-n+8,t.push(p+7*(c-1))}else{var m;c=-c,m=d<=o?r-o+d:r-o+d-7,t.push(m-7*(c-1))}}return t},is_day_in_byday:function(e){for(var t in this.by_data.BYDAY)if(this.by_data.BYDAY.hasOwnProperty(t)){var a=this.by_data.BYDAY[t],n=this.ruleDayOfWeek(a),o=n[0],r=n[1],s=e.dayOfWeek();if(0==o&&r==s||e.nthWeekDay(r,o)==e.day)return 1}return 0},check_set_position:function(e){return!!this.has_by_data("BYSETPOS")&&-1!==this.by_data.BYSETPOS.indexOf(e)},sort_byday_rules:function(e,t){for(var a=0;a<e.length;a++)for(var n=0;n<a;n++){var o=this.ruleDayOfWeek(e[n])[1],r=this.ruleDayOfWeek(e[a])[1];if(r-=t,(o-=t)<0&&(o+=7),r<0&&(r+=7),o>r){var s=e[a];e[a]=e[n],e[n]=s}}},check_contract_restriction:function(t,a){var n=e._indexMap[t],o=e._expandMap[this.rule.freq][n],r=!1;if(t in this.by_data&&o==e.CONTRACT){var s=this.by_data[t];for(var i in s)if(s.hasOwnProperty(i)&&s[i]==a){r=!0;break}}else r=!0;return r},check_contracting_rules:function(){var e=this.last.dayOfWeek(),t=this.last.weekNumber(this.rule.wkst),a=this.last.dayOfYear();return this.check_contract_restriction("BYSECOND",this.last.second)&&this.check_contract_restriction("BYMINUTE",this.last.minute)&&this.check_contract_restriction("BYHOUR",this.last.hour)&&this.check_contract_restriction("BYDAY",ICAL.Recur.numericDayToIcalDay(e))&&this.check_contract_restriction("BYWEEKNO",t)&&this.check_contract_restriction("BYMONTHDAY",this.last.day)&&this.check_contract_restriction("BYMONTH",this.last.month)&&this.check_contract_restriction("BYYEARDAY",a)},setup_defaults:function(t,a,n){var o=e._indexMap[t];return e._expandMap[this.rule.freq][o]!=e.CONTRACT&&(t in this.by_data||(this.by_data[t]=[n]),this.rule.freq!=a)?this.by_data[t][0]:n},toJSON:function(){var e=Object.create(null);return e.initialized=this.initialized,e.rule=this.rule.toJSON(),e.dtstart=this.dtstart.toJSON(),e.by_data=this.by_data,e.days=this.days,e.last=this.last.toJSON(),e.by_indices=this.by_indices,e.occurrence_number=this.occurrence_number,e}},e._indexMap={BYSECOND:0,BYMINUTE:1,BYHOUR:2,BYDAY:3,BYMONTHDAY:4,BYYEARDAY:5,BYWEEKNO:6,BYMONTH:7,BYSETPOS:8},e._expandMap={SECONDLY:[1,1,1,1,1,1,1,1],MINUTELY:[2,1,1,1,1,1,1,1],HOURLY:[2,2,1,1,1,1,1,1],DAILY:[2,2,2,1,1,1,1,1],WEEKLY:[2,2,2,2,3,3,1,1],MONTHLY:[2,2,2,2,2,3,3,1],YEARLY:[2,2,2,2,2,2,2,2]},e.UNKNOWN=0,e.CONTRACT=1,e.EXPAND=2,e.ILLEGAL=3,e}(),ICAL.RecurExpansion=function(){function e(e){return ICAL.helpers.formatClassType(e,ICAL.Time)}function t(e,t){return e.compare(t)}function a(e){this.ruleDates=[],this.exDates=[],this.fromData(e)}return a.prototype={complete:!1,ruleIterators:null,ruleDates:null,exDates:null,ruleDateInc:0,exDateInc:0,exDate:null,ruleDate:null,dtstart:null,last:null,fromData:function(t){var a=ICAL.helpers.formatClassType(t.dtstart,ICAL.Time);if(!a)throw new Error(".dtstart (ICAL.Time) must be given");if(this.dtstart=a,t.component)this._init(t.component);else{if(this.last=e(t.last)||a.clone(),!t.ruleIterators)throw new Error(".ruleIterators or .component must be given");this.ruleIterators=t.ruleIterators.map(function(e){return ICAL.helpers.formatClassType(e,ICAL.RecurIterator)}),this.ruleDateInc=t.ruleDateInc,this.exDateInc=t.exDateInc,t.ruleDates&&(this.ruleDates=t.ruleDates.map(e),this.ruleDate=this.ruleDates[this.ruleDateInc]),t.exDates&&(this.exDates=t.exDates.map(e),this.exDate=this.exDates[this.exDateInc]),void 0!==t.complete&&(this.complete=t.complete)}},next:function(){for(var e,t,a,n=0;;){if(n++>500)throw new Error("max tries have occured, rule may be impossible to forfill.");if(t=this.ruleDate,e=this._nextRecurrenceIter(this.last),!t&&!e){this.complete=!0;break}if((!t||e&&t.compare(e.last)>0)&&(t=e.last.clone(),e.next()),this.ruleDate===t&&this._nextRuleDay(),this.last=t,!this.exDate||((a=this.exDate.compare(this.last))<0&&this._nextExDay(),0!==a))return this.last;this._nextExDay()}},toJSON:function(){function e(e){return e.toJSON()}var t=Object.create(null);return t.ruleIterators=this.ruleIterators.map(e),this.ruleDates&&(t.ruleDates=this.ruleDates.map(e)),this.exDates&&(t.exDates=this.exDates.map(e)),t.ruleDateInc=this.ruleDateInc,t.exDateInc=this.exDateInc,t.last=this.last.toJSON(),t.dtstart=this.dtstart.toJSON(),t.complete=this.complete,t},_extractDates:function(e,a){function n(e){o=ICAL.helpers.binsearchInsert(r,e,t),r.splice(o,0,e)}for(var o,r=[],s=e.getAllProperties(a),i=s.length,l=0;l<i;l++)s[l].getValues().forEach(n);return r},_init:function(e){if(this.ruleIterators=[],this.last=this.dtstart.clone(),!((a=e).hasProperty("rdate")||a.hasProperty("rrule")||a.hasProperty("recurrence-id")))return this.ruleDate=this.last.clone(),void(this.complete=!0);var a;if(e.hasProperty("rdate")&&(this.ruleDates=this._extractDates(e,"rdate"),this.ruleDates[0]&&this.ruleDates[0].compare(this.dtstart)<0?(this.ruleDateInc=0,this.last=this.ruleDates[0].clone()):this.ruleDateInc=ICAL.helpers.binsearchInsert(this.ruleDates,this.last,t),this.ruleDate=this.ruleDates[this.ruleDateInc]),e.hasProperty("rrule"))for(var n,o=e.getAllProperties("rrule"),r=0,s=o.length;r<s;r++)n=o[r].getFirstValue().iterator(this.dtstart),this.ruleIterators.push(n),n.next();e.hasProperty("exdate")&&(this.exDates=this._extractDates(e,"exdate"),this.exDateInc=ICAL.helpers.binsearchInsert(this.exDates,this.last,t),this.exDate=this.exDates[this.exDateInc])},_nextExDay:function(){this.exDate=this.exDates[++this.exDateInc]},_nextRuleDay:function(){this.ruleDate=this.ruleDates[++this.ruleDateInc]},_nextRecurrenceIter:function(){var e=this.ruleIterators;if(0===e.length)return null;for(var t,a,n,o=e.length,r=0;r<o;r++)a=(t=e[r]).last,t.completed?(o--,0!==r&&r--,e.splice(r,1)):(!n||n.last.compare(a)>0)&&(n=t);return n}},a}(),ICAL.Event=function(){function e(e,t){e instanceof ICAL.Component||(t=e,e=null),this.component=e||new ICAL.Component("vevent"),this._rangeExceptionCache=Object.create(null),this.exceptions=Object.create(null),this.rangeExceptions=[],t&&t.strictExceptions&&(this.strictExceptions=t.strictExceptions),t&&t.exceptions&&t.exceptions.forEach(this.relateException,this)}function t(e,t){return e[0]>t[0]?1:t[0]>e[0]?-1:0}return e.prototype={THISANDFUTURE:"THISANDFUTURE",exceptions:null,strictExceptions:!1,relateException:function(e){if(this.isRecurrenceException())throw new Error("cannot relate exception to exceptions");if(e instanceof ICAL.Component&&(e=new ICAL.Event(e)),this.strictExceptions&&e.uid!==this.uid)throw new Error("attempted to relate unrelated exception");var a=e.recurrenceId.toString();if(this.exceptions[a]=e,e.modifiesFuture()){var n=[e.recurrenceId.toUnixTime(),a],o=ICAL.helpers.binsearchInsert(this.rangeExceptions,n,t);this.rangeExceptions.splice(o,0,n)}},modifiesFuture:function(){return this.component.getFirstPropertyValue("range")===this.THISANDFUTURE},findRangeException:function(e){if(!this.rangeExceptions.length)return null;var a=e.toUnixTime(),n=ICAL.helpers.binsearchInsert(this.rangeExceptions,[a],t);if((n-=1)<0)return null;var o=this.rangeExceptions[n];return a<o[0]?null:o[1]},getOccurrenceDetails:function(e){var t,a=e.toString(),n=e.convertToZone(ICAL.Timezone.utcTimezone).toString(),o={recurrenceId:e};if(a in this.exceptions)t=o.item=this.exceptions[a],o.startDate=t.startDate,o.endDate=t.endDate,o.item=t;else if(n in this.exceptions)t=this.exceptions[n],o.startDate=t.startDate,o.endDate=t.endDate,o.item=t;else{var r,s=this.findRangeException(e);if(s){var i=this.exceptions[s];o.item=i;var l=this._rangeExceptionCache[s];if(!l){var c=i.recurrenceId.clone(),d=i.startDate.clone();c.zone=d.zone,l=d.subtractDate(c),this._rangeExceptionCache[s]=l}var u=e.clone();u.zone=i.startDate.zone,u.addDuration(l),(r=u.clone()).addDuration(i.duration),o.startDate=u,o.endDate=r}else(r=e.clone()).addDuration(this.duration),o.endDate=r,o.startDate=e,o.item=this}return o},iterator:function(e){return new ICAL.RecurExpansion({component:this.component,dtstart:e||this.startDate})},isRecurring:function(){var e=this.component;return e.hasProperty("rrule")||e.hasProperty("rdate")},isRecurrenceException:function(){return this.component.hasProperty("recurrence-id")},getRecurrenceTypes:function(){for(var e=this.component.getAllProperties("rrule"),t=0,a=e.length,n=Object.create(null);t<a;t++){n[e[t].getFirstValue().freq]=!0}return n},get uid(){return this._firstProp("uid")},set uid(e){this._setProp("uid",e)},get startDate(){return this._firstProp("dtstart")},set startDate(e){this._setTime("dtstart",e)},get endDate(){var e=this._firstProp("dtend");if(!e){var t=this._firstProp("duration");e=this.startDate.clone(),t?e.addDuration(t):e.isDate&&(e.day+=1)}return e},set endDate(e){this._setTime("dtend",e)},get duration(){var e=this._firstProp("duration");return e||this.endDate.subtractDate(this.startDate)},get location(){return this._firstProp("location")},set location(e){return this._setProp("location",e)},get attendees(){return this.component.getAllProperties("attendee")},get summary(){return this._firstProp("summary")},set summary(e){this._setProp("summary",e)},get description(){return this._firstProp("description")},set description(e){this._setProp("description",e)},get organizer(){return this._firstProp("organizer")},set organizer(e){this._setProp("organizer",e)},get sequence(){return this._firstProp("sequence")},set sequence(e){this._setProp("sequence",e)},get recurrenceId(){return this._firstProp("recurrence-id")},set recurrenceId(e){this._setProp("recurrence-id",e)},_setTime:function(e,t){var a=this.component.getFirstProperty(e);a||(a=new ICAL.Property(e),this.component.addProperty(a)),t.zone===ICAL.Timezone.localTimezone||t.zone===ICAL.Timezone.utcTimezone?a.removeParameter("tzid"):a.setParameter("tzid",t.zone.tzid),a.setValue(t)},_setProp:function(e,t){this.component.updatePropertyWithValue(e,t)},_firstProp:function(e){return this.component.getFirstPropertyValue(e)},toString:function(){return this.component.toString()}},e}(),ICAL.ComponentParser=function(){function e(e){var t;for(t in void 0===e&&(e={}),e)e.hasOwnProperty(t)&&(this[t]=e[t])}return e.prototype={parseEvent:!0,parseTimezone:!0,oncomplete:function(){},onerror:function(e){},ontimezone:function(e){},onevent:function(e){},process:function(e){"string"==typeof e&&(e=ICAL.parse(e)),e instanceof ICAL.Component||(e=new ICAL.Component(e));for(var t,a=e.getAllSubcomponents(),n=0,o=a.length;n<o;n++)switch((t=a[n]).name){case"vtimezone":if(this.parseTimezone){var r=t.getFirstPropertyValue("tzid");r&&this.ontimezone(new ICAL.Timezone({tzid:r,component:t}))}break;case"vevent":this.parseEvent&&this.onevent(new ICAL.Event(t));break;default:continue}this.oncomplete()}},e}()},"./node_modules/lodash/_DataView.js":function(e,t,a){var n=a("./node_modules/lodash/_getNative.js")(a("./node_modules/lodash/_root.js"),"DataView");e.exports=n},"./node_modules/lodash/_Hash.js":function(e,t,a){var n=a("./node_modules/lodash/_hashClear.js"),o=a("./node_modules/lodash/_hashDelete.js"),r=a("./node_modules/lodash/_hashGet.js"),s=a("./node_modules/lodash/_hashHas.js"),i=a("./node_modules/lodash/_hashSet.js");function l(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=r,l.prototype.has=s,l.prototype.set=i,e.exports=l},"./node_modules/lodash/_LazyWrapper.js":function(e,t,a){var n=a("./node_modules/lodash/_baseCreate.js"),o=a("./node_modules/lodash/_baseLodash.js"),r=4294967295;function s(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=r,this.__views__=[]}s.prototype=n(o.prototype),s.prototype.constructor=s,e.exports=s},"./node_modules/lodash/_ListCache.js":function(e,t,a){var n=a("./node_modules/lodash/_listCacheClear.js"),o=a("./node_modules/lodash/_listCacheDelete.js"),r=a("./node_modules/lodash/_listCacheGet.js"),s=a("./node_modules/lodash/_listCacheHas.js"),i=a("./node_modules/lodash/_listCacheSet.js");function l(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=r,l.prototype.has=s,l.prototype.set=i,e.exports=l},"./node_modules/lodash/_LodashWrapper.js":function(e,t,a){var n=a("./node_modules/lodash/_baseCreate.js"),o=a("./node_modules/lodash/_baseLodash.js");function r(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}r.prototype=n(o.prototype),r.prototype.constructor=r,e.exports=r},"./node_modules/lodash/_Map.js":function(e,t,a){var n=a("./node_modules/lodash/_getNative.js")(a("./node_modules/lodash/_root.js"),"Map");e.exports=n},"./node_modules/lodash/_MapCache.js":function(e,t,a){var n=a("./node_modules/lodash/_mapCacheClear.js"),o=a("./node_modules/lodash/_mapCacheDelete.js"),r=a("./node_modules/lodash/_mapCacheGet.js"),s=a("./node_modules/lodash/_mapCacheHas.js"),i=a("./node_modules/lodash/_mapCacheSet.js");function l(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=r,l.prototype.has=s,l.prototype.set=i,e.exports=l},"./node_modules/lodash/_Promise.js":function(e,t,a){var n=a("./node_modules/lodash/_getNative.js")(a("./node_modules/lodash/_root.js"),"Promise");e.exports=n},"./node_modules/lodash/_Set.js":function(e,t,a){var n=a("./node_modules/lodash/_getNative.js")(a("./node_modules/lodash/_root.js"),"Set");e.exports=n},"./node_modules/lodash/_SetCache.js":function(e,t,a){var n=a("./node_modules/lodash/_MapCache.js"),o=a("./node_modules/lodash/_setCacheAdd.js"),r=a("./node_modules/lodash/_setCacheHas.js");function s(e){var t=-1,a=null==e?0:e.length;for(this.__data__=new n;++t<a;)this.add(e[t])}s.prototype.add=s.prototype.push=o,s.prototype.has=r,e.exports=s},"./node_modules/lodash/_Stack.js":function(e,t,a){var n=a("./node_modules/lodash/_ListCache.js"),o=a("./node_modules/lodash/_stackClear.js"),r=a("./node_modules/lodash/_stackDelete.js"),s=a("./node_modules/lodash/_stackGet.js"),i=a("./node_modules/lodash/_stackHas.js"),l=a("./node_modules/lodash/_stackSet.js");function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=r,c.prototype.get=s,c.prototype.has=i,c.prototype.set=l,e.exports=c},"./node_modules/lodash/_Symbol.js":function(e,t,a){var n=a("./node_modules/lodash/_root.js").Symbol;e.exports=n},"./node_modules/lodash/_Uint8Array.js":function(e,t,a){var n=a("./node_modules/lodash/_root.js").Uint8Array;e.exports=n},"./node_modules/lodash/_WeakMap.js":function(e,t,a){var n=a("./node_modules/lodash/_getNative.js")(a("./node_modules/lodash/_root.js"),"WeakMap");e.exports=n},"./node_modules/lodash/_apply.js":function(e,t){e.exports=function(e,t,a){switch(a.length){case 0:return e.call(t);case 1:return e.call(t,a[0]);case 2:return e.call(t,a[0],a[1]);case 3:return e.call(t,a[0],a[1],a[2])}return e.apply(t,a)}},"./node_modules/lodash/_arrayEach.js":function(e,t){e.exports=function(e,t){for(var a=-1,n=null==e?0:e.length;++a<n&&!1!==t(e[a],a,e););return e}},"./node_modules/lodash/_arrayEvery.js":function(e,t){e.exports=function(e,t){for(var a=-1,n=null==e?0:e.length;++a<n;)if(!t(e[a],a,e))return!1;return!0}},"./node_modules/lodash/_arrayFilter.js":function(e,t){e.exports=function(e,t){for(var a=-1,n=null==e?0:e.length,o=0,r=[];++a<n;){var s=e[a];t(s,a,e)&&(r[o++]=s)}return r}},"./node_modules/lodash/_arrayIncludes.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIndexOf.js");e.exports=function(e,t){return!(null==e||!e.length)&&n(e,t,0)>-1}},"./node_modules/lodash/_arrayIncludesWith.js":function(e,t){e.exports=function(e,t,a){for(var n=-1,o=null==e?0:e.length;++n<o;)if(a(t,e[n]))return!0;return!1}},"./node_modules/lodash/_arrayLikeKeys.js":function(e,t,a){var n=a("./node_modules/lodash/_baseTimes.js"),o=a("./node_modules/lodash/isArguments.js"),r=a("./node_modules/lodash/isArray.js"),s=a("./node_modules/lodash/isBuffer.js"),i=a("./node_modules/lodash/_isIndex.js"),l=a("./node_modules/lodash/isTypedArray.js"),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var a=r(e),d=!a&&o(e),u=!a&&!d&&s(e),p=!a&&!d&&!u&&l(e),m=a||d||u||p,f=m?n(e.length,String):[],h=f.length;for(var v in e)!t&&!c.call(e,v)||m&&("length"==v||u&&("offset"==v||"parent"==v)||p&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||i(v,h))||f.push(v);return f}},"./node_modules/lodash/_arrayMap.js":function(e,t){e.exports=function(e,t){for(var a=-1,n=null==e?0:e.length,o=Array(n);++a<n;)o[a]=t(e[a],a,e);return o}},"./node_modules/lodash/_arrayPush.js":function(e,t){e.exports=function(e,t){for(var a=-1,n=t.length,o=e.length;++a<n;)e[o+a]=t[a];return e}},"./node_modules/lodash/_arrayReduce.js":function(e,t){e.exports=function(e,t,a,n){var o=-1,r=null==e?0:e.length;for(n&&r&&(a=e[++o]);++o<r;)a=t(a,e[o],o,e);return a}},"./node_modules/lodash/_arraySome.js":function(e,t){e.exports=function(e,t){for(var a=-1,n=null==e?0:e.length;++a<n;)if(t(e[a],a,e))return!0;return!1}},"./node_modules/lodash/_assignValue.js":function(e,t,a){var n=a("./node_modules/lodash/_baseAssignValue.js"),o=a("./node_modules/lodash/eq.js"),r=Object.prototype.hasOwnProperty;e.exports=function(e,t,a){var s=e[t];r.call(e,t)&&o(s,a)&&(void 0!==a||t in e)||n(e,t,a)}},"./node_modules/lodash/_assocIndexOf.js":function(e,t,a){var n=a("./node_modules/lodash/eq.js");e.exports=function(e,t){for(var a=e.length;a--;)if(n(e[a][0],t))return a;return-1}},"./node_modules/lodash/_baseAssign.js":function(e,t,a){var n=a("./node_modules/lodash/_copyObject.js"),o=a("./node_modules/lodash/keys.js");e.exports=function(e,t){return e&&n(t,o(t),e)}},"./node_modules/lodash/_baseAssignIn.js":function(e,t,a){var n=a("./node_modules/lodash/_copyObject.js"),o=a("./node_modules/lodash/keysIn.js");e.exports=function(e,t){return e&&n(t,o(t),e)}},"./node_modules/lodash/_baseAssignValue.js":function(e,t,a){var n=a("./node_modules/lodash/_defineProperty.js");e.exports=function(e,t,a){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:a,writable:!0}):e[t]=a}},"./node_modules/lodash/_baseClone.js":function(e,t,a){var n=a("./node_modules/lodash/_Stack.js"),o=a("./node_modules/lodash/_arrayEach.js"),r=a("./node_modules/lodash/_assignValue.js"),s=a("./node_modules/lodash/_baseAssign.js"),i=a("./node_modules/lodash/_baseAssignIn.js"),l=a("./node_modules/lodash/_cloneBuffer.js"),c=a("./node_modules/lodash/_copyArray.js"),d=a("./node_modules/lodash/_copySymbols.js"),u=a("./node_modules/lodash/_copySymbolsIn.js"),p=a("./node_modules/lodash/_getAllKeys.js"),m=a("./node_modules/lodash/_getAllKeysIn.js"),f=a("./node_modules/lodash/_getTag.js"),h=a("./node_modules/lodash/_initCloneArray.js"),v=a("./node_modules/lodash/_initCloneByTag.js"),g=a("./node_modules/lodash/_initCloneObject.js"),b=a("./node_modules/lodash/isArray.js"),y=a("./node_modules/lodash/isBuffer.js"),_=a("./node_modules/lodash/isMap.js"),j=a("./node_modules/lodash/isObject.js"),A=a("./node_modules/lodash/isSet.js"),S=a("./node_modules/lodash/keys.js"),C=1,I=2,x=4,E="[object Arguments]",w="[object Function]",T="[object GeneratorFunction]",M="[object Object]",D={};D[E]=D["[object Array]"]=D["[object ArrayBuffer]"]=D["[object DataView]"]=D["[object Boolean]"]=D["[object Date]"]=D["[object Float32Array]"]=D["[object Float64Array]"]=D["[object Int8Array]"]=D["[object Int16Array]"]=D["[object Int32Array]"]=D["[object Map]"]=D["[object Number]"]=D[M]=D["[object RegExp]"]=D["[object Set]"]=D["[object String]"]=D["[object Symbol]"]=D["[object Uint8Array]"]=D["[object Uint8ClampedArray]"]=D["[object Uint16Array]"]=D["[object Uint32Array]"]=!0,D["[object Error]"]=D[w]=D["[object WeakMap]"]=!1,e.exports=function e(t,a,k,L,P,O){var N,R=a&C,$=a&I,F=a&x;if(k&&(N=P?k(t,L,P,O):k(t)),void 0!==N)return N;if(!j(t))return t;var B=b(t);if(B){if(N=h(t),!R)return c(t,N)}else{var U=f(t),z=U==w||U==T;if(y(t))return l(t,R);if(U==M||U==E||z&&!P){if(N=$||z?{}:g(t),!R)return $?u(t,i(N,t)):d(t,s(N,t))}else{if(!D[U])return P?t:{};N=v(t,U,R)}}O||(O=new n);var q=O.get(t);if(q)return q;if(O.set(t,N),A(t))return t.forEach(function(n){N.add(e(n,a,k,n,t,O))}),N;if(_(t))return t.forEach(function(n,o){N.set(o,e(n,a,k,o,t,O))}),N;var V=F?$?m:p:$?keysIn:S,Y=B?void 0:V(t);return o(Y||t,function(n,o){Y&&(n=t[o=n]),r(N,o,e(n,a,k,o,t,O))}),N}},"./node_modules/lodash/_baseCreate.js":function(e,t,a){var n=a("./node_modules/lodash/isObject.js"),o=Object.create,r=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var a=new e;return e.prototype=void 0,a}}();e.exports=r},"./node_modules/lodash/_baseDelay.js":function(e,t){var a="Expected a function";e.exports=function(e,t,n){if("function"!=typeof e)throw new TypeError(a);return setTimeout(function(){e.apply(void 0,n)},t)}},"./node_modules/lodash/_baseDifference.js":function(e,t,a){var n=a("./node_modules/lodash/_SetCache.js"),o=a("./node_modules/lodash/_arrayIncludes.js"),r=a("./node_modules/lodash/_arrayIncludesWith.js"),s=a("./node_modules/lodash/_arrayMap.js"),i=a("./node_modules/lodash/_baseUnary.js"),l=a("./node_modules/lodash/_cacheHas.js"),c=200;e.exports=function(e,t,a,d){var u=-1,p=o,m=!0,f=e.length,h=[],v=t.length;if(!f)return h;a&&(t=s(t,i(a))),d?(p=r,m=!1):t.length>=c&&(p=l,m=!1,t=new n(t));e:for(;++u<f;){var g=e[u],b=null==a?g:a(g);if(g=d||0!==g?g:0,m&&b==b){for(var y=v;y--;)if(t[y]===b)continue e;h.push(g)}else p(t,b,d)||h.push(g)}return h}},"./node_modules/lodash/_baseEach.js":function(e,t,a){var n=a("./node_modules/lodash/_baseForOwn.js"),o=a("./node_modules/lodash/_createBaseEach.js")(n);e.exports=o},"./node_modules/lodash/_baseEvery.js":function(e,t,a){var n=a("./node_modules/lodash/_baseEach.js");e.exports=function(e,t){var a=!0;return n(e,function(e,n,o){return a=!!t(e,n,o)}),a}},"./node_modules/lodash/_baseExtremum.js":function(e,t,a){var n=a("./node_modules/lodash/isSymbol.js");e.exports=function(e,t,a){for(var o=-1,r=e.length;++o<r;){var s=e[o],i=t(s);if(null!=i&&(void 0===l?i==i&&!n(i):a(i,l)))var l=i,c=s}return c}},"./node_modules/lodash/_baseFilter.js":function(e,t,a){var n=a("./node_modules/lodash/_baseEach.js");e.exports=function(e,t){var a=[];return n(e,function(e,n,o){t(e,n,o)&&a.push(e)}),a}},"./node_modules/lodash/_baseFindIndex.js":function(e,t){e.exports=function(e,t,a,n){for(var o=e.length,r=a+(n?1:-1);n?r--:++r<o;)if(t(e[r],r,e))return r;return-1}},"./node_modules/lodash/_baseFlatten.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayPush.js"),o=a("./node_modules/lodash/_isFlattenable.js");e.exports=function e(t,a,r,s,i){var l=-1,c=t.length;for(r||(r=o),i||(i=[]);++l<c;){var d=t[l];a>0&&r(d)?a>1?e(d,a-1,r,s,i):n(i,d):s||(i[i.length]=d)}return i}},"./node_modules/lodash/_baseFor.js":function(e,t,a){var n=a("./node_modules/lodash/_createBaseFor.js")();e.exports=n},"./node_modules/lodash/_baseForOwn.js":function(e,t,a){var n=a("./node_modules/lodash/_baseFor.js"),o=a("./node_modules/lodash/keys.js");e.exports=function(e,t){return e&&n(e,t,o)}},"./node_modules/lodash/_baseGet.js":function(e,t,a){var n=a("./node_modules/lodash/_castPath.js"),o=a("./node_modules/lodash/_toKey.js");e.exports=function(e,t){for(var a=0,r=(t=n(t,e)).length;null!=e&&a<r;)e=e[o(t[a++])];return a&&a==r?e:void 0}},"./node_modules/lodash/_baseGetAllKeys.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayPush.js"),o=a("./node_modules/lodash/isArray.js");e.exports=function(e,t,a){var r=t(e);return o(e)?r:n(r,a(e))}},"./node_modules/lodash/_baseGetTag.js":function(e,t,a){var n=a("./node_modules/lodash/_Symbol.js"),o=a("./node_modules/lodash/_getRawTag.js"),r=a("./node_modules/lodash/_objectToString.js"),s="[object Null]",i="[object Undefined]",l=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?i:s:l&&l in Object(e)?o(e):r(e)}},"./node_modules/lodash/_baseGt.js":function(e,t){e.exports=function(e,t){return e>t}},"./node_modules/lodash/_baseHas.js":function(e,t){var a=Object.prototype.hasOwnProperty;e.exports=function(e,t){return null!=e&&a.call(e,t)}},"./node_modules/lodash/_baseHasIn.js":function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},"./node_modules/lodash/_baseIndexOf.js":function(e,t,a){var n=a("./node_modules/lodash/_baseFindIndex.js"),o=a("./node_modules/lodash/_baseIsNaN.js"),r=a("./node_modules/lodash/_strictIndexOf.js");e.exports=function(e,t,a){return t==t?r(e,t,a):n(e,o,a)}},"./node_modules/lodash/_baseIsArguments.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGetTag.js"),o=a("./node_modules/lodash/isObjectLike.js"),r="[object Arguments]";e.exports=function(e){return o(e)&&n(e)==r}},"./node_modules/lodash/_baseIsEqual.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIsEqualDeep.js"),o=a("./node_modules/lodash/isObjectLike.js");e.exports=function e(t,a,r,s,i){return t===a||(null==t||null==a||!o(t)&&!o(a)?t!=t&&a!=a:n(t,a,r,s,e,i))}},"./node_modules/lodash/_baseIsEqualDeep.js":function(e,t,a){var n=a("./node_modules/lodash/_Stack.js"),o=a("./node_modules/lodash/_equalArrays.js"),r=a("./node_modules/lodash/_equalByTag.js"),s=a("./node_modules/lodash/_equalObjects.js"),i=a("./node_modules/lodash/_getTag.js"),l=a("./node_modules/lodash/isArray.js"),c=a("./node_modules/lodash/isBuffer.js"),d=a("./node_modules/lodash/isTypedArray.js"),u=1,p="[object Arguments]",m="[object Array]",f="[object Object]",h=Object.prototype.hasOwnProperty;e.exports=function(e,t,a,v,g,b){var y=l(e),_=l(t),j=y?m:i(e),A=_?m:i(t),S=(j=j==p?f:j)==f,C=(A=A==p?f:A)==f,I=j==A;if(I&&c(e)){if(!c(t))return!1;y=!0,S=!1}if(I&&!S)return b||(b=new n),y||d(e)?o(e,t,a,v,g,b):r(e,t,j,a,v,g,b);if(!(a&u)){var x=S&&h.call(e,"__wrapped__"),E=C&&h.call(t,"__wrapped__");if(x||E){var w=x?e.value():e,T=E?t.value():t;return b||(b=new n),g(w,T,a,v,b)}}return!!I&&(b||(b=new n),s(e,t,a,v,g,b))}},"./node_modules/lodash/_baseIsMap.js":function(e,t,a){var n=a("./node_modules/lodash/_getTag.js"),o=a("./node_modules/lodash/isObjectLike.js"),r="[object Map]";e.exports=function(e){return o(e)&&n(e)==r}},"./node_modules/lodash/_baseIsMatch.js":function(e,t,a){var n=a("./node_modules/lodash/_Stack.js"),o=a("./node_modules/lodash/_baseIsEqual.js"),r=1,s=2;e.exports=function(e,t,a,i){var l=a.length,c=l,d=!i;if(null==e)return!c;for(e=Object(e);l--;){var u=a[l];if(d&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++l<c;){var p=(u=a[l])[0],m=e[p],f=u[1];if(d&&u[2]){if(void 0===m&&!(p in e))return!1}else{var h=new n;if(i)var v=i(m,f,p,e,t,h);if(!(void 0===v?o(f,m,r|s,i,h):v))return!1}}return!0}},"./node_modules/lodash/_baseIsNaN.js":function(e,t){e.exports=function(e){return e!=e}},"./node_modules/lodash/_baseIsNative.js":function(e,t,a){var n=a("./node_modules/lodash/isFunction.js"),o=a("./node_modules/lodash/_isMasked.js"),r=a("./node_modules/lodash/isObject.js"),s=a("./node_modules/lodash/_toSource.js"),i=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,d=l.toString,u=c.hasOwnProperty,p=RegExp("^"+d.call(u).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!r(e)||o(e))&&(n(e)?p:i).test(s(e))}},"./node_modules/lodash/_baseIsSet.js":function(e,t,a){var n=a("./node_modules/lodash/_getTag.js"),o=a("./node_modules/lodash/isObjectLike.js"),r="[object Set]";e.exports=function(e){return o(e)&&n(e)==r}},"./node_modules/lodash/_baseIsTypedArray.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGetTag.js"),o=a("./node_modules/lodash/isLength.js"),r=a("./node_modules/lodash/isObjectLike.js"),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.exports=function(e){return r(e)&&o(e.length)&&!!s[n(e)]}},"./node_modules/lodash/_baseIteratee.js":function(e,t,a){var n=a("./node_modules/lodash/_baseMatches.js"),o=a("./node_modules/lodash/_baseMatchesProperty.js"),r=a("./node_modules/lodash/identity.js"),s=a("./node_modules/lodash/isArray.js"),i=a("./node_modules/lodash/property.js");e.exports=function(e){return"function"==typeof e?e:null==e?r:"object"==typeof e?s(e)?o(e[0],e[1]):n(e):i(e)}},"./node_modules/lodash/_baseKeys.js":function(e,t,a){var n=a("./node_modules/lodash/_isPrototype.js"),o=a("./node_modules/lodash/_nativeKeys.js"),r=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var a in Object(e))r.call(e,a)&&"constructor"!=a&&t.push(a);return t}},"./node_modules/lodash/_baseKeysIn.js":function(e,t,a){var n=a("./node_modules/lodash/isObject.js"),o=a("./node_modules/lodash/_isPrototype.js"),r=a("./node_modules/lodash/_nativeKeysIn.js"),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return r(e);var t=o(e),a=[];for(var i in e)("constructor"!=i||!t&&s.call(e,i))&&a.push(i);return a}},"./node_modules/lodash/_baseLodash.js":function(e,t){e.exports=function(){}},"./node_modules/lodash/_baseMap.js":function(e,t,a){var n=a("./node_modules/lodash/_baseEach.js"),o=a("./node_modules/lodash/isArrayLike.js");e.exports=function(e,t){var a=-1,r=o(e)?Array(e.length):[];return n(e,function(e,n,o){r[++a]=t(e,n,o)}),r}},"./node_modules/lodash/_baseMatches.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIsMatch.js"),o=a("./node_modules/lodash/_getMatchData.js"),r=a("./node_modules/lodash/_matchesStrictComparable.js");e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?r(t[0][0],t[0][1]):function(a){return a===e||n(a,e,t)}}},"./node_modules/lodash/_baseMatchesProperty.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIsEqual.js"),o=a("./node_modules/lodash/get.js"),r=a("./node_modules/lodash/hasIn.js"),s=a("./node_modules/lodash/_isKey.js"),i=a("./node_modules/lodash/_isStrictComparable.js"),l=a("./node_modules/lodash/_matchesStrictComparable.js"),c=a("./node_modules/lodash/_toKey.js"),d=1,u=2;e.exports=function(e,t){return s(e)&&i(t)?l(c(e),t):function(a){var s=o(a,e);return void 0===s&&s===t?r(a,e):n(t,s,d|u)}}},"./node_modules/lodash/_baseOrderBy.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayMap.js"),o=a("./node_modules/lodash/_baseIteratee.js"),r=a("./node_modules/lodash/_baseMap.js"),s=a("./node_modules/lodash/_baseSortBy.js"),i=a("./node_modules/lodash/_baseUnary.js"),l=a("./node_modules/lodash/_compareMultiple.js"),c=a("./node_modules/lodash/identity.js");e.exports=function(e,t,a){var d=-1;t=n(t.length?t:[c],i(o));var u=r(e,function(e,a,o){return{criteria:n(t,function(t){return t(e)}),index:++d,value:e}});return s(u,function(e,t){return l(e,t,a)})}},"./node_modules/lodash/_basePick.js":function(e,t,a){var n=a("./node_modules/lodash/_basePickBy.js"),o=a("./node_modules/lodash/hasIn.js");e.exports=function(e,t){return n(e,t,function(t,a){return o(e,a)})}},"./node_modules/lodash/_basePickBy.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGet.js"),o=a("./node_modules/lodash/_baseSet.js"),r=a("./node_modules/lodash/_castPath.js");e.exports=function(e,t,a){for(var s=-1,i=t.length,l={};++s<i;){var c=t[s],d=n(e,c);a(d,c)&&o(l,r(c,e),d)}return l}},"./node_modules/lodash/_baseProperty.js":function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},"./node_modules/lodash/_basePropertyDeep.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGet.js");e.exports=function(e){return function(t){return n(t,e)}}},"./node_modules/lodash/_basePropertyOf.js":function(e,t){e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},"./node_modules/lodash/_baseRandom.js":function(e,t){var a=Math.floor,n=Math.random;e.exports=function(e,t){return e+a(n()*(t-e+1))}},"./node_modules/lodash/_baseRange.js":function(e,t){var a=Math.ceil,n=Math.max;e.exports=function(e,t,o,r){for(var s=-1,i=n(a((t-e)/(o||1)),0),l=Array(i);i--;)l[r?i:++s]=e,e+=o;return l}},"./node_modules/lodash/_baseReduce.js":function(e,t){e.exports=function(e,t,a,n,o){return o(e,function(e,o,r){a=n?(n=!1,e):t(a,e,o,r)}),a}},"./node_modules/lodash/_baseRest.js":function(e,t,a){var n=a("./node_modules/lodash/identity.js"),o=a("./node_modules/lodash/_overRest.js"),r=a("./node_modules/lodash/_setToString.js");e.exports=function(e,t){return r(o(e,t,n),e+"")}},"./node_modules/lodash/_baseSet.js":function(e,t,a){var n=a("./node_modules/lodash/_assignValue.js"),o=a("./node_modules/lodash/_castPath.js"),r=a("./node_modules/lodash/_isIndex.js"),s=a("./node_modules/lodash/isObject.js"),i=a("./node_modules/lodash/_toKey.js");e.exports=function(e,t,a,l){if(!s(e))return e;for(var c=-1,d=(t=o(t,e)).length,u=d-1,p=e;null!=p&&++c<d;){var m=i(t[c]),f=a;if(c!=u){var h=p[m];void 0===(f=l?l(h,m,p):void 0)&&(f=s(h)?h:r(t[c+1])?[]:{})}n(p,m,f),p=p[m]}return e}},"./node_modules/lodash/_baseSetData.js":function(e,t,a){var n=a("./node_modules/lodash/identity.js"),o=a("./node_modules/lodash/_metaMap.js"),r=o?function(e,t){return o.set(e,t),e}:n;e.exports=r},"./node_modules/lodash/_baseSetToString.js":function(e,t,a){var n=a("./node_modules/lodash/constant.js"),o=a("./node_modules/lodash/_defineProperty.js"),r=a("./node_modules/lodash/identity.js"),s=o?function(e,t){return o(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:r;e.exports=s},"./node_modules/lodash/_baseSlice.js":function(e,t){e.exports=function(e,t,a){var n=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(a=a>o?o:a)<0&&(a+=o),o=t>a?0:a-t>>>0,t>>>=0;for(var r=Array(o);++n<o;)r[n]=e[n+t];return r}},"./node_modules/lodash/_baseSome.js":function(e,t,a){var n=a("./node_modules/lodash/_baseEach.js");e.exports=function(e,t){var a;return n(e,function(e,n,o){return!(a=t(e,n,o))}),!!a}},"./node_modules/lodash/_baseSortBy.js":function(e,t){e.exports=function(e,t){var a=e.length;for(e.sort(t);a--;)e[a]=e[a].value;return e}},"./node_modules/lodash/_baseTimes.js":function(e,t){e.exports=function(e,t){for(var a=-1,n=Array(e);++a<e;)n[a]=t(a);return n}},"./node_modules/lodash/_baseToString.js":function(e,t,a){var n=a("./node_modules/lodash/_Symbol.js"),o=a("./node_modules/lodash/_arrayMap.js"),r=a("./node_modules/lodash/isArray.js"),s=a("./node_modules/lodash/isSymbol.js"),i=1/0,l=n?n.prototype:void 0,c=l?l.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(r(t))return o(t,e)+"";if(s(t))return c?c.call(t):"";var a=t+"";return"0"==a&&1/t==-i?"-0":a}},"./node_modules/lodash/_baseUnary.js":function(e,t){e.exports=function(e){return function(t){return e(t)}}},"./node_modules/lodash/_baseUniq.js":function(e,t,a){var n=a("./node_modules/lodash/_SetCache.js"),o=a("./node_modules/lodash/_arrayIncludes.js"),r=a("./node_modules/lodash/_arrayIncludesWith.js"),s=a("./node_modules/lodash/_cacheHas.js"),i=a("./node_modules/lodash/_createSet.js"),l=a("./node_modules/lodash/_setToArray.js"),c=200;e.exports=function(e,t,a){var d=-1,u=o,p=e.length,m=!0,f=[],h=f;if(a)m=!1,u=r;else if(p>=c){var v=t?null:i(e);if(v)return l(v);m=!1,u=s,h=new n}else h=t?[]:f;e:for(;++d<p;){var g=e[d],b=t?t(g):g;if(g=a||0!==g?g:0,m&&b==b){for(var y=h.length;y--;)if(h[y]===b)continue e;t&&h.push(b),f.push(g)}else u(h,b,a)||(h!==f&&h.push(b),f.push(g))}return f}},"./node_modules/lodash/_baseUnset.js":function(e,t,a){var n=a("./node_modules/lodash/_castPath.js"),o=a("./node_modules/lodash/last.js"),r=a("./node_modules/lodash/_parent.js"),s=a("./node_modules/lodash/_toKey.js");e.exports=function(e,t){return t=n(t,e),null==(e=r(e,t))||delete e[s(o(t))]}},"./node_modules/lodash/_baseValues.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayMap.js");e.exports=function(e,t){return n(t,function(t){return e[t]})}},"./node_modules/lodash/_cacheHas.js":function(e,t){e.exports=function(e,t){return e.has(t)}},"./node_modules/lodash/_castFunction.js":function(e,t,a){var n=a("./node_modules/lodash/identity.js");e.exports=function(e){return"function"==typeof e?e:n}},"./node_modules/lodash/_castPath.js":function(e,t,a){var n=a("./node_modules/lodash/isArray.js"),o=a("./node_modules/lodash/_isKey.js"),r=a("./node_modules/lodash/_stringToPath.js"),s=a("./node_modules/lodash/toString.js");e.exports=function(e,t){return n(e)?e:o(e,t)?[e]:r(s(e))}},"./node_modules/lodash/_cloneArrayBuffer.js":function(e,t,a){var n=a("./node_modules/lodash/_Uint8Array.js");e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},"./node_modules/lodash/_cloneBuffer.js":function(e,t,a){(function(e){var n=a("./node_modules/lodash/_root.js"),o="object"==typeof t&&t&&!t.nodeType&&t,r=o&&"object"==typeof e&&e&&!e.nodeType&&e,s=r&&r.exports===o?n.Buffer:void 0,i=s?s.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var a=e.length,n=i?i(a):new e.constructor(a);return e.copy(n),n}}).call(t,a("./node_modules/webpack/buildin/module.js")(e))},"./node_modules/lodash/_cloneDataView.js":function(e,t,a){var n=a("./node_modules/lodash/_cloneArrayBuffer.js");e.exports=function(e,t){var a=t?n(e.buffer):e.buffer;return new e.constructor(a,e.byteOffset,e.byteLength)}},"./node_modules/lodash/_cloneRegExp.js":function(e,t){var a=/\w*$/;e.exports=function(e){var t=new e.constructor(e.source,a.exec(e));return t.lastIndex=e.lastIndex,t}},"./node_modules/lodash/_cloneSymbol.js":function(e,t,a){var n=a("./node_modules/lodash/_Symbol.js"),o=n?n.prototype:void 0,r=o?o.valueOf:void 0;e.exports=function(e){return r?Object(r.call(e)):{}}},"./node_modules/lodash/_cloneTypedArray.js":function(e,t,a){var n=a("./node_modules/lodash/_cloneArrayBuffer.js");e.exports=function(e,t){var a=t?n(e.buffer):e.buffer;return new e.constructor(a,e.byteOffset,e.length)}},"./node_modules/lodash/_compareAscending.js":function(e,t,a){var n=a("./node_modules/lodash/isSymbol.js");e.exports=function(e,t){if(e!==t){var a=void 0!==e,o=null===e,r=e==e,s=n(e),i=void 0!==t,l=null===t,c=t==t,d=n(t);if(!l&&!d&&!s&&e>t||s&&i&&c&&!l&&!d||o&&i&&c||!a&&c||!r)return 1;if(!o&&!s&&!d&&e<t||d&&a&&r&&!o&&!s||l&&a&&r||!i&&r||!c)return-1}return 0}},"./node_modules/lodash/_compareMultiple.js":function(e,t,a){var n=a("./node_modules/lodash/_compareAscending.js");e.exports=function(e,t,a){for(var o=-1,r=e.criteria,s=t.criteria,i=r.length,l=a.length;++o<i;){var c=n(r[o],s[o]);if(c)return o>=l?c:c*("desc"==a[o]?-1:1)}return e.index-t.index}},"./node_modules/lodash/_composeArgs.js":function(e,t){var a=Math.max;e.exports=function(e,t,n,o){for(var r=-1,s=e.length,i=n.length,l=-1,c=t.length,d=a(s-i,0),u=Array(c+d),p=!o;++l<c;)u[l]=t[l];for(;++r<i;)(p||r<s)&&(u[n[r]]=e[r]);for(;d--;)u[l++]=e[r++];return u}},"./node_modules/lodash/_composeArgsRight.js":function(e,t){var a=Math.max;e.exports=function(e,t,n,o){for(var r=-1,s=e.length,i=-1,l=n.length,c=-1,d=t.length,u=a(s-l,0),p=Array(u+d),m=!o;++r<u;)p[r]=e[r];for(var f=r;++c<d;)p[f+c]=t[c];for(;++i<l;)(m||r<s)&&(p[f+n[i]]=e[r++]);return p}},"./node_modules/lodash/_copyArray.js":function(e,t){e.exports=function(e,t){var a=-1,n=e.length;for(t||(t=Array(n));++a<n;)t[a]=e[a];return t}},"./node_modules/lodash/_copyObject.js":function(e,t,a){var n=a("./node_modules/lodash/_assignValue.js"),o=a("./node_modules/lodash/_baseAssignValue.js");e.exports=function(e,t,a,r){var s=!a;a||(a={});for(var i=-1,l=t.length;++i<l;){var c=t[i],d=r?r(a[c],e[c],c,a,e):void 0;void 0===d&&(d=e[c]),s?o(a,c,d):n(a,c,d)}return a}},"./node_modules/lodash/_copySymbols.js":function(e,t,a){var n=a("./node_modules/lodash/_copyObject.js"),o=a("./node_modules/lodash/_getSymbols.js");e.exports=function(e,t){return n(e,o(e),t)}},"./node_modules/lodash/_copySymbolsIn.js":function(e,t,a){var n=a("./node_modules/lodash/_copyObject.js"),o=a("./node_modules/lodash/_getSymbolsIn.js");e.exports=function(e,t){return n(e,o(e),t)}},"./node_modules/lodash/_coreJsData.js":function(e,t,a){var n=a("./node_modules/lodash/_root.js")["__core-js_shared__"];e.exports=n},"./node_modules/lodash/_countHolders.js":function(e,t){e.exports=function(e,t){for(var a=e.length,n=0;a--;)e[a]===t&&++n;return n}},"./node_modules/lodash/_createAssigner.js":function(e,t,a){var n=a("./node_modules/lodash/_baseRest.js"),o=a("./node_modules/lodash/_isIterateeCall.js");e.exports=function(e){return n(function(t,a){var n=-1,r=a.length,s=r>1?a[r-1]:void 0,i=r>2?a[2]:void 0;for(s=e.length>3&&"function"==typeof s?(r--,s):void 0,i&&o(a[0],a[1],i)&&(s=r<3?void 0:s,r=1),t=Object(t);++n<r;){var l=a[n];l&&e(t,l,n,s)}return t})}},"./node_modules/lodash/_createBaseEach.js":function(e,t,a){var n=a("./node_modules/lodash/isArrayLike.js");e.exports=function(e,t){return function(a,o){if(null==a)return a;if(!n(a))return e(a,o);for(var r=a.length,s=t?r:-1,i=Object(a);(t?s--:++s<r)&&!1!==o(i[s],s,i););return a}}},"./node_modules/lodash/_createBaseFor.js":function(e,t){e.exports=function(e){return function(t,a,n){for(var o=-1,r=Object(t),s=n(t),i=s.length;i--;){var l=s[e?i:++o];if(!1===a(r[l],l,r))break}return t}}},"./node_modules/lodash/_createBind.js":function(e,t,a){var n=a("./node_modules/lodash/_createCtor.js"),o=a("./node_modules/lodash/_root.js"),r=1;e.exports=function(e,t,a){var s=t&r,i=n(e);return function t(){return(this&&this!==o&&this instanceof t?i:e).apply(s?a:this,arguments)}}},"./node_modules/lodash/_createCtor.js":function(e,t,a){var n=a("./node_modules/lodash/_baseCreate.js"),o=a("./node_modules/lodash/isObject.js");e.exports=function(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var a=n(e.prototype),r=e.apply(a,t);return o(r)?r:a}}},"./node_modules/lodash/_createCurry.js":function(e,t,a){var n=a("./node_modules/lodash/_apply.js"),o=a("./node_modules/lodash/_createCtor.js"),r=a("./node_modules/lodash/_createHybrid.js"),s=a("./node_modules/lodash/_createRecurry.js"),i=a("./node_modules/lodash/_getHolder.js"),l=a("./node_modules/lodash/_replaceHolders.js"),c=a("./node_modules/lodash/_root.js");e.exports=function(e,t,a){var d=o(e);return function o(){for(var u=arguments.length,p=Array(u),m=u,f=i(o);m--;)p[m]=arguments[m];var h=u<3&&p[0]!==f&&p[u-1]!==f?[]:l(p,f);return(u-=h.length)<a?s(e,t,r,o.placeholder,void 0,p,h,void 0,void 0,a-u):n(this&&this!==c&&this instanceof o?d:e,this,p)}}},"./node_modules/lodash/_createFind.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIteratee.js"),o=a("./node_modules/lodash/isArrayLike.js"),r=a("./node_modules/lodash/keys.js");e.exports=function(e){return function(t,a,s){var i=Object(t);if(!o(t)){var l=n(a,3);t=r(t),a=function(e){return l(i[e],e,i)}}var c=e(t,a,s);return c>-1?i[l?t[c]:c]:void 0}}},"./node_modules/lodash/_createFlow.js":function(e,t,a){var n=a("./node_modules/lodash/_LodashWrapper.js"),o=a("./node_modules/lodash/_flatRest.js"),r=a("./node_modules/lodash/_getData.js"),s=a("./node_modules/lodash/_getFuncName.js"),i=a("./node_modules/lodash/isArray.js"),l=a("./node_modules/lodash/_isLaziable.js"),c="Expected a function",d=8,u=32,p=128,m=256;e.exports=function(e){return o(function(t){var a=t.length,o=a,f=n.prototype.thru;for(e&&t.reverse();o--;){var h=t[o];if("function"!=typeof h)throw new TypeError(c);if(f&&!v&&"wrapper"==s(h))var v=new n([],!0)}for(o=v?o:a;++o<a;){h=t[o];var g=s(h),b="wrapper"==g?r(h):void 0;v=b&&l(b[0])&&b[1]==(p|d|u|m)&&!b[4].length&&1==b[9]?v[s(b[0])].apply(v,b[3]):1==h.length&&l(h)?v[g]():v.thru(h)}return function(){var e=arguments,n=e[0];if(v&&1==e.length&&i(n))return v.plant(n).value();for(var o=0,r=a?t[o].apply(this,e):n;++o<a;)r=t[o].call(this,r);return r}})}},"./node_modules/lodash/_createHybrid.js":function(e,t,a){var n=a("./node_modules/lodash/_composeArgs.js"),o=a("./node_modules/lodash/_composeArgsRight.js"),r=a("./node_modules/lodash/_countHolders.js"),s=a("./node_modules/lodash/_createCtor.js"),i=a("./node_modules/lodash/_createRecurry.js"),l=a("./node_modules/lodash/_getHolder.js"),c=a("./node_modules/lodash/_reorder.js"),d=a("./node_modules/lodash/_replaceHolders.js"),u=a("./node_modules/lodash/_root.js"),p=1,m=2,f=8,h=16,v=128,g=512;e.exports=function e(t,a,b,y,_,j,A,S,C,I){var x=a&v,E=a&p,w=a&m,T=a&(f|h),M=a&g,D=w?void 0:s(t);return function p(){for(var m=arguments.length,f=Array(m),h=m;h--;)f[h]=arguments[h];if(T)var v=l(p),g=r(f,v);if(y&&(f=n(f,y,_,T)),j&&(f=o(f,j,A,T)),m-=g,T&&m<I){var k=d(f,v);return i(t,a,e,p.placeholder,b,f,k,S,C,I-m)}var L=E?b:this,P=w?L[t]:t;return m=f.length,S?f=c(f,S):M&&m>1&&f.reverse(),x&&C<m&&(f.length=C),this&&this!==u&&this instanceof p&&(P=D||s(P)),P.apply(L,f)}}},"./node_modules/lodash/_createPartial.js":function(e,t,a){var n=a("./node_modules/lodash/_apply.js"),o=a("./node_modules/lodash/_createCtor.js"),r=a("./node_modules/lodash/_root.js"),s=1;e.exports=function(e,t,a,i){var l=t&s,c=o(e);return function t(){for(var o=-1,s=arguments.length,d=-1,u=i.length,p=Array(u+s),m=this&&this!==r&&this instanceof t?c:e;++d<u;)p[d]=i[d];for(;s--;)p[d++]=arguments[++o];return n(m,l?a:this,p)}}},"./node_modules/lodash/_createRange.js":function(e,t,a){var n=a("./node_modules/lodash/_baseRange.js"),o=a("./node_modules/lodash/_isIterateeCall.js"),r=a("./node_modules/lodash/toFinite.js");e.exports=function(e){return function(t,a,s){return s&&"number"!=typeof s&&o(t,a,s)&&(a=s=void 0),t=r(t),void 0===a?(a=t,t=0):a=r(a),s=void 0===s?t<a?1:-1:r(s),n(t,a,s,e)}}},"./node_modules/lodash/_createRecurry.js":function(e,t,a){var n=a("./node_modules/lodash/_isLaziable.js"),o=a("./node_modules/lodash/_setData.js"),r=a("./node_modules/lodash/_setWrapToString.js"),s=1,i=2,l=4,c=8,d=32,u=64;e.exports=function(e,t,a,p,m,f,h,v,g,b){var y=t&c;t|=y?d:u,(t&=~(y?u:d))&l||(t&=~(s|i));var _=[e,t,m,y?f:void 0,y?h:void 0,y?void 0:f,y?void 0:h,v,g,b],j=a.apply(void 0,_);return n(e)&&o(j,_),j.placeholder=p,r(j,e,t)}},"./node_modules/lodash/_createSet.js":function(e,t,a){var n=a("./node_modules/lodash/_Set.js"),o=a("./node_modules/lodash/noop.js"),r=a("./node_modules/lodash/_setToArray.js"),s=n&&1/r(new n([,-0]))[1]==1/0?function(e){return new n(e)}:o;e.exports=s},"./node_modules/lodash/_createWrap.js":function(e,t,a){var n=a("./node_modules/lodash/_baseSetData.js"),o=a("./node_modules/lodash/_createBind.js"),r=a("./node_modules/lodash/_createCurry.js"),s=a("./node_modules/lodash/_createHybrid.js"),i=a("./node_modules/lodash/_createPartial.js"),l=a("./node_modules/lodash/_getData.js"),c=a("./node_modules/lodash/_mergeData.js"),d=a("./node_modules/lodash/_setData.js"),u=a("./node_modules/lodash/_setWrapToString.js"),p=a("./node_modules/lodash/toInteger.js"),m="Expected a function",f=1,h=2,v=8,g=16,b=32,y=64,_=Math.max;e.exports=function(e,t,a,j,A,S,C,I){var x=t&h;if(!x&&"function"!=typeof e)throw new TypeError(m);var E=j?j.length:0;if(E||(t&=~(b|y),j=A=void 0),C=void 0===C?C:_(p(C),0),I=void 0===I?I:p(I),E-=A?A.length:0,t&y){var w=j,T=A;j=A=void 0}var M=x?void 0:l(e),D=[e,t,a,j,A,w,T,S,C,I];if(M&&c(D,M),e=D[0],t=D[1],a=D[2],j=D[3],A=D[4],!(I=D[9]=void 0===D[9]?x?0:e.length:_(D[9]-E,0))&&t&(v|g)&&(t&=~(v|g)),t&&t!=f)k=t==v||t==g?r(e,t,I):t!=b&&t!=(f|b)||A.length?s.apply(void 0,D):i(e,t,a,j);else var k=o(e,t,a);return u((M?n:d)(k,D),e,t)}},"./node_modules/lodash/_customOmitClone.js":function(e,t,a){var n=a("./node_modules/lodash/isPlainObject.js");e.exports=function(e){return n(e)?void 0:e}},"./node_modules/lodash/_defineProperty.js":function(e,t,a){var n=a("./node_modules/lodash/_getNative.js"),o=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},"./node_modules/lodash/_equalArrays.js":function(e,t,a){var n=a("./node_modules/lodash/_SetCache.js"),o=a("./node_modules/lodash/_arraySome.js"),r=a("./node_modules/lodash/_cacheHas.js"),s=1,i=2;e.exports=function(e,t,a,l,c,d){var u=a&s,p=e.length,m=t.length;if(p!=m&&!(u&&m>p))return!1;var f=d.get(e);if(f&&d.get(t))return f==t;var h=-1,v=!0,g=a&i?new n:void 0;for(d.set(e,t),d.set(t,e);++h<p;){var b=e[h],y=t[h];if(l)var _=u?l(y,b,h,t,e,d):l(b,y,h,e,t,d);if(void 0!==_){if(_)continue;v=!1;break}if(g){if(!o(t,function(e,t){if(!r(g,t)&&(b===e||c(b,e,a,l,d)))return g.push(t)})){v=!1;break}}else if(b!==y&&!c(b,y,a,l,d)){v=!1;break}}return d.delete(e),d.delete(t),v}},"./node_modules/lodash/_equalByTag.js":function(e,t,a){var n=a("./node_modules/lodash/_Symbol.js"),o=a("./node_modules/lodash/_Uint8Array.js"),r=a("./node_modules/lodash/eq.js"),s=a("./node_modules/lodash/_equalArrays.js"),i=a("./node_modules/lodash/_mapToArray.js"),l=a("./node_modules/lodash/_setToArray.js"),c=1,d=2,u="[object Boolean]",p="[object Date]",m="[object Error]",f="[object Map]",h="[object Number]",v="[object RegExp]",g="[object Set]",b="[object String]",y="[object Symbol]",_="[object ArrayBuffer]",j="[object DataView]",A=n?n.prototype:void 0,S=A?A.valueOf:void 0;e.exports=function(e,t,a,n,A,C,I){switch(a){case j:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case _:return!(e.byteLength!=t.byteLength||!C(new o(e),new o(t)));case u:case p:case h:return r(+e,+t);case m:return e.name==t.name&&e.message==t.message;case v:case b:return e==t+"";case f:var x=i;case g:var E=n&c;if(x||(x=l),e.size!=t.size&&!E)return!1;var w=I.get(e);if(w)return w==t;n|=d,I.set(e,t);var T=s(x(e),x(t),n,A,C,I);return I.delete(e),T;case y:if(S)return S.call(e)==S.call(t)}return!1}},"./node_modules/lodash/_equalObjects.js":function(e,t,a){var n=a("./node_modules/lodash/_getAllKeys.js"),o=1,r=Object.prototype.hasOwnProperty;e.exports=function(e,t,a,s,i,l){var c=a&o,d=n(e),u=d.length;if(u!=n(t).length&&!c)return!1;for(var p=u;p--;){var m=d[p];if(!(c?m in t:r.call(t,m)))return!1}var f=l.get(e);if(f&&l.get(t))return f==t;var h=!0;l.set(e,t),l.set(t,e);for(var v=c;++p<u;){var g=e[m=d[p]],b=t[m];if(s)var y=c?s(b,g,m,t,e,l):s(g,b,m,e,t,l);if(!(void 0===y?g===b||i(g,b,a,s,l):y)){h=!1;break}v||(v="constructor"==m)}if(h&&!v){var _=e.constructor,j=t.constructor;_!=j&&"constructor"in e&&"constructor"in t&&!("function"==typeof _&&_ instanceof _&&"function"==typeof j&&j instanceof j)&&(h=!1)}return l.delete(e),l.delete(t),h}},"./node_modules/lodash/_escapeHtmlChar.js":function(e,t,a){var n=a("./node_modules/lodash/_basePropertyOf.js")({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});e.exports=n},"./node_modules/lodash/_flatRest.js":function(e,t,a){var n=a("./node_modules/lodash/flatten.js"),o=a("./node_modules/lodash/_overRest.js"),r=a("./node_modules/lodash/_setToString.js");e.exports=function(e){return r(o(e,void 0,n),e+"")}},"./node_modules/lodash/_freeGlobal.js":function(e,t,a){(function(t){var a="object"==typeof t&&t&&t.Object===Object&&t;e.exports=a}).call(t,a("./node_modules/webpack/buildin/global.js"))},"./node_modules/lodash/_getAllKeys.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGetAllKeys.js"),o=a("./node_modules/lodash/_getSymbols.js"),r=a("./node_modules/lodash/keys.js");e.exports=function(e){return n(e,r,o)}},"./node_modules/lodash/_getAllKeysIn.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGetAllKeys.js"),o=a("./node_modules/lodash/_getSymbolsIn.js"),r=a("./node_modules/lodash/keysIn.js");e.exports=function(e){return n(e,r,o)}},"./node_modules/lodash/_getData.js":function(e,t,a){var n=a("./node_modules/lodash/_metaMap.js"),o=a("./node_modules/lodash/noop.js"),r=n?function(e){return n.get(e)}:o;e.exports=r},"./node_modules/lodash/_getFuncName.js":function(e,t,a){var n=a("./node_modules/lodash/_realNames.js"),o=Object.prototype.hasOwnProperty;e.exports=function(e){for(var t=e.name+"",a=n[t],r=o.call(n,t)?a.length:0;r--;){var s=a[r],i=s.func;if(null==i||i==e)return s.name}return t}},"./node_modules/lodash/_getHolder.js":function(e,t){e.exports=function(e){return e.placeholder}},"./node_modules/lodash/_getMapData.js":function(e,t,a){var n=a("./node_modules/lodash/_isKeyable.js");e.exports=function(e,t){var a=e.__data__;return n(t)?a["string"==typeof t?"string":"hash"]:a.map}},"./node_modules/lodash/_getMatchData.js":function(e,t,a){var n=a("./node_modules/lodash/_isStrictComparable.js"),o=a("./node_modules/lodash/keys.js");e.exports=function(e){for(var t=o(e),a=t.length;a--;){var r=t[a],s=e[r];t[a]=[r,s,n(s)]}return t}},"./node_modules/lodash/_getNative.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIsNative.js"),o=a("./node_modules/lodash/_getValue.js");e.exports=function(e,t){var a=o(e,t);return n(a)?a:void 0}},"./node_modules/lodash/_getPrototype.js":function(e,t,a){var n=a("./node_modules/lodash/_overArg.js")(Object.getPrototypeOf,Object);e.exports=n},"./node_modules/lodash/_getRawTag.js":function(e,t,a){var n=a("./node_modules/lodash/_Symbol.js"),o=Object.prototype,r=o.hasOwnProperty,s=o.toString,i=n?n.toStringTag:void 0;e.exports=function(e){var t=r.call(e,i),a=e[i];try{e[i]=void 0;var n=!0}catch(e){}var o=s.call(e);return n&&(t?e[i]=a:delete e[i]),o}},"./node_modules/lodash/_getSymbols.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayFilter.js"),o=a("./node_modules/lodash/stubArray.js"),r=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,i=s?function(e){return null==e?[]:(e=Object(e),n(s(e),function(t){return r.call(e,t)}))}:o;e.exports=i},"./node_modules/lodash/_getSymbolsIn.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayPush.js"),o=a("./node_modules/lodash/_getPrototype.js"),r=a("./node_modules/lodash/_getSymbols.js"),s=a("./node_modules/lodash/stubArray.js"),i=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,r(e)),e=o(e);return t}:s;e.exports=i},"./node_modules/lodash/_getTag.js":function(e,t,a){var n=a("./node_modules/lodash/_DataView.js"),o=a("./node_modules/lodash/_Map.js"),r=a("./node_modules/lodash/_Promise.js"),s=a("./node_modules/lodash/_Set.js"),i=a("./node_modules/lodash/_WeakMap.js"),l=a("./node_modules/lodash/_baseGetTag.js"),c=a("./node_modules/lodash/_toSource.js"),d=c(n),u=c(o),p=c(r),m=c(s),f=c(i),h=l;(n&&"[object DataView]"!=h(new n(new ArrayBuffer(1)))||o&&"[object Map]"!=h(new o)||r&&"[object Promise]"!=h(r.resolve())||s&&"[object Set]"!=h(new s)||i&&"[object WeakMap]"!=h(new i))&&(h=function(e){var t=l(e),a="[object Object]"==t?e.constructor:void 0,n=a?c(a):"";if(n)switch(n){case d:return"[object DataView]";case u:return"[object Map]";case p:return"[object Promise]";case m:return"[object Set]";case f:return"[object WeakMap]"}return t}),e.exports=h},"./node_modules/lodash/_getValue.js":function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},"./node_modules/lodash/_getWrapDetails.js":function(e,t){var a=/\{\n\/\* \[wrapped with (.+)\] \*/,n=/,? & /;e.exports=function(e){var t=e.match(a);return t?t[1].split(n):[]}},"./node_modules/lodash/_hasPath.js":function(e,t,a){var n=a("./node_modules/lodash/_castPath.js"),o=a("./node_modules/lodash/isArguments.js"),r=a("./node_modules/lodash/isArray.js"),s=a("./node_modules/lodash/_isIndex.js"),i=a("./node_modules/lodash/isLength.js"),l=a("./node_modules/lodash/_toKey.js");e.exports=function(e,t,a){for(var c=-1,d=(t=n(t,e)).length,u=!1;++c<d;){var p=l(t[c]);if(!(u=null!=e&&a(e,p)))break;e=e[p]}return u||++c!=d?u:!!(d=null==e?0:e.length)&&i(d)&&s(p,d)&&(r(e)||o(e))}},"./node_modules/lodash/_hashClear.js":function(e,t,a){var n=a("./node_modules/lodash/_nativeCreate.js");e.exports=function(){this.__data__=n?n(null):{},this.size=0}},"./node_modules/lodash/_hashDelete.js":function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},"./node_modules/lodash/_hashGet.js":function(e,t,a){var n=a("./node_modules/lodash/_nativeCreate.js"),o="__lodash_hash_undefined__",r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var a=t[e];return a===o?void 0:a}return r.call(t,e)?t[e]:void 0}},"./node_modules/lodash/_hashHas.js":function(e,t,a){var n=a("./node_modules/lodash/_nativeCreate.js"),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},"./node_modules/lodash/_hashSet.js":function(e,t,a){var n=a("./node_modules/lodash/_nativeCreate.js"),o="__lodash_hash_undefined__";e.exports=function(e,t){var a=this.__data__;return this.size+=this.has(e)?0:1,a[e]=n&&void 0===t?o:t,this}},"./node_modules/lodash/_initCloneArray.js":function(e,t){var a=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&a.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},"./node_modules/lodash/_initCloneByTag.js":function(e,t,a){var n=a("./node_modules/lodash/_cloneArrayBuffer.js"),o=a("./node_modules/lodash/_cloneDataView.js"),r=a("./node_modules/lodash/_cloneRegExp.js"),s=a("./node_modules/lodash/_cloneSymbol.js"),i=a("./node_modules/lodash/_cloneTypedArray.js"),l="[object Boolean]",c="[object Date]",d="[object Map]",u="[object Number]",p="[object RegExp]",m="[object Set]",f="[object String]",h="[object Symbol]",v="[object ArrayBuffer]",g="[object DataView]",b="[object Float32Array]",y="[object Float64Array]",_="[object Int8Array]",j="[object Int16Array]",A="[object Int32Array]",S="[object Uint8Array]",C="[object Uint8ClampedArray]",I="[object Uint16Array]",x="[object Uint32Array]";e.exports=function(e,t,a){var E=e.constructor;switch(t){case v:return n(e);case l:case c:return new E(+e);case g:return o(e,a);case b:case y:case _:case j:case A:case S:case C:case I:case x:return i(e,a);case d:return new E;case u:case f:return new E(e);case p:return r(e);case m:return new E;case h:return s(e)}}},"./node_modules/lodash/_initCloneObject.js":function(e,t,a){var n=a("./node_modules/lodash/_baseCreate.js"),o=a("./node_modules/lodash/_getPrototype.js"),r=a("./node_modules/lodash/_isPrototype.js");e.exports=function(e){return"function"!=typeof e.constructor||r(e)?{}:n(o(e))}},"./node_modules/lodash/_insertWrapDetails.js":function(e,t){var a=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;e.exports=function(e,t){var n=t.length;if(!n)return e;var o=n-1;return t[o]=(n>1?"& ":"")+t[o],t=t.join(n>2?", ":" "),e.replace(a,"{\n/* [wrapped with "+t+"] */\n")}},"./node_modules/lodash/_isFlattenable.js":function(e,t,a){var n=a("./node_modules/lodash/_Symbol.js"),o=a("./node_modules/lodash/isArguments.js"),r=a("./node_modules/lodash/isArray.js"),s=n?n.isConcatSpreadable:void 0;e.exports=function(e){return r(e)||o(e)||!!(s&&e&&e[s])}},"./node_modules/lodash/_isIndex.js":function(e,t){var a=9007199254740991,n=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var o=typeof e;return!!(t=null==t?a:t)&&("number"==o||"symbol"!=o&&n.test(e))&&e>-1&&e%1==0&&e<t}},"./node_modules/lodash/_isIterateeCall.js":function(e,t,a){var n=a("./node_modules/lodash/eq.js"),o=a("./node_modules/lodash/isArrayLike.js"),r=a("./node_modules/lodash/_isIndex.js"),s=a("./node_modules/lodash/isObject.js");e.exports=function(e,t,a){if(!s(a))return!1;var i=typeof t;return!!("number"==i?o(a)&&r(t,a.length):"string"==i&&t in a)&&n(a[t],e)}},"./node_modules/lodash/_isKey.js":function(e,t,a){var n=a("./node_modules/lodash/isArray.js"),o=a("./node_modules/lodash/isSymbol.js"),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var a=typeof e;return!("number"!=a&&"symbol"!=a&&"boolean"!=a&&null!=e&&!o(e))||s.test(e)||!r.test(e)||null!=t&&e in Object(t)}},"./node_modules/lodash/_isKeyable.js":function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},"./node_modules/lodash/_isLaziable.js":function(e,t,a){var n=a("./node_modules/lodash/_LazyWrapper.js"),o=a("./node_modules/lodash/_getData.js"),r=a("./node_modules/lodash/_getFuncName.js"),s=a("./node_modules/lodash/wrapperLodash.js");e.exports=function(e){var t=r(e),a=s[t];if("function"!=typeof a||!(t in n.prototype))return!1;if(e===a)return!0;var i=o(a);return!!i&&e===i[0]}},"./node_modules/lodash/_isMasked.js":function(e,t,a){var n,o=a("./node_modules/lodash/_coreJsData.js"),r=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!r&&r in e}},"./node_modules/lodash/_isPrototype.js":function(e,t){var a=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||a)}},"./node_modules/lodash/_isStrictComparable.js":function(e,t,a){var n=a("./node_modules/lodash/isObject.js");e.exports=function(e){return e==e&&!n(e)}},"./node_modules/lodash/_listCacheClear.js":function(e,t){e.exports=function(){this.__data__=[],this.size=0}},"./node_modules/lodash/_listCacheDelete.js":function(e,t,a){var n=a("./node_modules/lodash/_assocIndexOf.js"),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,a=n(t,e);return!(a<0||(a==t.length-1?t.pop():o.call(t,a,1),--this.size,0))}},"./node_modules/lodash/_listCacheGet.js":function(e,t,a){var n=a("./node_modules/lodash/_assocIndexOf.js");e.exports=function(e){var t=this.__data__,a=n(t,e);return a<0?void 0:t[a][1]}},"./node_modules/lodash/_listCacheHas.js":function(e,t,a){var n=a("./node_modules/lodash/_assocIndexOf.js");e.exports=function(e){return n(this.__data__,e)>-1}},"./node_modules/lodash/_listCacheSet.js":function(e,t,a){var n=a("./node_modules/lodash/_assocIndexOf.js");e.exports=function(e,t){var a=this.__data__,o=n(a,e);return o<0?(++this.size,a.push([e,t])):a[o][1]=t,this}},"./node_modules/lodash/_mapCacheClear.js":function(e,t,a){var n=a("./node_modules/lodash/_Hash.js"),o=a("./node_modules/lodash/_ListCache.js"),r=a("./node_modules/lodash/_Map.js");e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(r||o),string:new n}}},"./node_modules/lodash/_mapCacheDelete.js":function(e,t,a){var n=a("./node_modules/lodash/_getMapData.js");e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},"./node_modules/lodash/_mapCacheGet.js":function(e,t,a){var n=a("./node_modules/lodash/_getMapData.js");e.exports=function(e){return n(this,e).get(e)}},"./node_modules/lodash/_mapCacheHas.js":function(e,t,a){var n=a("./node_modules/lodash/_getMapData.js");e.exports=function(e){return n(this,e).has(e)}},"./node_modules/lodash/_mapCacheSet.js":function(e,t,a){var n=a("./node_modules/lodash/_getMapData.js");e.exports=function(e,t){var a=n(this,e),o=a.size;return a.set(e,t),this.size+=a.size==o?0:1,this}},"./node_modules/lodash/_mapToArray.js":function(e,t){e.exports=function(e){var t=-1,a=Array(e.size);return e.forEach(function(e,n){a[++t]=[n,e]}),a}},"./node_modules/lodash/_matchesStrictComparable.js":function(e,t){e.exports=function(e,t){return function(a){return null!=a&&a[e]===t&&(void 0!==t||e in Object(a))}}},"./node_modules/lodash/_memoizeCapped.js":function(e,t,a){var n=a("./node_modules/lodash/memoize.js"),o=500;e.exports=function(e){var t=n(e,function(e){return a.size===o&&a.clear(),e}),a=t.cache;return t}},"./node_modules/lodash/_mergeData.js":function(e,t,a){var n=a("./node_modules/lodash/_composeArgs.js"),o=a("./node_modules/lodash/_composeArgsRight.js"),r=a("./node_modules/lodash/_replaceHolders.js"),s="__lodash_placeholder__",i=1,l=2,c=4,d=8,u=128,p=256,m=Math.min;e.exports=function(e,t){var a=e[1],f=t[1],h=a|f,v=h<(i|l|u),g=f==u&&a==d||f==u&&a==p&&e[7].length<=t[8]||f==(u|p)&&t[7].length<=t[8]&&a==d;if(!v&&!g)return e;f&i&&(e[2]=t[2],h|=a&i?0:c);var b=t[3];if(b){var y=e[3];e[3]=y?n(y,b,t[4]):b,e[4]=y?r(e[3],s):t[4]}return(b=t[5])&&(y=e[5],e[5]=y?o(y,b,t[6]):b,e[6]=y?r(e[5],s):t[6]),(b=t[7])&&(e[7]=b),f&u&&(e[8]=null==e[8]?t[8]:m(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=h,e}},"./node_modules/lodash/_metaMap.js":function(e,t,a){var n=a("./node_modules/lodash/_WeakMap.js"),o=n&&new n;e.exports=o},"./node_modules/lodash/_nativeCreate.js":function(e,t,a){var n=a("./node_modules/lodash/_getNative.js")(Object,"create");e.exports=n},"./node_modules/lodash/_nativeKeys.js":function(e,t,a){var n=a("./node_modules/lodash/_overArg.js")(Object.keys,Object);e.exports=n},"./node_modules/lodash/_nativeKeysIn.js":function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var a in Object(e))t.push(a);return t}},"./node_modules/lodash/_nodeUtil.js":function(e,t,a){(function(e){var n=a("./node_modules/lodash/_freeGlobal.js"),o="object"==typeof t&&t&&!t.nodeType&&t,r=o&&"object"==typeof e&&e&&!e.nodeType&&e,s=r&&r.exports===o&&n.process,i=function(){try{var e=r&&r.require&&r.require("util").types;return e||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=i}).call(t,a("./node_modules/webpack/buildin/module.js")(e))},"./node_modules/lodash/_objectToString.js":function(e,t){var a=Object.prototype.toString;e.exports=function(e){return a.call(e)}},"./node_modules/lodash/_overArg.js":function(e,t){e.exports=function(e,t){return function(a){return e(t(a))}}},"./node_modules/lodash/_overRest.js":function(e,t,a){var n=a("./node_modules/lodash/_apply.js"),o=Math.max;e.exports=function(e,t,a){return t=o(void 0===t?e.length-1:t,0),function(){for(var r=arguments,s=-1,i=o(r.length-t,0),l=Array(i);++s<i;)l[s]=r[t+s];s=-1;for(var c=Array(t+1);++s<t;)c[s]=r[s];return c[t]=a(l),n(e,this,c)}}},"./node_modules/lodash/_parent.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGet.js"),o=a("./node_modules/lodash/_baseSlice.js");e.exports=function(e,t){return t.length<2?e:n(e,o(t,0,-1))}},"./node_modules/lodash/_realNames.js":function(e,t){e.exports={}},"./node_modules/lodash/_reorder.js":function(e,t,a){var n=a("./node_modules/lodash/_copyArray.js"),o=a("./node_modules/lodash/_isIndex.js"),r=Math.min;e.exports=function(e,t){for(var a=e.length,s=r(t.length,a),i=n(e);s--;){var l=t[s];e[s]=o(l,a)?i[l]:void 0}return e}},"./node_modules/lodash/_replaceHolders.js":function(e,t){var a="__lodash_placeholder__";e.exports=function(e,t){for(var n=-1,o=e.length,r=0,s=[];++n<o;){var i=e[n];i!==t&&i!==a||(e[n]=a,s[r++]=n)}return s}},"./node_modules/lodash/_root.js":function(e,t,a){var n=a("./node_modules/lodash/_freeGlobal.js"),o="object"==typeof self&&self&&self.Object===Object&&self,r=n||o||Function("return this")();e.exports=r},"./node_modules/lodash/_setCacheAdd.js":function(e,t){var a="__lodash_hash_undefined__";e.exports=function(e){return this.__data__.set(e,a),this}},"./node_modules/lodash/_setCacheHas.js":function(e,t){e.exports=function(e){return this.__data__.has(e)}},"./node_modules/lodash/_setData.js":function(e,t,a){var n=a("./node_modules/lodash/_baseSetData.js"),o=a("./node_modules/lodash/_shortOut.js")(n);e.exports=o},"./node_modules/lodash/_setToArray.js":function(e,t){e.exports=function(e){var t=-1,a=Array(e.size);return e.forEach(function(e){a[++t]=e}),a}},"./node_modules/lodash/_setToString.js":function(e,t,a){var n=a("./node_modules/lodash/_baseSetToString.js"),o=a("./node_modules/lodash/_shortOut.js")(n);e.exports=o},"./node_modules/lodash/_setWrapToString.js":function(e,t,a){var n=a("./node_modules/lodash/_getWrapDetails.js"),o=a("./node_modules/lodash/_insertWrapDetails.js"),r=a("./node_modules/lodash/_setToString.js"),s=a("./node_modules/lodash/_updateWrapDetails.js");e.exports=function(e,t,a){var i=t+"";return r(e,o(i,s(n(i),a)))}},"./node_modules/lodash/_shortOut.js":function(e,t){var a=800,n=16,o=Date.now;e.exports=function(e){var t=0,r=0;return function(){var s=o(),i=n-(s-r);if(r=s,i>0){if(++t>=a)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},"./node_modules/lodash/_stackClear.js":function(e,t,a){var n=a("./node_modules/lodash/_ListCache.js");e.exports=function(){this.__data__=new n,this.size=0}},"./node_modules/lodash/_stackDelete.js":function(e,t){e.exports=function(e){var t=this.__data__,a=t.delete(e);return this.size=t.size,a}},"./node_modules/lodash/_stackGet.js":function(e,t){e.exports=function(e){return this.__data__.get(e)}},"./node_modules/lodash/_stackHas.js":function(e,t){e.exports=function(e){return this.__data__.has(e)}},"./node_modules/lodash/_stackSet.js":function(e,t,a){var n=a("./node_modules/lodash/_ListCache.js"),o=a("./node_modules/lodash/_Map.js"),r=a("./node_modules/lodash/_MapCache.js"),s=200;e.exports=function(e,t){var a=this.__data__;if(a instanceof n){var i=a.__data__;if(!o||i.length<s-1)return i.push([e,t]),this.size=++a.size,this;a=this.__data__=new r(i)}return a.set(e,t),this.size=a.size,this}},"./node_modules/lodash/_strictIndexOf.js":function(e,t){e.exports=function(e,t,a){for(var n=a-1,o=e.length;++n<o;)if(e[n]===t)return n;return-1}},"./node_modules/lodash/_stringToPath.js":function(e,t,a){var n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,r=a("./node_modules/lodash/_memoizeCapped.js")(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(n,function(e,a,n,r){t.push(n?r.replace(o,"$1"):a||e)}),t});e.exports=r},"./node_modules/lodash/_toKey.js":function(e,t,a){var n=a("./node_modules/lodash/isSymbol.js"),o=1/0;e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}},"./node_modules/lodash/_toSource.js":function(e,t){var a=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return a.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},"./node_modules/lodash/_unescapeHtmlChar.js":function(e,t,a){var n=a("./node_modules/lodash/_basePropertyOf.js")({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"});e.exports=n},"./node_modules/lodash/_updateWrapDetails.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayEach.js"),o=a("./node_modules/lodash/_arrayIncludes.js"),r=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]];e.exports=function(e,t){return n(r,function(a){var n="_."+a[0];t&a[1]&&!o(e,n)&&e.push(n)}),e.sort()}},"./node_modules/lodash/_wrapperClone.js":function(e,t,a){var n=a("./node_modules/lodash/_LazyWrapper.js"),o=a("./node_modules/lodash/_LodashWrapper.js"),r=a("./node_modules/lodash/_copyArray.js");e.exports=function(e){if(e instanceof n)return e.clone();var t=new o(e.__wrapped__,e.__chain__);return t.__actions__=r(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}},"./node_modules/lodash/ary.js":function(e,t,a){var n=a("./node_modules/lodash/_createWrap.js"),o=128;e.exports=function(e,t,a){return t=a?void 0:t,t=e&&null==t?e.length:t,n(e,o,void 0,void 0,void 0,void 0,t)}},"./node_modules/lodash/assignIn.js":function(e,t,a){var n=a("./node_modules/lodash/_copyObject.js"),o=a("./node_modules/lodash/_createAssigner.js"),r=a("./node_modules/lodash/keysIn.js"),s=o(function(e,t){n(t,r(t),e)});e.exports=s},"./node_modules/lodash/clone.js":function(e,t,a){var n=a("./node_modules/lodash/_baseClone.js"),o=4;e.exports=function(e){return n(e,o)}},"./node_modules/lodash/constant.js":function(e,t){e.exports=function(e){return function(){return e}}},"./node_modules/lodash/curry.js":function(e,t,a){var n=a("./node_modules/lodash/_createWrap.js"),o=8;function r(e,t,a){var s=n(e,o,void 0,void 0,void 0,void 0,void 0,t=a?void 0:t);return s.placeholder=r.placeholder,s}r.placeholder={},e.exports=r},"./node_modules/lodash/debounce.js":function(e,t,a){var n=a("./node_modules/lodash/isObject.js"),o=a("./node_modules/lodash/now.js"),r=a("./node_modules/lodash/toNumber.js"),s="Expected a function",i=Math.max,l=Math.min;e.exports=function(e,t,a){var c,d,u,p,m,f,h=0,v=!1,g=!1,b=!0;if("function"!=typeof e)throw new TypeError(s);function y(t){var a=c,n=d;return c=d=void 0,h=t,p=e.apply(n,a)}function _(e){var a=e-f;return void 0===f||a>=t||a<0||g&&e-h>=u}function j(){var e=o();if(_(e))return A(e);m=setTimeout(j,function(e){var a=t-(e-f);return g?l(a,u-(e-h)):a}(e))}function A(e){return m=void 0,b&&c?y(e):(c=d=void 0,p)}function S(){var e=o(),a=_(e);if(c=arguments,d=this,f=e,a){if(void 0===m)return function(e){return h=e,m=setTimeout(j,t),v?y(e):p}(f);if(g)return m=setTimeout(j,t),y(f)}return void 0===m&&(m=setTimeout(j,t)),p}return t=r(t)||0,n(a)&&(v=!!a.leading,u=(g="maxWait"in a)?i(r(a.maxWait)||0,t):u,b="trailing"in a?!!a.trailing:b),S.cancel=function(){void 0!==m&&clearTimeout(m),h=0,c=f=d=m=void 0},S.flush=function(){return void 0===m?p:A(o())},S}},"./node_modules/lodash/defaults.js":function(e,t,a){var n=a("./node_modules/lodash/_baseRest.js"),o=a("./node_modules/lodash/eq.js"),r=a("./node_modules/lodash/_isIterateeCall.js"),s=a("./node_modules/lodash/keysIn.js"),i=Object.prototype,l=i.hasOwnProperty,c=n(function(e,t){e=Object(e);var a=-1,n=t.length,c=n>2?t[2]:void 0;for(c&&r(t[0],t[1],c)&&(n=1);++a<n;)for(var d=t[a],u=s(d),p=-1,m=u.length;++p<m;){var f=u[p],h=e[f];(void 0===h||o(h,i[f])&&!l.call(e,f))&&(e[f]=d[f])}return e});e.exports=c},"./node_modules/lodash/defer.js":function(e,t,a){var n=a("./node_modules/lodash/_baseDelay.js"),o=a("./node_modules/lodash/_baseRest.js")(function(e,t){return n(e,1,t)});e.exports=o},"./node_modules/lodash/delay.js":function(e,t,a){var n=a("./node_modules/lodash/_baseDelay.js"),o=a("./node_modules/lodash/_baseRest.js"),r=a("./node_modules/lodash/toNumber.js"),s=o(function(e,t,a){return n(e,r(t)||0,a)});e.exports=s},"./node_modules/lodash/difference.js":function(e,t,a){var n=a("./node_modules/lodash/_baseDifference.js"),o=a("./node_modules/lodash/_baseFlatten.js"),r=a("./node_modules/lodash/_baseRest.js"),s=a("./node_modules/lodash/isArrayLikeObject.js"),i=r(function(e,t){return s(e)?n(e,o(t,1,s,!0)):[]});e.exports=i},"./node_modules/lodash/each.js":function(e,t,a){e.exports=a("./node_modules/lodash/forEach.js")},"./node_modules/lodash/eq.js":function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},"./node_modules/lodash/escape.js":function(e,t,a){var n=a("./node_modules/lodash/_escapeHtmlChar.js"),o=a("./node_modules/lodash/toString.js"),r=/[&<>"']/g,s=RegExp(r.source);e.exports=function(e){return(e=o(e))&&s.test(e)?e.replace(r,n):e}},"./node_modules/lodash/every.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayEvery.js"),o=a("./node_modules/lodash/_baseEvery.js"),r=a("./node_modules/lodash/_baseIteratee.js"),s=a("./node_modules/lodash/isArray.js"),i=a("./node_modules/lodash/_isIterateeCall.js");e.exports=function(e,t,a){var l=s(e)?n:o;return a&&i(e,t,a)&&(t=void 0),l(e,r(t,3))}},"./node_modules/lodash/extend.js":function(e,t,a){e.exports=a("./node_modules/lodash/assignIn.js")},"./node_modules/lodash/filter.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayFilter.js"),o=a("./node_modules/lodash/_baseFilter.js"),r=a("./node_modules/lodash/_baseIteratee.js"),s=a("./node_modules/lodash/isArray.js");e.exports=function(e,t){return(s(e)?n:o)(e,r(t,3))}},"./node_modules/lodash/find.js":function(e,t,a){var n=a("./node_modules/lodash/_createFind.js")(a("./node_modules/lodash/findIndex.js"));e.exports=n},"./node_modules/lodash/findIndex.js":function(e,t,a){var n=a("./node_modules/lodash/_baseFindIndex.js"),o=a("./node_modules/lodash/_baseIteratee.js"),r=a("./node_modules/lodash/toInteger.js"),s=Math.max;e.exports=function(e,t,a){var i=null==e?0:e.length;if(!i)return-1;var l=null==a?0:r(a);return l<0&&(l=s(i+l,0)),n(e,o(t,3),l)}},"./node_modules/lodash/first.js":function(e,t,a){e.exports=a("./node_modules/lodash/head.js")},"./node_modules/lodash/flatten.js":function(e,t,a){var n=a("./node_modules/lodash/_baseFlatten.js");e.exports=function(e){return null!=e&&e.length?n(e,1):[]}},"./node_modules/lodash/flow.js":function(e,t,a){var n=a("./node_modules/lodash/_createFlow.js")();e.exports=n},"./node_modules/lodash/flowRight.js":function(e,t,a){var n=a("./node_modules/lodash/_createFlow.js")(!0);e.exports=n},"./node_modules/lodash/forEach.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayEach.js"),o=a("./node_modules/lodash/_baseEach.js"),r=a("./node_modules/lodash/_castFunction.js"),s=a("./node_modules/lodash/isArray.js");e.exports=function(e,t){return(s(e)?n:o)(e,r(t))}},"./node_modules/lodash/fp/_baseConvert.js":function(e,t,a){var n=a("./node_modules/lodash/fp/_mapping.js"),o=a("./node_modules/lodash/fp/placeholder.js"),r=Array.prototype.push;function s(e,t){return 2==t?function(t,a){return e(t,a)}:function(t){return e(t)}}function i(e){for(var t=e?e.length:0,a=Array(t);t--;)a[t]=e[t];return a}function l(e,t){return function(){var a=arguments.length;if(a){for(var n=Array(a);a--;)n[a]=arguments[a];var o=n[0]=t.apply(void 0,n);return e.apply(void 0,n),o}}}e.exports=function e(t,a,c,d){var u,p="function"==typeof a,m=a===Object(a);if(m&&(d=c,c=a,a=void 0),null==c)throw new TypeError;d||(d={});var f={cap:!("cap"in d)||d.cap,curry:!("curry"in d)||d.curry,fixed:!("fixed"in d)||d.fixed,immutable:!("immutable"in d)||d.immutable,rearg:!("rearg"in d)||d.rearg},h="curry"in d&&d.curry,v="fixed"in d&&d.fixed,g="rearg"in d&&d.rearg,b=p?c:o,y=p?c.runInContext():void 0,_=p?c:{ary:t.ary,assign:t.assign,clone:t.clone,curry:t.curry,forEach:t.forEach,isArray:t.isArray,isError:t.isError,isFunction:t.isFunction,isWeakMap:t.isWeakMap,iteratee:t.iteratee,keys:t.keys,rearg:t.rearg,toInteger:t.toInteger,toPath:t.toPath},j=_.ary,A=_.assign,S=_.clone,C=_.curry,I=_.forEach,x=_.isArray,E=_.isError,w=_.isFunction,T=_.isWeakMap,M=_.keys,D=_.rearg,k=_.toInteger,L=_.toPath,P=M(n.aryMethod),O={castArray:function(e){return function(){var t=arguments[0];return x(t)?e(i(t)):e.apply(void 0,arguments)}},iteratee:function(e){return function(){var t=arguments[0],a=arguments[1],n=e(t,a),o=n.length;return f.cap&&"number"==typeof a?(a=a>2?a-2:1,o&&o<=a?n:s(n,a)):n}},mixin:function(e){return function(t){var a=this;if(!w(a))return e(a,Object(t));var n=[];return I(M(t),function(e){w(t[e])&&n.push([e,a.prototype[e]])}),e(a,Object(t)),I(n,function(e){var t=e[1];w(t)?a.prototype[e[0]]=t:delete a.prototype[e[0]]}),a}},nthArg:function(e){return function(t){var a=t<0?1:k(t)+1;return C(e(t),a)}},rearg:function(e){return function(t,a){var n=a?a.length:0;return C(e(t,a),n)}},runInContext:function(a){return function(n){return e(t,a(n),d)}}};function N(e,t){if(f.cap){var a=n.iterateeRearg[e];if(a)return function(e,t){return U(e,function(e){var a=t.length;return function(e,t){return 2==t?function(t,a){return e.apply(void 0,arguments)}:function(t){return e.apply(void 0,arguments)}}(D(s(e,a),t),a)})}(t,a);var o=!p&&n.iterateeAry[e];if(o)return function(e,t){return U(e,function(e){return"function"==typeof e?s(e,t):e})}(t,o)}return t}function R(e,t,a){if(f.fixed&&(v||!n.skipFixed[e])){var o=n.methodSpread[e],s=o&&o.start;return void 0===s?j(t,a):function(e,t){return function(){for(var a=arguments.length,n=a-1,o=Array(a);a--;)o[a]=arguments[a];var s=o[t],i=o.slice(0,t);return s&&r.apply(i,s),t!=n&&r.apply(i,o.slice(t+1)),e.apply(this,i)}}(t,s)}return t}function $(e,t,a){return f.rearg&&a>1&&(g||!n.skipRearg[e])?D(t,n.methodRearg[e]||n.aryRearg[a]):t}function F(e,t){for(var a=-1,n=(t=L(t)).length,o=n-1,r=S(Object(e)),s=r;null!=s&&++a<n;){var i=t[a],l=s[i];null==l||w(l)||E(l)||T(l)||(s[i]=S(a==o?l:Object(l))),s=s[i]}return r}function B(t,a){var o=n.aliasToReal[t]||t,r=n.remap[o]||o,s=d;return function(t){var n=p?y:_,i=p?y[r]:a,l=A(A({},s),t);return e(n,o,i,l)}}function U(e,t){return function(){var a=arguments.length;if(!a)return e();for(var n=Array(a);a--;)n[a]=arguments[a];var o=f.rearg?0:a-1;return n[o]=t(n[o]),e.apply(void 0,n)}}function z(e,t){var a,o=n.aliasToReal[e]||e,r=t,s=O[o];return s?r=s(t):f.immutable&&(n.mutate.array[o]?r=l(t,i):n.mutate.object[o]?r=l(t,function(e){return function(t){return e({},t)}}(t)):n.mutate.set[o]&&(r=l(t,F))),I(P,function(e){return I(n.aryMethod[e],function(t){if(o==t){var s=n.methodSpread[o],i=s&&s.afterRearg;return a=i?R(o,$(o,r,e),e):$(o,R(o,r,e),e),a=N(o,a),l=a,c=e,a=h||f.curry&&c>1?C(l,c):l,!1}var l,c}),!a}),a||(a=r),a==t&&(a=h?C(a,1):function(){return t.apply(this,arguments)}),a.convert=B(o,t),n.placeholder[o]&&(u=!0,a.placeholder=t.placeholder=b),a}if(!m)return z(a,c);var q=c,V=[];return I(P,function(e){I(n.aryMethod[e],function(e){var t=q[n.remap[e]||e];t&&V.push([e,z(e,t)])})}),I(M(q),function(e){var t=q[e];if("function"==typeof t){for(var a=V.length;a--;)if(V[a][0]==e)return;t.convert=B(e,t),V.push([e,t])}}),I(V,function(e){q[e[0]]=e[1]}),q.convert=function(e){return q.runInContext.convert(e)(void 0)},u&&(q.placeholder=b),I(M(q),function(e){I(n.realToAlias[e]||[],function(t){q[t]=q[e]})}),q}},"./node_modules/lodash/fp/_falseOptions.js":function(e,t){e.exports={cap:!1,curry:!1,fixed:!1,immutable:!1,rearg:!1}},"./node_modules/lodash/fp/_mapping.js":function(e,t){t.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},t.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},t.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},t.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},t.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},t.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},t.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},t.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},t.placeholder={bind:!0,bindKey:!0,curry:!0,curryRight:!0,partial:!0,partialRight:!0},t.realToAlias=function(){var e=Object.prototype.hasOwnProperty,a=t.aliasToReal,n={};for(var o in a){var r=a[o];e.call(n,r)?n[r].push(o):n[r]=[o]}return n}(),t.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},t.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},t.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},"./node_modules/lodash/fp/_util.js":function(e,t,a){e.exports={ary:a("./node_modules/lodash/ary.js"),assign:a("./node_modules/lodash/_baseAssign.js"),clone:a("./node_modules/lodash/clone.js"),curry:a("./node_modules/lodash/curry.js"),forEach:a("./node_modules/lodash/_arrayEach.js"),isArray:a("./node_modules/lodash/isArray.js"),isError:a("./node_modules/lodash/isError.js"),isFunction:a("./node_modules/lodash/isFunction.js"),isWeakMap:a("./node_modules/lodash/isWeakMap.js"),iteratee:a("./node_modules/lodash/iteratee.js"),keys:a("./node_modules/lodash/_baseKeys.js"),rearg:a("./node_modules/lodash/rearg.js"),toInteger:a("./node_modules/lodash/toInteger.js"),toPath:a("./node_modules/lodash/toPath.js")}},"./node_modules/lodash/fp/convert.js":function(e,t,a){var n=a("./node_modules/lodash/fp/_baseConvert.js"),o=a("./node_modules/lodash/fp/_util.js");e.exports=function(e,t,a){return n(o,e,t,a)}},"./node_modules/lodash/fp/each.js":function(e,t,a){e.exports=a("./node_modules/lodash/fp/forEach.js")},"./node_modules/lodash/fp/filter.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("filter",a("./node_modules/lodash/filter.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/fp/flow.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("flow",a("./node_modules/lodash/flow.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/fp/forEach.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("forEach",a("./node_modules/lodash/forEach.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/fp/head.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("head",a("./node_modules/lodash/head.js"),a("./node_modules/lodash/fp/_falseOptions.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/fp/last.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("last",a("./node_modules/lodash/last.js"),a("./node_modules/lodash/fp/_falseOptions.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/fp/map.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("map",a("./node_modules/lodash/map.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/fp/placeholder.js":function(e,t){e.exports={}},"./node_modules/lodash/fp/reduce.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("reduce",a("./node_modules/lodash/reduce.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/fp/sortBy.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("sortBy",a("./node_modules/lodash/sortBy.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/fp/take.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("take",a("./node_modules/lodash/take.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/fp/uniq.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("uniq",a("./node_modules/lodash/uniq.js"),a("./node_modules/lodash/fp/_falseOptions.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/fp/values.js":function(e,t,a){var n=a("./node_modules/lodash/fp/convert.js")("values",a("./node_modules/lodash/values.js"),a("./node_modules/lodash/fp/_falseOptions.js"));n.placeholder=a("./node_modules/lodash/fp/placeholder.js"),e.exports=n},"./node_modules/lodash/get.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGet.js");e.exports=function(e,t,a){var o=null==e?void 0:n(e,t);return void 0===o?a:o}},"./node_modules/lodash/has.js":function(e,t,a){var n=a("./node_modules/lodash/_baseHas.js"),o=a("./node_modules/lodash/_hasPath.js");e.exports=function(e,t){return null!=e&&o(e,t,n)}},"./node_modules/lodash/hasIn.js":function(e,t,a){var n=a("./node_modules/lodash/_baseHasIn.js"),o=a("./node_modules/lodash/_hasPath.js");e.exports=function(e,t){return null!=e&&o(e,t,n)}},"./node_modules/lodash/head.js":function(e,t){e.exports=function(e){return e&&e.length?e[0]:void 0}},"./node_modules/lodash/identity.js":function(e,t){e.exports=function(e){return e}},"./node_modules/lodash/includes.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIndexOf.js"),o=a("./node_modules/lodash/isArrayLike.js"),r=a("./node_modules/lodash/isString.js"),s=a("./node_modules/lodash/toInteger.js"),i=a("./node_modules/lodash/values.js"),l=Math.max;e.exports=function(e,t,a,c){e=o(e)?e:i(e),a=a&&!c?s(a):0;var d=e.length;return a<0&&(a=l(d+a,0)),r(e)?a<=d&&e.indexOf(t,a)>-1:!!d&&n(e,t,a)>-1}},"./node_modules/lodash/isArguments.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIsArguments.js"),o=a("./node_modules/lodash/isObjectLike.js"),r=Object.prototype,s=r.hasOwnProperty,i=r.propertyIsEnumerable,l=n(function(){return arguments}())?n:function(e){return o(e)&&s.call(e,"callee")&&!i.call(e,"callee")};e.exports=l},"./node_modules/lodash/isArray.js":function(e,t){var a=Array.isArray;e.exports=a},"./node_modules/lodash/isArrayLike.js":function(e,t,a){var n=a("./node_modules/lodash/isFunction.js"),o=a("./node_modules/lodash/isLength.js");e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},"./node_modules/lodash/isArrayLikeObject.js":function(e,t,a){var n=a("./node_modules/lodash/isArrayLike.js"),o=a("./node_modules/lodash/isObjectLike.js");e.exports=function(e){return o(e)&&n(e)}},"./node_modules/lodash/isBuffer.js":function(e,t,a){(function(e){var n=a("./node_modules/lodash/_root.js"),o=a("./node_modules/lodash/stubFalse.js"),r="object"==typeof t&&t&&!t.nodeType&&t,s=r&&"object"==typeof e&&e&&!e.nodeType&&e,i=s&&s.exports===r?n.Buffer:void 0,l=(i?i.isBuffer:void 0)||o;e.exports=l}).call(t,a("./node_modules/webpack/buildin/module.js")(e))},"./node_modules/lodash/isError.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGetTag.js"),o=a("./node_modules/lodash/isObjectLike.js"),r=a("./node_modules/lodash/isPlainObject.js"),s="[object DOMException]",i="[object Error]";e.exports=function(e){if(!o(e))return!1;var t=n(e);return t==i||t==s||"string"==typeof e.message&&"string"==typeof e.name&&!r(e)}},"./node_modules/lodash/isFunction.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGetTag.js"),o=a("./node_modules/lodash/isObject.js"),r="[object AsyncFunction]",s="[object Function]",i="[object GeneratorFunction]",l="[object Proxy]";e.exports=function(e){if(!o(e))return!1;var t=n(e);return t==s||t==i||t==r||t==l}},"./node_modules/lodash/isLength.js":function(e,t){var a=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=a}},"./node_modules/lodash/isMap.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIsMap.js"),o=a("./node_modules/lodash/_baseUnary.js"),r=a("./node_modules/lodash/_nodeUtil.js"),s=r&&r.isMap,i=s?o(s):n;e.exports=i},"./node_modules/lodash/isObject.js":function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},"./node_modules/lodash/isObjectLike.js":function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},"./node_modules/lodash/isPlainObject.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGetTag.js"),o=a("./node_modules/lodash/_getPrototype.js"),r=a("./node_modules/lodash/isObjectLike.js"),s="[object Object]",i=Function.prototype,l=Object.prototype,c=i.toString,d=l.hasOwnProperty,u=c.call(Object);e.exports=function(e){if(!r(e)||n(e)!=s)return!1;var t=o(e);if(null===t)return!0;var a=d.call(t,"constructor")&&t.constructor;return"function"==typeof a&&a instanceof a&&c.call(a)==u}},"./node_modules/lodash/isSet.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIsSet.js"),o=a("./node_modules/lodash/_baseUnary.js"),r=a("./node_modules/lodash/_nodeUtil.js"),s=r&&r.isSet,i=s?o(s):n;e.exports=i},"./node_modules/lodash/isString.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGetTag.js"),o=a("./node_modules/lodash/isArray.js"),r=a("./node_modules/lodash/isObjectLike.js"),s="[object String]";e.exports=function(e){return"string"==typeof e||!o(e)&&r(e)&&n(e)==s}},"./node_modules/lodash/isSymbol.js":function(e,t,a){var n=a("./node_modules/lodash/_baseGetTag.js"),o=a("./node_modules/lodash/isObjectLike.js"),r="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&n(e)==r}},"./node_modules/lodash/isTypedArray.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIsTypedArray.js"),o=a("./node_modules/lodash/_baseUnary.js"),r=a("./node_modules/lodash/_nodeUtil.js"),s=r&&r.isTypedArray,i=s?o(s):n;e.exports=i},"./node_modules/lodash/isWeakMap.js":function(e,t,a){var n=a("./node_modules/lodash/_getTag.js"),o=a("./node_modules/lodash/isObjectLike.js"),r="[object WeakMap]";e.exports=function(e){return o(e)&&n(e)==r}},"./node_modules/lodash/iteratee.js":function(e,t,a){var n=a("./node_modules/lodash/_baseClone.js"),o=a("./node_modules/lodash/_baseIteratee.js"),r=1;e.exports=function(e){return o("function"==typeof e?e:n(e,r))}},"./node_modules/lodash/keys.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayLikeKeys.js"),o=a("./node_modules/lodash/_baseKeys.js"),r=a("./node_modules/lodash/isArrayLike.js");e.exports=function(e){return r(e)?n(e):o(e)}},"./node_modules/lodash/keysIn.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayLikeKeys.js"),o=a("./node_modules/lodash/_baseKeysIn.js"),r=a("./node_modules/lodash/isArrayLike.js");e.exports=function(e){return r(e)?n(e,!0):o(e)}},"./node_modules/lodash/last.js":function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},"./node_modules/lodash/map.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayMap.js"),o=a("./node_modules/lodash/_baseIteratee.js"),r=a("./node_modules/lodash/_baseMap.js"),s=a("./node_modules/lodash/isArray.js");e.exports=function(e,t){return(s(e)?n:r)(e,o(t,3))}},"./node_modules/lodash/mapValues.js":function(e,t,a){var n=a("./node_modules/lodash/_baseAssignValue.js"),o=a("./node_modules/lodash/_baseForOwn.js"),r=a("./node_modules/lodash/_baseIteratee.js");e.exports=function(e,t){var a={};return t=r(t,3),o(e,function(e,o,r){n(a,o,t(e,o,r))}),a}},"./node_modules/lodash/maxBy.js":function(e,t,a){var n=a("./node_modules/lodash/_baseExtremum.js"),o=a("./node_modules/lodash/_baseGt.js"),r=a("./node_modules/lodash/_baseIteratee.js");e.exports=function(e,t){return e&&e.length?n(e,r(t,2),o):void 0}},"./node_modules/lodash/memoize.js":function(e,t,a){var n=a("./node_modules/lodash/_MapCache.js"),o="Expected a function";function r(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(o);var a=function(){var n=arguments,o=t?t.apply(this,n):n[0],r=a.cache;if(r.has(o))return r.get(o);var s=e.apply(this,n);return a.cache=r.set(o,s)||r,s};return a.cache=new(r.Cache||n),a}r.Cache=n,e.exports=r},"./node_modules/lodash/noop.js":function(e,t){e.exports=function(){}},"./node_modules/lodash/now.js":function(e,t,a){var n=a("./node_modules/lodash/_root.js");e.exports=function(){return n.Date.now()}},"./node_modules/lodash/omit.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayMap.js"),o=a("./node_modules/lodash/_baseClone.js"),r=a("./node_modules/lodash/_baseUnset.js"),s=a("./node_modules/lodash/_castPath.js"),i=a("./node_modules/lodash/_copyObject.js"),l=a("./node_modules/lodash/_customOmitClone.js"),c=a("./node_modules/lodash/_flatRest.js"),d=a("./node_modules/lodash/_getAllKeysIn.js"),u=c(function(e,t){var a={};if(null==e)return a;var c=!1;t=n(t,function(t){return t=s(t,e),c||(c=t.length>1),t}),i(e,d(e),a),c&&(a=o(a,7,l));for(var u=t.length;u--;)r(a,t[u]);return a});e.exports=u},"./node_modules/lodash/pick.js":function(e,t,a){var n=a("./node_modules/lodash/_basePick.js"),o=a("./node_modules/lodash/_flatRest.js")(function(e,t){return null==e?{}:n(e,t)});e.exports=o},"./node_modules/lodash/pickBy.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayMap.js"),o=a("./node_modules/lodash/_baseIteratee.js"),r=a("./node_modules/lodash/_basePickBy.js"),s=a("./node_modules/lodash/_getAllKeysIn.js");e.exports=function(e,t){if(null==e)return{};var a=n(s(e),function(e){return[e]});return t=o(t),r(e,a,function(e,a){return t(e,a[0])})}},"./node_modules/lodash/property.js":function(e,t,a){var n=a("./node_modules/lodash/_baseProperty.js"),o=a("./node_modules/lodash/_basePropertyDeep.js"),r=a("./node_modules/lodash/_isKey.js"),s=a("./node_modules/lodash/_toKey.js");e.exports=function(e){return r(e)?n(s(e)):o(e)}},"./node_modules/lodash/random.js":function(e,t,a){var n=a("./node_modules/lodash/_baseRandom.js"),o=a("./node_modules/lodash/_isIterateeCall.js"),r=a("./node_modules/lodash/toFinite.js"),s=parseFloat,i=Math.min,l=Math.random;e.exports=function(e,t,a){if(a&&"boolean"!=typeof a&&o(e,t,a)&&(t=a=void 0),void 0===a&&("boolean"==typeof t?(a=t,t=void 0):"boolean"==typeof e&&(a=e,e=void 0)),void 0===e&&void 0===t?(e=0,t=1):(e=r(e),void 0===t?(t=e,e=0):t=r(t)),e>t){var c=e;e=t,t=c}if(a||e%1||t%1){var d=l();return i(e+d*(t-e+s("1e-"+((d+"").length-1))),t)}return n(e,t)}},"./node_modules/lodash/range.js":function(e,t,a){var n=a("./node_modules/lodash/_createRange.js")();e.exports=n},"./node_modules/lodash/rearg.js":function(e,t,a){var n=a("./node_modules/lodash/_createWrap.js"),o=a("./node_modules/lodash/_flatRest.js")(function(e,t){return n(e,256,void 0,void 0,void 0,t)});e.exports=o},"./node_modules/lodash/reduce.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayReduce.js"),o=a("./node_modules/lodash/_baseEach.js"),r=a("./node_modules/lodash/_baseIteratee.js"),s=a("./node_modules/lodash/_baseReduce.js"),i=a("./node_modules/lodash/isArray.js");e.exports=function(e,t,a){var l=i(e)?n:s,c=arguments.length<3;return l(e,r(t,4),a,c,o)}},"./node_modules/lodash/some.js":function(e,t,a){var n=a("./node_modules/lodash/_arraySome.js"),o=a("./node_modules/lodash/_baseIteratee.js"),r=a("./node_modules/lodash/_baseSome.js"),s=a("./node_modules/lodash/isArray.js"),i=a("./node_modules/lodash/_isIterateeCall.js");e.exports=function(e,t,a){var l=s(e)?n:r;return a&&i(e,t,a)&&(t=void 0),l(e,o(t,3))}},"./node_modules/lodash/sortBy.js":function(e,t,a){var n=a("./node_modules/lodash/_baseFlatten.js"),o=a("./node_modules/lodash/_baseOrderBy.js"),r=a("./node_modules/lodash/_baseRest.js"),s=a("./node_modules/lodash/_isIterateeCall.js"),i=r(function(e,t){if(null==e)return[];var a=t.length;return a>1&&s(e,t[0],t[1])?t=[]:a>2&&s(t[0],t[1],t[2])&&(t=[t[0]]),o(e,n(t,1),[])});e.exports=i},"./node_modules/lodash/stubArray.js":function(e,t){e.exports=function(){return[]}},"./node_modules/lodash/stubFalse.js":function(e,t){e.exports=function(){return!1}},"./node_modules/lodash/take.js":function(e,t,a){var n=a("./node_modules/lodash/_baseSlice.js"),o=a("./node_modules/lodash/toInteger.js");e.exports=function(e,t,a){return e&&e.length?(t=a||void 0===t?1:o(t),n(e,0,t<0?0:t)):[]}},"./node_modules/lodash/throttle.js":function(e,t,a){var n=a("./node_modules/lodash/debounce.js"),o=a("./node_modules/lodash/isObject.js"),r="Expected a function";e.exports=function(e,t,a){var s=!0,i=!0;if("function"!=typeof e)throw new TypeError(r);return o(a)&&(s="leading"in a?!!a.leading:s,i="trailing"in a?!!a.trailing:i),n(e,t,{leading:s,maxWait:t,trailing:i})}},"./node_modules/lodash/times.js":function(e,t,a){var n=a("./node_modules/lodash/_baseTimes.js"),o=a("./node_modules/lodash/_castFunction.js"),r=a("./node_modules/lodash/toInteger.js"),s=9007199254740991,i=4294967295,l=Math.min;e.exports=function(e,t){if((e=r(e))<1||e>s)return[];var a=i,c=l(e,i);t=o(t),e-=i;for(var d=n(c,t);++a<e;)t(a);return d}},"./node_modules/lodash/toFinite.js":function(e,t,a){var n=a("./node_modules/lodash/toNumber.js"),o=1/0,r=1.7976931348623157e308;e.exports=function(e){return e?(e=n(e))===o||e===-o?(e<0?-1:1)*r:e==e?e:0:0===e?e:0}},"./node_modules/lodash/toInteger.js":function(e,t,a){var n=a("./node_modules/lodash/toFinite.js");e.exports=function(e){var t=n(e),a=t%1;return t==t?a?t-a:t:0}},"./node_modules/lodash/toNumber.js":function(e,t,a){var n=a("./node_modules/lodash/isObject.js"),o=a("./node_modules/lodash/isSymbol.js"),r=NaN,s=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,d=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return r;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(s,"");var a=l.test(e);return a||c.test(e)?d(e.slice(2),a?2:8):i.test(e)?r:+e}},"./node_modules/lodash/toPath.js":function(e,t,a){var n=a("./node_modules/lodash/_arrayMap.js"),o=a("./node_modules/lodash/_copyArray.js"),r=a("./node_modules/lodash/isArray.js"),s=a("./node_modules/lodash/isSymbol.js"),i=a("./node_modules/lodash/_stringToPath.js"),l=a("./node_modules/lodash/_toKey.js"),c=a("./node_modules/lodash/toString.js");e.exports=function(e){return r(e)?n(e,l):s(e)?[e]:o(i(c(e)))}},"./node_modules/lodash/toString.js":function(e,t,a){var n=a("./node_modules/lodash/_baseToString.js");e.exports=function(e){return null==e?"":n(e)}},"./node_modules/lodash/unescape.js":function(e,t,a){var n=a("./node_modules/lodash/toString.js"),o=a("./node_modules/lodash/_unescapeHtmlChar.js"),r=/&(?:amp|lt|gt|quot|#39);/g,s=RegExp(r.source);e.exports=function(e){return(e=n(e))&&s.test(e)?e.replace(r,o):e}},"./node_modules/lodash/union.js":function(e,t,a){var n=a("./node_modules/lodash/_baseFlatten.js"),o=a("./node_modules/lodash/_baseRest.js"),r=a("./node_modules/lodash/_baseUniq.js"),s=a("./node_modules/lodash/isArrayLikeObject.js"),i=o(function(e){return r(n(e,1,s,!0))});e.exports=i},"./node_modules/lodash/uniq.js":function(e,t,a){var n=a("./node_modules/lodash/_baseUniq.js");e.exports=function(e){return e&&e.length?n(e):[]}},"./node_modules/lodash/uniqBy.js":function(e,t,a){var n=a("./node_modules/lodash/_baseIteratee.js"),o=a("./node_modules/lodash/_baseUniq.js");e.exports=function(e,t){return e&&e.length?o(e,n(t,2)):[]}},"./node_modules/lodash/values.js":function(e,t,a){var n=a("./node_modules/lodash/_baseValues.js"),o=a("./node_modules/lodash/keys.js");e.exports=function(e){return null==e?[]:n(e,o(e))}},"./node_modules/lodash/wrapperLodash.js":function(e,t,a){var n=a("./node_modules/lodash/_LazyWrapper.js"),o=a("./node_modules/lodash/_LodashWrapper.js"),r=a("./node_modules/lodash/_baseLodash.js"),s=a("./node_modules/lodash/isArray.js"),i=a("./node_modules/lodash/isObjectLike.js"),l=a("./node_modules/lodash/_wrapperClone.js"),c=Object.prototype.hasOwnProperty;function d(e){if(i(e)&&!s(e)&&!(e instanceof n)){if(e instanceof o)return e;if(c.call(e,"__wrapped__"))return l(e)}return new o(e)}d.prototype=r.prototype,d.prototype.constructor=d,e.exports=d},"./node_modules/mimemessage/lib/Entity.js":function(e,t,a){e.exports=l;var n=a("./node_modules/debug/src/browser.js")("mimemessage:Entity"),o=a("./node_modules/debug/src/browser.js")("mimemessage:ERROR:Entity"),r=a("./node_modules/random-string/lib/random-string.js"),s=a("./node_modules/mimemessage/lib/grammar.js"),i=a("./node_modules/mimemessage/lib/parse.js").parseHeaderValue;function l(){n("new()"),this._headers={},this._body=null}o.log=console.warn.bind(console),l.prototype.contentType=function(e){if(!e&&null!==e)return this._headers["Content-Type"];e?this._headers["Content-Type"]=i(s.headerRules["Content-Type"],e):delete this._headers["Content-Type"]},l.prototype.contentTransferEncoding=function(e){var t=this._headers["Content-Transfer-Encoding"];if(!e&&null!==e)return t?t.value:void 0;e?this._headers["Content-Transfer-Encoding"]=i(s.headerRules["Content-Transfer-Encoding"],e):delete this._headers["Content-Transfer-Encoding"]},l.prototype.header=function(e,t){if(e=s.headerize(e),t||null===t)t?this._headers[e]={value:t}:delete this._headers[e];else if(this._headers[e])return this._headers[e].value},Object.defineProperty(l.prototype,"body",{get:function(){return this._body},set:function(e){e?function(e){var t=this._headers["Content-Type"];this._body=e,Array.isArray(e)?t&&"multipart"===t.type?t.params.boundary||this.contentType(t.fulltype+";boundary="+r()):this.contentType("multipart/mixed;boundary="+r()):t&&"multipart"!==t.type||this.contentType("text/plain;charset=utf-8")}.call(this,e):delete this._body}}),l.prototype.isMultiPart=function(){var e=this._headers["Content-Type"];return!(!e||"multipart"!==e.type)},l.prototype.toString=function(e){var t,a,n,o,r="",s=this._headers["Content-Type"];if(!(e=e||{noHeaders:!1}).noHeaders){for(t in this._headers)this._headers.hasOwnProperty(t)&&(r+=t+": "+this._headers[t].value+"\r\n");r+="\r\n"}if(Array.isArray(this._body)){for(o=s.params.boundary,a=0,n=this._body.length;a<n;a++)a>0&&(r+="\r\n"),r+="--"+o+"\r\n"+this._body[a].toString();r+="\r\n--"+o+"--"}else"string"==typeof this._body?r+=this._body:"object"==typeof this._body&&(r+=JSON.stringify(this._body));return r}},"./node_modules/mimemessage/lib/factory.js":function(e,t,a){e.exports=function(e){n("factory() | [data:%o]",e);var t=new r;(e=e||{}).contentType&&t.contentType(e.contentType);e.contentTransferEncoding&&t.contentTransferEncoding(e.contentTransferEncoding);e.body&&(t.body=e.body);return t};var n=a("./node_modules/debug/src/browser.js")("mimemessage:factory"),o=a("./node_modules/debug/src/browser.js")("mimemessage:ERROR:factory"),r=a("./node_modules/mimemessage/lib/Entity.js");o.log=console.warn.bind(console)},"./node_modules/mimemessage/lib/grammar.js":function(e,t){var a=e.exports={},n=/^([^\t \/]+)\/([^\t ;]+)(.*)$/,o=/^([a-zA-Z0-9\-_]+)$/,r=/^[ \t]*([^\t =]+)[ \t]*=[ \t]*([^"\t =]+|"([^"]*)")[ \t]*$/;a.headerRules={"Content-Type":{reg:function(e){var t=e.match(n),a={};if(t&&(!t[3]||(a=function(e){var t,a,n,o,s={};if(""===e||void 0===e||null===e)return s;if(0===(t=e.split(";")).length)return;for(a=1,n=t.length;a<n;a++){if(!(o=t[a].match(r)))return;s[o[1].toLowerCase()]=o[3]||o[2]}return s}(t[3]))))return{fulltype:t[1].toLowerCase()+"/"+t[2].toLowerCase(),type:t[1].toLowerCase(),subtype:t[2].toLowerCase(),params:a}}},"Content-Transfer-Encoding":{reg:function(e){var t=e.match(o);if(t)return{value:t[1].toLowerCase()}}}},a.unknownHeaderRule={reg:/(.*)/,names:["value"]},a.headerize=function(e){var t,a={"Mime-Version":"MIME-Version","Content-Id":"Content-ID"},n=e.toLowerCase().replace(/_/g,"-").split("-"),o="",r=n.length;for(t=0;t<r;t++)0!==t&&(o+="-"),o+=n[t].charAt(0).toUpperCase()+n[t].substring(1);return a[o]&&(o=a[o]),o},Object.keys(a.headerRules).forEach(function(e){var t=a.headerRules[e];t.reg||(t.reg=/(.*)/)})},"./node_modules/mimemessage/lib/mimemessage.js":function(e,t,a){e.exports={factory:a("./node_modules/mimemessage/lib/factory.js"),parse:a("./node_modules/mimemessage/lib/parse.js"),Entity:a("./node_modules/mimemessage/lib/Entity.js")}},"./node_modules/mimemessage/lib/parse.js":function(e,t,a){e.exports=l,l.parseHeaderValue=d;var n=a("./node_modules/debug/src/browser.js")("mimemessage:parse"),o=a("./node_modules/debug/src/browser.js")("mimemessage:ERROR:parse"),r=a("./node_modules/mimemessage/lib/grammar.js"),s=a("./node_modules/mimemessage/lib/Entity.js"),i=/^([a-zA-Z0-9!#$%&'+,\-\^_`|~]+)[ \t]*:[ \t]*(.+)$/;function l(e){var t;if(n("parse()"),"string"!=typeof e)throw new TypeError("given data must be a string");return function e(t,a,r){n("parseEntity()");var i,l,d,u,p,m,f,h,v,g,b,y=-1,_=[];/^[^\r\n]/.test(a)&&(y=a.indexOf("\r\n\r\n"));if(-1!==y)i=a.slice(0,y),l=a.slice(y+4);else{if(r)return o("parseEntity() | wrong MIME headers in top level entity"),!1;if(!/^\r\n/.test(a))return o("parseEntity() | wrong sub-entity"),!1;l=a.slice(2)}if(i&&!function(e,t){var a,n,r,s=t.split("\r\n");for(n=0,r=s.length;n<r;n++){for(a=s[n];/^[ \t]/.test(s[n+1]);)a=a+" "+s[n+1].trim(),n++;if(!c(e,a))return o('parseEntityHeaders() | invalid MIME header: "%s"',a),!1}return!0}(t,i))return!1;d=t.contentType();if(d&&"multipart"===d.type){if(!(u=d.params.boundary))return o('parseEntity() | "multipart" Content-Type must have "boundary" parameter'),!1;for(p=new RegExp("(\\r\\n)?--"+u+"[\\t ]*\\r\\n","g"),m=new RegExp("\\r\\n--"+u+"--[\\t ]*");;){if(!(f=p.exec(l))){if(void 0===h)return o('parseEntity() | no bodies found in a "multipart" sub-entity'),!1;if(m.lastIndex=h,!(f=m.exec(l)))return o('parseEntity() | no ending boundary in a "multipart" sub-entity'),!1;_.push(l.slice(h,f.index));break}void 0!==h&&_.push(l.slice(h,f.index)),h=p.lastIndex}for(t._body=[],v=0,g=_.length;v<g;v++)if(b=new s,t._body.push(b),!e(b,_[v]))return o("invalid MIME sub-entity"),!1}else t._body=l;return!0}(t=new s,e,!0)?t:(o("invalid MIME message"),!1)}function c(e,t){var a,n,s,l,c=t.match(i);if(!c)return o('invalid MIME header "%s"',t),!1;a=r.headerize(c[1]),n=c[2],s=r.headerRules[a]||r.unknownHeaderRule;try{l=d(s,n)}catch(e){return o('wrong MIME header: "%s"',t),!1}return e._headers[a]=l,!0}function d(e,t){var a,n,o,r={};if("function"!=typeof e.reg){if(!(a=t.match(e.reg)))throw new Error("parseHeaderValue() failed for "+t);for(n=0,o=e.names.length;n<o;n++)void 0!==a[n+1]&&(r[e.names[n]]=a[n+1])}else if(!(r=e.reg(t)))throw new Error("parseHeaderValue() failed for "+t);return r.value||(r.value=t),r}o.log=console.warn.bind(console)},"./node_modules/ms/index.js":function(e,t){var a=1e3,n=60*a,o=60*n,r=24*o,s=365.25*r;function i(e,t,a){if(!(e<t))return e<1.5*t?Math.floor(e/t)+" "+a:Math.ceil(e/t)+" "+a+"s"}e.exports=function(e,t){t=t||{};var l,c=typeof e;if("string"===c&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!t)return;var i=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return i*s;case"days":case"day":case"d":return i*r;case"hours":case"hour":case"hrs":case"hr":case"h":return i*o;case"minutes":case"minute":case"mins":case"min":case"m":return i*n;case"seconds":case"second":case"secs":case"sec":case"s":return i*a;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}(e);if("number"===c&&!1===isNaN(e))return t.long?i(l=e,r,"day")||i(l,o,"hour")||i(l,n,"minute")||i(l,a,"second")||l+" ms":function(e){if(e>=r)return Math.round(e/r)+"d";if(e>=o)return Math.round(e/o)+"h";if(e>=n)return Math.round(e/n)+"m";if(e>=a)return Math.round(e/a)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},"./node_modules/process/browser.js":function(e,t){var a,n,o=e.exports={};function r(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function i(e){if(a===setTimeout)return setTimeout(e,0);if((a===r||!a)&&setTimeout)return a=setTimeout,setTimeout(e,0);try{return a(e,0)}catch(t){try{return a.call(null,e,0)}catch(t){return a.call(this,e,0)}}}!function(){try{a="function"==typeof setTimeout?setTimeout:r}catch(e){a=r}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var l,c=[],d=!1,u=-1;function p(){d&&l&&(d=!1,l.length?c=l.concat(c):u=-1,c.length&&m())}function m(){if(!d){var e=i(p);d=!0;for(var t=c.length;t;){for(l=c,c=[];++u<t;)l&&l[u].run();u=-1,t=c.length}l=null,d=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function f(e,t){this.fun=e,this.array=t}function h(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var a=1;a<arguments.length;a++)t[a-1]=arguments[a];c.push(new f(e,t)),1!==c.length||d||i(m)},f.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=h,o.addListener=h,o.once=h,o.off=h,o.removeListener=h,o.removeAllListeners=h,o.emit=h,o.prependListener=h,o.prependOnceListener=h,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},"./node_modules/random-string/lib/random-string.js":function(e,t,a){"use strict";var n="0123456789",o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",r="!$%^&*()_+|~-=`{}[]:;<>?,./";e.exports=function(e){var t,a,s="",i=(e=function(e){return e||(e={}),{length:e.length||8,numeric:"boolean"!=typeof e.numeric||e.numeric,letters:"boolean"!=typeof e.letters||e.letters,special:"boolean"==typeof e.special&&e.special}}(e)).length,l=function(e){var t="";return e.numeric&&(t+=n),e.letters&&(t+=o),e.special&&(t+=r),t}(e);for(t=1;t<=i;t++)s+=l.substring(a=Math.floor(Math.random()*l.length),a+1);return s}},"./node_modules/regenerator-runtime/runtime-module.js":function(e,t,a){var n=function(){return this}()||Function("return this")(),o=n.regeneratorRuntime&&Object.getOwnPropertyNames(n).indexOf("regeneratorRuntime")>=0,r=o&&n.regeneratorRuntime;if(n.regeneratorRuntime=void 0,e.exports=a("./node_modules/regenerator-runtime/runtime.js"),o)n.regeneratorRuntime=r;else try{delete n.regeneratorRuntime}catch(e){n.regeneratorRuntime=void 0}},"./node_modules/regenerator-runtime/runtime.js":function(e,t){!function(t){"use strict";var a,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",l=r.toStringTag||"@@toStringTag",c="object"==typeof e,d=t.regeneratorRuntime;if(d)c&&(e.exports=d);else{(d=t.regeneratorRuntime=c?e.exports:{}).wrap=_;var u="suspendedStart",p="suspendedYield",m="executing",f="completed",h={},v={};v[s]=function(){return this};var g=Object.getPrototypeOf,b=g&&g(g(D([])));b&&b!==n&&o.call(b,s)&&(v=b);var y=C.prototype=A.prototype=Object.create(v);S.prototype=y.constructor=C,C.constructor=S,C[l]=S.displayName="GeneratorFunction",d.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===S||"GeneratorFunction"===(t.displayName||t.name))},d.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,C):(e.__proto__=C,l in e||(e[l]="GeneratorFunction")),e.prototype=Object.create(y),e},d.awrap=function(e){return{__await:e}},I(x.prototype),x.prototype[i]=function(){return this},d.AsyncIterator=x,d.async=function(e,t,a,n){var o=new x(_(e,t,a,n));return d.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})},I(y),y[l]="Generator",y[s]=function(){return this},y.toString=function(){return"[object Generator]"},d.keys=function(e){var t=[];for(var a in e)t.push(a);return t.reverse(),function a(){for(;t.length;){var n=t.pop();if(n in e)return a.value=n,a.done=!1,a}return a.done=!0,a}},d.values=D,M.prototype={constructor:M,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=a,this.done=!1,this.delegate=null,this.method="next",this.arg=a,this.tryEntries.forEach(T),!e)for(var t in this)"t"===t.charAt(0)&&o.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=a)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,o){return i.type="throw",i.arg=e,t.next=n,o&&(t.method="next",t.arg=a),!!o}for(var r=this.tryEntries.length-1;r>=0;--r){var s=this.tryEntries[r],i=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var l=o.call(s,"catchLoc"),c=o.call(s,"finallyLoc");if(l&&c){if(this.prev<s.catchLoc)return n(s.catchLoc,!0);if(this.prev<s.finallyLoc)return n(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return n(s.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return n(s.finallyLoc)}}}},abrupt:function(e,t){for(var a=this.tryEntries.length-1;a>=0;--a){var n=this.tryEntries[a];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var r=n;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var s=r?r.completion:{};return s.type=e,s.arg=t,r?(this.method="next",this.next=r.finallyLoc,h):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.finallyLoc===e)return this.complete(a.completion,a.afterLoc),T(a),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.tryLoc===e){var n=a.completion;if("throw"===n.type){var o=n.arg;T(a)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:D(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=a),h}}}function _(e,t,a,n){var o=t&&t.prototype instanceof A?t:A,r=Object.create(o.prototype),s=new M(n||[]);return r._invoke=function(e,t,a){var n=u;return function(o,r){if(n===m)throw new Error("Generator is already running");if(n===f){if("throw"===o)throw r;return k()}for(a.method=o,a.arg=r;;){var s=a.delegate;if(s){var i=E(s,a);if(i){if(i===h)continue;return i}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(n===u)throw n=f,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);n=m;var l=j(e,t,a);if("normal"===l.type){if(n=a.done?f:p,l.arg===h)continue;return{value:l.arg,done:a.done}}"throw"===l.type&&(n=f,a.method="throw",a.arg=l.arg)}}}(e,a,s),r}function j(e,t,a){try{return{type:"normal",arg:e.call(t,a)}}catch(e){return{type:"throw",arg:e}}}function A(){}function S(){}function C(){}function I(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function x(e){var t;this._invoke=function(a,n){function r(){return new Promise(function(t,r){!function t(a,n,r,s){var i=j(e[a],e,n);if("throw"!==i.type){var l=i.arg,c=l.value;return c&&"object"==typeof c&&o.call(c,"__await")?Promise.resolve(c.__await).then(function(e){t("next",e,r,s)},function(e){t("throw",e,r,s)}):Promise.resolve(c).then(function(e){l.value=e,r(l)},s)}s(i.arg)}(a,n,t,r)})}return t=t?t.then(r,r):r()}}function E(e,t){var n=e.iterator[t.method];if(n===a){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=a,E(e,t),"throw"===t.method))return h;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var o=j(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,h;var r=o.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=a),t.delegate=null,h):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function M(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function D(e){if(e){var t=e[s];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(o.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=a,t.done=!0,t};return r.next=r}}return{next:k}}function k(){return{value:a,done:!0}}}(function(){return this}()||Function("return this")())},"./node_modules/turndown/lib/turndown.es.js":function(e,t,a){"use strict";function n(e,t){return Array(t+1).join(e)}Object.defineProperty(t,"__esModule",{value:!0});var o=["address","article","aside","audio","blockquote","body","canvas","center","dd","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frameset","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","isindex","li","main","menu","nav","noframes","noscript","ol","output","p","pre","section","table","tbody","td","tfoot","th","thead","tr","ul"];function r(e){return-1!==o.indexOf(e.nodeName.toLowerCase())}var s=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function i(e){return-1!==s.indexOf(e.nodeName.toLowerCase())}var l=s.join();var c={};function d(e){for(var t in this.options=e,this._keep=[],this._remove=[],this.blankRule={replacement:e.blankReplacement},this.keepReplacement=e.keepReplacement,this.defaultRule={replacement:e.defaultReplacement},this.array=[],e.rules)this.array.push(e.rules[t])}function u(e,t,a){for(var n=0;n<e.length;n++){var o=e[n];if(p(o,t,a))return o}}function p(e,t,a){var n=e.filter;if("string"==typeof n){if(n===t.nodeName.toLowerCase())return!0}else if(Array.isArray(n)){if(n.indexOf(t.nodeName.toLowerCase())>-1)return!0}else{if("function"!=typeof n)throw new TypeError("`filter` needs to be a string, array, or function");if(n.call(e,t,a))return!0}}function m(e){var t=e.nextSibling||e.parentNode;return e.parentNode.removeChild(e),t}function f(e,t,a){return e&&e.parentNode===t||a(t)?t.nextSibling||t.parentNode:t.firstChild||t.nextSibling||t.parentNode}c.paragraph={filter:"p",replacement:function(e){return"\n\n"+e+"\n\n"}},c.lineBreak={filter:"br",replacement:function(e,t,a){return a.br+"\n"}},c.heading={filter:["h1","h2","h3","h4","h5","h6"],replacement:function(e,t,a){var o=Number(t.nodeName.charAt(1));return"setext"===a.headingStyle&&o<3?"\n\n"+e+"\n"+n(1===o?"=":"-",e.length)+"\n\n":"\n\n"+n("#",o)+" "+e+"\n\n"}},c.blockquote={filter:"blockquote",replacement:function(e){return"\n\n"+(e=(e=e.replace(/^\n+|\n+$/g,"")).replace(/^/gm,"> "))+"\n\n"}},c.list={filter:["ul","ol"],replacement:function(e,t){var a=t.parentNode;return"LI"===a.nodeName&&a.lastElementChild===t?"\n"+e:"\n\n"+e+"\n\n"}},c.listItem={filter:"li",replacement:function(e,t,a){e=e.replace(/^\n+/,"").replace(/\n+$/,"\n").replace(/\n/gm,"\n ");var n=a.bulletListMarker+" ",o=t.parentNode;if("OL"===o.nodeName){var r=o.getAttribute("start"),s=Array.prototype.indexOf.call(o.children,t);n=(r?Number(r)+s:s+1)+". "}return n+e+(t.nextSibling&&!/\n$/.test(e)?"\n":"")}},c.indentedCodeBlock={filter:function(e,t){return"indented"===t.codeBlockStyle&&"PRE"===e.nodeName&&e.firstChild&&"CODE"===e.firstChild.nodeName},replacement:function(e,t,a){return"\n\n "+t.firstChild.textContent.replace(/\n/g,"\n ")+"\n\n"}},c.fencedCodeBlock={filter:function(e,t){return"fenced"===t.codeBlockStyle&&"PRE"===e.nodeName&&e.firstChild&&"CODE"===e.firstChild.nodeName},replacement:function(e,t,a){var n=((t.firstChild.className||"").match(/language-(\S+)/)||[null,""])[1];return"\n\n"+a.fence+n+"\n"+t.firstChild.textContent+"\n"+a.fence+"\n\n"}},c.horizontalRule={filter:"hr",replacement:function(e,t,a){return"\n\n"+a.hr+"\n\n"}},c.inlineLink={filter:function(e,t){return"inlined"===t.linkStyle&&"A"===e.nodeName&&e.getAttribute("href")},replacement:function(e,t){return"["+e+"]("+t.getAttribute("href")+(t.title?' "'+t.title+'"':"")+")"}},c.referenceLink={filter:function(e,t){return"referenced"===t.linkStyle&&"A"===e.nodeName&&e.getAttribute("href")},replacement:function(e,t,a){var n,o,r=t.getAttribute("href"),s=t.title?' "'+t.title+'"':"";switch(a.linkReferenceStyle){case"collapsed":n="["+e+"][]",o="["+e+"]: "+r+s;break;case"shortcut":n="["+e+"]",o="["+e+"]: "+r+s;break;default:var i=this.references.length+1;n="["+e+"]["+i+"]",o="["+i+"]: "+r+s}return this.references.push(o),n},references:[],append:function(e){var t="";return this.references.length&&(t="\n\n"+this.references.join("\n")+"\n\n",this.references=[]),t}},c.emphasis={filter:["em","i"],replacement:function(e,t,a){return e.trim()?a.emDelimiter+e+a.emDelimiter:""}},c.strong={filter:["strong","b"],replacement:function(e,t,a){return e.trim()?a.strongDelimiter+e+a.strongDelimiter:""}},c.code={filter:function(e){var t=e.previousSibling||e.nextSibling,a="PRE"===e.parentNode.nodeName&&!t;return"CODE"===e.nodeName&&!a},replacement:function(e){if(!e.trim())return"";var t="`",a="",n="",o=e.match(/`+/gm);if(o)for(/^`/.test(e)&&(a=" "),/`$/.test(e)&&(n=" ");-1!==o.indexOf(t);)t+="`";return t+a+e+n+t}},c.image={filter:"img",replacement:function(e,t){var a=t.alt||"",n=t.getAttribute("src")||"",o=t.title||"";return n?"!["+a+"]("+n+(o?' "'+o+'"':"")+")":""}},d.prototype={add:function(e,t){this.array.unshift(t)},keep:function(e){this._keep.unshift({filter:e,replacement:this.keepReplacement})},remove:function(e){this._remove.unshift({filter:e,replacement:function(){return""}})},forNode:function(e){return e.isBlank?this.blankRule:(t=u(this.array,e,this.options))?t:(t=u(this._keep,e,this.options))?t:(t=u(this._remove,e,this.options))?t:this.defaultRule;var t},forEach:function(e){for(var t=0;t<this.array.length;t++)e(this.array[t],t)}};var h="undefined"!=typeof window?window:{};var v,g,b,y=function(){var e=h.DOMParser,t=!1;try{(new e).parseFromString("","text/html")&&(t=!0)}catch(e){}return t}()?h.DOMParser:(v=function(){},g=a(2).JSDOM,v.prototype.parseFromString=function(e){return new g(e).window.document},v);function _(e){var t;"string"==typeof e?t=(b=b||new y).parseFromString('<x-turndown id="turndown-root">'+e+"</x-turndown>","text/html").getElementById("turndown-root"):t=e.cloneNode(!0);return function(e){var t=e.element,a=e.isBlock,n=e.isVoid,o=e.isPre||function(e){return"PRE"===e.nodeName};if(t.firstChild&&!o(t)){for(var r=null,s=!1,i=null,l=f(i,t,o);l!==t;){if(3===l.nodeType||4===l.nodeType){var c=l.data.replace(/[ \r\n\t]+/g," ");if(r&&!/ $/.test(r.data)||s||" "!==c[0]||(c=c.substr(1)),!c){l=m(l);continue}l.data=c,r=l}else{if(1!==l.nodeType){l=m(l);continue}a(l)||"BR"===l.nodeName?(r&&(r.data=r.data.replace(/ $/,"")),r=null,s=!1):n(l)&&(r=null,s=!0)}var d=f(i,l,o);i=l,l=d}r&&(r.data=r.data.replace(/ $/,""),r.data||m(r))}}({element:t,isBlock:r,isVoid:i}),t}function j(e){return e.isBlock=r(e),e.isCode="code"===e.nodeName.toLowerCase()||e.parentNode.isCode,e.isBlank=function(e){return-1===["A","TH","TD"].indexOf(e.nodeName)&&/^\s*$/i.test(e.textContent)&&!i(e)&&!function(e){return e.querySelector&&e.querySelector(l)}(e)}(e),e.flankingWhitespace=function(e){var t="",a="";if(!e.isBlock){var n=/^[ \r\n\t]/.test(e.textContent),o=/[ \r\n\t]$/.test(e.textContent);n&&!A("left",e)&&(t=" "),o&&!A("right",e)&&(a=" ")}return{leading:t,trailing:a}}(e),e}function A(e,t){var a,n,o;return"left"===e?(a=t.previousSibling,n=/ $/):(a=t.nextSibling,n=/^ /),a&&(3===a.nodeType?o=n.test(a.nodeValue):1!==a.nodeType||r(a)||(o=n.test(a.textContent))),o}var S=Array.prototype.reduce,C=/^\n*/,I=/\n*$/;function x(e){if(!(this instanceof x))return new x(e);var t={rules:c,headingStyle:"setext",hr:"* * *",bulletListMarker:"*",codeBlockStyle:"indented",fence:"```",emDelimiter:"_",strongDelimiter:"**",linkStyle:"inlined",linkReferenceStyle:"full",br:" ",blankReplacement:function(e,t){return t.isBlock?"\n\n":""},keepReplacement:function(e,t){return t.isBlock?"\n\n"+t.outerHTML+"\n\n":t.outerHTML},defaultReplacement:function(e,t){return t.isBlock?"\n\n"+e+"\n\n":e}};this.options=function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)a.hasOwnProperty(n)&&(e[n]=a[n])}return e}({},t,e),this.rules=new d(this.options)}function E(e){var t=this;return S.call(e.childNodes,function(e,a){var n="";return 3===(a=new j(a)).nodeType?n=a.isCode?a.nodeValue:t.escape(a.nodeValue):1===a.nodeType&&(n=function(e){var t=this.rules.forNode(e),a=E.call(this,e),n=e.flankingWhitespace;(n.leading||n.trailing)&&(a=a.trim());return n.leading+t.replacement(a,e,this.options)+n.trailing}.call(t,a)),w(e,n)},"")}function w(e,t){var a,n,o,r=(a=t,n=[e.match(I)[0],a.match(C)[0]].sort(),(o=n[n.length-1]).length<2?o:"\n\n");return(e=e.replace(I,""))+r+(t=t.replace(C,""))}x.prototype={turndown:function(e){if(!function(e){return null!=e&&("string"==typeof e||e.nodeType&&(1===e.nodeType||9===e.nodeType||11===e.nodeType))}(e))throw new TypeError(e+" is not a string, or an element/document/fragment node.");if(""===e)return"";var t=E.call(this,new _(e));return function(e){var t=this;return this.rules.forEach(function(a){"function"==typeof a.append&&(e=w(e,a.append(t.options)))}),e.replace(/^[\t\r\n]+/,"").replace(/[\t\r\n\s]+$/,"")}.call(this,t)},use:function(e){if(Array.isArray(e))for(var t=0;t<e.length;t++)this.use(e[t]);else{if("function"!=typeof e)throw new TypeError("plugin must be a Function or an Array of Functions");e(this)}return this},addRule:function(e,t){return this.rules.add(e,t),this},keep:function(e){return this.rules.keep(e),this},remove:function(e){return this.rules.remove(e),this},escape:function(e){return e.replace(/\\(\S)/g,"\\\\$1").replace(/^(#{1,6} )/gm,"\\$1").replace(/^([-*_] *){3,}$/gm,function(e,t){return e.split(t).join("\\"+t)}).replace(/^(\W* {0,3})(\d+)\. /gm,"$1$2\\. ").replace(/^([^\\\w]*)[*+-] /gm,function(e){return e.replace(/([*+-])/g,"\\$1")}).replace(/^(\W* {0,3})> /gm,"$1\\> ").replace(/\*+(?![*\s\W]).+?\*+/g,function(e){return e.replace(/\*/g,"\\*")}).replace(/_+(?![_\s\W]).+?_+/g,function(e){return e.replace(/_/g,"\\_")}).replace(/`+(?![`\s\W]).+?`+/g,function(e){return e.replace(/`/g,"\\`")}).replace(/[\[\]]/g,"\\$&")}},t.default=x},"./node_modules/webpack/buildin/global.js":function(e,t){var a;a=function(){return this}();try{a=a||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(a=window)}e.exports=a},"./node_modules/webpack/buildin/module.js":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},"./src/app/address/directives/addressBtnActions.js":function(e,t,a){"use strict";function n(e,t){var a={makeDefault:t.getString("Make default",null,"Action"),editSignature:t.getString("Edit signature",null,"Action"),disable:t.getString("Disable",null,"Action"),enable:t.getString("Enable",null,"Action"),remove:t.getString("Delete",null,"Action"),generate:t.getString("Generate missing keys",null,"Action"),add:t.getString("Add address",null,"Action")};return{replace:!0,scope:{model:"=?",model2:"=?"},template:'<button type="button" class="addressBtnActions-container">'+a.editSignature+"</button>",link:function(t,n,o){var r=o.action,s=void 0===r?"editSignature":r;"editSignature"!==s&&n.text(a[s]);var i=function(){return e[s](t.model,t.model2)};n.on("click",i),t.$on("$destroy",function(){n.off("click",i)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["addressModel","gettextCatalog"],t.default=n},"./src/app/address/directives/addressKeysView.js":function(e,t,a){"use strict";function n(e,t,n,o,r,s,i,l,c){var d=function(e){i.activate({params:{submit:function(t){i.deactivate();var a=c([e],t).then(function(e){var t=e.success,a=e.failed;t&&s.success(t),a&&s.error(a)});l.track(a)},cancel:function(){i.deactivate()}}})};return{replace:!0,restrict:"E",scope:{displayMode:"@",isSubUser:"<",addresses:"<"},templateUrl:a("./src/templates/address/addressKeysView.tpl.html"),link:function(e){e.download=function(e,a,n){var o=new Blob([e],{type:"data:text/plain;charset=utf-8;"});t(o,n+"key."+a+".asc")},e.reactivate=d}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope","downloadFile","authentication","gettextCatalog","tools","notification","oldPasswordModal","networkActivityTracker","reactivateKeys"],t.default=n},"./src/app/address/directives/pmMeTooltip.js":function(e,t,a){"use strict";function n(e,t,a,n){return{restrict:"A",link:function(o,r){if(!e.is("mobile")){var s=a.getString("This will add the {{name}}@pm.me address to your account",{name:t.user.Name},"Info");n.add(r,{title:s})}}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["AppModel","authentication","gettextCatalog","tooltipModel"],t.default=n},"./src/app/address/directives/reactivateKeysBtn.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/reduce.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a,n,o,s,i){var l={success:n.getString("Keys reactivated",null,"Success"),reactivateContact:n.getString("Reactivate contact keys",null,"Action"),reactivateAddress:n.getString("Reactivate address keys",null,"Action")};return{replace:!0,scope:{},template:'<button class="reactivateUserKeysBtn-container pm_button">'+l.reactivateContact+"</button>",restrict:"E",link:function(n,c,d){var u=d.mode;"address"===u&&(c[0].textContent=l.reactivateAddress);var p=function(){a.activate({params:{submit:function(n){var l=function(a){if("contact"===a){var n=e.user.Keys;return(void 0===n?[]:n).filter(function(e){return!e.decrypted})}return"address"===a?(0,r.default)(t.get(),function(e,t){var a=t.Keys,n=void 0===a?[]:a;return e.concat(n.filter(function(e){return!e.decrypted}))},[]):[]}(u);a.deactivate();var c=o(l,n).then(function(e){var t=e.success,a=e.failed;t&&i.success(t),a&&i.error(a)});s.track(c)},cancel:function(){a.deactivate()}}})};c.on("click",p),n.$on("$destroy",function(){c.off("click",p)})}}}s.$inject=["authentication","addressesModel","oldPasswordModal","gettextCatalog","reactivateKeys","networkActivityTracker","notification"],t.default=s},"./src/app/address/factories/addressModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=m(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),o=m(a("./node_modules/babel-runtime/regenerator/index.js")),r=m(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),s=m(a("./node_modules/babel-runtime/core-js/promise.js")),i=m(a("./node_modules/lodash/map.js")),l=m(a("./node_modules/lodash/difference.js")),c=m(a("./node_modules/lodash/filter.js")),d=m(a("./node_modules/lodash/sortBy.js")),u=m(a("./node_modules/lodash/noop.js")),p=m(a("./node_modules/lodash/findIndex.js"));function m(e){return e&&e.__esModule?e:{default:e}}function f(e,t,a,m,f,h,v,g,b,y,_,j,A,S,C,I,x,E,w,T,M,D){var k,L=this,P=M.ENCRYPTION_DEFAULT,O=M.PAID_ADMIN_ROLE,N=D(["addressModel","memberActions"]).dispatcher,R={ERROR_DO_UPGRADE:t.getString("You have used all addresses in your plan. Please upgrade your plan to add a new address",null,"Error"),ERROR_MUST_BE_ADMIN:t.getString("Administrator privileges must be activated",null,"Error"),SUCCESS_DISABLED:t.getString("Address disabled",null,"Info"),SUCCESS_ENABLE:t.getString("Address enabled",null,"Info"),SUCCESS_REMOVE:t.getString("Address deleted",null,"Info"),SUCCESS_EDIT:t.getString("Address updated",null,"Info"),SUCCESS_ORDER:t.getString("Order saved",null,"Info"),DISABLE_MODAL:{title:t.getString("Disable address",null,"Title"),message:t.getString("Are you sure you want to disable this address?",null,"Info")},DELETE_MODAL:{title:t.getString("Delete address",null,"Title"),message:t.getString("Are you sure you want to delete this address?",null,"Info")},EDIT_MODAL:{title:t.getString("Name / Signature",null,"Title")},FREE_ADD_ERROR:t.getString('Please <a href="/dashboard">upgrade</a> to a paid account to use this feature',null,"Error")},$=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=h.get()||{},o=n.MaxAddresses,r=n.UsedAddresses,s=n.HasKeys;return o-r<1?(f.error(R.ERROR_DO_UPGRADE),!1):!(1===s&&v.get("keyStatus")>0&&!t.Private)||(f.error(R.ERROR_MUST_BE_ADMIN),a&&e.go("secured.members"),!1)},F=(k=(0,r.default)(o.default.mark(function e(t){var a=t.ID,n=t.Status;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==n){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,E.disable(a);case 4:f.success(R.SUCCESS_DISABLED);case 5:case"end":return e.stop()}},e,L)})),function(e){return k.apply(this,arguments)});function B(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_.getSelf();if($(t,!1))return T.manageOne(e,t).then(function(t){var a=(0,n.default)(t,1)[0],o=void 0===a?{}:a,r=m.getByUser(w.user),s=(0,p.default)(r,function(e){return e.ID===o.ID});o.Receive=+(1===o.Status),-1!==s&&r.splice(s,1,o),N.addressModel("generateKey.success",{address:e})}).catch(u.default)}var U=function(e){var t=E.order({AddressIDs:e}).then(I.call).then(function(){return f.success(R.SUCCESS_ORDER)});a.track(t)},z=function(){var e=(0,d.default)(m.get(),"Order"),t=(0,c.default)(e,{Status:1,Receive:1});return{active:t,disabled:(0,l.default)(e,t)}};return{add:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(w.user.Role===M.FREE_USER_ROLE)return f.error(R.FREE_ADD_ERROR);var n=function(e,t){var a={pmDomains:[],domains:[e],members:[t]};return 0===t.Type&&(a.pmDomains=b.get().map(function(e){return{DomainName:e}})),!e.ID&&(a.domains=a.pmDomains.concat(y.query())),!t.ID&&(a.members=_.getAll()),a}(t,a),o=n.domains,r=n.members;if(!o||0===o.length)return e.go("secured.domains");if($(a)){var s=v.get("organizationKey");j.activate({params:{domains:o,members:r,organizationKey:s,cancel:j.deactivate,addMember:function(){S.canAdd(v.get("keyStatus"))&&(j.deactivate(),C.activate({params:{organization:h.get(),organizationKey:s,domains:o,submit:function(e){N.memberActions("edit.success",{member:e,domains:o}),C.deactivate()},cancel:C.deactivate}}))},submit:function(e,a){j.deactivate();var n=function(){return N.addressModel("address.new",{address:e,member:a,domain:t})};if(!a.Private)return n(),B(e,a).then(I.call);I.call(),n()}}})}},disable:function(e){var t=e.ID;x.activate({params:{title:R.DISABLE_MODAL.title,message:R.DISABLE_MODAL.message,cancel:x.deactivate,confirm:function(){x.deactivate();var e=E.disable(t).then(I.call).then(function(){f.success(R.SUCCESS_DISABLED)});a.track(e)}}})},enable:function(e){var t=e.ID,n=E.enable(t).then(function(){return I.call()}).then(function(){return f.success(R.SUCCESS_ENABLE)});a.track(n)},generate:B,setup:function(e){var t=e.Domain,a=e.DisplayName,n=e.Signature,o=P,r=w.getPassword();return E.setup({Domain:t,DisplayName:a,Signature:n}).then(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,t=void 0===e?{}:e;return g.generate({numBits:o,passphrase:r,address:t.Address})}).then(function(){var e=[I.call(),b.fetch()];return w.user.Role===O&&e.push(_.fetch()),s.default.all(e)})},getActive:z,makeDefault:function(e){var t=z(),a=t.active,n=t.disabled,o=[].concat(a,n),r=(0,p.default)(o,{ID:e.ID});o.splice(r,1),o.unshift(e);var s=(0,i.default)(o,"ID");U(s)},remove:function(e){x.activate({params:{title:R.DELETE_MODAL.title,message:R.DELETE_MODAL.message,confirm:function(){x.deactivate();var t=F(e).then(function(){return s.default.all([I.call(),E.remove(e.ID)])}).then(function(){f.success(R.SUCCESS_REMOVE)}).then(I.call);a.track(t)},cancel:function(){x.deactivate()}}})},saveOrder:U}}f.$inject=["$state","gettextCatalog","networkActivityTracker","addressesModel","notification","organizationModel","organizationKeysModel","generateKeyModel","pmDomainModel","domainModel","memberModel","addressModal","signatureModel","membersValidator","memberModal","eventManager","confirmModal","Address","authentication","addressWithoutKeysManager","CONSTANTS","dispatchers"],t.default=f},"./src/app/address/factories/addressWithoutKeys.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),o=r(a("./node_modules/lodash/filter.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,a,r){var s=function(e){var t=e.Keys,a=e.Status;return!t.length&&1===a},i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,o.default)(t,function(t){return s(t)&&1===e.Private})};return{get:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.getAll(),r=arguments[2];if(1===o.length&&!r){var s=function(e,a){var o=(0,n.default)(e,1)[0];if(!o.Private)return o.Addresses;var r=t.getByUser(a).reduce(function(e,t){return e[t.ID]=!0,e},{});return t.getByUser(a).concat(o.Addresses.filter(function(e){var t=e.ID;return!r[t]}))}(o,a);return{addresses:i(a,s)}}return{addresses:i(a,t.getByUser(a))}},fromUser:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.user,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.get();return i(e,n)},allDirty:function(e){var a=t.getByUser(e);if(!1===r.get("allDirtyAddresses"))return!1;var n=a.filter(function(e){return e.Status}).every(s);return r.set("allDirtyAddresses",n),n}}}s.$inject=["memberModel","addressesModel","authentication","AppModel"],t.default=s},"./src/app/address/factories/reactivateKeys.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./node_modules/babel-runtime/core-js/promise.js")),o=c(a("./node_modules/babel-runtime/regenerator/index.js")),r=c(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),s=c(a("./node_modules/babel-runtime/helpers/defineProperty.js")),i=c(a("./node_modules/lodash/find.js")),l=c(a("./node_modules/lodash/reduce.js"));function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t,a,c,d,u){var p,m=this,f=1,h=2,v={success:{one:c.getString("Key reactivated",null,"Info"),many:function(e){return c.getString("{{n}} keys reactivated",{n:e},"Info")}},errors:(p={},(0,s.default)(p,f,{one:c.getString("Incorrect decryption password",null,"Error"),many:function(e){return c.getString("{{n}} keys failed to decrypt due to an incorrect password",{n:e},"Error")}}),(0,s.default)(p,h,{one:c.getString("Failed to reactivate key",null,"Error"),many:function(e){return c.getString("{{n}} keys failed to reactivate",{n:e},"Error")}}),p)},g=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(0!==t.length)return t.length===a.length&&1===a.length?e.one:e.many(t.length)},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return[f,h].map(function(t){var a=e.filter(function(e){return e.error===t});return g(v.errors[t],a,a)}).filter(Boolean).join(", ")},y=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.error?e.failed.push(t):e.success.push(t),e},{success:[],failed:[]})};return(0,r.default)(o.default.mark(function s(){var c,p,_,j,A,S,C,I,x,E=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],w=arguments[1];return o.default.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,t.salts();case 2:return c=s.sent,p=c.data,_=void 0===p?{}:p,j=(0,l.default)(E,function(e,t){var a=((0,i.default)(_.KeySalts,{ID:t.ID})||{}).KeySalt;return e.push({KeySalt:a,key:t}),e},[]),A=e.getPassword(),S=function(){var e=(0,r.default)(o.default.mark(function e(a){var n,r,s,i,l=a.KeySalt,c=a.key;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,d.computeKeyPassword(w,l);case 3:return n=e.sent,e.next=6,u.decryptPrivateKey(c.PrivateKey,n);case 6:return r=e.sent,e.next=9,u.encryptPrivateKey(r,A);case 9:return s=e.sent,e.next=12,t.reactivate(c.ID,{PrivateKey:s});case 12:if(e.t0=e.sent,e.t0){e.next=15;break}e.t0={};case 15:return i=e.t0,c.decrypted=!0,e.abrupt("return",i);case 20:if(e.prev=20,e.t1=e.catch(0),!(e.t1 instanceof Error)){e.next=24;break}return e.abrupt("return",{error:f,key:c});case 24:return e.abrupt("return",{error:h,key:c});case 25:case"end":return e.stop()}},e,m,[[0,20]])}));return function(t){return e.apply(this,arguments)}}(),C=j.map(S),s.next=11,n.default.all(C);case 11:return I=s.sent,a.call(),x=y(I),s.abrupt("return",{success:g(v.success,x.success,C),failed:b(x.failed)});case 15:case"end":return s.stop()}},s,m)}))}d.$inject=["authentication","Key","eventManager","gettextCatalog","passwords","pmcw"],t.default=d},"./src/app/address/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=f(a("./src/app/address/directives/addressBtnActions.js")),o=f(a("./src/app/address/directives/addressKeysView.js")),r=f(a("./src/app/address/directives/pmMeTooltip.js")),s=f(a("./src/app/address/directives/reactivateKeysBtn.js")),i=f(a("./src/app/address/factories/reactivateKeys.js")),l=f(a("./src/app/address/factories/addressModel.js")),c=f(a("./src/app/address/factories/addressWithoutKeys.js")),d=f(a("./src/app/address/modals/addressModal.js")),u=f(a("./src/app/address/modals/addressesModal.js")),p=f(a("./src/app/address/modals/setupAddressModal.js")),m=f(a("./src/app/address/services/addressWithoutKeysManager.js"));function f(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.address",[]).directive("addressBtnActions",n.default).directive("addressKeysView",o.default).directive("pmMeTooltip",r.default).directive("reactivateKeysBtn",s.default).factory("reactivateKeys",i.default).factory("addressModel",l.default).factory("addressWithoutKeys",c.default).factory("addressModal",d.default).factory("addressesModal",u.default).factory("setupAddressModal",p.default).factory("addressWithoutKeysManager",m.default).name},"./src/app/address/modals/addressModal.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/helpers/slicedToArray.js"),r=(n=o)&&n.__esModule?n:{default:n},s=a("./src/app/constants.js");function i(e,t,n,o,i,l,c,d,u,p,m){var f={ERROR_DECRYPT_ORG_KEY:u.getString("Cannot decrypt organization key",null,"Error"),errorPmMeSetup:function(){return u.getString("{{username}} is your username. To create {{username}}@pm.me, please go to Settings -> pm.me",{username:t.user.Name},"Error")},SUCCESS_ADD:u.getString("Address added",null,"Info")};return n({controllerAs:"ctrl",templateUrl:a("./src/templates/modals/addAddress.tpl.html"),controller:["params",function(a){var n=this,u=a.domains,h=void 0===u?[]:u,v=a.organizationKey,g=void 0===v?null:v,b=a.members,y=void 0===b?[]:b,_=p.get(),j=e.get()||[],A=(0,r.default)(j,1)[0],S=(A=void 0===A?{}:A).DisplayName,C=A.Signature;this.model={DisplayName:S||"",Signature:m.replaceLineBreaks(C||"")},this.domain=h[0],this.domains=h,this.address="",this.size=s.CONSTANTS.ENCRYPTION_DEFAULT,this.members=y,this.member=y[0],this.showAddMember=1===_.HasKeys&&i.is("secured.domains"),this.addMember=a.addMember,this.cancel=a.cancel,this.open=function(e){return o.$broadcast(e,a.domain)},this.submit=function(){if(0===n.member.Private&&!g)return c.error(f.ERROR_DECRYPT_ORG_KEY);if(!e.hasPmMe()&&t.user.Name+"@pm.me"==n.address+"@"+n.domain.DomainName)return c.error(f.errorPmMeSetup());var o=n.model,r={DisplayName:o.DisplayName,Signature:o.Signature,Local:n.address,Domain:n.domain.DomainName,MemberID:n.member.ID},s=d.create(r).then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};c.success(f.SUCCESS_ADD),a.submit(e.Address,n.member)});l.track(s)}}]})}i.$inject=["addressesModel","authentication","pmModal","$rootScope","$state","networkActivityTracker","notification","Address","gettextCatalog","organizationModel","tools"],t.default=i},"./src/app/address/modals/addressesModal.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/find.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n,o,s){return e({controllerAs:"ctrl",templateUrl:a("./src/templates/modals/domain/address.tpl.html"),controller:["params",function(e){var a=e.domain,i=e.members,l=e.step,c=e.showMember,d=void 0===c||c,u=n.get();this.domain=a,this.step=l,this.showMember=d&&1===u.HasKeys,this.next=e.next,this.close=e.cancel,this.open=function(a){t.$broadcast(a,e.domain)},this.getMember=function(e){return(0,r.default)(i,{ID:e})||{}},this.addAddress=function(){e.cancel(),o.add(a)},this.addMember=function(){e.cancel(),s.addFromDomain(a)}}]})}s.$inject=["pmModal","$rootScope","organizationModel","addressModel","memberActions"],t.default=s},"./src/app/address/modals/setupAddressModal.js":function(e,t,a){"use strict";function n(e){return e({controllerAs:"ctrl",templateUrl:a("./src/templates/address/setupAddressModal.tpl.html"),controller:["params",function(e){var t=this,a=e.submit,n=e.cancel;this.model={DisplayName:"",Signature:""},this.submit=function(){return a(t.model)},this.cancel=n}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["pmModal"],t.default=n},"./src/app/address/services/addressWithoutKeysManager.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/babel-runtime/helpers/defineProperty.js")),o=i(a("./node_modules/babel-runtime/regenerator/index.js")),r=i(a("./node_modules/babel-runtime/core-js/promise.js")),s=i(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js"));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t,a,i){var l,c=this,d=(l=(0,s.default)(o.default.mark(function e(t){var n,s,l=t.addresses,d=t.password,u=t.memberMap,p=void 0===u?{}:u;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.get("organizationModel"),s=i.get("organizationKeysModel"),e.next=4,s.manage(n.get());case 4:if(!l.length||a.active()){e.next=6;break}return e.abrupt("return",new r.default(function(e,t){a.activate({params:{memberMap:p,password:d,addresses:l,organizationKey:s.get("organizationKey"),onSuccess:function(){i.get("eventManager").call(),e(l),a.deactivate()},close:function(){t(new Error("generateModal:close")),a.deactivate()}}})}));case 6:s.clear();case 7:case"end":return e.stop()}},e,c)})),function(e){return l.apply(this,arguments)});return{manage:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.user,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments[2],r=e.get(a,n,o),s=r.addresses,i=r.memberMap,l=t.getPassword();return d({addresses:s,memberMap:i,password:l})},manageOne:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.getPassword(),r=[e],s=(0,n.default)({},e.ID,a);return a.Private?d({addresses:r,password:o}):d({addresses:r,memberMap:s,password:o})}}}l.$inject=["addressWithoutKeys","authentication","generateModal","$injector"],t.default=l},"./src/app/appLazy.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=C(a("./src/app/address/index.js")),o=C(a("./src/app/attachments/index.js")),r=C(a("./src/app/autoresponder/index.js")),s=C(a("./src/app/composer/index.js")),i=C(a("./src/app/conversation/index.js")),l=C(a("./src/app/dashboard/index.js")),c=C(a("./src/app/dnd/index.js")),d=C(a("./src/app/elements/index.js")),u=C(a("./src/app/filter/index.js")),p=C(a("./src/app/labels/index.js")),m=C(a("./src/app/message/index.js")),f=C(a("./src/app/sidebar/index.js")),h=C(a("./src/app/squire/index.js")),v=C(a("./src/app/vpn/index.js")),g=C(a("./src/app/wizard/index.js")),b=C(a("./src/app/blackFriday/index.js")),y=C(a("./src/app/contact/index.js")),_=C(a("./src/app/command/index.js")),j=C(a("./src/app/bridge/index.js")),A=C(a("./src/app/pmMe/index.js")),S=C(a("./src/app/search/index.js"));function C(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("protonLazy",["as.sortable","ngIcal","ngScrollbars","pikaday","ui.indeterminate",u.default,h.default,S.default,y.default,j.default,A.default,_.default,g.default,b.default,l.default,v.default,c.default,f.default,d.default,r.default,n.default,s.default,o.default,m.default,i.default,p.default])},"./src/app/attachments/directives/attendeeItem.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{scope:{},replace:!0,restrict:"E",templateUrl:a("./src/templates/attachments/attendeeItem.tpl.html"),link:function(e,t,a){var n=a.attendee,o=void 0===n?"":n;o.toLowerCase().startsWith("mailto:")?t[0].appendChild(function(e){var t=e.substr(7),a=t.indexOf("?"),n=a<0?t:t.substr(0,a),o=document.createElement("a");return o.href=e,o.textContent=n,o.classList.add("attendeeItem-mailto-link"),o}(o)):t[0].textContent=o}}}},"./src/app/attachments/directives/btnDownloadAttachments.js":function(e,t,a){"use strict";function n(e){return{scope:{model:"="},replace:!0,templateUrl:a("./src/templates/attachments/btnDownloadAttachments.tpl.html"),link:function(t,a){var n=function(){return a[0].classList.remove("btnDownloadAttachments-load")},o=function(o){if(e.isNotSupported(o))return!1;a[0].classList.add("btnDownloadAttachments-load"),e.all(t.model,a[0]).then(n)};a.on("click",o),t.$on("$destroy",function(){a.off("click",o)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["attachmentDownloader"],t.default=n},"./src/app/attachments/directives/eventsAttachments.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/defer.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n,o,s,i,l,c,d){return{scope:{model:"="},replace:!0,templateUrl:a("./src/templates/attachments/eventsAttachments.tpl.html"),link:function(e,t){var a=c(["message.open"]),n=a.on,s=a.unsubscribe;e.dateFormat=i.dateFormat;var u=function(t){var a=t.target;if("BUTTON"===a.nodeName){var n=a.getAttribute("data-event-uid"),r=e.model.events.find(function(e){return e.uid===n});if(r){if(o.isNotSupported(t))return!1;var s=r.attachment,i=s.filename,l=s.data;d(new Blob([void 0===l?"":l],{type:i}),i)}}};n("message.open",function(a,n){var o=n.type,c=void 0===o?"":o,d=n.data;if("render"===c){var u=(void 0===d?{}:d).message;!function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=i.filterAttachmentsForEvents(a);if(n.length){t.removeClass("eventsAttachments-hidden"),e.model.events=n.map(function(e,t){return{uid:t}}),t.addClass("eventsAttachments-load");var o=i.load(n,e.model).then(function(a){t.remove("eventsAttachments-load"),e.$applyAsync(function(){e.model.events=a.filter(Boolean).filter(function(e,t,a){return a.findIndex(function(t){return t.uid===e.uid})===t}),1===e.model.events.length&&(0,r.default)(function(){t[0].querySelector(".eventsAttachments-details").setAttribute("open","open")})})});l.track(o)}}((void 0===u?{}:u).Attachments),s()}}),t.on("click",u),e.$on("$destroy",function(){s(),t.off("click",u)})}}}s.$inject=["$state","$rootScope","pmcw","attachmentDownloader","AppModel","AttachmentEvent","networkActivityTracker","dispatchers","downloadFile"],t.default=s},"./src/app/attachments/directives/iconAttachment.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/helpers/toConsumableArray.js")),o=r(a("./node_modules/babel-runtime/core-js/object/keys.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e){var t={zip:"fa-archive-o",mp3:"fa-audio-o",javascript:"fa-code-o",xls:"fa-excel-o",mov:"fa-movie-o",pdf:"fa-pdf-o",power:"fa-powerpoint-o",word:"fa-word-o"};return{replace:!0,template:'<i class="fa"></i>',link:function(a,r){var s,i,l=[].concat(function(t){if(e.isEmbedded(t))return["fa-picture-o","embedded"];var a=["fa-file-o"];return t.MIMEType.includes("image")&&a.push("fa-image-o"),a}(a.attachment)).concat((s=a.attachment,i=s.MIMEType,(0,o.default)(t).filter(function(e){return i.includes(e)}).reduce(function(e,a){return e.push(t[a]),e},[])));_rAF(function(){var e;(e=r[0].classList).add.apply(e,(0,n.default)(l))})}}}s.$inject=["embedded"],t.default=s},"./src/app/attachments/directives/listAttachments.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/find.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n){return{scope:{model:"="},replace:!0,templateUrl:a("./src/templates/directives/attachments/listAttachments.tpl.html"),link:function(a,o){var s=o[0].querySelector(".listAttachments-list"),i=function(){return!a.model.Attachments.length&&o[0].classList.add("hidden")},l=t(["attachment.upload.outside"]),c=l.on,d=l.dispatcher,u=l.unsubscribe;c("attachmentAdded",function(){return a.model.Attachments.length&&o[0].classList.remove("hidden")}),i(),e.is("eo.reply")&&o[0].classList.add("state-eoReply");var p=function(t){var o=t.target;if("A"===o.nodeName){var s=o.getAttribute("data-attachment-id"),l=(0,r.default)(a.model.Attachments,{ID:s});if(o.classList.add("listAttachments-item-decrypt"),n.isNotSupported(t))return!1;n.download(l,a.model,o).then(function(){o.classList.add("listAttachments-item-download")}).catch(function(){o.classList.remove("listAttachments-item-decrypt")})}if("BUTTON"===o.nodeName){var c=o.getAttribute("data-attachment-id");e.is("eo.reply")&&d["attachment.upload.outside"]("remove",{id:o.getAttribute("data-attachment-id"),message:a.model}),a.$applyAsync(function(){1===((0,r.default)(a.model.Attachments,{ID:c}).Headers||{}).embedded&&a.model.NumEmbedded--,a.model.Attachments=a.model.Attachments.filter(function(e){return e.ID!==c}),i()})}};s.addEventListener("click",p,!1),a.$on("$destroy",function(){s.removeEventListener("click",p,!1),u()})}}}s.$inject=["$state","dispatchers","attachmentDownloader"],t.default=s},"./src/app/attachments/factories/attachmentFileFormat.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/babel-runtime/helpers/toConsumableArray.js")),o=i(a("./node_modules/lodash/includes.js")),r=a("./src/helpers/browser.js"),s=a("./src/app/constants.js");function i(e){return e&&e.__esModule?e:{default:e}}var l=s.MIME_TYPES.DEFAULT,c=s.MIME_TYPES.PLAINTEXT;t.default=function(){var e=["image/gif","image/jpeg","image/png","image/bmp"],t=function(e){return(0,r.isIE11)()?"Text"!==e:e!==l&&e!==c&&"text/uri-list"!==e};return{isEmbedded:function(t){return(0,o.default)(e,t)},getEmbedded:function(){return e},isUploadAbleType:function(e){var a=e.dataTransfer,o=[].concat((0,n.default)(a.types||[]));return!((0,r.isIE11)()&&!o.length)&&((0,r.isSafari)()?o.some(function(e){return"Files"===e}):o.every(t))}}}},"./src/app/attachments/factories/attachmentModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=f(a("./node_modules/babel-runtime/core-js/promise.js")),o=f(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),r=f(a("./node_modules/lodash/fp/reduce.js")),s=f(a("./node_modules/lodash/fp/map.js")),i=f(a("./node_modules/lodash/fp/filter.js")),l=f(a("./node_modules/lodash/fp/flow.js")),c=f(a("./node_modules/lodash/extend.js")),d=f(a("./node_modules/lodash/filter.js")),u=f(a("./node_modules/lodash/map.js")),p=f(a("./node_modules/lodash/find.js")),m=a("./src/app/constants.js");function f(e){return e&&e.__esModule?e:{default:e}}v.$inject=["$q","attachmentApi","AttachmentLoader","authentication","dispatchers","embedded","notification","networkActivityTracker","composerRequestModel","attachmentDownloader","gettextCatalog"];var h=m.MIME_TYPES.PLAINTEXT;function v(e,t,a,m,f,v,g,b,y,_,j){var A={},S={},C={ERROR_UPLOAD:j.getString("Error during file upload",null,"Compose message"),ERROR_ENCRYPT:j.getString("Error encrypting attachment",null,"Compose message")},I=f(["attachment.upload","actionMessage"]),x=I.on,E=I.dispatcher,w=function(e,t){return E["attachment.upload"](e,t)},T=function(e){return E.actionMessage("",e)},M=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];S=e.reduce(function(e,t){return e[t.REQUEST_ID]=t,e},S)},D=function(e,t){return S[t]?S[t].attachment:(0,p.default)(e.Attachments,{ID:t})};function k(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"attachment",p=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],m=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",f=e.defer(),h=(0,u.default)(o,function(e,n,o){var r=e.file,s=e.isEmbedded;return r.inline=+(s&&"inline"===d),function(e,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s={filename:e.name,uploading:!0,Size:e.size,ContentID:r,Inline:e.inline||0};s.Inline&&(n.NumEmbedded++,s.ContentID=r||v.generateCid(e.name,n.From.Email));return n.attachmentsToggle=!0,a.load(e,n.From.Keys[0].PublicKey).then(function(e){return t.upload(e,n,s,o).then(function(t){var a=t.attachment,n=t.sessionKey,o=t.REQUEST_ID,r=t.isAborted,s=t.isError;if(r||s)throw new Error("Request error");var i=(""+((a.Headers||{})["content-id"]||"")).replace(/[<>]+/g,"");return{attachment:a,sessionKey:n,packets:e,cid:i,REQUEST_ID:o}}).catch(function(e){console.error(e),g.error(C.ERROR_UPLOAD)})}).catch(function(e){throw console.error(e),g.error(C.ERROR_ENCRYPT),e})}(r,c,o.length,m)});return c.uploading=h.length,c.encryptingAttachment=!0,T(c),y.save(c,f),b.track(f.promise),n.default.all(h).then(function(e){return e.filter(Boolean)}).then(function(e){c.uploading=0,c.encryptingAttachment=!1,T(c);var t=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,l.default)((0,i.default)(function(e){var t=e.attachment,a=void 0===t?{}:t;return L(a)}),(0,i.default)(function(e){var t=e.cid;return t}),(0,s.default)(function(e){var a=e.packets,n=e.attachment,o=e.sessionKey,r=e.cid,s=e.REQUEST_ID,i=v.addEmbedded(t,r,a.Preview,n.MIMEType),l=i.url;return{packets:a,sessionKey:o,attachment:n,cid:r,url:l,REQUEST_ID:s}}),(0,r.default)(function(e,t){return e[t.attachment.ID]=t,e},{}))(e)}(e,c);return(0,u.default)(e,function(e){return t[e.attachment.ID]||e})}).then(function(e){return c.addAttachments(e.map(function(e){return e.attachment})),M(e),p&&e.length&&w("upload.success",{upload:e,message:c,messageID:c.ID}),f.resolve(),e}).catch(function(e){T(c),f.reject(e)})}function L(e){var t=e.Headers;return"inline"===(void 0===t?{}:t)["content-disposition"]}function P(e){var a=e.id,n=e.message,o=e.packet,r=e.messageID,s=n||{ID:r},i=e.attachment||D(s,a);t.remove(s,i).then(function(){var t,r=function(e,t){return S[e]?S[e]:(0,d.default)(S,function(e){return e.attachment.ID===t.ID})[0]}(a,i),s=(0,c.default)({},r||e,{message:n,attachment:i,id:a});1===o.Inline&&n.MIMEType!==h&&w("remove.embedded",s),n.removeAttachment(i),w("remove.success",s),t=s.REQUEST_ID,delete S[t]}).catch(function(e){w("remove.error",{message:n,exception:e})})}x("attachment.upload",function(e,a){var n,o,r=a.type,s=a.data;switch(r){case"close":t.killUpload(s);break;case"uploading":s.message.encryptingAttachment=!1,T(s.message);break;case"cancel":T(s.message);break;case"remove":P(s);break;case"remove.all":o=(n=s).message,n.list.forEach(function(e){P({id:e.ID,attachment:e,message:o,packet:{Inline:+L(e)}})});break;case"drop":!function(e){var t=e.messageID,a=e.message,n=e.queue;if(!n.files.length)return;A[t]=n,n.hasEmbedded||w("upload",{messageID:t,message:a,action:"attachment"})}(s);break;case"upload":!function(e){var t=e.messageID,a=e.message,n=e.action;if("cancel"===n)return void delete A[t];k(A[t].files,a,n).then(function(){a.uploading=0,delete A[t]})}(s);break;case"download.composer":!function(e){var t=e.id,a=e.message,n=S[t]||{attachment:a.getAttachment(t)};n.attachment&&_.download(n.attachment,a)}(s)}});return{create:function(e,t){var a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";return k([{file:e,isEmbedded:a}],t,a&&"inline",!1,n).then(function(e){var a=(0,o.default)(e,1)[0];return t.uploading=0,a}).catch(function(e){throw console.error(e),e})},getCurrentQueue:function(e){var t=e.ID;return A[t]}}}t.default=v},"./src/app/attachments/factories/embeddedStore.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=r(a("./node_modules/lodash/each.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var a={},r={},s={},i="draft_",l=function(){return window.URL||window.webkitURL};function c(e){return(""+(!!e.isDraft&&e.isDraft()?i:"")+(e.ConversationID||e.ID)).trim()}function d(e){var t=r[e]||[];(0,o.default)(t,function(e){a[e]&&(l().revokeObjectURL(a[e].url),delete a[e])}),delete r[e]}(0,e().on)("composer.update",function(e,t){var a=t.type,n=t.data;if("close"===a){var o=(void 0===n?{}:n).message,l=o.ID,c=o.ConversationID,u=""+i+(c||l);s[l]&&delete s[l],r[u]&&d(u)}});var u=function(e){return a[e]||{}},p=function(e){var t=e.ID;return s[t]||{}};return{store:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{isDraft:angular.noop},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=((s[e.ID]||{})[t]||{}).Headers,o=void 0===n?{}:n,i=c(e);return r[i]=r[i]||[],function(e,n){if(r[i]){var s=new Blob([e],{type:n}),c=l().createObjectURL(s);a[t]={url:c,isContentLocation:void 0!==o["content-location"]&&void 0===o["content-id"]},s=null,c=null,r[i].push(t)}}},deallocate:function(){var e=c(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});(0,n.default)(r).filter(function(t){return t!==e&&0!==t.indexOf(i)}).forEach(d)},getBlob:u,hasBlob:function(e){return!!a[e]},getBlobValue:function(e){var a=u(e).url;return t.getBlobFromURL(a)},cid:{contains:function(e){var t=e.ID;return(0,n.default)(s[t]||{}).length>0},exist:function(e,t){return!!p(e)[t]},add:function(e,a){var n=a.Headers,o=void 0===n?{}:n,r=a.Name,i=void 0===r?"":r;!s[e.ID]&&(s[e.ID]={}),!e.NumEmbedded&&(e.NumEmbedded=0);var l=t.readCID(o);o.embedded=1,e.NumEmbedded++,s[e.ID][l]={Headers:o,Name:i}},get:p}}}s.$inject=["dispatchers","embeddedUtils"],t.default=s},"./src/app/attachments/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=y(a("./src/app/attachments/directives/btnDownloadAttachments.js")),o=y(a("./src/app/attachments/directives/iconAttachment.js")),r=y(a("./src/app/attachments/directives/listAttachments.js")),s=y(a("./src/app/attachments/directives/eventsAttachments.js")),i=y(a("./src/app/attachments/factories/attachmentFileFormat.js")),l=y(a("./src/app/attachments/factories/attachmentModel.js")),c=y(a("./src/app/attachments/factories/embeddedStore.js")),d=y(a("./src/app/attachments/services/AttachmentLoader.js")),u=y(a("./src/app/attachments/services/AttachmentEvent.js")),p=y(a("./src/app/attachments/services/attachmentApi.js")),m=y(a("./src/app/attachments/services/attachmentDownloader.js")),f=y(a("./src/app/attachments/services/embedded.js")),h=y(a("./src/app/attachments/services/embeddedFinder.js")),v=y(a("./src/app/attachments/services/embeddedParser.js")),g=y(a("./src/app/attachments/services/embeddedUtils.js")),b=y(a("./src/app/attachments/directives/attendeeItem.js"));function y(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.attachments",["proton.authentication","proton.utils"]).directive("attendeeItem",b.default).directive("btnDownloadAttachments",n.default).directive("iconAttachment",o.default).directive("eventsAttachments",s.default).directive("listAttachments",r.default).factory("attachmentFileFormat",i.default).factory("attachmentModel",l.default).factory("embeddedStore",c.default).factory("AttachmentLoader",d.default).factory("AttachmentEvent",u.default).factory("attachmentApi",p.default).factory("attachmentDownloader",m.default).factory("embedded",f.default).factory("embeddedFinder",h.default).factory("embeddedParser",v.default).factory("embeddedUtils",g.default).name},"./src/app/attachments/services/AttachmentEvent.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/core-js/promise.js")),o=r(a("./node_modules/ical.js/build/ical.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,a){var r=/\.(?:ics|icalendar|ical|vcard|vcf)$/i,s=function(n,r){return e.downloadString(n,r).then((s=n,i=s.Name,function(e){var t=o.default.parse(e),a=new o.default.Component(t),n=a.getFirstSubcomponent("vevent"),r=new o.default.Event(n);if(!n)return!1;var s=r.attendees,l=void 0===s?[]:s;return r.startDate&&r.endDate&&(r.startDateMoment=moment(r.startDate.toJSDate()),r.endDateMoment=moment(r.endDate.toJSDate())),l.length&&(r.attendeesList=l.reduce(function(e,t){return e.concat(t.getValues())},[])),!r.summary&&r.location&&(r.summary=r.location),r.attachment={filename:i,data:e},r})).catch(function(e){return a.is("onLine")&&t.error(e)});var s,i};return{dateFormat:function(e){var t=e.startDateMoment,a=e.endDateMoment,n=e.startDate,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!moment.isMoment(t)||!moment.isMoment(a))return"";var r=o&&n.timezone?"("+n.timezone+")":"";return a.diff(t,"days")<1?t.format("ll")+" "+t.format("LT")+" – "+a.format("LT")+" "+r:t.format("ll")+" "+t.format("LT")+" – "+a.format("ll")+" "+a.format("LT")+" "+r},filterAttachmentsForEvents:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter(function(e){var t=e.Name;return r.test(t)})},load:function(e,t){return n.default.all(e.map(function(e){return s(e,t)}))}}}s.$inject=["attachmentDownloader","notification","AppModel"],t.default=s},"./src/app/attachments/services/AttachmentLoader.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/regenerator/index.js")),o=s(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),r=s(a("./node_modules/babel-runtime/core-js/promise.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a,s,i,l,c,d,u,p){var m=this,f=e("attachments"),h=function(e){return"attachment."+e.ID},v=function(){return l.is("eo.message")||l.is("eo.reply")},g=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).ID;if(v()){var t=u.getItem("proton:decrypted_token"),a=c.tag;return d.attachment(t,a,e)}return p.get(e)},b=function(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=new Uint8Array(e);return s.decryptMessage({message:s.getMessage(o),sessionKey:n,format:"binary",publicKeys:a?s.getKeys(a):[]}).then(function(e){return e.data}).catch(function(e){return t.error(e),e})},y=function(e,t,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n.name,r=n.type,i=n.size,l=n.inline,c=new Uint8Array(e);return s.encryptMessage({passwords:[],filename:o,armor:!1,data:c,publicKeys:s.getKeys(t),privateKeys:a}).then(function(e){var t=e.message,a=s.splitMessage(t),n=a.asymmetric,d=a.encrypted;return{Filename:o,MIMEType:r,FileSize:i,Inline:l,Preview:c,keys:n[0],data:d[0]}})};var _,j=function(e,t){if(t.sessionKey)return r.default.resolve(t);var a=s.binaryStringToArray(s.decode_base64(t.KeyPackets)),n={message:s.getMessage(a)};return v()?n.password=s.decode_utf8_base64(u.getItem("proton:encrypted_password")):n.privateKeys=i.getPrivateKeys(e.AddressID),s.decryptSessionKey(n).then(function(e){return angular.extend({},t,{sessionKey:e})})};return{get:(_=(0,o.default)(n.default.mark(function e(){var t,a,o,i,l,c,d,u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!f.get("attachment."+u.ID)){e.next=2;break}return e.abrupt("return",f.get(h(u)));case 2:if(!u.Preview){e.next=4;break}return e.abrupt("return",u.Preview);case 4:return t=null,e.next=7,g(u);case 7:return a=e.sent,o=a.data,e.prev=9,e.next=12,j(p,u);case 12:return i=e.sent,l=i.sessionKey,e.next=16,b(o,t,l);case 16:return c=e.sent,f.put(h(u),c),e.abrupt("return",c);case 21:return e.prev=21,e.t0=e.catch(9),d=s.concatArrays([s.binaryStringToArray(s.decode_base64(u.KeyPackets)),new Uint8Array(o)]),e.abrupt("return",r.default.reject({data:d,error:e.t0}));case 25:case"end":return e.stop()}},e,m,[[9,21]])})),function(){return _.apply(this,arguments)}),load:function(e,t,n){var o=a.defer(),r=new FileReader;return e?(r.onloadend=function(){y(r.result,t,n,e).then(o.resolve).catch(function(){return o.reject("Failed to encrypt attachment. Please try again.")})},r.readAsArrayBuffer(e),o.promise):o.reject(new TypeError("You did not provide a file"))},flushCache:function(){return f.removeAll()},getSessionKey:j}}i.$inject=["$cacheFactory","$log","$q","pmcw","authentication","$state","$stateParams","Eo","secureSessionStorage","attachmentApi"],t.default=i},"./src/app/attachments/services/attachmentApi.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./node_modules/babel-runtime/regenerator/index.js")),o=c(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),r=c(a("./node_modules/babel-runtime/core-js/object/keys.js")),s=c(a("./node_modules/babel-runtime/helpers/defineProperty.js")),i=c(a("./node_modules/babel-runtime/helpers/extends.js")),l=a("./src/app/constants.js");function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t,a,c,d,u,p,m,f){var h=this,v={message:{},request:{}},g=t.build("attachments"),b=c(["attachment.upload"]).dispatcher,y=function(e,t){return b["attachment.upload"](e,t)};var _;return{get:function(t){return e.get(g(t),{responseType:"arraybuffer"})},upload:function(e,t,n,o){var h=Math.random().toString(32).slice(2,12)+"-"+Date.now(),b=function(e,t,a){return function(n,o){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];y("uploading",{id:e,messageID:t.ID,message:t,status:o,progress:n,packet:a,isStart:r})}}(h,t,n),_=a.defer(),j=new XMLHttpRequest,A=d.getPrivateKeys(t.AddressID),S=c(),C=S.on,I=S.unsubscribe;C("AppModel",function(e,t){var a=t.type,n=t.data;"onLine"!==a||(void 0===n?{}:n).value||j.abort()});var x={id:h,messageID:t.ID,packet:n,request:j};function E(e){if(delete v.message[t.ID][h],delete v.request[h],t.uploading=(0,r.default)(v.message[t.ID]).length,y("error",{id:h,messageID:t.ID,message:t}),e)return _.reject(e);_.resolve({id:h,isError:!0}),I()}return v.message[t.ID]=(0,i.default)({},v.message[t.ID]||{},(0,s.default)({},h,x)),v.request[h]=v.message[t.ID][h],b(1,!0,!0),j.upload.onprogress=function(e){var t=e.loaded/e.total*99;b(t,!0)},j.onerror=E,j.onabort=function(){delete v.message[t.ID][h],delete v.request[h],t.uploading=(0,r.default)(v.message[t.ID]).length,y("cancel",{id:h,messageID:t.ID,message:t}),_.resolve({id:h,isAborted:!0}),I()},j.onload=function(){var a=function(e){var t=function(e){return{json:e,isInvalid:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}};try{return t(JSON.parse(e.responseText))}catch(a){return t({Error:"JSON parsing error: "+e.responseText},!0)}}(j),r=a.json,s=a.isInvalid,l=this.status;if(I(),200!==l||r.Error){var c=s?f.getString("Unable to upload file. Please try again",null,"Error"):r.Error;return E((0,i.default)({},r,{Error:c}))}b(100,!1),y("uploaded.success",{id:h,messageID:t.ID,packet:n,total:o,message:t}),delete v.message[t.ID][h],delete v.request[h];var d=u.getMessage(e.keys);u.decryptSessionKey({message:d,privateKeys:A}).then(function(e){return{REQUEST_ID:h,sessionKey:e,attachment:(0,i.default)({},r.Attachment||{},{sessionKey:e})}}).then(_.resolve).catch(_.reject)},j.open("post",g("upload"),!0),j.withCredentials=!0,j.setRequestHeader("X-Requested-With","XMLHttpRequest"),j.setRequestHeader("Accept","application/vnd.protonmail.v1+json"),j.setRequestHeader("x-pm-appversion","Web_"+p.app_version),j.setRequestHeader("x-pm-apiversion",p.api_version),j.setRequestHeader("x-pm-uid",m.getItem(l.CONSTANTS.OAUTH_KEY+":UID")),j.send(function(e,t,a){var n=new FormData;return n.append("Filename",e.Filename),n.append("MessageID",t.ID),n.append("ContentID",a.ContentID),n.append("MIMEType",e.MIMEType),n.append("Inline",e.Inline),n.append("KeyPackets",new Blob([e.keys])),n.append("DataPacket",new Blob([e.data])),n}(e,t,n)),_.promise},killUpload:function(e){var t=e.id,a=e.messageID;v.request[t].request.abort(),delete v.message[a][t],delete v.request[t]},remove:(_=(0,o.default)(n.default.mark(function t(){var a,o,r,s,i=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).ID,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e.delete(g(l.ID),{MessageID:i});case 3:return a=t.sent,o=a.data,r=void 0===o?{}:o,t.abrupt("return",r);case 9:throw t.prev=9,t.t0=t.catch(0),s=f.getString("Error during the remove request",null,"Error delete attachment"),new Error(t.t0.Error||s);case 13:case"end":return t.stop()}},t,h,[[0,9]])})),function(){return _.apply(this,arguments)})}}d.$inject=["$http","url","$q","dispatchers","authentication","pmcw","CONFIG","secureSessionStorage","gettextCatalog"],t.default=d},"./src/app/attachments/services/attachmentDownloader.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/babel-runtime/regenerator/index.js")),o=l(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),r=l(a("./node_modules/babel-runtime/core-js/promise.js")),s=l(a("./node_modules/lodash/extend.js")),i=a("./src/helpers/browser.js");function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t,a,l,c,d,u){var p,m,f,h=this,v=(0,i.isFileSaverSupported)(),g={NOT_SUPPORTED:e.getString("Your browser lacks features needed to download encrypted attachments directly. Please right-click on the attachment and select Save/Download As.",null,"Error"),BROKEN_ATT:{title:e.getString("Error decrypting attachment",null,"Title"),message:e.getString("The attachment will be downloaded but it will still be encrypted.",null,"Error")+"<br><br>"+e.getString("You can decrypt the file with a program such as {{link}} if you have the corresponding private key.",{link:'<a href="https://www.gnupg.org/" target="_blank" title="GnuPG is a free implementation of OpenPGP">GPG</a>'},"Info"),confirmText:e.getString("Download",null,"Action")},ERROR_ZIP:e.getString("Cannot generate a zip of your attachments.",null,"Error")},b=function(e,t,a){try{if(v)return window.saveAs(e,t);var n=new FileReader;n.onloadend=function(){a.href=n.result},n.readAsDataURL(e)}catch(e){console.error(e)}},y=function(e){b(new Blob([e.data],{type:e.MIMEType}),e.Name,e.el)},_=function(){return new r.default(function(e){var t=(0,s.default)({isWarning:!0,confirm:function(){e(!0),d.deactivate()},cancel:function(){e(!1),d.deactivate()}},g.BROKEN_ATT);d.activate({params:t})})},j=(p=(0,o.default)(n.default.mark(function e(a,o,r){var s;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t.get(a,o);case 3:return s=e.sent,e.abrupt("return",{el:r,data:s,Name:a.Name,MIMEType:a.MIMEType});case 7:if(e.prev=7,e.t0=e.catch(0),!e.t0.data){e.next=11;break}return e.abrupt("return",{el:r,data:e.t0.data,Name:a.Name+".pgp",MIMEType:"application/pgp",isError:!0});case 11:throw e.t0;case 12:case"end":return e.stop()}},e,h,[[0,7]])})),function(e,t,a){return p.apply(this,arguments)});return{isNotSupported:function(e){return!(!e.target.href||-1===e.target.href.search(/^data.*/)||(alert(g.NOT_SUPPORTED),e.preventDefault(),e.stopPropagation(),0))},download:(m=(0,o.default)(n.default.mark(function e(t,a,o){var r;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,j(t,a,o);case 2:if(!(r=e.sent).isError){e.next=8;break}return e.next=6,_();case 6:if(e.sent){e.next=8;break}return e.abrupt("return");case 8:return e.abrupt("return",y(r));case 9:case"end":return e.stop()}},e,h)})),function(e,t,a){return m.apply(this,arguments)}),all:(f=(0,o.default)(n.default.mark(function e(){var t,o,s,i,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},d=arguments[1];return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=(c.Attachments||[]).filter(function(e){return!a.isEmbedded(e)}).map(function(e){return j(e,c)}),e.next=4,r.default.all(t);case 4:if(!(o=e.sent).some(function(e){return e.isError})){e.next=10;break}return e.next=8,_();case 8:if(e.sent){e.next=10;break}return e.abrupt("return");case 10:return s=new window.JSZip,o.forEach(function(e){var t=e.Name,a=e.data;return s.file(t,a)}),e.next=14,s.generateAsync({type:"blob"});case 14:i=e.sent,b(i,"Attachments-"+c.Subject+".zip",d),e.next=22;break;case 18:e.prev=18,e.t0=e.catch(0),console.error(e.t0),l.error(g.ERROR_ZIP);case 22:case"end":return e.stop()}},e,h,[[0,18]])})),function(){return f.apply(this,arguments)}),downloadString:function(e,a){return t.get(e,a).then(function(e){return u.decode_utf8(u.arrayToBinaryString(e))})}}}c.$inject=["gettextCatalog","AttachmentLoader","embeddedUtils","notification","AppModel","confirmModal","pmcw"],t.default=c},"./src/app/attachments/services/embedded.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/promise.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a,n){var o=/^cid:/g;return{parser:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.direction,s=void 0===o?"blob":o,i=n.text,l=void 0===i?"":i,c=n.isOutside,d=void 0!==c&&c,u=l||t.getDecryptedBody();return e.find(t)?a.decrypt(t).then(function(){return a.escapeHTML(t,s,u)}).catch(function(e){throw console.error(e),e}):d?r.default.resolve(a.escapeHTML(t,s,u)):r.default.resolve(u)},addEmbedded:function(e,a,n,o){return t.store(e,a)(n,o),t.getBlob(a)},getUrl:function(e){var a=n.srcToCID(e),o=t.getBlob(a).url;return void 0===o?"":o},getAttachment:function(a,n){var r=n.replace(o,"");if(e.find(a))return t.cid.get(a)[r]||{}},isEmbedded:n.isEmbedded,getCid:n.readCID,getBlob:t.getBlobValue,deallocator:t.deallocate,clean:t.cleanMemory,removeEmbedded:a.removeEmbeddedHTML,exist:t.cid.exist,generateCid:n.generateCid}}s.$inject=["embeddedFinder","embeddedStore","embeddedParser","embeddedUtils"],t.default=s},"./src/app/attachments/services/embeddedFinder.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=r(a("./node_modules/lodash/each.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return{find:function(a){var n=a.getAttachments();return a.NumEmbedded=0,!!n.length&&((0,o.default)(n,function(n){t.isEmbedded(n)&&e.cid.add(a,n)}),e.cid.contains(a))},listInlineAttachments:function(a){var o=a.getAttachments(),r=e.cid.get(a);return(0,n.default)(r).reduce(function(e,a){var n=r[a].Headers["content-id"],s=t.getAttachementName(r[a].Headers),i=o.filter(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.Headers,a=void 0===t?{}:t,o=e.Name,r=void 0===o?"":o;return a["content-location"]?r===s:a["content-id"]===n})[0];return i&&e.push({cid:a,attachment:i}),e},[])}}}s.$inject=["embeddedStore","embeddedUtils"],t.default=s},"./src/app/attachments/services/embeddedParser.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=u(a("./node_modules/babel-runtime/core-js/object/create.js")),o=u(a("./node_modules/babel-runtime/core-js/promise.js")),r=u(a("./node_modules/babel-runtime/core-js/object/keys.js")),s=u(a("./node_modules/lodash/fp/map.js")),i=u(a("./node_modules/lodash/fp/filter.js")),l=u(a("./node_modules/lodash/fp/flow.js")),c=u(a("./node_modules/lodash/each.js")),d=a("./src/app/constants.js");function u(e){return e&&e.__esModule?e:{default:e}}function p(e,t,a,u,p,m,f){var h=document.createElement("DIV"),v={blob:function(e,t,a){(0,c.default)(e,function(e){e.src=a,e.setAttribute("data-embedded-img",t),e.removeAttribute("data-src"),e.classList.add("proton-embedded")})},cid:function(e,t){(0,c.default)(e,function(e){e.removeAttribute("data-embedded-img"),e.removeAttribute("src"),e.setAttribute("data-src","cid:"+t)})}};return{escapeHTML:function(t,a,n){var o=(h.innerHTML="",h);return o.innerHTML=n.replace(/src="cid/g,'data-src="cid'),(0,r.default)(e.cid.get(t)).forEach(function(t){var n=e.getBlob(t),r=n?n.url:"",s='img[src="'+t+'"], img[data-embedded-img="cid:'+t+'"], img[data-embedded-img="'+t+'"], img[data-src="cid:'+t+'"]',i=[].slice.call(o.querySelectorAll(s));i.length&&(v[a]||angular.noop)(i,t,r)}),o.innerHTML.replace(/data-src/g,"src")},removeEmbeddedHTML:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(a.isInline(t)){var o=a.readCID(t),r=$("<div>"+(n||e.getDecryptedBody())+"</div>");e.NumEmbedded--;var s=r.find('img[src="cid:'+o+'"], img[data-embedded-img="cid:'+o+'"], img[data-embedded-img="'+o+'"]');s.length&&s.remove(),e.setDecryptedBody(r.html(),!0)}return e.getDecryptedBody()},decrypt:function(a){var r=t.listInlineAttachments(a),c=!0===a.showEmbedded||f.get("ShowImages")&d.EMBEDDED,p=m.includes("secured.drafts.**")||a.isDraft(),h=(0,l.default)((0,i.default)(function(e){return e.attachment.KeyPackets}),(0,i.default)(function(t){var a=t.cid;return!e.hasBlob(a)&&(c||p)}),(0,s.default)(function(t){var n=t.cid,o=t.attachment,r=e.store(a,n);return u.get(o,a).then(function(e){return r(e,o.MIMEType)})}))(r);return h.length?o.default.all(h).then(function(){return r.reduce(function(t,a){var n=a.cid;return t[n]=e.getBlob(n),t},(0,n.default)(null))}):o.default.resolve({})}}}p.$inject=["embeddedStore","embeddedFinder","embeddedUtils","AttachmentLoader","attachmentFileFormat","$state","mailSettingsModel"],t.default=p},"./src/app/attachments/services/embeddedUtils.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/core-js/promise.js")),o=r(a("./node_modules/babel-runtime/helpers/slicedToArray.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var a=document.createElement("DIV"),r=/^cid:/g;function s(e){var t=(""+(e||"")).trim();return['"',"'","<"].indexOf(t.charAt(0))>-1&&['"',"'",">"].indexOf(t.charAt(t.length-1))>-1?t.substr(1,t.length-2):t}var i=function(){return!!(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})["content-id"]};return{isInline:i,isEmbedded:function(t){var a=t.Headers,n=void 0===a?{}:a,o=t.MIMEType,r=void 0===o?"":o;return i(n)&&e.isEmbedded(r)},getAttachementName:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("inline"!==e["content-disposition"]){var t=(e["content-disposition"]||"").split("filename="),a=(0,o.default)(t,2)[1];if(a)return a.replace(/"/g,"")}return""},generateCid:function(e,a){return t.hash(e).toString(16)+"@"+a.split("@")[1]},srcToCID:function(e){return(e.getAttribute("data-embedded-img")||"").replace(r,"")},readCID:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e["content-id"]?s(e["content-id"]):e["content-location"]?s(e["content-location"]):""},trimQuotes:s,getBodyParser:function(){return a.innerHTML="",a},getBlobFromURL:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=new XMLHttpRequest;return new n.default(function(a,n){t.open("GET",e,!0),t.responseType="blob",t.onload=function(){if(200===t.status)return a(t.response);n(t.response)},t.send()})}}}s.$inject=["attachmentFileFormat","tools"],t.default=s},"./src/app/autoresponder/directives/autoresponder.js":function(e,t,a){"use strict";function n(e,t,n,o){var r=[{label:n.DURATION_FOREVER,value:e.constants.FOREVER},{label:n.DURATION_FIXED,value:e.constants.FIXED_INTERVAL},{label:n.DURATION_DAILY,value:e.constants.DAILY},{label:n.DURATION_WEEKLY,value:e.constants.WEEKLY},{label:n.DURATION_MONTHLY,value:e.constants.MONTHLY}];return{replace:!0,restrict:"E",templateUrl:a("./src/templates/autoresponder/autoresponder.tpl.html"),scope:{},link:function(t,a,n){var s=n.mock,i=o(["autoresponder"]),l=i.dispatcher,c=i.unsubscribe,d=i.on;t.mock="true"===s,t.frequencies=r,t.datetimepickerStartTime="startTimePickerKey",t.datetimepickerEndTime="endTimePickerKey",t.submitting=!1,t.model={isEnabled:!1,message:null,repeat:0,subject:null,startTime:null,endTime:null,daysSelected:{0:!0,1:!0,2:!0,3:!0,4:!0,5:!0,6:!0}};t.isValid=function(){return!t.model.isEnabled||!(null!==(a=t.model.message)&&0===$(a).text().trim().length)&&t.model.message.length<e.constants.MAX_MESSAGE_LENGTH&&(t.model.repeat===e.constants.FOREVER||null!==t.model.startTime&&null!==t.model.endTime);var a};var u=function(){t.mock||t.$applyAsync(function(){t.submitting=!0,l.autoresponder("save",{autoresponder:t.model})})};t.timezones=e.timezones,t.mock?(d("autoresponder",function(e,a){var n=a.type,o=a.data,r=void 0===o?{}:o;"update"===n&&(t.model=r.autoresponder)}),e.mock()):(d("autoresponder",function(e,a){var n=a.type,o=a.data,r=void 0===o?{}:o;switch(n){case"update":t.model=r.autoresponder;break;case"saved_success":case"saved_error":t.submitting=!1}}),d("autoresponder.toggle",function(t,a){var n=a.status;e.willUpdate(n)&&(e.set({isEnabled:n}),n||u())}),e.load());var p=a.find("form");p.on("submit",u),t.$on("$destroy",function(){c(),p.off("submit",u)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["autoresponderModel","timepickerModel","autoresponderLanguage","dispatchers"],t.default=n},"./src/app/autoresponder/directives/autoresponderMessage.js":function(e,t,a){"use strict";function n(e,t){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/autoresponder/autoresponderMessage.tpl.html"),scope:{message:"="},link:function(a,n,o){var r=o.disabled,s=t(),i=s.on,l=s.unsubscribe;a.disabled="true"===r,a.halfMessageLength=e.constants.HALF_MESSAGE_LENGTH,a.maxMessageLength=e.constants.MAX_MESSAGE_LENGTH,a.isEmpty=function(e){return null!==e&&0===$(e).text().trim().length},i("autoresponder",function(e,t){var n=t.type,o=t.data,r=void 0===o?{}:o;"update"===n&&(a.message=r.autoresponder.message)}),a.$on("$destroy",l)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["autoresponderModel","dispatchers"],t.default=n},"./src/app/autoresponder/directives/autoresponderTimePicker.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/helpers/defineProperty.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/autoresponder/autoresponderTimePicker.tpl.html"),scope:{form:"="},link:function(a,o,s){var i=s.datePickerKey,l=s.labelId,c=s.repeat,d=s.zone,u=s.timestamp,p=s.disableInput,m=t(),f=m.on,h=m.unsubscribe;a.repeat=Number(c),a.timestamp=String(Number(u))===u?Number(u):null,a.disableInput="true"===p,a.zone=d,a.constants=e.constants,a.labelId=l,a.datePickerKey=i,c===e.constants.DAILY&&n.initTimePicker(i,{disableInput:p,labelId:l}),f("timepicker",function(t,n){var o=n.type,s=n.data;"update"===o&&s.eventKey===i&&(a.timestamp=s.timestamp,e.set((0,r.default)({},l,s.timestamp)))}),f("autoresponder",function(t,o){var r=o.type,s=o.data,c=void 0===s?{}:s;if("update"===r){var d=c.autoresponder.repeat!==a.repeat||a.timestamp!==c.autoresponder[l];a.repeat=c.autoresponder.repeat,a.timestamp=c.autoresponder[l],a.zone=c.autoresponder.zone,c.autoresponder.repeat===e.constants.DAILY&&n.initTimePicker(i,{disableInput:p,labelId:l}),d&&n.refresh(a.datePickerKey,a.timestamp,a.zone)}}),a.$on("$destroy",h)}}}s.$inject=["autoresponderModel","dispatchers","timepickerModel"],t.default=s},"./src/app/autoresponder/directives/autoresponderTimeSection.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/map.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n){var o=(0,r.default)(t.getSortedWeekdays(),function(e){return{value:e.value,label:e.shortLabel}});return{replace:!0,restrict:"E",templateUrl:a("./src/templates/autoresponder/autoresponderTimeSection.tpl.html"),scope:{form:"="},link:function(t,a,r){var s=r.mock,i=n(),l=i.on,c=i.unsubscribe;t.days=o,t.constants=e.constants,t.timezones=e.timezones,t.mock="true"===s,t.model=e.get(),l("autoresponder",function(e,a){var n=a.type,o=a.data,r=void 0===o?{}:o;"update"===n&&(t.model=r.autoresponder)}),l("multiselect",function(t,a){var n=a.type,o=a.name,r=a.data,s=void 0===r?{}:r;"update"===n&&"autoresponder.daysSelected"===o&&e.set({daysSelected:s.value})}),t.$on("$destroy",c)}}}s.$inject=["autoresponderModel","dateUtils","dispatchers"],t.default=s},"./src/app/autoresponder/directives/autoresponderView.js":function(e,t,a){"use strict";function n(e){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/autoresponder/autoresponderView.tpl.html"),scope:{},link:function(t){t.isFree=e().isFree}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["userType"],t.default=n},"./src/app/autoresponder/directives/durationselect.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/find.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n){var o=[{label:t.DURATION_FIXED,value:e.constants.FIXED_INTERVAL},{label:t.DURATION_DAILY,value:e.constants.DAILY},{label:t.DURATION_WEEKLY,value:e.constants.WEEKLY},{label:t.DURATION_MONTHLY,value:e.constants.MONTHLY},{label:t.DURATION_FOREVER,value:e.constants.FOREVER}];return{replace:!0,restrict:"E",templateUrl:a("./src/templates/autoresponder/durationselect.tpl.html"),scope:{},link:function(t,a,s){var i=s.disableInput,l=s.repeat,c=n(),d=c.on,u=c.unsubscribe;function p(){t.$applyAsync(function(){e.set({repeat:t.repeat.value})})}t.frequencies=o,t.repeat=(0,r.default)(t.frequencies,{value:Number(l)}),"true"===i&&a.attr("disabled","disabled"),d("autoresponder",function(e,a){var n=a.type,o=a.data,s=void 0===o?{}:o;"update"===n&&(t.repeat=(0,r.default)(t.frequencies,{value:s.autoresponder.repeat}))}),a.on("change",p),t.$on("$destroy",function(){a.off("change",p),u()})}}}s.$inject=["autoresponderModel","autoresponderLanguage","dispatchers"],t.default=s},"./src/app/autoresponder/directives/zoneselect.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/find.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t){return{replace:!0,restrict:"E",template:'<select id="time-zone" name="time-zone" ng-options="zone.label for zone in timezones track by zone.value" ng-model="zone"></select>',scope:{},link:function(a,n,o){var s=o.zone,i=o.disableInput,l=t(),c=l.on,d=l.unsubscribe;a.timezones=e.timezones,"true"===i&&n.attr("disabled","disabled"),a.zone=(0,r.default)(a.timezones,{value:s});var u=function(){a.$applyAsync(function(){return e.set({zone:a.zone.value})})};c("autoresponder",function(e,t){var n=t.type,o=t.data,s=void 0===o?{}:o;"update"===n&&(a.zone=(0,r.default)(a.timezones,{value:s.autoresponder.zone}))}),n.on("change",u),a.$on("$destroy",function(){n.off("change",u),d()})}}}s.$inject=["autoresponderModel","dispatchers"],t.default=s},"./src/app/autoresponder/factories/autoresponderModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=l(a("./node_modules/babel-runtime/helpers/toConsumableArray.js")),r=l(a("./node_modules/lodash/pickBy.js")),s=l(a("./node_modules/lodash/extend.js")),i=l(a("./node_modules/lodash/map.js"));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t,a,l,c,d,u,p,m,f){var h=a(["autoresponder"]),v=h.dispatcher,g=h.on,b=new Date,y=moment(b),_=(0,i.default)(moment.tz.names(),function(e){return{label:e+": UTC "+y.tz(e).format("Z"),value:e}}),j={FIXED_INTERVAL:0,DAILY:1,WEEKLY:2,MONTHLY:3,FOREVER:4,HALF_MESSAGE_LENGTH:2048,MAX_MESSAGE_LENGTH:4096,HOUR:3600,DAY:86400},A={},S=function(e){return A=(0,s.default)({},A,e)},C=function(){return A={}};var I=function(){return(0,s.default)({},function(){var e=(0,s.default)({},c.get("AutoResponder")||{});if(null===e||!e.isEnabled)return E();var t=e.daysSelected;return e.daysSelected=t.reduce(function(e,t){return e[t]=!0,e},(0,s.default)({},[].concat((0,o.default)(new Array(7))).map(function(){return!1}))),e}(),A)},x=function(e,t){return v.autoresponder(e,t)};function E(){var t={isEnabled:!1,startTime:Math.floor(Date.now()/1e3)+j.HOUR,endTime:null,daysSelected:(0,s.default)({},[].concat((0,o.default)(new Array(7))).map(function(){return!0})),repeat:j.FIXED_INTERVAL,subject:e.DEFAULT_SUBJECT_PREFIX,message:null,zone:moment.tz.guess()},a=e.DEFAULT_BODY,n=f.insert({getDecryptedBody:function(){return a}},{action:"new",isAfter:!0}).replace(/<img[^>]*>/g,"");return n.length>j.MAX_MESSAGE_LENGTH?t.message=a:t.message=n,t}function w(e){var t=(0,s.default)({},e),a=I(),n=(0,s.default)({},a,t);if(n.zone!==a.zone&&n.repeat===j.FIXED_INTERVAL){var o=n.startTime,r=n.endTime,i=a.zone,l=t.zone;null!==o&&(t.startTime=Number(moment.tz(moment.tz(1e3*o,i).format("YYYY-MM-DDTHH:mm:ss"),l).format("X"))),null!==r&&(t.endTime=Number(moment.tz(moment.tz(1e3*r,i).format("YYYY-MM-DDTHH:mm:ss"),l).format("X")))}if(void 0!==t.repeat&&a.repeat!==t.repeat){var c=t.repeat===j.FOREVER;t.startTime=c?0:null,t.endTime=c?0:null,t.repeat===j.FIXED_INTERVAL&&(t.startTime=Math.floor(Date.now()/1e3)+j.HOUR),void 0===t.daysSelected&&(t.daysSelected={0:!0,1:!0,2:!0,3:!0,4:!0,5:!0,6:!0})}S(t);var d=I();x("update",{autoresponder:d})}function T(){var a,o,i=function(){var e=I();return e.daysSelected=(0,n.default)((0,r.default)(e.daysSelected,Boolean)).map(Number),e.isEnabled?(e.repeat===j.FOREVER&&(e.startTime=0,e.endTime=0),e):(0,s.default)(e,{repeat:j.FOREVER,startTime:0,endTime:0,daysSelected:[0,1,2,3,4,5,6],zone:"utc",message:"",subject:null})}(),l=c.get("AutoResponder")||E(),p=(a=l.isEnabled,o=i.isEnabled,a===o?e.AUTORESPONDER_UPDATED_MESSAGE:o?e.AUTORESPONDER_INSTALLED_MESSAGE:e.AUTORESPONDER_REMOVED_MESSAGE),f=m.updateAutoresponder({Parameters:i}).then(function(e){return t.call().then(function(){return e})}).then(function(e){x("saved_success",e),u.success(p)}).catch(function(e){return x("saved_error",{Error:e})});d.track(f)}return g("autoresponder",function(e,t){var a=t.type,n=t.data;"save"===a&&(w((void 0===n?{}:n).autoresponder),T())}),g("autoresponder.isEnabled",function(e,t){w({isEnabled:t.status})}),{init:angular.noop,constants:j,load:function(){C();var e=I();x("update",{autoresponder:e})},mock:function(){var e=E();e.isEnabled=!0,e.repeat=0,e.startTime=Math.floor(Date.now()/1e3),e.endTime=e.startTime+7*j.DAY+8*j.HOUR,S(e);var t=I();x("update",{autoresponder:t})},get:I,set:w,timezones:_,willUpdate:function(e){return(c.get("AutoResponder")||{}).isEnabled!==e}}}c.$inject=["autoresponderLanguage","eventManager","dispatchers","gettextCatalog","mailSettingsModel","networkActivityTracker","notification","settingsApi","settingsMailApi","signatureBuilder"],t.default=c},"./src/app/autoresponder/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=p(a("./src/app/autoresponder/directives/autoresponder.js")),o=p(a("./src/app/autoresponder/directives/autoresponderMessage.js")),r=p(a("./src/app/autoresponder/directives/autoresponderTimePicker.js")),s=p(a("./src/app/autoresponder/directives/autoresponderTimeSection.js")),i=p(a("./src/app/autoresponder/directives/autoresponderView.js")),l=p(a("./src/app/autoresponder/directives/durationselect.js")),c=p(a("./src/app/autoresponder/directives/zoneselect.js")),d=p(a("./src/app/autoresponder/factories/autoresponderModel.js")),u=p(a("./src/app/autoresponder/services/autoresponderLanguage.js"));function p(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.autoresponder",[]).directive("autoresponder",n.default).directive("autoresponderMessage",o.default).directive("autoresponderTimePicker",r.default).directive("autoresponderTimeSection",s.default).directive("autoresponderView",i.default).directive("durationselect",l.default).directive("zoneselect",c.default).factory("autoresponderModel",d.default).factory("autoresponderLanguage",u.default).name},"./src/app/autoresponder/services/autoresponderLanguage.js":function(e,t,a){"use strict";function n(e){return{AUTORESPONDER_UPDATED_MESSAGE:e.getString("Autoresponder updated",null,"Success"),AUTORESPONDER_INSTALLED_MESSAGE:e.getString("Autoresponder installed",null,"Success"),AUTORESPONDER_REMOVED_MESSAGE:e.getString("Autoresponder removed",null,"Success"),DEFAULT_SUBJECT_PREFIX:"Auto",DEFAULT_BODY:e.getString("<div>I'm out of the office with limited access to my email.</div>",null,"Default autoresponder message without signature (no regards, etcetera)"),DURATION_FOREVER:e.getString("Permanent",null,"Duration/repetition of autoresponder"),DURATION_FIXED:e.getString("Fixed duration",null,"Duration/repetition of autoresponder"),DURATION_DAILY:e.getString("Repeat daily",null,"Duration/repetition of autoresponder"),DURATION_WEEKLY:e.getString("Repeat weekly",null,"Duration/repetition of autoresponder"),DURATION_MONTHLY:e.getString("Repeat monthly",null,"Duration/repetition of autoresponder")}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["gettextCatalog"],t.default=n},"./src/app/blackFriday/directives/blackFridayFree.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/blackFriday/blackFridayFree.tpl.html")}}},"./src/app/blackFriday/directives/blackFridayPaid.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/blackFriday/blackFridayPaid.tpl.html")}}},"./src/app/blackFriday/directives/blackFridayPrice.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{restrict:"E",replace:!0,scope:{amount:"=",strike:"=",currency:"="},templateUrl:a("./src/templates/blackFriday/blackFridayPrice.tpl.html")}}},"./src/app/blackFriday/factories/blackFridayModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/core-js/promise.js")),o=s(a("./node_modules/babel-runtime/helpers/toConsumableArray.js")),r=s(a("./node_modules/lodash/reduce.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a,s,i,l,c,d,u){var p=t.PAID_MEMBER_ROLE,m=t.CYCLE,f=t.PLANS,h=t.BLACK_FRIDAY_INTERVAL,v=m.TWO_YEARS,g=f.PLAN,b=g.PLUS,y=g.VPN_PLUS,_={},j="protonmail_black_friday",A=function(){return moment().isBetween("2017-11-24","2017-11-28")},S=s(["blackFriday"]),C=S.dispatcher,I=S.on;function x(e){var t=e.plan,n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"current";return a.fetchPlans(_.currency,v).then(function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Plans,a=void 0===t?[]:t,n=[],s=(0,r.default)(a,function(e,t){var a=t.Name,n=t.ID;return e[a]=n,e},{});if(e===b&&n.push(s[b]),e===y&&n.push(s[y]),e===b+"+"+y&&n.push(s[b],s[y]),"current"===e){var i=d.get();n.push.apply(n,(0,o.default)(i.Plans.map(function(e){var t=e.Name;return s[t]})))}return n})}(void 0===t?"current":t).then(function(e){return l.valid({Cycle:v,Currency:_.currency,PlanIDs:e,CouponCode:d.coupon()}).then(function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,a=void 0===t?{}:t;c.activate({params:{planIDs:e,valid:a,cancel:function(){c.deactivate()}}})}).catch(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data;throw Error((void 0===e?{}:e).Error)})});i.track(n)}return setInterval(function(){C.blackFriday("tictac")},h),I("blackFriday",function(e,t){var a=t.type,o=void 0===a?"":a,r=t.data;"buy"===o&&x(void 0===r?{}:r),"load"===o&&n.default.all([u.getMethods(),u.getStatus()]).then(function(){return C.blackFriday("loaded")})}),{init:angular.noop,isBlackFridayPeriod:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=d.get(),n="LIFETIME"===a.CouponCode,o=e.user.Role===p,r=e.user.subuser,s=a.Cycle===v;return!n&&!o&&!r&&!s&&!(!t&&localStorage.getItem(j))&&A()},set:function(e,t){_[e]=t},saveClose:function(){localStorage.setItem(j,"closed")},inInterval:A}}i.$inject=["authentication","CONSTANTS","dashboardModel","dispatchers","networkActivityTracker","Payment","paymentModal","subscriptionModel","paymentModel"],t.default=i},"./src/app/blackFriday/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./src/app/blackFriday/directives/blackFridayFree.js")),o=l(a("./src/app/blackFriday/directives/blackFridayPaid.js")),r=l(a("./src/app/blackFriday/directives/blackFridayPrice.js")),s=l(a("./src/app/blackFriday/factories/blackFridayModel.js")),i=l(a("./src/app/blackFriday/modals/blackFridayModal.js"));function l(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.blackFriday",[]).run(["blackFridayModel",function(e){return e.init()}]).directive("blackFridayFree",n.default).directive("blackFridayPaid",o.default).directive("blackFridayPrice",r.default).factory("blackFridayModel",s.default).factory("blackFridayModal",i.default).name},"./src/app/blackFriday/modals/blackFridayModal.js":function(e,t,a){"use strict";function n(e,t,n,o,r,s,i){var l=n.CYCLE.TWO_YEARS;return r({controllerAs:"ctrl",templateUrl:a("./src/templates/blackFriday/blackFridayModal.tpl.html"),controller:["params","$scope","userType",function(a,n,r){var c=this,d=o(["blackFriday","closeDropdown"]),u=d.dispatcher,p=d.on,m=d.unsubscribe;p("blackFriday",function(e,t){var a=t.type;"loaded"===(void 0===a?"":a)&&n.$applyAsync(function(){c.loaded=!0})}),this.loaded=!1,this.isFreeUser=r().isFree,this.isPaidUser=t.user.Subscribed,this.close=function(){s.saveClose(),a.close()},this.dashboard=function(){e.is("secured.dashboard")||e.go("secured.dashboard",{noBlackFridayModal:!0,currency:c.currency,cycle:l}),c.close()},this.buy=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"current";u.blackFriday("buy",{plan:e}),c.close()},this.changeCurrency=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"EUR";c.currency=e,s.set("currency",e),u.closeDropdown()},this.$onDestroy=function(){m()},this.currency=i.currency(),this.changeCurrency(this.currency),u.blackFriday("load")}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$state","authentication","CONSTANTS","dispatchers","pmModal","blackFridayModel","subscriptionModel"],t.default=n},"./src/app/bridge/directives/bridgeFreePanel.js":function(e,t,a){"use strict";function n(e,t){var n={info:e.getString("This feature is only available for paid users.",null,"Info")},o=function(){return t.info(n.info)};return{replace:!0,restrict:"E",scope:{},templateUrl:a("./src/templates/bridge/bridgeFreePanel.tpl.html"),link:function(e,t){var a=t.find(".bridgeFreePanel-btn");a.on("click",o),e.$on("$destroy",function(){a.off("click",o)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["gettextCatalog","notification"],t.default=n},"./src/app/bridge/directives/bridgePaidPanel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{replace:!0,restrict:"E",scope:{},templateUrl:a("./src/templates/bridge/bridgePaidPanel.tpl.html")}}},"./src/app/bridge/directives/bridgeView.js":function(e,t,a){"use strict";function n(e){return{replace:!0,restrict:"E",scope:{},templateUrl:a("./src/templates/bridge/bridgeView.tpl.html"),link:function(t){t.isFree=e().isFree}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["userType"],t.default=n},"./src/app/bridge/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./src/app/bridge/directives/bridgeFreePanel.js")),o=s(a("./src/app/bridge/directives/bridgePaidPanel.js")),r=s(a("./src/app/bridge/directives/bridgeView.js"));function s(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.bridge",[]).directive("bridgeFreePanel",n.default).directive("bridgePaidPanel",o.default).directive("bridgeView",r.default).name},"./src/app/command/directives/autocompleteCommand.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),o=s(a("./node_modules/babel-runtime/core-js/object/keys.js")),r=s(a("./node_modules/lodash/find.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e,t,s,i){return{scope:{isVisible:"="},replace:!0,templateUrl:a("./src/templates/command/autocompleteCommand.tpl.html"),compile:t(function(e,t,a){var l=a.awesomplete,c={};l.minChars=0;var d=function(){return(0,o.default)(c).forEach(function(e){return c[e]=null})},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.all();l.list=e,l.open(),l.evaluate()},p=function(){return e.$applyAsync(function(){return e.mode={value:c.value}})},m=function(){e.$applyAsync(function(){e.isVisible=!1,i.set("commandPalette",!1)})},f=function(t){e.$applyAsync(function(){e.value="",_rAF(function(){return u(t),l.input.value=""})})};e.$watch("isVisible",function(e){e&&(u(),_rAF(function(){return l.goto(0)}))});var h=function(e){var t=e.target,a=s.filter(t.value,c.value),n=a.list;a.hasAutocompletion&&(l.list=n)},v=function(t){var a=t.keyCode,n=27===a,o=t.shiftKey&&32===a;return e.isVisible&&8===a&&/^(labels|folders)$/.test(c.value||"")?(d(),f(),p()):(o||n)&&e.isVisible?c.value?(d(),f(),p()):(f(),m()):void 0};l.replace=function(e){var t=e.value,a=e.label;if(c.key=((0,r.default)(l._list,{value:t,label:a})||{}).key,/^(add|remove)\.(label|folder)$/.test(t)){var o=t.split("."),i=(0,n.default)(o,2),u=i[0],h=void 0===u?"":u,v=i[1],g=void 0===v?"":v;return c.value=g+"s",c.type=h,f(s.all(c.value)),p()}s.trigger(t,c),d(),m(),f(),p()},t.on("input",h),t.on("keydown",v),e.$on("$destroy",function(){t.off("keydown",v),t.off("input",h),s.reset()})})}}i.$inject=["$rootScope","autocompleteBuilder","autocompleteCommandModel","AppModel"],t.default=i},"./src/app/command/directives/commandPalette.js":function(e,t,a){"use strict";function n(e,t){return{replace:!0,scope:{},templateUrl:a("./src/templates/command/commandPalette.tpl.html"),link:function(a,n){var o=void 0,r=function(){a.$applyAsync(function(){a.isVisible=!1,e.set("commandPalette",!1)})},s=t(),i=s.on,l=s.unsubscribe;i("hotkeys",function(t,s){var i=s.type;"escape"===i&&r(),"commandPalette"===i&&a.$applyAsync(function(){a.isVisible=!a.isVisible,e.set("commandPalette",a.isVisible),_rAF(function(){o||(o=n.find("input")),o.focus()})})}),n.on("reset",r),a.$on("$destroy",function(){l(),n.off("reset",r)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["AppModel","dispatchers"],t.default=n},"./src/app/command/factories/autocompleteCommandModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/babel-runtime/core-js/object/create.js")),o=i(a("./node_modules/lodash/fp/take.js")),r=i(a("./node_modules/lodash/fp/filter.js")),s=i(a("./node_modules/lodash/fp/flow.js"));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t,a,i,l,c,d){var u=[],p={"Add folder":c.getString("Add folder",null,"Command palette action"),"Add label":c.getString("Add label",null,"Command palette action"),"Remove label":c.getString("Remove label",null,"Command palette action")},m=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter(function(e){var t=e.description;return!!t}).reduce(function(e,t){var a=t.keyboard,n=t.description,o=t.callback;return e.coll.push({label:n,value:a,key:"hotkey"}),e.map["hotkey-"+a]=o,e},{coll:[],map:(0,n.default)(null)}),t=e.coll,a=e.map,o=["folder","label"].reduce(function(e,t){return e.push(v("add",t)),"label"===t&&e.push(v("remove",t)),e},[]),r=t.concat(o);return{map:a,list:r}}(e.keys()),f=function(){return u.length=0},h={messageActions:["CREATE_REPLY","CREATE_REPLY_ALL","FORWARD_MSG"].map(e.translations)};function v(e,t){return{label:p[i.ucFirst(e)+" "+t],value:e+"."+t,key:"action"}}var g=function(e){return!!d.id||-1===h.messageActions.indexOf(e.label)};return{all:function(e){return"labels"===e||"folders"===e?angular.copy(u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"labels";return a.get(e).map(function(t){var a=t.ID;return{label:t.Name,value:a,key:e}})}(e)):angular.copy(m.list).filter(g)},filter:function(){var e,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments[1],i=a.trim().toLowerCase(),l=(0,s.default)((0,r.default)(g),(0,r.default)(function(e){return e.label.toLowerCase().includes(i)}),(0,o.default)(t.AWESOMEPLETE_MAX_ITEMS))("labels"===(e=n)||"folders"===e?u:m.list);return{list:l,hasAutocompletion:!!l.length}},trigger:function(e,t){var n=t.type,o=t.value;if(!n)return m.map["hotkey-"+e]();l.$emit("app.commands",{type:n+"."+o,data:function(e,t,n){if(/labels|folders/.test(t)){var o=a.read(n);return{ID:n,list:[(o.Selected="add"===e,o)]}}}(n,o,e)}),f()},reset:f}}l.$inject=["hotkeys","CONSTANTS","labelsModel","strUtils","$rootScope","gettextCatalog","$stateParams"],t.default=l},"./src/app/command/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./src/app/command/directives/autocompleteCommand.js")),o=s(a("./src/app/command/directives/commandPalette.js")),r=s(a("./src/app/command/factories/autocompleteCommandModel.js"));function s(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.command",[]).directive("autocompleteCommand",n.default).directive("commandPalette",o.default).factory("autocompleteCommandModel",r.default).name},"./src/app/composer/constants/ComposerRequestStatus.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={SUCCESS:1e3,DRAFT_NOT_EXIST:15033,MESSAGE_ALREADY_SEND:15034}},"./src/app/composer/controllers/composeMessage.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=u(a("./node_modules/babel-runtime/core-js/promise.js")),o=u(a("./node_modules/babel-runtime/helpers/toArray.js")),r=u(a("./node_modules/babel-runtime/regenerator/index.js")),s=u(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),i=u(a("./node_modules/lodash/debounce.js")),l=u(a("./node_modules/lodash/find.js")),c=u(a("./node_modules/lodash/each.js")),d=a("./src/app/constants.js");function u(e){return e&&e.__esModule?e:{default:e}}m.$inject=["$filter","$scope","$state","$stateParams","$timeout","addressesModel","AppModel","authentication","cache","composerFromModel","composerRequestModel","confirmModal","CONSTANTS","dispatchers","$rootScope","embedded","encryptMessage","eventManager","extractDataURI","gettextCatalog","hotkeys","mailSettingsModel","messageBuilder","messageModel","messageRequest","networkActivityTracker","notification","outsidersMap","plusAliasModel","postMessage","sendMessage","validateMessage"];var p=d.MIME_TYPES.PLAINTEXT;function m(e,t,a,d,u,m,f,h,v,g,b,y,_,j,A,S,C,I,x,E,w,T,M,D,k,L,P,O,N,R,F,B){var U=this,z=j(["composer.update","messageActions"]),q=z.dispatcher,V=z.on,Y=z.unsubscribe,H=e("unicodeTagView");t.messages=[],t.uid=1;var W=function(e,t){var a=e.ID,n=e.ConversationID,o=f.get("composerList")||[];if(!t)return f.store("composerList",(o.push({ID:a,ConversationID:n}),o));f.store("composerList",o.filter(function(e){return e.ID!==a}))},K=t.$watch("messages.length",function(){t.messages.length>0?(f.set("activeComposer",!0),window.onbeforeunload=function(){return E.getString("By leaving now, you will lose what you have written in this email. You can save a draft if you want to come back to it later on.",null)},w.pause()):(f.set("activeComposer",!1),window.onbeforeunload=void 0,1===T.get("Hotkeys")?w.unpause():w.pause())});V("updateUser",function(){t.addresses=m.get()}),V("onDrag",function(){(0,c.default)(t.messages,function(e){t.togglePanel(e,"attachments")})}),V("deleteConversation",function(e,a){(0,c.default)(t.messages,function(e){a===e.ID&&t.close(e,!1,!1)})});var G,X=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Type;return e===_.INBOX_AND_SENT||e===_.SENT};V("app.event",function(e,a){var n=a.type,o=a.data;switch(n){case"activeMessages":var r=t.messages.filter(function(e){var t=e.ID,a=void 0===t?"":t,n=(0,l.default)(o.messages,{ID:a});return n&&X(n)});r.length&&r.forEach(function(e){ne(e),!X(e)&&P.info(E.getString("Email was already sent",null,"Info"))})}}),V("message.refresh",function(e,a){t.messages.forEach(function(e){var t=e.ID;if(a.indexOf(t)>-1){var n=v.getMessageCached(t);n&&(e.Time=n.Time,e.ConversationID=n.ConversationID)}})}),V("composer.new",function(e,t){var a=t.type,n=t.data,o=void 0===n?{}:n;!J()&&f.is("onLine")&&B.canWrite()&&Q(M.create(a,o.message))}),V("composer.load",(G=(0,s.default)(r.default.mark(function e(a,n){var o,s,i,c,d,u=n.data.ID;return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(o=(0,l.default)(t.messages,{ID:u}),s=J(),!o&&!s){e.next=4;break}return e.abrupt("return");case 4:return e.prev=4,e.next=7,v.queryMessage(u);case 7:return i=e.sent,e.next=10,i.clearTextBody();case 10:return c=i.isPlainText()&&5===i.IsEncrypted,d=c?i:M.prepare(i,"reply"),e.next=14,Q(d);case 14:return e.next=16,W(d);case 16:e.next=21;break;case 18:e.prev=18,e.t0=e.catch(4),P.error(e.t0);case 21:case"end":return e.stop()}},e,U,[[4,18]])})),function(e,t){return G.apply(this,arguments)})),V("hotkeys",function(e,a){"save"===a.type&&t.$applyAsync(function(){var e=(0,l.default)(t.messages,{focussed:!0});e&&R(e,{autosaving:!0,notification:!0})})}),V("composer.update",function(e,a){var n=a.type,o=a.data;switch(n){case"loaded":W(o.message);break;case"editor.focus":var r=o.message;o.isMessage&&t.$applyAsync(function(){r.autocompletesFocussed=!1,r.attachmentsToggle=!1,r.ccbcc=!1});break;case"send.message":t.send(o.message);break;case"send.success":case"close.message":t.close(o.message,o.discard,o.save);break;case"close.panel":t.closePanel(o.message)}}),V("message",function(e,t){var a=t.type,n=t.data.message;"updated"===a&&R(n,{autosaving:!0})}),V("plaintextarea",function(e,a){var n=a.type,o=a.data;"input"===n&&t.saveLater(o.message)}),V("squire.editor",function(e,a){var n=a.type,o=a.data;"input"===n&&t.saveLater(o.message)}),V("attachment.upload",function(e,t){var a=t.type,n=t.data;"remove.success"===a&&n.message.MIMEType!==p&&R(n.message,{autosaving:!0})});var Z=(0,i.default)(function(){q["composer.update"]("refresh",{size:t.messages.length})},1e3);function J(){var e=t.messages.length>=_.MAX_NUMBER_COMPOSER||1===t.messages.length&&f.is("mobile");return e&&P.error(E.getString("Maximum composer reached",null,"Notify the user when he try to open more than "+_.MAX_NUMBER_COMPOSER+" composer")),e}function Q(e){1===T.get("ComposerMode")&&(e.maximized=!0,f.set("maximizedComposer",!0)),e.attachmentsToggle=e.Attachments.length-e.NumEmbedded>0&&e.Attachments.length>e.NumEmbedded,e.ccbcc=!1,e.autocompletesFocussed=!1,e.uid=t.uid++,e.pendingAttachements=[],e.askEmbedding=!1,delete e.asEmbedded,e.uploading=0,e.sending=!1;var a=function(e){var t=g.get(e).address;return{From:t,AddressID:t.ID}}(e).From;e.From=a,t.$applyAsync(function(){var a=t.messages.unshift(e);R(e).then(function(){q["composer.update"]("loaded",{size:a,message:e})}).catch(function(){var e=(0,o.default)(t.messages).slice(1);t.messages=e})})}function ee(e){A.$emit("actionMessage",{data:e})}$(window).on("resize",Z),t.$on("$destroy",function(){$(window).off("resize",Z),window.onbeforeunload=void 0,K(),Y()}),t.slideDown=function(e){e.attachmentsToggle=!e.attachmentsToggle},t.isEmbedded=function(e){return S.isEmbedded(e)},t.togglePanel=function(e,a){!0===e.displayPanel?t.closePanel(e):t.openPanel(e,a)},t.openPanel=function(e,t){e.displayPanel=!0,e.panelName=t,"encrypt"===t&&u(function(){angular.element("#uid"+e.uid+' input[name="outsidePw"]').focus()},100,!1)},t.closePanel=function(e){e.displayPanel=!1,e.panelName=""},t.saveLater=function(e){e.sending||e.discardDontAutoSave||R(e,{autosaving:!0,loader:!1})},t.save=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=D(e);return S.parser(n,{direction:"cid"}).then(function(e){return n.Body=e,R(n,{notification:t,autosaving:a})})},t.subject=function(e){return e.Subject||E.getString("New message",null,"Title")};var te,ae=function(e){return new n.default(function(t){setTimeout(t,e)})};function ne(e,a,n){var o=this,r=D(e),s=function(){t.messages=function(e,t){return e.filter(function(e){return t.ID!==e.ID})}(t.messages,r),b.clear(r),O.remove(r.ID),W(r,!0),$(".tooltip").not(o).hide(),q["composer.update"]("close",{size:t.messages.length,message:r})};if(!0===a){var i=[r.ID];q.messageActions("delete",{ids:i})}u.cancel(r.defferredSaveLater),!0===n?R(r,{autosaving:!0}).then(s):s()}t.send=(te=(0,s.default)(r.default.mark(function e(t){var a,n,o;return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=D(t),(n=function(e){return a.sending=e,t.sending=e})(!0),a.Password=a.Password||"",a.PasswordHint=a.PasswordHint||"",e.prev=5,e.next=8,B.checkSubject(a);case 8:e.next=14;break;case 10:return e.prev=10,e.t0=e.catch(5),n(!1),e.abrupt("return");case 14:return ee(a),e.next=17,ae(300);case 17:a.setDecryptedBody(t.getDecryptedBody(),!1),o=B.validate(a).then(I.stop).then(function(){return x(a)}).then(function(){return R(a)}).then(function(e){return a.ID=e.ID,a}).then(function(e){return F(e)}).then(I.start).catch(function(e){throw n(!1),a.encrypting=!1,ee(a),I.start(),e.raw?e:new Error(H(e.message))}),L.track(o);case 20:case"end":return e.stop()}},e,U,[[5,10]])})),function(e){return te.apply(this,arguments)}),t.focusFirstComposer=function(e){q["composer.update"]("focus.first",{message:e})},t.minimize=function(e){e.minimized=!0,e.previousMaximized=e.maximized,e.maximized=!1,e.ccbcc=!1,f.set("maximizedComposer",!1),$(".tooltip").not(U).hide(),t.focusFirstComposer(e)},t.unminimize=function(e){e.minimized=!1,e.maximized=e.previousMaximized,$(".tooltip").not(U).hide()},t.maximize=function(e){e.maximized=!0,f.set("maximizedComposer",!0)},t.normalize=function(e){var t=window.innerWidth,a=window.innerHeight,n=t<=640||a<=500;e.minimized=!1,e.maximized=n,f.set("maximizedComposer",n)},t.openCloseModal=function(e){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t.close(e,a,!a)},t.close=ne,t.discard=function(e){var a=E.getString("Delete",null),n=E.getString("Permanently delete this draft?",null);e.discardDontAutoSave=!0,y.activate({params:{title:a,message:n,confirm:function(){t.openCloseModal(e,!0),delete e.discardDontAutoSave,P.success(E.getString("Message discarded",null)),y.deactivate()},cancel:function(){delete e.discardDontAutoSave,y.deactivate()}}})}}t.default=m},"./src/app/composer/directives/actionCompose.js":function(e,t,a){"use strict";function n(e){return{scope:{model:"=actionCompose"},link:function(t,a,n){var o=n.actionComposeType;function r(a){if(a.preventDefault(),/addFile|addEmbedded/.test(o))return e.$emit("addFile",{asEmbedded:"addEmbedded"===o,message:t.model});e.$emit("composer.new",{type:o,data:{message:t.model}})}a[0].addEventListener("click",r),t.$on("$destroy",function(){a[0].removeEventListener("click",r)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope"],t.default=n},"./src/app/composer/directives/btnSendMessage.js":function(e,t,a){"use strict";function n(e,t){var a=function(e){var a=void 0;switch(!!e){case!0===e.encryptingAttachment:a=t.getString("Encrypting attachments",null,"Action");break;case e.uploading>0:a=t.getString("Uploading",null,"Action");break;case!0===e.encrypting:a=t.getString("Encrypting",null,"Action");break;case!0===e.saving&&!1===e.autosaving:a=t.getString("Saving",null,"Action");break;case!0===e.sending:a=t.getString("Sending",null,"Action");break;case e.disableSend&&e.disableSend():default:a=t.getString("Send",null,"Action")}return a};return{replace:!0,scope:{model:"=message"},template:'<button class="btnSendMessage-btn-action"></button>',link:function(t,n){var o=e(["composer.update"]),r=o.dispatcher,s=o.on,i=o.unsubscribe;n[0].textContent=a(t.model);var l=function(){r["composer.update"]("send.message",{message:t.model})};s("actionMessage",function(e,o){var r=o.data;r.ID===t.model.ID&&(n[0].textContent=a(r),r.disableSend&&(n[0].disabled=r.disableSend()))}),n.on("click",l),t.$on("$destroy",function(){n.off("click",l),i()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","gettextCatalog"],t.default=n},"./src/app/composer/directives/composer.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/debounce.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n,o,s){var i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"composer-draggable";return e.classList.add(t)},l=function(e){e.classList.remove("composer-draggable"),e.classList.remove("composer-draggable-editor")};return{replace:!0,templateUrl:a("./src/templates/directives/composer/composer.tpl.html"),link:function(t,a){var c=o(["composer.update"]),d=c.dispatcher,u=c.on,p=c.unsubscribe,m=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};d["composer.update"]("focus."+e,t)},f=function(e,t){return function(a,o){var r,s,c,d,u,p=o.type,f=o.data;if(r=e.message,s=f,c=r.ID,d=s.message,u=void 0===d?{}:d,c===s.messageID||c===u.ID)switch(p){case"dragenter":n.isUploadAbleType(f.event)&&(i(t),m("dragenter",{message:e.message,composer:angular.element(t),index:+t.getAttribute("data-index")}));break;case"drop":if("attachment.upload"===a.name&&f.queue.files.length&&f.queue.hasEmbedded)return i(t,"composer-draggable-editor");l(t);break;case"upload":l(t);break;case"upload.success":_rAF(function(){return l(t)})}}},h=function(e){var n=e.target;/composerHeader-btn/.test(n.classList.toString())||m("click",{message:t.message,composer:a,index:+a[0].getAttribute("data-index")}),/squireToolbar/.test(n.classList.toString())&&t.$applyAsync(function(){t.message.ccbcc=!1})},v=(0,r.default)(function(n){var o=n.target;(o.classList.contains("composer-dropzone")||o.classList.contains("composer-dropzone-wrapper"))&&(e.get("composerList").length>1?!t.message.focussed&&l(a[0]):l(a[0]))},500),g=function(e){var t=e.originalEvent;n.isUploadAbleType(t)&&i(a[0])},b=function(e){if(27===e.keyCode){if(document.activeElement&&document.activeElement.classList.contains("autocompleteEmails-input"))return;1===s.get("Hotkeys")&&d["composer.update"]("close.message",{message:t.message,save:!0})}};a.on("dragenter",g),a.on("dragleave",v),a.on("click",h),a.on("keydown",b),u("editor.draggable",f(t,a[0])),u("attachment.upload",f(t,a[0])),t.$on("$destroy",function(){a.off("dragenter",g),a.off("dragleave",v),a.off("click",h),a.off("keydown",b),p(),e.set("activeComposer",!1),e.set("maximizedComposer",!1),t.selected=void 0})}}}s.$inject=["AppModel","embedded","attachmentFileFormat","dispatchers","mailSettingsModel"],t.default=s},"./src/app/composer/directives/composerAskEmbedded.js":function(e,t,a){"use strict";function n(e,t){return{replace:!0,templateUrl:a("./src/templates/directives/composer/composerAskEmbedded.tpl.html"),link:function(a,n,o){var r=o.action,s=["attachment.upload",void 0===r?"":r].filter(Boolean).join("."),i=e([s]),l=i.dispatcher,c=i.on,d=i.unsubscribe,u=n[0].querySelector(".composerAskEmbdded-title");c(s,function(e,a){var n,o,r=a.type,s=a.data;"drop"===r&&(n=u,o=s.queue.files.filter(function(e){return e.isEmbedded}).length,n.textContent=t.getPlural(o,"{{$count}} image detected","{{$count}} images detected",{},"Composer, message drag and drop images"))});var p=function(e){var t,n=e.target;"BUTTON"===n.nodeName&&(t={messageID:a.message.ID,message:a.message,action:n.getAttribute("data-action")},l[s]("upload",t))};n.on("click",p),a.$on("$destroy",function(){n.off("click",p),d()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","gettextCatalog"],t.default=n},"./src/app/composer/directives/composerAttachments.js":function(e,t,a){"use strict";function n(e,t){var n="composerAttachments-hidden",o={show:t.getString("Show",null,"Action"),hide:t.getString("Hide",null,"Action")};return{replace:!0,scope:{message:"=model"},templateUrl:a("./src/templates/directives/composer/composerAttachments.tpl.html"),link:function(t,a){var r=e(),s=r.on,i=r.unsubscribe;t.list=function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).map(function(t){var a=t.ID,n=t.Headers,o=void 0===n?{}:n;return{id:a,packet:{filename:t.Name,uploading:!1,Size:t.Size,Inline:+("inline"===o["content-disposition"])},messageID:e.message.ID,message:e.message}})}(t,t.message.Attachments),t.labelHeader=o.show;var l=function(e,t){var a=function(a,r){return function(){"remove"===a&&t.classList.remove(n),t.classList[a]("composerAttachments-close"),e.$applyAsync(function(){return e.labelHeader=o[r]})}},r=a("remove","hide"),s=a("add","show"),i=function(){return!t.classList.contains("composerAttachments-close")};return{open:r,close:s,isOpened:i,hide:function(){return t.classList.add(n)},show:function(){return t.classList.remove(n)},toggle:function(){return i()?s():r()}}}(t,a[0]),c=angular.element(a[0].querySelector(".composerAttachments-header"));!t.list.length&&l.hide();var d=function(){return l.toggle()};c.on("click",d),s("attachment.upload",function(e,t,a){return function(t,n){var o,r,s,i,l,c=n.type,d=n.data,u=d.status,p=d.packet,m=d.id,f=d.messageID,h=d.REQUEST_ID,v=d.isStart;if(o=e.message,r=d,s=o.ID,i=r.message,l=void 0===i?{}:i,s===r.messageID||s===l.ID)switch(c){case"upload":if("cancel"!==d.action)return;if(e.message.Attachments.length)return a.close();a.hide();break;case"cancel":case"remove.success":e.$applyAsync(function(){e.list=e.list.filter(function(e){return e.id!==m}).filter(function(e){return e.id!==h}),!e.list.length&&a.hide()});break;case"uploading":u&&v&&(a.open(),e.$applyAsync(function(){e.list.push({id:m,packet:p,messageID:f,message:e.message})}));break;case"error":e.$applyAsync(function(){e.list=e.list.filter(function(e){return e.id!==m}),a.close(),!e.list.length&&a.hide()});break;case"upload.success":a.close()}}}(t,0,l)),t.$on("$destroy",function(){c.off("click",d),i()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","gettextCatalog"],t.default=n},"./src/app/composer/directives/composerAttachmentsItem.js":function(e,t,a){"use strict";function n(e,t,a){return{replace:!0,template:'<a class="composerAttachmentsItem-container"><progress-upload data-model="attachment"></progress-upload></a>',link:function(n,o,r){var s,i=r.isOutside,l=function(t){return function(a){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=("attachment.upload"+(t?".outside":"")).trim();e.$emit(o,{type:a,data:n})}}(void 0!==i&&i);o[0].title=(s=n.attachment.packet.filename,t.getString("Download the attachment "+s));var c=function(e){a.isNotSupported(e)||l("download.composer",n.attachment)};o.on("click",c),n.$on("$destroy",function(){o.off("click",c)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope","gettextCatalog","attachmentDownloader"],t.default=n},"./src/app/composer/directives/composerAttachmentsSize.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t){return{replace:!0,templateUrl:a("./src/templates/directives/composer/composerAttachmentsSize.tpl.html"),link:function(a,n){var o=e("humanSize"),r=t(),s=r.on,i=r.unsubscribe,l=0,c=function(e){n[0].textContent=o(e)};s("attachment.upload",function(e,t){var n=t.type,o=t.data;"uploaded.success"===n&&(l+=o.packet.Size,c(l)),"upload.success"===n&&(l=a.message.attachmentsSize(),c(l))}),a.$on("$destroy",function(){i()})}}};n.$inject=["$filter","dispatchers"],t.default=n},"./src/app/composer/directives/composerContainer.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/find.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a,n){return{link:function(o,s){var i=n(),l=i.on,c=i.unsubscribe,d=a(o),u=function(e){var a=[].slice.call(s[0].querySelectorAll(".composer-container"));_rAF(function(){return t.render(a,e)})},p=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o.$applyAsync(function(){if(o.messages.length){var n="close"===e?o.messages[0]:a.message;n.focussed=!1;var r=t.findComposer(s[0],n),i=r.index,l=r.composer,c=i-1>=0?i-1:i,p=angular.extend({},a,{message:n,composer:l,index:c,size:o.messages.length,keepState:!1});d(p);var m=setTimeout(function(){return u(p),clearTimeout(m)},160)}})},m=function(){return p("close")};window.addEventListener("orientationchange",m,!1),l("composer.update",function(a,n){var i=n.type,l=n.data;switch(i){case"focus.dragenter":case"focus.click":o.$applyAsync(function(){return d(l)});break;case"focus.first":var c=(0,r.default)(o.messages,{minimized:!1});c&&p(i,{message:c});break;case"escape.autocomplete":var m=1===e.user.Hotkeys,f=(0,r.default)(o.messages,{focussed:!0});m&&f&&o.close(f,!1,!0);break;case"close":p(i,l);break;case"editor.loaded":case"editor.focus":var h=l.message,v=l.editor;if(!l.isMessage)break;if(h.focussed){o.$applyAsync(function(){return h.autocompletesFocussed=!1});break}o.$applyAsync(function(){var e=t.findComposer(s[0],h),a=e.index,n=e.composer,r=angular.extend({},l,{composer:n,index:a,keepState:!1,focusEditor:"editor.focus"===i,size:o.messages.length});d(r,v),"editor.loaded"===i&&u(r)})}}),o.$on("$destroy",function(){window.removeEventListener("orientationchange",m,!1),c()})}}}s.$inject=["authentication","composerRender","composerLoader","dispatchers"],t.default=s},"./src/app/composer/directives/composerDropzone.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/babel-runtime/helpers/defineProperty.js")),o=i(a("./node_modules/lodash/forEach.js")),r=i(a("./node_modules/lodash/extend.js")),s=a("./src/app/constants.js");function i(e){return e&&e.__esModule?e:{default:e}}c.$inject=["attachmentFileFormat","tools","attachmentModel","dispatchers","notification","gettextCatalog","CONSTANTS","$state"];var l=s.MIME_TYPES.PLAINTEXT;function c(e,t,a,s,i,c,d,u){var p;Dropzone.autoDiscover=!1;var m=d.BASE_SIZE,f=d.ATTACHMENT_SIZE_LIMIT,h=d.ATTACHMENT_NUMBER_LIMIT,v=f*m*m,g=u.includes("eo.*"),b={number:f},y={number:f},_=(p={0:c.getString("Empty attachment",null,"Composer")},(0,n.default)(p,h,c.getString("Messages are limited to {{number}} attachments",b,"Composer")),(0,n.default)(p,f,c.getString("Attachments are limited to {{number}} MB.",y,"Composer")),(0,n.default)(p,v,function(e){var t=Math.round(10*e/m/m)/10;return c.getString("Attachments are limited to {{number}} MBB. Total attached would be: {{total}} MB.",(0,r.default)({total:t},b),"Composer")}),p),j=c.getString("Maximum number of attachments (10) exceeded.",null,"Composer"),A=c.getString("Drop a file here to upload",null,"Info");var S=function(t,n){return{addRemoveLinks:!1,dictDefaultMessage:A,url:"/file/post",autoProcessQueue:!1,paramName:"file",previewTemplate:'<div style="display:none"></div>',init:function(){var r=this;(0,o.default)(t.Attachments,function(e){var t={name:e.Name,size:e.Size,type:e.MIMEType,ID:e.ID};r.options.addedfile.call(r,t)},this),this.on("addedfiles",function(o){if(!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).size,n=void 0===a?0:a,o=[].slice.call(t).reduce(function(e,t){return e+t.size},0);return e.attachmentsSize()+n+o<=v}(t,o,a.getCurrentQueue(t))){r.removeAllFiles();var s=void 0;return s=setTimeout(function(){i.error(_[f]),n(t,{size:0,files:[]}),clearTimeout(s)},100)}var c=[].slice.call(o).reduce(function(t,a){return function(n,o){var r=function(e,t){return{currentSize:e.attachmentsSize()+(e.queuedFilesSize||0)+t.size,numberFiles:(e.Attachments||[]).length+(e.queuedFiles||0)}}(t,o),s=r.currentSize;if(r.numberFiles===h){var l=_[h];return a.removeFile(o),i.error(l),n}if(s>=v){var c=_[v](s);return a.removeFile(o),i.error(c),n}if(0===s){var d=_[0];return a.removeFile(o),i.error(d),n}return n.files.push({file:o,isEmbedded:e.isEmbedded(o.type)}),n.size+=o.size,n}}(t,r),{files:[],size:0});if(r.removeAllFiles(),c.hasEmbedded=c.files.every(function(e){return e.isEmbedded&&t.MIMEType!==l}),g&&c.files.length+t.Attachments.length>10)return n(t,c,"attachments.limit.error"),i.error(j);n(t,c)})}}};return{link:function(e,t,a){var n=a.action,o=["attachment.upload",void 0===n?"":n].filter(Boolean).join("."),r=s([o]),i=r.dispatcher,l=r.on,c=r.unsubscribe,d=new Dropzone(t[0],S(e.message,function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"drop";i[o](a,{messageID:e.ID,message:e,queue:t})}));l("addFile",function(t,a){var n=a.asEmbedded;a.message.ID===e.message.ID&&(e.message.asEmbedded=n,d.element.click())}),e.$on("$destroy",function(){d.off("dragover"),d.off("addedfiles"),d.destroy(),c()})}}}t.default=c},"./src/app/composer/directives/composerEncrypt.js":function(e,t,a){"use strict";function n(e,t,n){var o={noPassword:t.getString("Please enter a password for this email.",null,"Error"),noMatchPassword:t.getString("Message passwords do not match.",null,"Error")},r=function(e,t){return n.$emit("composer.update",{type:e,data:{message:t,type:"encryption"}})};return{replace:!0,scope:{message:"="},templateUrl:a("./src/templates/composer/composerEncrypt.tpl.html"),link:function(t,a){var n=a.find(".composerEncrypt-btn-cancel");t.model={password:"",confirm:"",hint:""};var s=function(a){return a.stopPropagation(),t.model.password.length?t.model.password!==t.model.confirm?e.error(o.noMatchPassword):void t.$applyAsync(function(){t.message.IsEncrypted=1,t.message.Password=t.model.password,t.message.PasswordHint=t.model.hint,r("close.panel",t.message)}):e.error(o.noPassword)},i=function(){t.$applyAsync(function(){t.model.password="",t.model.confirm="",t.model.hint="",t.encryptForm.$setUntouched(),delete t.message.PasswordHint,t.message.IsEncrypted=0,r("close.panel",t.message)})};a.on("submit",s),n.on("click",i),t.$on("$destroy",function(){a.off("submit",s),n.off("click",i)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["notification","gettextCatalog","$rootScope"],t.default=n},"./src/app/composer/directives/composerExpiration.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/find.js")),o=r(a("./node_modules/lodash/range.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,r,s){var i={maxEpiration:t.getString("The maximum expiration is 4 weeks.",null,"Error"),invalid:t.getString("Invalid expiration time.",null,"Error")},l=function(e,t){return r.$emit("composer.update",{type:e,data:{message:t,type:"expiration"}})},c=function(e){return(0,o.default)(e).map(function(e){return{label:""+e,value:e}})},d={week:c(5),day:c(7),hour:c(24)};return{replace:!0,scope:{message:"="},templateUrl:a("./src/templates/composer/composerExpiration.tpl.html"),link:function(t,a){var o=a.find(".composerExpiration-btn-cancel");t.model=function(e){if(angular.isDefined(e.ExpirationTime)){var t=e.ExpirationTime/3600,a=Math.floor(t/24);return{weeks:angular.copy((0,n.default)(d.week,{value:Math.floor(a/7)})),days:angular.copy((0,n.default)(d.day,{value:a%7})),hours:angular.copy((0,n.default)(d.hour,{value:t%24}))}}return{days:0,hours:0,weeks:0}}(t.message),t.options=d;var r=function(a){a.stopPropagation();var n=function(e){var t=e.days,a=e.hours,n=e.weeks;return a.value+24*(t.value+7*n.value)}(t.model);return parseInt(n,10)>s.MAX_EXPIRATION_TIME?e.error(i.maxEpiration):isNaN(n)?e.error(i.invalid):void t.$applyAsync(function(){t.message.ExpirationTime=3600*n,l("close.panel",t.message)})},c=function(){t.$applyAsync(function(){delete t.message.ExpirationTime,t.expirationForm.$setUntouched(),l("close.panel",t.message)})};a.on("submit",r),o.on("click",c),t.$on("$destroy",function(){a.off("submit",r),o.off("click",c)})}}}s.$inject=["notification","gettextCatalog","$rootScope","CONSTANTS"],t.default=s},"./src/app/composer/directives/composerHeader.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){return{replace:!0,templateUrl:a("./src/templates/directives/composer/composer-header.tpl.html")}}},"./src/app/composer/directives/composerInputMeta.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/helpers/toConsumableArray.js")),o=r(a("./node_modules/lodash/some.js"));function r(e){return e&&e.__esModule?e:{default:e}}t.default=function(){var e=function(e){var t=e.ToList,a=void 0===t?[]:t,r=e.CCList,s=void 0===r?[]:r,i=e.BCCList,l=void 0===i?[]:i;return(0,o.default)([].concat((0,n.default)(a),(0,n.default)(s),(0,n.default)(l)),{invalid:!0})};return{replace:!0,templateUrl:a("./src/templates/directives/composer/composerInputMeta.tpl.html"),compile:function(t,a){var n=a.label,o=a.key,r=t[0].querySelector(".composerInputMeta-label"),s=t[0].querySelector(".composerInputMeta-autocomplete");return r&&(r.textContent=n),s&&(s.setAttribute("data-name",function(e){return"composerAutocomplete"+e+Math.random().toString(32).slice(2,12)}(n)),s.setAttribute("data-emails","message."+o)),function(t,a){var n=a[0].querySelector(".composerInputMeta-overlay-button");t.containsRecipient=function(t){return function(){var a=t.message,n=a.ToList,o=void 0===n?[]:n,r=a.CCList,s=void 0===r?[]:r,i=a.BCCList,l=void 0===i?[]:i;return!e(t.message)&&(o.length||s.length||l.length)}}(t),t.containsInvalid=e;var o=function(e){e.target.classList.contains("autocompleteEmails-label")||t.$applyAsync(function(){var e,n,o,r,s;t.selected.autocompletesFocussed=!0,e=t.selected,n=e.CCList,o=void 0===n?[]:n,r=e.BCCList,s=void 0===r?[]:r,(o.length||s.length)&&(t.message.ccbcc=!0,t.message.attachmentsToggle=!0),_rAF(function(){return a.find("input").focus()})})},r=function(e){e.stopPropagation(),t.message.ID===t.selected.ID&&t.$applyAsync(function(){t.message.ccbcc=!t.message.ccbcc,t.message.autocompletesFocussed=!0,t.message.attachmentsToggle=!1})};n.addEventListener("click",r,!1),a.on("click",o),t.$on("$destroy",function(){n.removeEventListener("click",r,!1),a.off("click",o)})}}}}},"./src/app/composer/directives/composerMessage.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){return{replace:!0,scope:{},templateUrl:a("./src/templates/partials/composer.tpl.html"),controller:"ComposeMessageController"}}},"./src/app/composer/directives/composerSelectFrom.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("./src/helpers/browser.js");function o(e,t,o,r,s){var i=function(){return o.getString("Upgrade to a paid plan to send from your {{name}}@pm.me address",{name:s.user.Name},"Error")};return{scope:{message:"=model"},replace:!0,templateUrl:a("./src/templates/directives/composer/composerSelectFrom.tpl.html"),link:function(a,o){var s=o.find("select"),l=r.get(a.message).addresses,c=a.message.From;a.addresses=l;var d=function(){if(0===a.message.From.Send)return a.$applyAsync(function(){a.message.From=c}),e.error(i());a.$applyAsync(function(){c=a.message.From,t.find(a.message).editor.fireEvent("refresh",{action:"message.changeFrom"})})},u=function(){return s.focus()};(0,n.isIE11)()&&s.on("mousedown",u),s.on("change",d),a.$on("$destroy",function(){(0,n.isIE11)()&&s.off("mousedown",u),s.off("change",d)})}}}o.$inject=["notification","editorModel","gettextCatalog","composerFromModel","authentication"],t.default=o},"./src/app/composer/directives/composerSubject.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/throttle.js"),r=(n=o)&&n.__esModule?n:{default:n};var s=a("./src/app/constants.js").MIME_TYPES.PLAINTEXT,i=function(e){return{replace:!0,templateUrl:a("./src/templates/directives/composer/composerSubject.tpl.html"),link:function(t,a){var n=a[0].querySelector("input"),o=function(){t.$applyAsync(function(){t.message.autocompletesFocussed=!1,t.message.ccbcc=!1,t.message.attachmentsToggle=!1})},i=(0,r.default)(function(n){if(9===n.which){if(t.message.MIMEType===s)return n.preventDefault(),a.parents(".composer").find("textarea").focus();var o=e.find(t.message).editor;o&&t.message.MIMEType!==s&&(n.preventDefault(),o.focus())}},150),l=function(e){var a=e.relatedTarget;a&&a.classList.contains("composer-btn-discard")||t.$applyAsync(function(){t.$$destroyed||t.saveLater(t.message)})};n.addEventListener("focus",o,!0),n.addEventListener("keydown",i,!1),n.addEventListener("blur",l,!1),t.$on("$destroy",function(){n.removeEventListener("focus",o,!0),n.removeEventListener("keydown",i,!1),n.removeEventListener("blur",l,!1)})}}};i.$inject=["editorModel"],t.default=i},"./src/app/composer/directives/composerTime.js":function(e,t,a){"use strict";function n(e,t){var a={saveAt:t.getString("Saved at",null,"Info display in the composer footer"),saving:t.getString("Saving",null,"Info display in the composer footer")};return{restrict:"E",replace:!0,template:'<time class="composerTime-container"></time>',link:function(t,n){var o=e(),r=o.on,s=o.unsubscribe,i=function(e){var t;e.saving?n[0].textContent=a.saving:e.Time&&(n[0].textContent=a.saveAt+" "+(t=e.Time,moment.unix(t).format("LT")))};r("actionMessage",function(e,a){var n=a.data;t.message.ID===n.ID&&i(n)}),i(t.message),t.$on("$destroy",s)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","gettextCatalog"],t.default=n},"./src/app/composer/directives/responsiveComposer.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/debounce.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t){var a={};return{restrict:"A",link:function(n){var o=function(n){return function(){var o=window.innerWidth,r=window.innerHeight,s=o<=640||r<=600;n.message.maximized&&!a.isSmall||n.message.minimized||(a.isSmall=s,n.$applyAsync(function(){e.small=r<700&&r>=600,e.mini=r<600,s&&n.maximize(n.message),!s&&0===t.get("ComposerMode")&&n.normalize(n.message)}))}}(n),s=(0,r.default)(o,100),i=setTimeout(function(){o(),clearTimeout(i)},100);window.addEventListener("resize",s),n.$on("$destroy",function(){window.removeEventListener("resize",s)})}}}s.$inject=["$rootScope","mailSettingsModel"],t.default=s},"./src/app/composer/factories/composerFromModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/lodash/fp/sortBy.js")),o=l(a("./node_modules/lodash/fp/filter.js")),r=l(a("./node_modules/lodash/fp/flow.js")),s=l(a("./node_modules/lodash/first.js")),i=l(a("./node_modules/lodash/find.js"));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t,a,l,c){var d="protonmail_pm_address",u={OK:l.getString("OK",null,"Action"),DONT_SHOW_AGAIN:l.getString("Don't show this again",null,"Action"),TITLE:l.getString("Sending notice",null,"Title"),error:function(e){return l.getString("Sending messages from @pm.me address is a paid feature. Your message will be sent from your default address {{email}}",{email:e},"Error")}};var p=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Email;return(void 0===e?"":e).endsWith("@pm.me")},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return(0,i.default)(e,{ID:t})||(0,s.default)(e)};return{get:function(s){var l=s.xOriginalTo,f=s.AddressID,h=c.getAddress(l),v=(0,r.default)((0,o.default)({Status:1,Receive:1}),(0,n.default)("Order"))(e.get());return h&&v.unshift(h),{addresses:v,address:function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments[1],r=m(n,o);if(!t.hasPaidMail()&&p(r)){var s=(0,i.default)(n,{Send:1});return localStorage.getItem(d)||(e=s.Email,a.activate({params:{title:u.TITLE,message:u.error(e),cancelText:u.OK,confirmText:u.DONT_SHOW_AGAIN,confirm:function(){a.deactivate(),localStorage.setItem(d,"dontShowAgain")},cancel:function(){a.deactivate()}}})),s}return r}(v,f)}}}}c.$inject=["addressesModel","authentication","confirmModal","gettextCatalog","plusAliasModel"],t.default=c},"./src/app/composer/factories/composerLoader.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/each.js"),r=(n=o)&&n.__esModule?n:{default:n},s=a("./src/app/constants.js"),i=a("./src/app/squire/helpers/textMode.js");c.$inject=["dispatchers","editorModel"];var l=s.MIME_TYPES.PLAINTEXT;function c(e,t){return function(a){return function(n){var o=n.composer,s=n.index,c=n.message,d=n.focusEditor,u=n.keepState,p=void 0===u||u;if(!c.focussed){var m=a.messages.length;if((0,r.default)(a.messages,function(e,t){e.focussed=!1,e.zIndex=t>s?100*(m-(t-s)):100*m}),c.focussed=!0,a.selected=c,!p&&(a.selected.autocompletesFocussed=!1),d)return t.find(c).editor.focus();!p&&function(a,n,o){if(a[0]&&(!a[0].contains(document.activeElement)||a[0]===document.activeElement))var r=setTimeout(function(){clearTimeout(r);var s=n.selected,c=s.ToList,d=void 0===c?[]:c,u=s.CCList,p=void 0===u?[]:u,m=s.BCCList;if(![].concat(d,p,void 0===m?[]:m).length){var f=a.find(".toRow").find("input").eq(0);if(f.get(0))return n.$applyAsync(function(){n.selected.autocompletesFocussed=!0,_rAF(function(){return f.focus()})})}if(!n.selected.Subject.length)return a.find(".subject").focus();if(o.MIMEType!==l){var h=t.find(o).editor;if(h)return h.focus();var v=e(),g=v.on,b=v.unsubscribe;g("composer.update",function(e,t){var a=t.type,n=t.data;"editor.loaded"===a&&o.ID===n.message.ID&&(n.editor.focus(),b())})}else(0,i.setCursorStart)(a.find(".plaintext-editor")[0])},300)}(o,a,c)}}}}t.default=c},"./src/app/composer/factories/composerRender.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/object/keys.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(){return{render:function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).size,a=void 0===t?1:t;e.forEach(function(e,t){var n,o,s,i,l,c=(n=a,o=e.offsetWidth,s=document.documentElement.classList.contains("ua-windows_nt")?40:20,i=document.body.offsetWidth,l=0,i/n<o&&(l=(i-o-s)/(n-1)),{width:o,margin:s,windowWidth:i,overlap:l}),d={visibility:"visible"};d.transform="translateX(-"+function(e,t){var a=e.width,n=e.margin,o=e.overlap;return parseInt(o?t*o:t*(a+n)+n,10)||n}(c,t)+"px)",function(e,t){(0,r.default)(t).forEach(function(a){return e.style[a]=t[a]})}(e,d)})},findComposer:function(e,t){var a=t.ID,n=e.querySelector('[data-composer-id="'+a+'"]');return n?{composer:angular.element(n),index:+n.getAttribute("data-index")}:{composer:angular.element(e.querySelector(".composer")),index:0}}}}},"./src/app/composer/factories/composerRequestModel.js":function(e,t,a){"use strict";function n(e){var t={};return{save:function(e,a){var n="key."+e.uid;t[n]=t[n]||[],t[n].push(a)},clear:function(e){var a=e.uid;delete t["key."+a]},chain:function(a){var n,o=a.uid,r=(n=o,t["key."+n]||[]).map(function(e){return e.promise});return e.all(r)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$q"],t.default=n},"./src/app/composer/factories/outsidersMap.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e={};return{set:function(t,a){return e[t]=a},get:function(t){return e[t]},clear:function(){return e={}},remove:function(t){return delete e[t]}}}},"./src/app/composer/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=N(a("./src/app/composer/constants/ComposerRequestStatus.js")),o=N(a("./src/app/composer/controllers/composeMessage.js")),r=N(a("./src/app/composer/directives/actionCompose.js")),s=N(a("./src/app/composer/directives/btnSendMessage.js")),i=N(a("./src/app/composer/directives/composer.js")),l=N(a("./src/app/composer/directives/composerAskEmbedded.js")),c=N(a("./src/app/composer/directives/composerAttachments.js")),d=N(a("./src/app/composer/directives/composerAttachmentsItem.js")),u=N(a("./src/app/composer/directives/composerAttachmentsSize.js")),p=N(a("./src/app/composer/directives/composerContainer.js")),m=N(a("./src/app/composer/directives/composerDropzone.js")),f=N(a("./src/app/composer/directives/composerEncrypt.js")),h=N(a("./src/app/composer/directives/composerExpiration.js")),v=N(a("./src/app/composer/directives/composerHeader.js")),g=N(a("./src/app/composer/directives/composerInputMeta.js")),b=N(a("./src/app/composer/directives/composerMessage.js")),y=N(a("./src/app/composer/directives/composerSelectFrom.js")),_=N(a("./src/app/composer/directives/composerSubject.js")),j=N(a("./src/app/composer/directives/composerTime.js")),A=N(a("./src/app/composer/directives/responsiveComposer.js")),S=N(a("./src/app/composer/factories/composerFromModel.js")),C=N(a("./src/app/composer/factories/composerLoader.js")),I=N(a("./src/app/composer/factories/composerRender.js")),x=N(a("./src/app/composer/factories/composerRequestModel.js")),E=N(a("./src/app/composer/services/mimeMessageBuilder.js")),w=N(a("./src/app/composer/factories/outsidersMap.js")),T=N(a("./src/app/composer/services/encryptMessage.js")),M=N(a("./src/app/composer/services/extractDataURI.js")),D=N(a("./src/app/composer/services/messageRequest.js")),k=N(a("./src/app/composer/services/onCurrentMessage.js")),L=N(a("./src/app/composer/services/postMessage.js")),P=N(a("./src/app/composer/services/sendMessage.js")),O=N(a("./src/app/composer/services/validateMessage.js"));function N(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.composer",["proton.constants"]).constant("ComposerRequestStatus",n.default).controller("ComposeMessageController",o.default).directive("actionCompose",r.default).directive("btnSendMessage",s.default).directive("composer",i.default).directive("composerAskEmbedded",l.default).directive("composerAttachments",c.default).directive("composerAttachmentsSize",u.default).directive("composerAttachmentsItem",d.default).directive("composerContainer",p.default).directive("composerDropzone",m.default).directive("composerEncrypt",f.default).directive("composerExpiration",h.default).directive("composerHeader",v.default).directive("composerInputMeta",g.default).directive("composerMessage",b.default).directive("composerSelectFrom",y.default).directive("composerSubject",_.default).directive("composerTime",j.default).directive("responsiveComposer",A.default).factory("composerFromModel",S.default).factory("composerLoader",C.default).factory("composerRender",I.default).factory("composerRequestModel",x.default).factory("mimeMessageBuilder",E.default).factory("outsidersMap",w.default).factory("encryptMessage",T.default).factory("extractDataURI",M.default).factory("messageRequest",D.default).factory("onCurrentMessage",k.default).factory("postMessage",L.default).factory("sendMessage",P.default).factory("validateMessage",O.default).name},"./src/app/composer/services/encryptMessage.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./node_modules/babel-runtime/core-js/promise.js")),o=c(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),r=c(a("./node_modules/babel-runtime/regenerator/index.js")),s=c(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),i=c(a("./node_modules/lodash/uniq.js")),l=a("./src/app/constants.js");function c(e){return e&&e.__esModule?e:{default:e}}u.$inject=["$rootScope","pmcw","srp","ComposerRequestStatus","outsidersMap","CONSTANTS","gettextCatalog"];var d=l.MIME_TYPES.DEFAULT;function u(e,t,a,l,c,u,p){var m,f,h,v,g,b,y=this,_=(m=(0,s.default)(r.default.mark(function e(t,a,o){var s,i,l,d,u,p,m;return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.cleartextBodyPackets();case 2:return s=e.sent,i=s.sessionKey,l=s.dataPacket,d=T(t,a,{sessionKey:i,dataPacket:l,publicKeys:o}),u=d.promises,p=d.cleartext,m=d.packageSet,c.set(t.ID,p),e.abrupt("return",{cleartext:p,encrypt:function(){return n.default.all(u).then(function(){return[m]})}});case 8:case"end":return e.stop()}},e,this)})),function(e,t,a){return m.apply(this,arguments)}),j=(f=(0,s.default)(r.default.mark(function e(t,a){var n,o,s,l,c,d;return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=(0,i.default)(a),e.next=4,t.getPublicKeys(n);case 4:return o=e.sent,s=o.data,e.abrupt("return",_(t,n,s));case 9:throw e.prev=9,e.t0=e.catch(0),l=e.t0||{},c=l.data,d=void 0===c?{}:c,console.error("Cannot encrypt message",e.t0),t.encrypting=!1,C(t),new Error(d.Error||S);case 16:case"end":return e.stop()}},e,this,[[0,9]])})),function(e,t){return f.apply(this,arguments)}),A=u.SEND_TYPES,S=p.getString("Cannot get public keys",null,"Encrypt message"),C=function(t){return e.$emit("actionMessage",{data:t})},I=(h=(0,s.default)(r.default.mark(function e(){return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{Type:A.SEND_CLEAR,Signature:0});case 1:case"end":return e.stop()}},e,y)})),function(){return h.apply(this,arguments)}),x=(v=(0,s.default)(r.default.mark(function e(a){var n,o,s=a.sessionKey,i=void 0===s?{}:s,l=a.publicKeys,c=void 0===l?[]:l,d=a.passwords,u=void 0===d?[]:d;return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.encryptSessionKey({data:i.data,algorithm:i.algorithm,publicKeys:c.length>0?t.getKeys(c):[],passwords:u});case 2:return n=e.sent,o=n.message,e.abrupt("return",t.encode_base64(t.arrayToBinaryString(o.packets.write())));case 5:case"end":return e.stop()}},e,y)})),function(e){return v.apply(this,arguments)}),E=(g=(0,s.default)(r.default.mark(function e(t,a,s){var i,l,c,d;return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.default.all([x({sessionKey:s,publicKeys:a}),t.encryptAttachmentKeyPackets(a)]);case 2:return i=e.sent,l=(0,o.default)(i,2),c=l[0],d=l[1],e.abrupt("return",{Type:u.SEND_TYPES.SEND_PM,BodyKeyPacket:c,AttachmentKeyPackets:d,Signature:0});case 7:case"end":return e.stop()}},e,y)})),function(e,t,a){return g.apply(this,arguments)}),w=(b=(0,s.default)(r.default.mark(function e(s,i){var l,c,d,u,p,m,f;return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,l=s.generateReplyToken(),e.next=4,n.default.all([t.encryptMessage({data:l,publicKeys:[],passwords:[s.Password]}),x({passwords:s.Password,sessionKey:i}),s.encryptAttachmentKeyPackets([],[s.Password]),a.randomVerifier(s.Password)]);case 4:return c=e.sent,d=(0,o.default)(c,4),u=d[0].data,p=d[1],m=d[2],f=d[3],e.abrupt("return",{Auth:f.Auth,Type:A.SEND_EO,PasswordHint:s.PasswordHint,Token:l,EncToken:u,BodyKeyPacket:p,AttachmentKeyPackets:m,Signature:0});case 13:throw e.prev=13,e.t0=e.catch(0),s.encrypting=!1,C(s),console.error(e.t0),e.t0;case 19:case"end":return e.stop()}},e,y,[[0,13]])})),function(e,t){return b.apply(this,arguments)}),T=function(e,a,i){var l,c,u=i.publicKeys,p=i.sessionKey,m=i.dataPacket,f={Type:0,Addresses:{},MIMEType:e.MIMEType||d,Body:t.encode_base64(t.arrayToBinaryString(m[0]))},h=(l=p.data,(0,s.default)(r.default.mark(function e(){return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.encode_base64(t.arrayToBinaryString(l)));case 1:case"end":return e.stop()}},e,y)}))),v=function(e,t){return e.then(function(e){f.Addresses[t]=e,f.Type|=e.Type})},g=a.reduce(function(t,a){return u[a]&&u[a].length>0?(t.promises.push(v(E(e,u[a],p),a)),t):1===e.IsEncrypted?(t.promises.push(v(w(e,p),a)),t):(t.cleartext=!0,t.promises.push(v(I(),a)),t)},{cleartext:!1,promises:[]}),b=g.promises,_=g.cleartext;if(_){var j=(c=(0,s.default)(r.default.mark(function t(){var a,s,i,l;return r.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,n.default.all([h(),e.cleartextAttachmentKeyPackets()]);case 2:a=t.sent,s=(0,o.default)(a,2),i=s[0],l=s[1],f.BodyKey=i,f.AttachmentKeys=l;case 8:case"end":return t.stop()}},t,y)})),function(){return c.apply(this,arguments)});b.push(j())}return{promises:b,cleartext:_,packageSet:f}};return j}t.default=u},"./src/app/composer/services/extractDataURI.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./node_modules/babel-runtime/regenerator/index.js")),o=d(a("./node_modules/babel-runtime/core-js/promise.js")),r=d(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),s=d(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),i=d(a("./node_modules/lodash/fp/filter.js")),l=d(a("./node_modules/lodash/fp/map.js")),c=d(a("./node_modules/lodash/fp/flow.js"));function d(e){return e&&e.__esModule?e:{default:e}}var u=a("./src/app/constants.js").MIME_TYPES.PLAINTEXT;function p(e,t){var a;function d(){for(var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(","),t=(0,s.default)(e,2),a=t[0],n=void 0===a?"":a,o=t[1],r=atob(void 0===o?"":o),i=n.split(":")[1].split(";")[0],l=new ArrayBuffer(r.length),c=new DataView(l),d=0;d<r.length;d++)c.setUint8(d,r.charCodeAt(d));return new Blob([l],{type:i})}return a=(0,r.default)(n.default.mark(function a(r){var s,p,m,f;return n.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(r.MIMEType!==u){a.next=2;break}return a.abrupt("return",r);case 2:return s=r.getDecryptedBody(),(p=document.createElement("DIV")).innerHTML=s,m=p.querySelectorAll("img"),f=(0,c.default)((0,i.default)(function(e){var t=e.src;return/data:image/.test(t)}),(0,i.default)(function(e){return e.src.includes(",")}),(0,l.default)(function(a){var n=t.generateCid(a.src,r.From.Email),s=function(){return a.setAttribute("data-embedded-img",n),o.default.resolve()};if(t.exist(r,n))return s();var i=d(a.src);return i.name=a.alt||"image"+Date.now(),i.inline=1,e.create(i,r,!0,n).then(s)}))([].slice.call(m)),a.next=9,o.default.all(f);case 9:return r.setDecryptedBody(p.innerHTML),a.abrupt("return",r);case 11:case"end":return a.stop()}},a,this)})),function(e){return a.apply(this,arguments)}}p.$inject=["attachmentModel","embedded"],t.default=p},"./src/app/composer/services/messageRequest.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/regenerator/index.js")),o=s(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),r=s(a("./node_modules/lodash/has.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a,s,i){var l,c,d=(l=(0,o.default)(n.default.mark(function e(t,o,r){var s,i,l,c;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,v(r,t);case 3:if(s=e.sent,(i=s.data).Code!==a.SUCCESS&&i.Code!==a.DRAFT_NOT_EXIST){e.next=7;break}return e.abrupt("return",i);case 7:if(i.Code!==a.MESSAGE_ALREADY_SEND){e.next=9;break}return e.abrupt("return",f("close.message",{message:o}));case 9:e.next=15;break;case 11:throw e.prev=11,e.t0=e.catch(0),l=e.t0||{},c=l.data,new Error((void 0===c?{}:c).Error||m.ERROR_REQUEST_DRAFT);case 15:case"end":return e.stop()}},e,this,[[0,11]])})),function(e,t,a){return l.apply(this,arguments)}),u=(c=(0,o.default)(n.default.mark(function e(a){var o,r,s,i;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t.send(a);case 3:return o=e.sent,r=o.data,s=void 0===r?{}:r,e.abrupt("return",s);case 9:throw e.prev=9,e.t0=e.catch(0),(i=h(e.t0)).code=e.t0.Code,i;case 14:case"end":return e.stop()}},e,this,[[0,9]])})),function(e){return c.apply(this,arguments)}),p=s.STATUS,m={ERROR_REQUEST_DRAFT:i.getString("Saving draft failed, please try again",null,"Error"),ERROR_SENDING:i.getString("Cannot send message",null,"Error")},f=function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.$emit("composer.update",{type:t,data:a})};function h(e){return(0,r.default)(e,"data")?h(e.data):e.ErrorDescription?new Error(e.Error+": "+e.ErrorDescription):new Error(e.Error||m.ERROR_SENDING)}var v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p.CREATE,a=arguments[1];return e===p.UPDATE?t.updateDraft(a):t.createDraft(a)};return{draft:d,send:u}}i.$inject=["$rootScope","messageApi","ComposerRequestStatus","CONSTANTS","gettextCatalog"],t.default=i},"./src/app/composer/services/mimeMessageBuilder.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=h(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),o=h(a("./node_modules/babel-runtime/regenerator/index.js")),r=h(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),s=h(a("./node_modules/babel-runtime/core-js/promise.js")),i=h(a("./node_modules/babel-runtime/core-js/json/stringify.js")),l=h(a("./node_modules/babel-runtime/core-js/array/from.js")),c=h(a("./node_modules/lodash/filter.js")),d=h(a("./node_modules/lodash/each.js")),u=h(a("./node_modules/lodash/extend.js")),p=h(a("./node_modules/lodash/map.js")),m=h(a("./node_modules/lodash/flowRight.js")),f=h(a("./node_modules/mimemessage/lib/mimemessage.js"));function h(e){return e&&e.__esModule?e:{default:e}}function v(e,t,a){var h,v=this,g=(0,m.default)(e.encode_base64,e.arrayToBinaryString),b=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:76;return e.split("\n").map(function(e){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:76,n=Math.ceil(e.length/a);return(0,l.default)({length:n},function(t,n){return e.substring(a*n,a*(n+1))}).join(t+"\r\n")}(e,t,a)}).join("\r\n")},y=function(){return Math.floor(65536*Math.random()).toString(16).padStart(4,0)},_=function(){return"---------------------"+new Array(8).fill(null).map(y).join("")},j=function(e){return(0,p.default)(e,function(e){var t=e.attachment,a=e.data,n=f.default.factory({contentType:t.MIMEType+"; name="+(0,i.default)(t.Name),contentTransferEncoding:"base64",body:b(g(a))}),o=(0,u.default)({},t.Headers);return o["content-disposition"]=o["content-disposition"]||"attachment",(0,d.default)(o,function(e,a){if(("content-type"===a||"content-disposition"===a)&&-1===e.indexOf("; filename="))return n.header(a,e+"; filename="+(0,i.default)(t.Name));n.header(a,e)}),n})},A=function(a,n){var o=f.default.factory({contentType:"text/html;charset=utf-8",contentTransferEncoding:"base64",body:b(e.encode_utf8_base64(a||" "))}),r=(0,c.default)(n,function(e){var a=e.attachment.Headers;return t.isInline(a)}),s=j(r),i=[o].concat(s);return f.default.factory({contentType:'multipart/related; boundary="'+_()+'"',body:i})},S=/[^\t\n\r\x20-\x3C\x3E-\x7E]/g,C=function(e){return"="+("00"+e.charCodeAt(0).toString(16).toUpperCase()).substr(-2)},I=(0,m.default)([function(e){return e.replace(/ $/gm," =\r\n\r\n")},function(e){return function(e){return e.replace(/(?=.{0,2}=\r\n)(=(=\r\n)?[0-9A-F](=\r\n)?[0-9A-F])/g,function(e){return e.replace(/=\r\n/,"")+"=\r\n"})}(b(e,"=",74))},function(e){return e.replace(/(\r\n|\n|\r)/g,"\n")},function(e){return e.replace(S,C)},e.encode_utf8]),x=function(e){return f.default.factory({body:I(e)||" ",contentTransferEncoding:"quoted-printable"})},E=function(e,t,a){return!1!==t&&!1!==e?function(e,t,a){return f.default.factory({contentType:'multipart/alternative; boundary="'+_()+'"',body:[x(e),A(t,a)]})}(e,t,a):!1!==t?A(t,a):x(e)},w=function(e,a,n){var o=E(e,a,n),r=!1===a?n:(0,c.default)(n,function(e){var a=e.attachment.Headers;return!t.isInline(a)}),s=j(r),i=[o].concat(s);return f.default.factory({contentType:'multipart/mixed; boundary="'+_()+'"',body:i}).toString()+"\r\n"},T=function(e,t){return s.default.all([s.default.all((0,p.default)(e.getAttachments(),(n=(0,r.default)(o.default.mark(function t(n){return o.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=n,t.next=3,a.get(n,e);case 3:return t.t1=t.sent,t.abrupt("return",{attachment:t.t0,data:t.t1});case 5:case"end":return t.stop()}},t,v)})),function(e){return n.apply(this,arguments)}))),function(e,t){return!(!e.isPlainText()&&!t)&&e.exportPlainText()}(e,t)]);var n};return{construct:(h=(0,r.default)(o.default.mark(function e(t){var a,r,s,i,l,c=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,T(t,c);case 2:return a=e.sent,r=(0,n.default)(a,2),s=r[0],i=r[1],l="text/html"===t.MIMEType&&t.getDecryptedBody(),e.abrupt("return",w(i,l,s));case 8:case"end":return e.stop()}},e,v)})),function(e){return h.apply(this,arguments)}),build:w}}v.$inject=["pmcw","embeddedUtils","AttachmentLoader"],t.default=v},"./src/app/composer/services/onCurrentMessage.js":function(e,t,a){"use strict";function n(e){var t=e().on;return function(e,a,n){return t(e,function(e,t){return function(a,n){var o=n.type,r=n.data,s=void 0===r?{}:r;(function(e){var t=e.message,a=void 0===t?{}:t,n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).ID;return(void 0===n?"editor":n)===(a.ID||"editor")})(e,s.message)&&t(o,s)}}(a,n))}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers"],t.default=n},"./src/app/composer/services/postMessage.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./node_modules/babel-runtime/regenerator/index.js")),o=c(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),r=c(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),s=c(a("./node_modules/lodash/uniq.js")),i=c(a("./node_modules/lodash/pick.js")),l=c(a("./node_modules/lodash/extend.js"));function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t,a,c,d,u,p,m,f,h,v,g,b){var y=this,_=e.STATUS,j={SAVE_MESSAGE_SUCCESS:p.getString("Message saved",null,"Record message")},A=b("unicodeTagView"),S=function(e){return t.$emit("actionMessage",{data:e})};function C(e,t){var a=e.reduce(function(e,t){return e[t.ID]=t,t.AttachmentID&&(e[t.AttachmentID]=t),e},{});return t.reduce(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.push((0,l.default)({},a[t.ID],t)),e},[])}var I,x,E,w,T=(I=(0,r.default)(n.default.mark(function e(t,a){var r,s,l,c,d,u,p,m;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(r={Message:(0,i.default)(t,"ToList","CCList","BCCList","Subject","IsRead","MIMEType")}).Message.Subject=r.Message.Subject||"",t.saving=!0,t.autosaving=a,S(t),angular.isString(r.Message.ToList)&&(r.Message.ToList=[]),angular.isString(r.Message.CCList)&&(r.Message.CCList=[]),angular.isString(r.Message.BCCList)&&(r.Message.BCCList=[]),angular.isDefined(t.ParentID)&&(r.ParentID=t.ParentID,r.Action=t.Action),angular.isDefined(t.ID)?r.id=t.ID:r.Message.IsRead=1,!1===a&&(r.Message.IsRead=1),s=t.From||{},l=s.DisplayName,c=s.Email,r.Message.Sender={Name:l||"",Address:c},d=t.From.Keys||[],u=(0,o.default)(d,1),p=u[0],m=(p=void 0===p?{}:p).PublicKey,e.next=18,t.encryptAttachmentKeyPackets(m);case 18:return r.AttachmentKeyPackets=e.sent,t.AddressID=t.From.ID,r.Message.AddressID=t.From.ID,e.abrupt("return",r);case 22:case"end":return e.stop()}},e,y)})),function(e,t){return I.apply(this,arguments)}),M=(x=(0,r.default)(n.default.mark(function t(o,r){var i,l,p,f,h,v,g,b,A,I,x,E=r.actionType,w=r.parameters,T=r.notification;return n.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,a.draft(w,o,E);case 2:if(i=t.sent,l=i.Message,(p=i.Code)!==c.SUCCESS){t.next=25;break}return f=d.getConversationCached(l.ConversationID)||{},h=f.ContextNumUnread||0,v=void 0,E===_.CREATE?(v=(f.NumMessages||0)+1,o.ID=l.ID):E===_.UPDATE&&(v=f.NumMessages||0),o.IsRead=l.IsRead,o.Time=l.Time,o.Type=l.Type,o.LabelIDs=l.LabelIDs,l.Attachments.length>0&&(o.Attachments=C(o.Attachments,l.Attachments)),l.Senders=[l.Sender],l.Recipients=(0,s.default)(l.ToList.concat(l.CCList,l.BCCList)),g={Recipients:l.Recipients,Senders:l.Senders,Subject:l.Subject},(b=[{Action:E,ID:l.ID,Message:l}]).push({Action:_.UPDATE_FLAGS,ID:l.ConversationID,Conversation:angular.extend({NumAttachments:l.Attachments.length,NumMessages:v,ContextNumUnread:h,ID:l.ConversationID,LabelIDsAdded:[e.MAILBOX_IDENTIFIERS.allDrafts,e.MAILBOX_IDENTIFIERS.drafts]},1===v?g:{})}),d.events(b),!0===T&&u({message:j.SAVE_MESSAGE_SUCCESS,classes:"notification-success"}),o.saving=!1,o.autosaving=!1,S(o),t.abrupt("return",l);case 25:if(p!==c.DRAFT_NOT_EXIST){t.next=33;break}return delete w.id,t.next=29,m.createDraft(w);case 29:return A=t.sent,I=A.data,x=void 0===I?{}:I,t.abrupt("return",x.Message);case 33:case"end":return t.stop()}},t,y)})),function(e,t){return x.apply(this,arguments)}),D=(E=(0,r.default)(n.default.mark(function e(t,a){var r,s,i,l,c,d,u,p,m=a.notification,g=a.autosaving;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,T(t,g);case 3:return r=e.sent,e.next=6,f.chain(t);case 6:if(s=e.sent,i=(0,o.default)(s,1),l=i[0],(c=(l=void 0===l?{}:l).ID)&&(t.ID=c,r.id=c),t.isPlainText()){e.next=17;break}return e.next=15,h.parser(t,{direction:"cid",isOutside:v.get(t.ID)});case 15:d=e.sent,t.setDecryptedBody(d);case 17:return e.next=19,t.encryptBody(t.From.Keys[0].PublicKey);case 19:return u=e.sent,p=t.ID?_.UPDATE:_.CREATE,r.Message.Body=u,e.next=24,M(t,{actionType:p,parameters:r,notification:m});case 24:return e.abrupt("return",e.sent);case 27:throw e.prev=27,e.t0=e.catch(0),t.saving=!1,t.autosaving=!1,S(t),f.clear(t),e.t0;case 34:case"end":return e.stop()}},e,y,[[0,27]])})),function(e,t){return E.apply(this,arguments)});return w=(0,r.default)(n.default.mark(function e(t){var a,o,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=r.notification,i=void 0!==s&&s,l=r.autosaving,c=void 0!==l&&l,d=r.loader,p=void 0===d||d;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,a=D(t,{notification:i,autosaving:c}),(!1===c||p)&&g.track(a),f.save(t,a),e.next=6,a;case 6:return e.abrupt("return",e.sent);case 9:if(e.prev=9,e.t0=e.catch(0),o=A(e.t0.message),!c){e.next=14;break}return e.abrupt("return",u({message:o,classes:"notification-danger"}));case 14:throw new Error(o);case 15:case"end":return e.stop()}},e,y,[[0,9]])})),function(e){return w.apply(this,arguments)}}d.$inject=["CONSTANTS","$rootScope","messageRequest","ComposerRequestStatus","cache","notify","gettextCatalog","messageApi","composerRequestModel","embedded","outsidersMap","networkActivityTracker","$filter"],t.default=d},"./src/app/composer/services/sendMessage.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/babel-runtime/regenerator/index.js")),o=i(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),r=i(a("./node_modules/lodash/delay.js")),s=i(a("./node_modules/lodash/uniq.js"));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t,a,i,l,c,d,u){var p,m,f=this,h=e.STATUS,v={SEND_SUCCESS:a.getString("Message sent",null,"Send message"),EXPIRE_ERROR:a.getString("Expiring emails to non-ProtonMail recipients require a message password to be set. For more information, {{link}}click here",{link:'<a href="https://protonmail.com/support/knowledge-base/expiration/" target="_blank">'},"Send message")},g=function(e){return u.$emit("actionMessage",{data:e})},b=function(e,t){return e.encrypting=!0,g(e),t.id=e.ID,t.ExpirationTime=e.ExpirationTime,e.emailsToString()},y=(p=(0,o.default)(n.default.mark(function e(t,a){var o,r,s,c,d;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o=b(t,a),e.next=3,i(t,o);case 3:if(r=e.sent,s=r.encrypt,!r.cleartext||t.Password.length||!t.ExpirationTime){e.next=10;break}throw(c=new Error(v.EXPIRE_ERROR+"</a>.")).raw=!0,c;case 10:return e.next=12,s();case 12:return d=e.sent,a.Packages=d,t.encrypting=!1,g(t),e.abrupt("return",l.send(a));case 17:case"end":return e.stop()}},e,f)})),function(e,t){return p.apply(this,arguments)});return m=(0,o.default)(n.default.mark(function a(o){var i,l,p,m,g,b,_,j,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,y(o,A);case 2:i=a.sent,l=i.Parent,p=i.Sent,m=void 0===p?{}:p,u.$emit("composer.update",{type:"send.success",data:{message:o,discard:!1,save:!1}}),g=d.getConversationCached(m.ConversationID),b=angular.isDefined(g)?g.NumMessages:1,_=angular.isDefined(g)?g.ContextNumUnread:0,m.Senders=[m.Sender],m.Recipients=(0,s.default)(o.ToList.concat(o.CCList,o.BCCList)),j=[{Action:h.UPDATE_FLAGS,ID:m.ID,Message:m}],l&&j.push({Action:h.UPDATE_FLAGS,ID:l.ID,Message:l}),j.push({Action:h.UPDATE_FLAGS,ID:m.ConversationID,Conversation:{NumMessages:b,ContextNumUnread:_,Recipients:m.Recipients,Senders:m.Senders,Subject:m.Subject,ID:m.ConversationID,LabelIDsAdded:[e.MAILBOX_IDENTIFIERS.allSent,e.MAILBOX_IDENTIFIERS.sent],LabelIDsRemoved:[e.MAILBOX_IDENTIFIERS.allDrafts,e.MAILBOX_IDENTIFIERS.drafts]}}),c.success(v.SEND_SUCCESS),d.events(j,!1,!0),(0,r.default)(function(){u.$emit("message.open",{type:"save.success",data:{message:t(m)}})},500);case 18:case"end":return a.stop()}},a,f)})),function(e){return m.apply(this,arguments)}}l.$inject=["CONSTANTS","messageModel","gettextCatalog","encryptMessage","messageRequest","notification","cache","$rootScope"],t.default=l},"./src/app/composer/services/validateMessage.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/babel-runtime/core-js/promise.js")),o=i(a("./node_modules/babel-runtime/regenerator/index.js")),r=i(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),s=a("./src/app/constants.js");function i(e){return e&&e.__esModule?e:{default:e}}c.$inject=["gettextCatalog","tools","confirmModal","authentication","notification","addressWithoutKeys"];var l=s.MIME_TYPES.PLAINTEXT;function c(e,t,a,i,c,d){var u,p,m=(u=(0,r.default)(o.default.mark(function e(a){var n;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a.MIMEType!==l&&a.setDecryptedBody(t.fixImages(a.getDecryptedBody())),!(a.uploading>0)){e.next=3;break}throw new Error(h.STILL_UPLOADING);case 3:if(v(a),!(n=a.ToList.concat(a.CCList,a.BCCList).reduce(function(e,t){var a=t.Address,n=void 0===a?"":a;return e.all.push(n),!s.REGEX_EMAIL.test(n)&&e.invalid.push(n),e.total++,e},{all:[],invalid:[],total:0})).invalid.length){e.next=7;break}throw new Error(h.invalidEmails(n.invalid.join(",")));case 7:if(!(n.total>25)){e.next=9;break}throw new Error(h.maxRecipients(n.total));case 9:if(n.total){e.next=11;break}throw new Error(h.NO_RECIPIENT);case 11:if(!(a.Subject&&a.Subject.length>s.MAX_TITLE_LENGTH)){e.next=13;break}throw new Error(h.MAX_SUBJECT_LENGTH);case 13:if(!(a.getDecryptedBody().length>16e6)){e.next=15;break}throw new Error(h.MAX_BODY_LENGTH);case 15:case"end":return e.stop()}},e,this)})),function(e){return u.apply(this,arguments)}),f=(p=(0,r.default)(o.default.mark(function e(t){var r=t.Subject;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=2;break}return e.abrupt("return");case 2:return e.abrupt("return",new n.default(function(e,t){a.activate({params:{title:h.NO_SUBJECT_TITLE,message:h.NO_SUBJECT_MESSAGE,confirm:function(){a.deactivate(),e()},cancel:function(){a.deactivate(),t()}}})}));case 3:case"end":return e.stop()}},e,this)})),function(e){return p.apply(this,arguments)}),h={STILL_UPLOADING:e.getString("Wait for attachment to finish uploading or cancel upload.",null,"Error"),invalidEmails:function(t){return e.getString("Invalid email(s): {{total}}",{total:t},"Error")},MAX_BODY_LENGTH:e.getString("The maximum length of the message body is 16,000,000 characters.",null,"Error"),NO_RECIPIENT:e.getString("Please enter at least one recipient.",null,"Error"),MAX_SUBJECT_LENGTH:e.getString("The maximum length of the subject is {{size}}.",{size:s.MAX_TITLE_LENGTH},"Error"),maxRecipients:function(t){return e.getString("You have {{total}} recipients. The maximum number is 25.",{total:t},"Error")},NO_SUBJECT_TITLE:e.getString("No subject",null,"Title"),NO_SUBJECT_MESSAGE:e.getString("No subject, send anyway?",null,"Info"),ERROR_ADDRESSES_INFO_PRIVATE:e.getString("You can generate your keys here",null,"Error"),ERROR_ADDRESSES:e.getString("No address with keys available to compose a message.",null,"Error"),MEMBER:e.getString("Addresses / Users",null,"Title"),ERROR_ADDRESSES_INFO:e.getString("Contact your organization’s administrator to resolve this.",null,"Error"),ERROR_DELINQUENT:e.getString("Your account currently has an overdue invoice. Please pay all unpaid invoices.",null,"Info")},v=function(e){e.ToList.concat(e.CCList,e.BCCList).forEach(function(e){e.Address=e.Address.trim()})},g=function(){return i.user.Private?h.ERROR_ADDRESSES_INFO_PRIVATE+' <a href="/members">'+h.MEMBER+"</a>":h.ERROR_ADDRESSES_INFO};return{checkSubject:f,validate:m,canWrite:function(){return i.user.Delinquent>=s.UNPAID_STATE.DELINQUENT?c.error(h.ERROR_DELINQUENT):!d.allDirty()||c.error(h.ERROR_ADDRESSES+"<br>"+g())}}}t.default=c},"./src/app/constants.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=t.MAIN_KEY="0",o=(t.ERROR_AUTH_ACCOUNT_DISABLED=10003,t.MAX_TITLE_LENGTH=255,t.AWESOMEPLETE_MAX_ITEMS=20,t.ERROR_SILENT="ignoreError"),r=t.WIZARD_ENABLED=!0,s=t.FREE_USER_ROLE=0,i=t.PAID_MEMBER_ROLE=1,l=t.PAID_ADMIN_ROLE=2,c=(t.CURRENCIES=["USD","EUR","CHF"],t.BILLING_CYCLE=[1,12,24],t.PHOTO_PLACEHOLDER_URL="/assets/img/photo-placeholder.png",t.INVITE_URL="https://protonmail.com/invite",t.INVITE_MAIL=1,t.INVITE_VPN=2,t.OAUTH_KEY="proton:oauth"),d=(t.CUSTOM_DOMAIN_ADDRESS=3,t.UNPAID_STATE={NOT:0,AVAILABLE:1,OVERDUE:2,DELINQUENT:3,NO_RECEIVE:4}),u=t.MAILBOX_IDENTIFIERS={inbox:"0",allDrafts:"1",allSent:"2",trash:"3",spam:"4",allmail:"5",starred:"10",archive:"6",sent:"7",drafts:"8",search:"search",label:"label"},p=(t.REMOTE=1,t.EMBEDDED=2,t.CONVERSATION_REQUEST_SIZE=10,t.GIFT_CODE_LENGTH=16,t.PM_SIGNATURE='Sent with <a href="https://protonmail.com" target="_blank">ProtonMail</a> Secure Email.'),m=(t.MIME_TYPES={PLAINTEXT:"text/plain",DEFAULT:"text/html"},t.DEFAULT_SQUIRE_VALUE={LINK:"",IMAGE:"",HEADER_CLASS:"h4",IFRAME_CLASS:"angular-squire-iframe"},t.EMAIL_FORMATING={OPEN_TAG_AUTOCOMPLETE:"‹",CLOSE_TAG_AUTOCOMPLETE:"›",OPEN_TAG_AUTOCOMPLETE_RAW:"<",CLOSE_TAG_AUTOCOMPLETE_RAW:">"},t.AUTOCOMPLETE_DOMAINS=["protonmail.com","protonmail.ch","gmail.com","hotmail.com","live.com","yahoo.com","outlook.com"],t.MAX_OUTSIDE_REPLY=4),f=t.MAILBOX_PASSWORD_KEY="proton:mailbox_pwd",h=(t.WHITELIST=["notify@protonmail.com"],t.ADDRESS_TYPE={ORIGINAL:1,ALIAS:2,CUSTOM_DOMAIN:3,PREMIUM:4},t.CONSTANTS={MAX_SIZE_SCREENSHOT:5e5,CLIENT_TYPE:1,BLACK_FRIDAY_INTERVAL:6e5,PLANS:{PLAN:{PLUS:"plus",PROFESSIONAL:"professional",VISIONARY:"visionary",VPN_BASIC:"vpnbasic",VPN_PLUS:"vpnplus"},ADDON:{ADDRESS:"5address",MEMBER:"1member",DOMAIN:"1domain",SPACE:"1gb",VPN:"1vpn"}},PLANS_TYPE:{PLAN:1,ADDON:0},CONTACTS_LIMIT_ENCRYPTION:20,CONTACTS_LIMIT_UPLOAD:50,VCARD_VERSION:"4.0",VCARD_KEYS:["fn","email","adr","tel","note","kind","source","xml","nickname","photo","bday","anniversary","gender","impp","lang","tz","geo","title","role","logo","org","member","related","categories","rev","sound","uid","clientpidmap","url","key","fburl","caladruri","caluri"],VCARD_TYPES:["work","home","text","voice","fax","cell","video","pager","textphone","iana-token","x-name","contact","acquaintance","friend","met","co-worker","colleague","co-resident","neighbor","child","parent","sibling","spouse","kin","muse","crush","date","sweetheart","me","agent","emergency"],CONTACT_MODE:{ENCRYPTED_AND_SIGNED:3,SIGNED:2,ENCRYPTED:1,CLEAR_TEXT:0},CONTACT_ERROR:{TYPE3_CONTACT_VERIFICATION:3,TYPE3_CONTACT_DECRYPTION:2,TYPE2_CONTACT_VERIFICATION:1,TYPE1_CONTACT:0},CONTACT_EMAILS_LIMIT:1e3,CONTACTS_LIMIT:1e3,EXPORT_CONTACTS_LIMIT:50,MAX_VPN:500,MAX_MEMBER:100,HUGE_MEMBER:5e3,TIMEOUT:3e4,BASE_SIZE:1024,KEY_VERSION:3,INBOX:0,DRAFT:1,SENT:2,INBOX_AND_SENT:3,PM_ADDRESS:1,PM_ALIAS:2,REPLY:0,REPLY_ALL:1,FORWARD:2,FILTER_VERSION:1,ROW_MODE:1,COLUMN_MODE:0,ATTACHMENT_SIZE_LIMIT:25,ATTACHMENT_NUMBER_LIMIT:100,MAX_NUMBER_COMPOSER:3,MESSAGE_VIEW_MODE:1,CONVERSATION_VIEW_MODE:0,MESSAGE_LIMIT:100,CONVERSATION_LIMIT:100,ENCRYPTED_STATUS:{NONE:0,INTERNAL:1,EXTERNAL:2,OUT_ENC:3,OUT_PLAIN:4,STORED_ENC:5,AUTOREPLY:10},INTERVAL_EVENT_TIMER:3e4,TIMEOUT_PRELOAD_MESSAGE:500,UPLOAD_GRADIENT_DARK:"147, 145, 209",UPLOAD_GRADIENT_LIGHT:"255, 255, 255",ENC_OUT_ENC_REPLY:6,SAVE_TIMEOUT_TIME:3e3,SAVE_THROTTLE_TIME:1e4,MAX_EXPIRATION_TIME:672,ELEMENTS_PER_PAGE:50,CONTACTS_PER_PAGE:1e3,HD_BREAKPOINT:1920,DESKTOP_BREAKPOINT:1200,ROW_BREAKPOINT:960,MOBILE_BREAKPOINT:800,STATUS:{DELETE:0,CREATE:1,UPDATE:2,UPDATE_DRAFT:2,UPDATE_FLAGS:3},URL_INFO:"https://mail.protonmail.com/assets/host.png",MIN_PAYPAL_AMOUNT:500,MAX_PAYPAL_AMOUNT:99999900,MIN_BITCOIN_AMOUNT:500,BTC_DONATION_ADDRESS:"1Q1nhq1NbxPYAbw1BppwKbCqg58ZqMb9A8",CYCLE:{MONTHLY:1,YEARLY:12,TWO_YEARS:24},IFRAME_SECURE_ORIGIN:"https://secure.protonmail.com",DEFAULT_CURRENCY:"EUR",CHANGELOG_PATH:"assets/changelog.tpl.html",DEFAULT_CYCLE:12,TRACKER_ROUTE:"proton.php",PIWIK_SCRIPT:"proton.js",METRIC_GOALS:{SIGNUP_ALL:2,SIGNUP_FREE:4,SIGNUP_PAID:3,SIGNUP_PLUS:6,SIGNUP_VISIONARY:5},SEND_TYPES:{SEND_PM:1,SEND_EO:2,SEND_CLEAR:4,SEND_PGP_INLINE:8,SEND_PGP_MIME:16,SEND_MIME:32},FONT_SIZE:{small:8,normal:14,large:20,huge:26},COMPOSER_COLOR:{COLOR:"#222222",BACKGROUND:"#FFFFFF"},FONT_COLOR:{white:["#FFFFFF","#DADADA","#B5B5B5","#909090","#6B6B6B","#464646","#222222"],magenta:["#F6CBCB","#EC9798","#E36667","#ED4139","#CF3932","#9A2B25","#681D19"],blue:["#CDE1F2","#9CC3E5","#6CA6D9","#3B83C2","#2A47F6","#145390","#0F3A62"],green:["#D7EAD3","#B3D6A9","#8FC380","#77F241","#66A657","#3A762B","#29501F"],yellow:["#FFF2CD","#FEE59C","#FCD86F","#FDF84E","#F2C246","#BE8F35","#7F6124"]},CANCEL_REQUEST:"CANCEL_REQUEST",ENCRYPTION_DEFAULT:2048,ERROR_SILENT:o,FREE_USER_ROLE:s,PAID_MEMBER_ROLE:i,PAID_ADMIN_ROLE:l,UNPAID_STATE:d,WIZARD_ENABLED:r,MAILBOX_IDENTIFIERS:u,PM_SIGNATURE:p,OAUTH_KEY:c,MAIN_KEY:n,MAX_OUTSIDE_REPLY:m,MAILBOX_PASSWORD_KEY:f});t.REGEX_EMAIL=/(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/i;t.default=angular.module("proton.constants",[]).constant("CONSTANTS",h).name},"./src/app/contact/directives/contactAddressInput.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/helpers/slicedToArray.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(){var e="contactAddressInput-street",t="contactAddressInput-field",n="contactAddressInput-focussed",o=200;return{restrict:"E",replace:!0,scope:{value:"=",form:"=",focused:"="},templateUrl:a("./src/templates/contact/contactAddressInput.tpl.html"),link:function(a,s){var i=s.find(".contactAddressInput-default"),l=Array.isArray(a.value)&&a.value.length>1?a.value:["","",a.value],c=(0,r.default)(l,7),d=c[0],u=void 0===d?"":d,p=c[1],m=void 0===p?"":p,f=c[2],h=void 0===f?"":f,v=c[3],g=void 0===v?"":v,b=c[4],y=void 0===b?"":b,_=c[5],j=void 0===_?"":_,A=c[6],S=void 0===A?"":A,C=s.find("."+t),I=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.value).filter(function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").trim()}).join("\n")};function x(){s.addClass(n),setTimeout(function(){return s.find("."+e).focus()},o),a.$applyAsync(function(){return a.focused=!0})}function E(){setTimeout(function(){s.find("."+t+":focus").length||(s.removeClass(n),a.$applyAsync(function(){return a.focused=!1}))},o)}function w(){a.$applyAsync(function(){var e=a.model,t=e.postBox,n=e.extended,o=e.street,r=e.locality,s=e.region,i=e.postalCode,l=e.country;a.value=[t,n,o,r,s,i,l],a.model.default=I()})}a.model={default:I(l),postBox:u,extended:m,street:h,locality:g,region:y,postalCode:j,country:S},u.length&&s.addClass("contactAddressInput-show-post-box"),m.length&&s.addClass("contactAddressInput-show-extended"),i.on("focus",x),C.on("change",w),C.on("blur",E),a.$on("$destroy",function(){i.off("focus",x),C.off("change",w),C.off("blur",E)})}}}},"./src/app/contact/directives/contactArrowsSort.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("./src/helpers/urlHelpers.js");function o(e){return{replace:!0,templateUrl:a("./src/templates/contact/contactArrowsSort.tpl.html"),link:function(t,a){var o,r,s;o=(0,n.currentSorting)(e),r=o.sort,s=o.order,r&&a.attr("data-sort")===r&&a.attr("order",s)}}}o.$inject=["$stateParams"],t.default=o},"./src/app/contact/directives/contactClear.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{replace:!0,templateUrl:a("./src/templates/contact/contactClear.tpl.html")}}},"./src/app/contact/directives/contactDetails.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./node_modules/lodash/fp/reduce.js")),o=c(a("./node_modules/lodash/fp/values.js")),r=c(a("./node_modules/lodash/fp/flow.js")),s=c(a("./node_modules/lodash/filter.js")),i=c(a("./node_modules/lodash/noop.js")),l=a("./src/app/constants.js");function c(e){return e&&e.__esModule?e:{default:e}}b.$inject=["$state","AppModel","contactDetailsModel","contactBeforeToLeaveModal","gettextCatalog","notification","subscriptionModel","memberModel","dispatchers","vcard"];var d=l.CONSTANTS.CONTACT_MODE,u=l.CONSTANTS.CONTACT_ERROR,p=d.ENCRYPTED_AND_SIGNED,m=d.ENCRYPTED,f=d.SIGNED,h=u.TYPE3_CONTACT_VERIFICATION,v=u.TYPE2_CONTACT_VERIFICATION,g=u.TYPE3_CONTACT_DECRYPTION;function b(e,t,l,c,d,u,b,y,_,j){var A={Name:"FN",Emails:"EMAIL",Tels:"TEL",Adrs:"ADR",Notes:"NOTE",Photos:"PHOTO"},S={deleteContact:function(e){return{type:"deleteContacts",data:{contactIDs:[e.ID]}}},downloadContact:function(e){return{type:"exportContacts",data:{contactID:e.ID}}}},C={invalidForm:d.getString("This form is invalid",null,"Error displays when the user try to leave an unsaved and invalid contact details")};return{restrict:"E",replace:!0,scope:{contact:"=",modal:"="},templateUrl:a("./src/templates/contact/contactDetails.tpl.html"),link:function(a,d){var I=_(["contacts"]),x=I.on,E=I.unsubscribe,w=I.dispatcher,T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=(S[e]||i.default)(t)||{type:e,data:t};w.contacts(a.type,a.data)},M=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];[p,f,m].some(function(t){return-1!==e.indexOf(t)})?d.addClass("contactDetails-encrypted-and-signed"):d.removeClass("contactDetails-encrypted-and-signed")},D=function(){return N()},k=!b.hasPaid("mail")&&!y.isMember(),L=j.extractProperties(a.contact.vCard),P=(0,s.default)(L,function(e){return"email"===e.getField()}).length;function O(t){var n=t.target.getAttribute("data-action");n&&("back"===n&&e.go("secured.contacts"),T(n,a.contact))}function N(){if(a.contactForm.$invalid||!(0,r.default)(o.default,(0,n.default)(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.concat(t.filter(function(e){var t=e.value;return void 0===t?"":t}))},[]))(a.model).length)return u.error(C.invalidForm),!1;var e=l.prepare(a);return a.contact.ID?(e.ID=a.contact.ID,T("updateContact",{contact:e})):T("createContact",{contacts:[e]}),a.contactForm.$setSubmitted(!0),a.contactForm.$setPristine(!0),!0}d.find(".contactDetails-details").focus(),a.model={},a.state={encrypting:!1,ID:a.contact.ID,hasEmail:P,isFree:k},x("contacts",function(e,t){var n=t.type,o=void 0===n?"":n,r=t.data,s=void 0===r?{}:r;a.modal&&"submitContactForm"===o&&D(),"contactUpdated"===o&&s.contact.ID===a.contact.ID&&M(s.cards.map(function(e){return e.Type}))}),x("hotkeys",function(e,a){var n=a.type;"save"!==(void 0===n?"":n)||t.get("activeComposer")||N()}),x("$stateChangeStart",function(t,n,o){!a.modal&&a.contactForm.$dirty&&(t.preventDefault(),function(t,n){c.activate({params:{save:function(){c.deactivate(),N()&&e.go(t.name,n)},discard:function(){c.deactivate(),a.contactForm.$setPristine(!0),e.go(t.name,n)},cancel:function(){c.deactivate()}}})}(n,o))}),M(a.contact.types),a.contact.errors&&(-1!==a.contact.errors.indexOf(h)&&d.addClass("contactDetails-encrypted-verification-error"),-1!==a.contact.errors.indexOf(g)&&d.addClass("contactDetails-encrypted-error"),-1!==a.contact.errors.indexOf(v)&&d.addClass("contactDetails-verification-error")),d.on("click",O),d.on("submit",D),a.get=function(e){if(e)return l.extract({vcard:a.contact.vCard,field:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return A[e]||e.toUpperCase()}(e)})},a.$on("$destroy",function(){d.off("click",O),d.off("submit",D),E()})}}}t.default=b},"./src/app/contact/directives/contactDisplay.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/helpers/extends.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n){var o=[{field:"FN",icon:"fa-user"},{field:"EMAIL",icon:"fa-envelope"},{field:"TEL",icon:"fa-phone"},{field:"bday",icon:"fa-birthday-cake"},{field:"ADR",icon:"fa-home"},{field:"ORG",icon:"fa-vcard"},{field:"NOTE",icon:"fa-sticky-note"},{field:"PHOTO",icon:"fa-photo"}],s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments[2];return t.extract({vcard:e,field:a}).map(function(e,t){var a=e.type,r=e.key,s=e.value,i=e.params,l=(i=void 0===i?{}:i).group;return{key:r,label:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return n.toLangExplicit(t)||n.toLangExplicit(e)||e}(r,a),value:function(e,t){switch(e){case"n":case"adr":return t.join("\n").trim();default:return t}}(r,s),group:l,icon:0===t?o:void 0}})};return{restrict:"E",replace:!0,scope:{vcard:"<"},templateUrl:a("./src/templates/contact/contactDisplay.tpl.html"),link:function(e){e.properties=o.map(function(t){return(0,r.default)({},t,{items:s(e.vcard,t.field,t.icon)})})}}}s.$inject=["gettextCatalog","contactDetailsModel","contactTransformLabel"],t.default=s},"./src/app/contact/directives/contactEncrypted.js":function(e,t,a){"use strict";function n(e){var t="contactDetails-show-custom-fields",n={SHOW:e.getString("Show custom fields",null,"Action in contact details"),HIDE:e.getString("Hide custom fields",null,"Action in contact details")};return{restrict:"E",replace:!0,templateUrl:a("./src/templates/contact/contactEncrypted.tpl.html"),link:function(e,a){var o=a.find(".contactDetails-toggle-custom-fields"),r=function(){var e=a[0].classList.contains(t)?"HIDE":"SHOW";o[0].textContent=n[e]},s=function(){return a[0].classList.toggle(t),r()};o.on("click",s),r(),e.$on("$destroy",function(){o.off("click",s)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["gettextCatalog"],t.default=n},"./src/app/contact/directives/contactError.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{replace:!0,templateUrl:a("./src/templates/contact/contactError.tpl.html")}}},"./src/app/contact/directives/contactItem.js":function(e,t,a){"use strict";function n(e,t,n,o){var r="as-sortable-disabled";return{restrict:"E",require:"^form",templateUrl:a("./src/templates/directives/contact/contactItem.tpl.html"),scope:{form:"=",model:"=",state:"=",getDatas:"&datas",type:"@type"},link:function(a,s,i,l){var c=n(["composer.new"]),d=c.dispatcher,u=c.on,p=c.unsubscribe,m=a.getDatas(),f=a.type,h=a.state,v=s.find(".contactItem-container"),g=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return d["composer.new"](e,t)};function b(e){e.stopPropagation();var n,i,c,d=e.target.getAttribute("data-action"),u=parseInt(e.target.getAttribute("data-index"),10);switch(d){case"add":c=t.populate(a.UI,f),l.$setDirty(),a.$applyAsync(function(){t.add(a.UI,c.key,c.type,""),setTimeout(function(){return s.find(".contactItem-field").focus()},100)});break;case"composeTo":n=e.target.getAttribute("data-email"),(i=o()).ToList=[{Address:n,Name:n}],g("new",{message:i});break;case"remove":!function(e){$(".tooltip").not(this).hide(),t.remove(a.UI,e),l.$setDirty(),a.change()}(a.UI.items[u]);break;case"toggleSortable":a.$applyAsync(function(){a.UI.sortableState=!a.UI.sortableState,v.toggleClass(r)})}}a.config={isFocusedAddress:!1},v.addClass("contactItem-container-"+a.type),v.addClass(r),a.itemContactDragControlListeners={containment:".contactDetails-container",containerPositioning:"relative",accept:function(e,t){return e.itemScope.sortableScope.$id===t.$id},dragStart:function(){a.itemMoved=!0},dragEnd:function(){a.itemMoved=!1},orderChanged:function(){l.$setDirty()}},a.UI=t.initialize(m,f,h),a.getAddressValue=function(e){var t=e.value;return angular.isArray(t)?t.join(" "):angular.isString(t)?t:""},a.change=function(){return a.$applyAsync(function(){return a.model[f]=a.UI.items})},a.visibleItems=function(){return a.UI.items.filter(function(e){return!e.hide})},a.onFocus=function(e){return e.displaySelector=!0},a.onBlur=function(e){return e.displaySelector=!1},a.toggleSelector=function(e,t){t.displaySelector=!t.displaySelector,e.preventDefault(),e.stopPropagation()},a.setLabel=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";t.label=n||t.label,"Customs"===f&&(t.type=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.startsWith("x")?e:"X-"+e}(t.label)),"Personals"===f&&(t.type=e.toVCard(t.label)),l.$setDirty(),a.change()},a.change(),s.on("click",b),u("contacts",function(e,t){var n=t.type,o=void 0===n?"":n;v.hasClass(r)||"updateContact"!==o&&"createContact"!==o||a.$applyAsync(function(){a.UI.sortableState=!1,v.addClass(r)})}),a.$on("$destroy",function(){s.off("click",b),p()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["contactTransformLabel","contactUI","dispatchers","messageModel"],t.default=n},"./src/app/contact/directives/contactList.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/babel-runtime/helpers/toConsumableArray.js")),o=l(a("./node_modules/lodash/find.js")),r=l(a("./node_modules/lodash/map.js")),s=l(a("./node_modules/lodash/findIndex.js")),i=l(a("./node_modules/lodash/defer.js"));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t,l,c,d,u){var p=120,m="contactList-item",f="contactList-item-activeContact";return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/contact/contactList.tpl.html"),link:function(e,a){var h=t(["contacts"]),v=h.dispatcher,g=h.on,b=h.unsubscribe,y=null,_=!!c.id,j={cursorID:null};e.contacts=[],e.showContact=function(e){return l.go("secured.contacts.details",{id:e})},e.isSelected=function(e){return e.ID===j.cursorID},e.isActive=function(e){return e.ID===c.id};var A=function(){return d.paginate(d.get("filtered"))},S=function(e){j.cursorID=e,a.find("."+m).removeClass("contactList-item-activeCursorContact");var t=a.find("."+m+'[data-contact-id="'+unescape(j.cursorID)+'"]');t.addClass("contactList-item-activeCursorContact"),t.find(".customCheckbox-input").focus()};function C(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(a.find("."+m).removeClass(f),c.id){var t=a.find("."+m+'[data-contact-id="'+unescape(c.id)+'"]');A().filter(function(e){return e.selected}).length||t.addClass(f),j.cursorID||(j.cursorID=c.id),e&&t[0]&&a.animate({scrollTop:t.offset().top-p},1e3)}}var I=function(t,a,i){return e.$applyAsync(function(){!function(t,a,o){var i=[t.ID];if(y){if(o){var l=e.contacts.indexOf(t),c=(0,s.default)(e.contacts,{ID:y.ID}),d=e.contacts.slice(Math.min(l,c),Math.max(l,c)+1);i.push.apply(i,(0,n.default)((0,r.default)(d,"ID")))}y=t}else y=t;v.contacts("selectContacts",{contactIDs:i,isChecked:a})}((0,o.default)(e.contacts,{ID:t}),a,i)})},x=function(t){return function(){var n=(0,s.default)(e.contacts,{ID:j.cursorID})||0,o="DOWN"===t?n+1:n-1;if(!("DOWN"===t&&o===e.contacts.length||"UP"===t&&o<0)){var r=e.contacts[o].ID;S(r);var i=a.find("."+m),l=a.find("."+m+'[data-contact-id="'+unescape(j.cursorID)+'"]');l.offset()?l.offset().top>a[0].clientHeight?a[0].scrollTop+=i.height():l.offset().top<p+i.height()&&(a[0].scrollTop-=i.height()):a.animate({scrollTop:o*i.height()-p},{duration:500,complete:function(){return S(r)}})}}};function E(e){var t=e.target,a=e.shiftKey;if(!window.getSelection().isCollapsed)return e.preventDefault();/customCheckbox/.test(t.className)&&(e.stopPropagation(),I(t.dataset.contactId,t.checked,a));var n=t.getAttribute("data-action");if("showContact"===n&&(S(t.dataset.contactId),v.contacts("selectContacts",{isChecked:!1}),l.go("secured.contacts.details",{id:t.dataset.contactId})),"toggleSort"===n){var o=t.getAttribute("data-sort"),r=(c.sort||"").startsWith("-")?"":"-";l.go("secured.contacts",{sort:""+r+o})}}var w=function(){l.go("secured.contacts.details",{id:j.cursorID}),u.bind("mod+s"),u.unbind(["down","up"])};g("contacts",function(t,a){var n=a.type,o=void 0===n?"":n;"contactsUpdated"===o&&e.$applyAsync(function(){return t=A(),void e.$applyAsync(function(){e.contacts=t,(0,i.default)(function(){C(_),_=!1,!j.cursorID&&t.length>0&&S(t[0].ID)},1e3)});var t}),"deletedContactEmail"===o&&delete j.cursorID}),g("$stateChangeSuccess",function(){e.$applyAsync(function(){return C()})}),a.on("click",E),d.hydrate(),g("right",w),g("openMarked",w),g("left",function(){document.activeElement.blur(),l.go("secured.contacts"),u.bind(["down","up"]),u.unbind(["mod+s"])}),g("move",function(e,t){"trash"===t&&j.cursorID?v.contacts("deleteContacts",{contactIDs:[j.cursorID]}):"archive"===t&&v.contacts("addContact")}),g("markPrevious",x("UP")),g("markNext",x("DOWN")),g("composer.update",function(e,t){var a=t.type;"close"===(void 0===a?"":a)&&u.bind(["down","up"])}),e.$on("$destroy",function(){a.off("click",E),b()})}}}c.$inject=["$filter","dispatchers","$state","$stateParams","contactCache","hotkeys"],t.default=c},"./src/app/contact/directives/contactMerger.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/object/keys.js"),r=(n=o)&&n.__esModule?n:{default:n},s=a("./src/helpers/arrayHelper.js");t.default=function(){var e=function(e){var t=e.deleted,a=e.selected;return!t&&a},t={details:function(e,t){return e[t]},preview:function(e){return e},select:function(t,a){var n=t[a];return n.deleted?t:(n.included=e(n),(0,s.moveToLast)(t,a,function(e){return!1===e.selected||!0===e.deleted}))},undelete:function(t,a){var n=t[a];return n.deleted?(n.deleted=!1,n.selected=!0,n.included=e(n),(0,s.moveToLast)(t,a,function(e){return!1===e.selected||!0===e.deleted})):t},delete:function(t,a){var n=t[a];return n.deleted?t:(n.deleted=!0,n.selected=!1,n.included=e(n),(0,s.moveToLast)(t,a,function(e){return!0===e.deleted}))}},n=function(e,t){var a=e.get(t);return a&&a.valueOf()},o=function(e){var t=(e.getParams()||{}).pref;return parseInt(void 0===t?"0":t,10)},i=function(e){return Array.isArray(e)?e.slice().sort(function(e,t){return o(e)-o(t)}).map(function(e){return e.valueOf()}).join(", "):e},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.ID,a=e.vCard;return{id:t,name:i(n(a,"fn")),email:i(n(a,"email")),vCard:a,selected:!0,deleted:!1,included:!0}};return{restrict:"E",replace:!0,scope:{groups:"=",details:"<",preview:"<"},templateUrl:a("./src/templates/contact/contactMerger.tpl.html"),link:function(a,n){var o=n[0];a.groups=(0,r.default)(a.groups).reduce(function(e,t){return e[t]=a.groups[t].map(l),e},{}),a.dragControlListener={containment:".contactMergerList-table",containerPositioning:"relative",accept:function(t,a,n){return!!e(t.itemScope.modelValue)&&t.itemScope.sortableScope.$id===a.$id&&(!n||e(n.modelValue))}},a.willMerge=function(t){return function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter(e)}(a.groups[t]).length>=2};var s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return delete a.groups[e],a.groups};function i(e){var n=e.target,o=function(e){for(var t=e;t.parentNode&&!(t=t.parentNode).dataset.email;);return{email:t.dataset.email,i:parseInt(t.dataset.i,10)}},r=n.name;switch(r){case"details":var i=o(n),l=i.email,c=i.i;a.details(t.details(a.groups[l],c));break;case"preview":var d=o(n).email;a.preview(t.preview(a.groups[d]),d,s);break;case"undelete":case"delete":case"select":var u=o(n),p=u.email,m=u.i;a.$applyAsync(function(){a.groups[p]=t[r](a.groups[p],m)})}}o.addEventListener("click",i),a.$on("$destroy",function(){o.removeEventListener("click",i)})}}}},"./src/app/contact/directives/contactNoResult.js":function(e,t,a){"use strict";function n(e){var t={add:"addContact",import:"importContacts"};function n(a){var n=a.target.getAttribute("data-action");t[n]&&e.$emit("contacts",{type:t[n]})}return{replace:!0,templateUrl:a("./src/templates/contact/contactNoResult.tpl.html"),link:function(e,t){t.on("click",n),e.$on("$destroy",function(){t.off("click",n)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope"],t.default=n},"./src/app/contact/directives/contactPhotoForm.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("./src/helpers/imageHelper.js");function o(e,t){var o={error:e.getString("Image upload failed",null,"Error")};return{restrict:"E",replace:!0,templateUrl:a("./src/templates/contact/contactPhotoForm.tpl.html"),link:function(e,a){var r=a[0].querySelector(".contactPhotoModal-input-file"),s=function(a){var r=a.target.files[0],s=new FileReader;s.onloadend=function(){(0,n.resizeImage)(s.result,65,"image/jpeg",.7).then(function(t){e.$applyAsync(function(){e.ctrl.uri=t,e.ctrl.submit(e.ctrl.uri)})}).catch(function(e){throw t.error(o.error),e})},s.readAsDataURL(r)};r.addEventListener("change",s),e.$on("$destroy",function(){r.removeEventListener("change",s)})}}}o.$inject=["gettextCatalog","notification"],t.default=o},"./src/app/contact/directives/contactPhotoRow.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("./src/app/constants.js");function o(e){return{restrict:"E",replace:!0,require:"^form",scope:{value:"=",form:"="},templateUrl:a("./src/templates/contact/contactPhotoRow.tpl.html"),link:function(t,a,o,r){var s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";t.uri=e||n.PHOTO_PLACEHOLDER_URL,t.value=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(n.PHOTO_PLACEHOLDER_URL,"")}(t.uri),a[0].classList[t.uri===n.PHOTO_PLACEHOLDER_URL?"add":"remove"]("contactPhotoRow-hide-clear-button")},i={edit:function(){e.activate({params:{uri:t.value,submit:function(a){e.deactivate(),t.$applyAsync(function(){s(a),r.$setDirty()})},cancel:function(){e.deactivate()}}})},clear:function(){t.$applyAsync(function(){s(n.PHOTO_PLACEHOLDER_URL),r.$setDirty()})}},l=function(e){var t=e.target.getAttribute("data-action");t&&i[t]()};a.on("click",l),s(t.value),t.$on("$destroy",function(){a.off("click",l)})}}}o.$inject=["contactPhotoModal"],t.default=o},"./src/app/contact/directives/contactPlaceholder.js":function(e,t,a){"use strict";function n(e,t){return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/contact/contactPlaceholder.tpl.html"),link:function(a){var n=e(["contacts"]),o=n.on,r=n.unsubscribe;a.welcomePlaceholder=!0,a.numberElementChecked=0,o("contacts",function(e,n){if("selectContacts"===n.type){var o=t.paginate(t.get("filtered")).filter(function(e){return e.selected});a.welcomePlaceholder&&(a.welcomePlaceholder=!1),a.numberElementChecked=o.length}}),a.$on("$destroy",r)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","contactCache"],t.default=n},"./src/app/contact/directives/contactRightPanel.js":function(e,t,a){"use strict";function n(e,t,n){var o="contactRightPanel-placeholder-hidden";return{replace:!0,scope:{},templateUrl:a("./src/templates/contact/contactRightPanel.tpl.html"),link:function(a,r){var s=e(["contacts"]),i=s.on,l=s.unsubscribe;r.addClass(o);t.find(n.id).then(function(e){return a.$applyAsync(function(){a.contact=e})}),i("contacts",function(e,a){var n;"selectContacts"===a.type&&(n=t.paginate(t.get("filtered")).filter(function(e){return e.selected}),r[0].classList[n.length?"remove":"add"](o))}),a.$on("$destroy",l)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","contactCache","$stateParams"],t.default=n},"./src/app/contact/directives/contactToolbar.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/filter.js")),o=r(a("./node_modules/lodash/map.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,r,s,i,l,c,d){var u=function(){var e=s.get("selected").filter(Boolean);return e.length?e:[s.getItem(t.id)].filter(Boolean)};return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/contact/contactToolbar.tpl.html"),link:function(a,p){var m=d(["composer.new","contacts"]),f=m.on,h=m.unsubscribe,v=m.dispatcher,g=function(e){var t=(0,o.default)(s.paginate(s.get("filtered")),"ID");v.contacts("selectContacts",{contactIDs:t,isChecked:e})};function b(){var e=s.paginate(s.get("filtered")),o=s.get("selected"),r=(0,n.default)(e,{selected:!0});a.$applyAsync(function(){a.totalItems=s.total(),a.disabled=!e.length,a.noSelection=!(t.id||o.length),a.selectedLength=o.length,a.checkAll=e.length===r.length})}function y(e){var t=e.target.getAttribute("data-action");return"composeSelectedContacts"===t&&function(e){var t=u().filter(function(e){var t=e.Emails;return(void 0===t?[]:t).length}).map(function(e){var t=e.Emails,a=e.Name;return{Address:t[0].Email,Name:a}});if(t.length){var a=l();return a.ToList=t,e["composer.new"]("new",{message:a})}c.error(i.getString("Contact does not contain email address",null,"Error"))}(v),"deleteSelectedContacts"===t?v.contacts("deleteContacts",{contactIDs:(0,o.default)(u(),"ID")}):"addContact"===t||/^(export|import)Contacts$/.test(t)?v.contacts(t):"mergeContacts"===t?v.contacts(t,{contactIDs:(0,o.default)(u(),"ID")}):void 0}a.numPerPage=r.CONTACTS_PER_PAGE,a.selectPage=function(t){return e.go(e.$current.name,{page:t})},a.currentPage=+(t.page||1),a.selectAll=function(e){return g(!!e.target.checked)},f("contacts",function(e,t){var a=t.type;("contactsUpdated"===a||"selectContacts"===a)&&b()}),f("$stateChangeSuccess",function(e,t){"secured.contacts.details"===t.name&&a.noSelection&&b()}),f("selectElements",function(e,t){return"all"===t.type&&g(!1)}),f("right",function(){g(!1)}),p.on("click",y),b(),a.$on("$destroy",function(){p.off("click",y),h()})}}}s.$inject=["$state","$stateParams","CONSTANTS","contactCache","gettextCatalog","messageModel","notification","dispatchers"],t.default=s},"./src/app/contact/directives/contactView.js":function(e,t,a){"use strict";function n(e,t,n){var o="contacts-empty",r="contacts-no-result";return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/views/contacts.tpl.html"),link:function(a,s){var i=n(),l=i.on,c=i.unsubscribe;function d(){var a=t.paginate(t.get("filtered"));s[0].classList.remove(o,r),!a.length&&!e.keyword&&s[0].classList.add(o),!a.length&&e.keyword&&s[0].classList.add(r)}l("contacts",function(e,t){var n=t.type;"contactsUpdated"===(void 0===n?"":n)&&a.$applyAsync(function(){return d()})}),d(),a.$on("$destroy",c)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$stateParams","contactCache","dispatchers"],t.default=n},"./src/app/contact/directives/importCardDropzone.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/defer.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n){var o={dictDefaultMessage:t.getString("Drop file or click here",null,"Info"),dictInvalidFileType:t.getString("Invalid file type",null,"Error")};return{scope:{},replace:!0,restrict:"E",templateUrl:a("./src/templates/contact/importCardDropzone.tpl.html"),link:function(t,a){var s=new Dropzone(a[0].firstElementChild,{addRemoveLinks:!1,dictDefaultMessage:o.dictDefaultMessage,dictInvalidFileType:o.dictInvalidFileType,url:"/file/post",autoProcessQueue:!1,maxFiles:1,paramName:"file",previewTemplate:'<div style="display:none"></div>',ignoreHiddenFiles:!0,acceptedFiles:".vcf,.csv"});s.on("addedfiles",function(i){var l=i[0];if(!/\.(vcf|csv)$/i.test(l.name))return(0,r.default)(function(){return s.removeAllFiles(!0)},100),e.error(o.dictInvalidFileType);n.$emit("importCardDropzone",{data:[l]}),t.$applyAsync(function(){a[0].classList.add("importCardDropzone-has-file"),t.fileDropped=l.name})}),t.$on("$destroy",function(){s.off("dragover"),s.off("addedfiles"),s.destroy()})}}}s.$inject=["notification","gettextCatalog","$rootScope"],t.default=s},"./src/app/contact/factories/contactCache.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=g(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=g(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),r=g(a("./node_modules/babel-runtime/core-js/promise.js")),s=g(a("./node_modules/lodash/fp/map.js")),i=g(a("./node_modules/lodash/fp/filter.js")),l=g(a("./node_modules/lodash/fp/flow.js")),c=g(a("./node_modules/lodash/some.js")),d=g(a("./node_modules/lodash/reduce.js")),u=g(a("./node_modules/lodash/map.js")),p=g(a("./node_modules/lodash/filter.js")),m=g(a("./node_modules/lodash/has.js")),f=g(a("./node_modules/lodash/findIndex.js")),h=g(a("./node_modules/lodash/find.js")),v=g(a("./src/app/utils/helpers/updateCollection.js"));function g(e){return e&&e.__esModule?e:{default:e}}function b(e,t,a,g,b,y,_,j,A){var S={hydrated:!1,contacts:[],map:{all:{},selected:[],filtered:[]}},C=a(["contacts"]),I=C.dispatcher,x=C.on,E=["secured.contacts"],w=b.CONTACTS_PER_PAGE,T=function(e){return(0,f.default)(S.contacts,{ID:e})},M=function(){return I.contacts("contactsUpdated",{all:N()})},D=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!e.includes("secured.contacts"))return a;var n=t.sort||"Name",o=n.indexOf("-")>-1,r=n.replace("-","");return(0,m.default)(a[0],r)?a.slice().sort(function(e,t){return o?t[r].localeCompare(e[r]):e[r].localeCompare(t[r])}):a},k=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toLowerCase()},L=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(0,p.default)(e,function(e){var a=e.Email;return k(void 0===a?"":a).indexOf(t)>-1})},P=function(){return S.hydrated};function O(){var e=t.keyword||"";return e?(0,u.default)(D(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=k(e);return(0,p.default)(t,function(e){var t=e.Name,n=void 0===t?"":t,o=e.Emails,r=void 0===o?[]:o;return k(n).indexOf(a)>-1||L(r,a).length})}(e,N())),"ID"):(0,u.default)(D(N()),"ID")}function N(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all";return"all"===e?angular.copy(S.contacts):(0,u.default)(S.map[e],function(e){return S.map.all[e]})}function R(e){if(P()&&!e)return $(),M(),r.default.resolve();var t=y.all().then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return S.hydrated=!0,S.contacts=e,$(),N()}).then(function(){return M()});return g.track(t),t}function $(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=(0,o.default)(e,1)[0],n=(a=void 0===a?{}:a).ID,r=j.fetch();S.contacts=(0,u.default)(N(),function(e){return e.Emails=(0,p.default)(r,{ContactID:e.ID}),e.emails=e.Emails.map(function(e){var t=e.Email;return void 0===t?"":t}).join(", "),e}),S.map={all:(0,d.default)(N(),function(e,t){return e[t.ID]=t,e},{}),selected:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.id,a=(0,l.default)((0,i.default)(function(e){return e.selected}),(0,s.default)("ID"))(N());return!a.length&&e?[e]:a}(n),filtered:O()}}function F(){S.contacts.length=0,S.hydrated=!1}function B(e){var t=e.ID,a=e.contact,n=T(t);-1!==n?function(e,t){S.contacts[t]=e,S.map.all[e.ID]=e}(a,n):function(e){S.contacts.push(e),S.map.all[e.ID]=e}(a),M()}function U(e){var t,a,n=e.ID;S.contacts.length>0&&(t=n,(a=(0,h.default)(N(),function(e){return(0,c.default)(e.Emails,{ID:t})}))&&B({ID:a.ID,contact:a}))}function z(e){var t=e.contactIDs,a=void 0===t?(0,n.default)(S.map.all):t,o=e.isChecked;S.contacts=(0,u.default)(N(),function(e){return a.indexOf(e.ID)>-1&&(e.selected=o),e}),$(),M()}return x("contacts",function(e,t){var a,n,o,r,s,i,l,c=t.type,d=t.data,u=void 0===d?{}:d;"contactEvents"===c&&(a=u.events,n=void 0===a?[]:a,o=(0,v.default)(S.contacts,n,"Contact"),r=o.collection,s=o.todo,S.contacts=r,$(s.create),M()),"refreshContactEmails"===c&&(i=u.ID,-1!==(l=T(i))&&B({ID:i,contact:S.contacts[l]})),"deletedContactEmail"===c&&U(u),"resetContacts"===c&&(F(),R()),"importContacts"===c&&A(u.contactID),"exportContacts"===c&&_(u.contactID),"selectContacts"===c&&z(u),"searchingContact"===c&&(S.map.filtered=O(),M())}),x("$stateChangeSuccess",function(e,t){E.includes(t.name)||z({isChecked:!1})}),x("logout",function(){F()}),{hydrate:R,isHydrated:P,clear:F,get:N,total:function(){return t.keyword?S.map.filtered.length:S.contacts.length},paginate:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=((t.page||1)-1)*w,n=a+w;return e.slice(a,n)},load:function(){var e=y.load().then(function(e){var t=e.Contacts,a=void 0===t?[]:t;return S.contacts=a,$(),N()}).then(function(){return M()});return g.track(e),e},find:function(e){var t=y.get(e);return g.track(t),t},getItem:function(e){return(0,h.default)(S.contacts,{ID:e})}}}b.$inject=["$state","$stateParams","dispatchers","networkActivityTracker","CONSTANTS","Contact","contactDownloader","contactEmails","contactImporter"],t.default=b},"./src/app/contact/factories/contactDetailsModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=c(a("./node_modules/lodash/sortBy.js")),r=c(a("./node_modules/lodash/each.js")),s=c(a("./node_modules/lodash/reduce.js")),i=c(a("./node_modules/lodash/difference.js")),l=a("./src/app/constants.js");function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t,a){var c=/:|,|;/gi,d=/\\:|\\,|\\;/gi,u=/\\;/gi,p=/🐶 🐱 🐭 🐹 🐰 🦊 🐻 🐼/gi,m={unknown:a.getString("Unknown",null,"Default display name vcard")},f={AVOID:["version","n","prodid","abuid"],FN:["fn"],EMAIL:["email"],TEL:["tel"],ADR:["adr"],NOTE:["note"],PHOTO:["photo"],PERSONALS:["kind","source","xml","nickname","bday","anniversary","gender","impp","lang","tz","geo","title","role","logo","org","member","related","categories","rev","sound","uid","clientpidmap","url","key","fburl","caladruri","caluri"]},h=l.CONSTANTS.VCARD_KEYS.reduce(function(t,a){return t[a]=e.toLang(a),t},{}),v=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(d,function(e){return e.substr(1)})},g=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(c,function(e){return"\\"+e})},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return Array.isArray(e)?e.map(g):g(e)},y=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.getField();return{value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"adr"===t||"n"===t?e.replace(u,"🐶 🐱 🐭 🐹 🐰 🦊 🐻 🐼").split(";").map(function(e){return e.replace(p,"\\;")}).map(v):v(e)}(e.valueOf(),t),type:function(e){var t=e.getType();return Array.isArray(t)?t[0]:t}(e),key:t,params:e.getParams()}},_=function(e){return!!Array.isArray(e)||e&&!e.isEmpty()};function j(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=t.params||{};return t.label&&h[t.type]!==t.label&&(n.type=e.toVCard(t.label)),a&&(n.pref=a),n}return{extract:function(e){var t=e.vcard,a=void 0===t?{}:t,l=e.field,c=void 0===l?"":l;return(0,s.default)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"CUSTOMS"===e?(0,i.default)((0,n.default)(t.data),[].concat(f.AVOID,f.FN,f.EMAIL,f.TEL,f.ADR,f.NOTE,f.PHOTO,f.PERSONALS)):f[e]}(c,a),function(e,t){var n=a.get(t);if(!_(n))return e;var s=n.valueOf();return Array.isArray(s)?((0,r.default)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(0,o.default)(e,function(e){var t=e.getParams()||{},a=t.pref,n=void 0===a?0:a;return n})}(s),function(t){return e.push(y(t))}),e):(e.push(y(n)),e)},[])},prepare:function(e){var a=angular.copy(t.contactAPI);(0,n.default)(e.model).forEach(function(t){var n=e.model[t];switch(t){case"Emails":case"Tels":case"Adrs":n.forEach(function(e,t){e.value&&a.vCard.add(e.type,b(e.value),j(e,n.length>1&&t+1))});break;default:n.forEach(function(e){e.value&&a.vCard.add(e.type,b(e.value),j(e))})}});var o=a.vCard.get("fn");if(Array.isArray(o)&&(o=o[0]),!o||o.isEmpty()){var r="",s=a.vCard.get("email");if(s){var i=s.valueOf();r=Array.isArray(i)?i[0].valueOf():i}a.vCard.add("fn",r||m.unknown)}return a},unescapeValue:v,escapeValue:b}}d.$inject=["contactTransformLabel","contactSchema","gettextCatalog"],t.default=d},"./src/app/contact/factories/contactDownloader.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/babel-runtime/regenerator/index.js")),o=i(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),r=i(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),s=a("./src/app/constants.js");function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t,a,i,l,c){var d,u=this,p=s.CONSTANTS.CANCEL_REQUEST,m=s.CONSTANTS.EXPORT_CONTACTS_LIMIT,f=function(e,t){var n=(0,r.default)(t,1)[0].get("fn");return Array.isArray(n)&&(n=n[0]),"all"!==e&&n?a.unescapeValue(n.valueOf())+".vcf":"proton.vcf"},h=(d=(0,o.default)(n.default.mark(function t(a,o){var r,s,i;return n.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("all"===a){t.next=6;break}return t.next=3,e.get(a,o);case 3:return r=t.sent,s=r.vCard,t.abrupt("return",[s]);case 6:return t.next=8,e.exportAll(m,o);case 8:return i=t.sent,t.abrupt("return",i.map(function(e){return e.vCard}));case 10:case"end":return t.stop()}},t,u)})),function(e,t){return d.apply(this,arguments)});return(0,o.default)(n.default.mark(function e(){var a,o,r,s,d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all";return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=c.defer(),o=function(){if(a)return a.resolve(p),_rAF(function(){return a=null});t.deactivate()},t.activate({params:{mode:"export",onEscape:o,close:o}}),e.prev=3,e.next=6,h(d,a.promise);case 6:r=e.sent,a=null,s=new Blob([l.to(r)],{type:"data:attachment/vcard;"}),t.deactivate(),i(s,f(d,r)),e.next=17;break;case 13:e.prev=13,e.t0=e.catch(3),a=null,t.deactivate();case 17:case"end":return e.stop()}},e,u,[[3,13]])}))}l.$inject=["Contact","contactLoaderModal","contactDetailsModel","downloadFile","vcard","$q"],t.default=l},"./src/app/contact/factories/contactEditor.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/babel-runtime/core-js/promise.js")),o=l(a("./node_modules/babel-runtime/core-js/object/keys.js")),r=l(a("./node_modules/babel-runtime/regenerator/index.js")),s=l(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),i=a("./src/helpers/errors.js");function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t,a,l,c,d,u,p,m,f,h,v,g){var b,y,_=(b=(0,s.default)(r.default.mark(function e(t){var n,o,s,l,c,d,u=t.update,p=t.remove,m=void 0===p?[]:p;return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=1+m.length,e.prev=1,e.next=4,a.update(u);case 4:return e.next=6,a.remove({IDs:m});case 6:return o=e.sent,s=o.removed,l=void 0===s?[]:s,c=o.errors,d=void 0===c?[]:c,e.abrupt("return",{total:n,updated:u,removed:l,errors:d.map(function(e){return e.Error})});case 14:return e.prev=14,e.t0=e.catch(1),e.abrupt("return",{total:n,updated:e.t0 instanceof i.ContactUpdateError?void 0:u,errors:[e.t0.message]});case 17:case"end":return e.stop()}},e,this,[[1,14]])})),function(e){return b.apply(this,arguments)}),j=(y=(0,s.default)(r.default.mark(function e(a){var s,i,l,c;return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return u.activate({params:{mode:"merge",close:function(){u.deactivate()}}}),s=(0,o.default)(a),i=s.map(function(e){return _(a[e])}),l=s.reduce(function(e,t){return e+a[t].remove.length+1},0),x({actions:i,total:l}),c=n.default.all(i).then(I).then(function(e){return S.contacts("contactsUpdated"),S.contacts("contactsMerged",e),t.call()}),v.track(c),e.abrupt("return",c);case 8:case"end":return e.stop()}},e,this)})),function(e){return y.apply(this,arguments)}),A=f(["contacts","progressBar"]),S=A.dispatcher;function C(e){var n=e.contacts,o=void 0===n?[]:n,r=e.mode,s=a.add(o).then(function(e){var a=e.created,n=e.errors,o=e.total;return t.call().then(function(){S.contacts("contactCreated",{created:a,errors:n,total:o,mode:r})}),e});return"import"===r?u.activate({params:{mode:"import",close:function(){u.deactivate()}}}):v.track(s),s}function I(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce(function(e,t){return t.updated&&e.updated.push(t.updated),t.removed&&(e.removed=e.removed.concat(t.removed)),t.errors&&(e.errors=e.errors.concat(t.errors)),t.total&&(e.total+=t.total),e},{updated:[],removed:[],errors:[],total:0})}function x(e){var t=e.actions,a=void 0===t?[]:t,n=e.total,o=void 0===n?0:n,r=0;a.forEach(function(e){e.then(function(e){return r+=Math.floor(100*e.total/o),S.progressBar("contactsProgressBar",{progress:r}),S.contacts("contactUpdated",{contact:E}),e})})}function E(e){var n=e.contact,o=void 0===n?{}:n,r=a.update(o).then(function(e){var a=e.Contact,n=e.cards;return S.contacts("contactUpdated",{contact:a,cards:n}),g.success(h.getString("Contact edited",null,"Success message")),t.call()});return v.track(r),r}function w(n){var o=n.contactIDs,r=void 0===o?[]:o,s=n.confirm,i=void 0===s||s,l="all"===r?h.getString("All contacts deleted",null,"Success"):h.getPlural(r.length,"Contact deleted","Contacts deleted",null,"Success"),u=function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n="all"===e?a.clear():a.remove({IDs:e});return v.track(n),n.then(function(){return"all"===e&&(d.clear(),c.clear()),t.call()})}(r).then(function(){g.success(l),e.go("secured.contacts")})};return i?function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1],a="all"===e?h.getString("Are you sure you want to delete all your contacts?",null,"Info"):h.getPlural(e.length,"Are you sure you want to delete this contact?","Are you sure you want to delete the selected contacts?",null,"Info"),n="all"===e?h.getString("Delete all",null,"Title"):h.getString("Delete",null,"Title");m.activate({params:{title:n,message:a,confirm:function(){t(),m.deactivate()},cancel:function(){m.deactivate()}}})}(r,function(){return u()}):u()}return(0,A.on)("contacts",function(e,t){var a,n,o,r,s=t.type,i=t.data,c=void 0===i?{}:i;"deleteContacts"===s&&w(c),"updateContact"===s&&E(c),"createContact"===s&&C(c),"addContact"===s&&(n=(a=c).email,o=a.name,r=angular.copy(p.contactAPI),n&&r.vCard.add("email",n),o&&r.vCard.add("fn",o),l.activate({params:{contact:r,close:function(){l.deactivate()}}}))}),{init:angular.noop,create:C,update:E,remove:w,merge:j}}c.$inject=["$state","eventManager","Contact","contactModal","contactEmails","contactCache","contactLoaderModal","contactSchema","confirmModal","dispatchers","gettextCatalog","networkActivityTracker","notification"],t.default=c},"./src/app/contact/factories/contactEmails.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/babel-runtime/regenerator/index.js")),o=i(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),r=i(a("./node_modules/babel-runtime/helpers/toConsumableArray.js")),s=i(a("./node_modules/lodash/findIndex.js"));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var a,i=this,l=[],c=function(e){return l.push.apply(l,(0,r.default)(e))},d=function(){return l},u=function(){return l.length=0},p=function(e){return(0,s.default)(l,{ID:e})},m=t(["contacts"]),f=m.dispatcher,h=m.on,v=(a=(0,o.default)(n.default.mark(function t(){var a;return n.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.hydrate();case 2:return a=t.sent,c(a),t.abrupt("return",d());case 5:case"end":return t.stop()}},t,i)})),function(){return a.apply(this,arguments)});return h("updateContactEmail",function(e,t,a){var n,o=p(t);-1!==o?l[o]=a:l.push(a),n=a,f.contacts("refreshContactEmails",{ID:n.ContactID})}),h("deleteContactEmail",function(e,t){var a=p(t);-1!==a&&(l.splice(a,1),f.contacts("deletedContactEmail",{ID:t}))}),h("resetContactEmails",function(){u(),v()}),h("logout",function(){u()}),{set:c,fetch:d,clear:u,findIndex:p,load:v}}l.$inject=["Contact","dispatchers"],t.default=l},"./src/app/contact/factories/contactEncryption.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/babel-runtime/core-js/promise.js")),o=l(a("./node_modules/lodash/find.js")),r=l(a("./node_modules/lodash/includes.js")),s=l(a("./node_modules/lodash/reduce.js")),i=l(a("./node_modules/lodash/map.js"));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t,a,l,c,d,u){var p=["version","prodid","x-pm-label","x-pm-group"],m=["version","prodid","fn","uid","email"].concat(["key","x-pm-mimetype","x-pm-encrypt","x-pm-sign","x-pm-scheme","x-pm-tls","x-pm-dane"]),f=["email"],h=a.CONTACT_MODE,v=a.CONTACTS_LIMIT_ENCRYPTION,g=a.MAIN_KEY,b=a.VCARD_VERSION,y=a.CONTACT_ERROR,_=h.CLEAR_TEXT,j=h.ENCRYPTED_AND_SIGNED,A=h.ENCRYPTED,S=h.SIGNED,C=y.TYPE3_CONTACT_VERIFICATION,I=y.TYPE3_CONTACT_DECRYPTION,x=y.TYPE2_CONTACT_VERIFICATION,E=y.TYPE1_CONTACT,w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=arguments[2];return{ID:e,vCard:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=(0,s.default)(e,function(e,t){var a=t.data;return""+e+a+"\r\n"},""),a=u.from(t);return u.merge(a)}(t),errors:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(0,i.default)(e,"error").filter(Boolean)}(t),types:a.map(function(e){return e.Type})}};function T(e){var t=e.data,a=e.publicKeys,l=e.privateKeys,h=[],v=0,g=u.extractProperties(t),y=(0,s.default)(g,function(e,t){var a=t.getGroup();return-1===e.indexOf(a)&&e.push(a),e},[]);var A,C=(0,s.default)(u.extractProperties(t),function(e,t){var a=t.getField(),n=(0,r.default)(p,a),o=(0,r.default)(m,a);return(0,r.default)(f,a)&&!t.group&&(t.group=function e(){var t="item"+ ++v;return(0,r.default)(y,t)?e():t}()),n&&e.clearText.push(t),o&&e.toSign.push(t),n||o||e.toEncryptAndSign.push(t),e},{toEncryptAndSign:[],toSign:[],clearText:[]}),I=C.toEncryptAndSign,x=C.toSign,E=C.clearText;if(I.length>0){var w=u.build(I).toString(b);h.push(d.encryptMessage({data:w,publicKeys:a,privateKeys:l,armor:!0,detached:!0}).then(function(e){var t=e.data,a=e.signature;return{Type:j,Data:t,Signature:a}}))}if(x.length>0){var T=(0,i.default)(x,"_field");if(-1===T.indexOf("uid")&&x.push(new vCard.Property("uid","proton-web-"+(A=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)})()+A()+"-"+A()+"-"+A()+"-"+A()+"-"+A()+A()+A())),-1===T.indexOf("fn")){var M=c.getString("Unknown",null,"Default display name vcard"),D=(0,o.default)(I,{_field:"n"});if(D)M=D.valueOf().split(";").join(" ");else{var k=(0,o.default)(x,{_field:"email"});k&&(M=k.valueOf())}x.push(new vCard.Property("fn",M))}var L=u.build(x).toString(b);h.push(d.signMessage({data:L,privateKeys:l,armor:!0,detached:!0}).then(function(e){var t=e.signature;return{Type:S,Data:L,Signature:t}}))}if(E.length>0){var P=u.build(E).toString(b);h.push(n.default.resolve({Type:_,Data:P,Signature:null}))}return n.default.all(h)}return{decrypt:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=e.get("authentication"),r=o.getPrivateKeys(g),c=o.getPublicKeys(g),u=a.length,p=0;return(0,s.default)(l(a,v),function(e,a){return e.then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return n.default.all(a.map(function(e){var a=e.ID,o=e.Cards,s=void 0===o?[]:o;return function(e){var t=e.cards,a=void 0===t?[]:t,o=e.privateKeys,r=void 0===o?[]:o,s=e.publicKeys,l=void 0===s?[]:s,c=(0,i.default)(a,function(e){var t=e.Type,a=e.Data,o=void 0===a?"":a,s=e.Signature,i=void 0===s?"":s;switch(t){case j:return d.decryptMessage({message:d.getMessage(o),privateKeys:r,publicKeys:l,armor:!0,signature:d.getSignature(i)}).then(function(e){var t=e.data;return 1!==e.verified?{error:C,data:t}:{data:t}}).catch(function(){return{error:I,data:(new vCard).toString(b)}});case S:return d.verifyMessage({message:d.getCleartextMessage(o),publicKeys:l,signature:d.getSignature(i)}).then(function(e){return 1!==e.verified?{error:x,data:o}:{data:o}});case A:return d.decryptMessage({message:d.getMessage(o),privateKeys:r,armor:!0}).catch(function(){return{error:E,data:(new vCard).toString(b)}});case _:return n.default.resolve({data:o})}});return n.default.all(c)}({cards:s,privateKeys:r,publicKeys:c}).then(function(e){p++;var n=Math.floor(100*p/u);return t.$emit("progressBar",{type:"contactsProgressBar",data:{progress:n}}),w(a,e,s)})})).then(function(t){return e.concat(t)})},[])},n.default.resolve())},encrypt:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=e.get("authentication"),r=[o.getPrivateKeys(g)[0]],i=[o.getPublicKeys(g)[0]],c=a.length,d=0;return(0,s.default)(l(a,v),function(e,a){return e.then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return n.default.all(a.map(function(e){return T({data:e.vCard,publicKeys:i,privateKeys:r}).then(function(e){d++;var a=Math.floor(50*d/c);return t.$emit("progressBar",{type:"contactsProgressBar",data:{progress:a}}),{Cards:e}})})).then(function(t){return e.concat(t)})})},n.default.resolve())}}}c.$inject=["$injector","$rootScope","CONSTANTS","chunk","gettextCatalog","pmcw","vcard"],t.default=c},"./src/app/contact/factories/contactImporter.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/regenerator/index.js")),o=r(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,a,r,s,i,l,c){var d,u=this,p={noFiles:l.getString("No files were selected",null,"Error"),invalid:l.getString("Invalid file type",null,"Error"),parsingCSV:l.getString("Cannot convert the file",null,"Error")},m=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.$emit("contacts",{type:"createContact",data:{contacts:t.prepareContacts(a),mode:"import"}})},f={".vcf":(d=(0,o.default)(n.default.mark(function e(t){return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",m(s.from(t.result)));case 1:case"end":return e.stop()}},e,u)})),function(e){return d.apply(this,arguments)}),".csv":function(e){return i.csvToVCard(e).then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.length&&m(e)}).catch(function(e){throw console.error(e),new Error(p.parsingCSV)})}},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!e.length)return r.error(p.noFiles);var t=new FileReader,n=e[0],o=n.name.toLowerCase().slice(-4);t.onload=function(e){return r.error(e)},t.onload=function(){if(!f[o])return r.error(p.invalid),a.deactivate();var e=".vcf"===o?t:n,s=f[o](e).then(function(){return a.deactivate()});c.track(s)},t.readAsText(n,"utf-8")};return function(){a.activate({params:{import:h,cancel:function(){a.deactivate()}}})}}s.$inject=["$rootScope","contactSchema","importContactModal","notification","vcard","csv","gettextCatalog","networkActivityTracker"],t.default=s},"./src/app/contact/factories/contactMerger.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./node_modules/babel-runtime/helpers/defineProperty.js")),o=d(a("./node_modules/babel-runtime/regenerator/index.js")),r=d(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),s=d(a("./node_modules/babel-runtime/core-js/object/keys.js")),i=d(a("./node_modules/lodash/reduce.js")),l=d(a("./node_modules/lodash/map.js")),c=d(a("./src/helpers/duplicateExtractor.js"));function d(e){return e&&e.__esModule?e:{default:e}}function u(e,t,a,d,u,p,m,f,h,v){var g,b=(g=(0,r.default)(o.default.mark(function e(t){var n;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=C(t),0!==(0,s.default)(n).length){e.next=3;break}throw new Error("Not enough contacts selected");case 3:return e.abrupt("return",a.merge(S(n)));case 4:case"end":return e.stop()}},e,this)})),function(e){return g.apply(this,arguments)}),y={mergeContacts:m.getString("Merge contacts",null,"Title"),noDuplicate:m.getString("You have no duplicate contacts",null,"Info")};var _=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").trim().toLowerCase()};function j(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce(function(e,t,a){var n,o,r,s=(n=t,o=n.Emails,r=n.vCard,Array.isArray(o)?(0,l.default)(o,function(e){var t=e.Email;return void 0===t?"":t}):(0,i.default)(v.extractProperties(r),function(e,t){return"email"===t.getField()&&e.push(t.valueOf()),e},[])).map(function(e){return{duplicate:e,unique:a,contact:t}}),c=[{duplicate:_(function(e){var t=e.Name,a=e.vCard;if(t)return t;var n=a.get("fn");return(Array.isArray(n)?n[0]:n).valueOf()}(t)),unique:a,contact:t}];return e.concat(s).concat(c)},[]);return(0,c.default)({items:e,duplicateKey:"duplicate",uniqueKey:"unique",objectKey:"contact"})}function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return v.merge(e.map(function(e){return e.vCard}))}function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,s.default)(e).reduce(function(t,a){var n=e[a],o=n.selected,r=void 0===o?[]:o,s=n.deleted,i=void 0===s?[]:s,l=d.prepareContact(A(r)),c=r[0].id;return l.ID=c,t[a]={update:l,remove:r.concat(i).map(function(e){return e.id}).filter(function(e){return e!==c})},t},{})}function C(e){return(0,s.default)(e).reduce(function(t,a){var n=e[a].filter(function(e){return e.selected}),o=e[a].filter(function(e){return e.deleted});return n.length<=1?t:(t[a]={selected:n,deleted:o},t)},{})}function I(a){e.activate({params:{title:y.mergeContacts,duplicates:a,onClickMerge:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};b(t).catch(function(){}),e.deactivate()},onClickDetails:function(e){var a;a=e.vCard,t.activate({params:{vcard:a,onClickClose:function(){t.deactivate()}}})},onClickPreview:function(){var a,i,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",d=arguments[2],u=l.filter(function(e){return e.selected});u.length<=1||(a=A(u),i=function(t,a,i){var l=this;return(0,r.default)(o.default.mark(function r(){var c;return o.default.wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,b((0,n.default)({},a,t));case 2:c=i(a),0===(0,s.default)(c).length&&e.deactivate();case 4:case"end":return o.stop()}},r,l)}))}(l,c,d),t.activate({params:{vcard:a,onClickMerge:function(){i(),t.deactivate()},onClickClose:function(){t.deactivate()}}}))},onClickClose:function(){e.deactivate()}}})}return(0,p().on)("contacts",function(e,t){var a=t.type,n=t.data;"mergeContacts"===a&&function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.length>=2?u.getMultiple(e).then(function(e){return{group:e}}):u.exportAll().then(j);t.then(function(e){if((0,s.default)(e).length)return I(e);h.info(y.noDuplicate)}),f.track(t)}((void 0===n?{}:n).contactIDs)}),{init:angular.noop,extractDuplicates:j}}u.$inject=["contactMergerModal","contactDisplayModal","contactEditor","contactSchema","Contact","dispatchers","gettextCatalog","networkActivityTracker","notification","vcard"],t.default=u},"./src/app/contact/factories/contactSchema.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/map.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e){var t={vCard:new vCard},a=["Tel","Adr","Note"],n=["Bday","Title","Org","Nickname"],o={UNKNOWN:e.getString("Unknown",null,"Default display name vcard")},s=a.concat(n),i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{Email:e.valueOf(),Type:function(e){var t=e.getType();return Array.isArray(t)?t:[t]}(e)}},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Array.isArray(e)?(0,r.default)(e,i):[i(e)]},c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Array.isArray(e)?e[0].valueOf().trim():e.valueOf().trim()},d=function(e){return!!Array.isArray(e)||e&&!e.isEmpty()&&e.valueOf().trim()};function u(e){var t={Emails:[],vCard:e},a=e.get("fn"),n=e.get("email");if(d(n)&&(t.Emails=l(n)),d(a))t.Name=c(a);else{var r=t.Emails.length?t.Emails[0].Email:o.UNKNOWN;t.Name=r,t.vCard.set("fn",r)}return t}return{contactAPI:t,group:a,personnal:n,custom:function(e){return-1===s.indexOf(e)},prepareContact:u,prepareContacts:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(u)}}}s.$inject=["gettextCatalog"],t.default=s},"./src/app/contact/factories/contactTransformLabel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/object/keys.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e){var t={adr:e.getString("Address",null,"VCard key name"),anniversary:e.getString("Anniversary",null,"VCard key name"),caladruri:e.getString("Calendar user address",null,"VCard key name"),caluri:e.getString("URI for a calendar",null,"VCard key name"),bday:e.getString("Birthday",null,"VCard key name"),categories:e.getString("Categories",null,"VCard key name"),cell:e.getString("Cell",null,"VCard key name"),custom:e.getString("Custom",null,"VCard key name"),email:e.getString("Email",null,"VCard key name"),fax:e.getString("Fax",null,"VCard key name"),fburl:e.getString("Free or busy URL",null,"VCard key name"),fn:e.getString("Name",null,"VCard key name"),gender:e.getString("Gender",null,"VCard key name"),geo:e.getString("Geolocation",null,"VCard key name"),home:e.getString("Personal",null,"VCard key name"),impp:e.getString("Impp",null,"VCard key name"),key:e.getString("Key",null,"VCard key name"),lang:e.getString("Language",null,"VCard key name"),logo:e.getString("Logo",null,"VCard key name"),member:e.getString("Member",null,"VCard key name"),nickname:e.getString("Nickname",null,"VCard key name"),note:e.getString("Note",null,"VCard key name"),office:e.getString("Office",null,"VCard key name"),org:e.getString("Organization",null,"VCard key name"),photo:e.getString("Photo",null,"VCard key name"),private:e.getString("Private",null,"VCard key name"),prodid:e.getString("Software",null,"VCard key name"),related:e.getString("Related",null,"VCard key name"),rev:e.getString("Revision",null,"VCard key name"),role:e.getString("Role",null,"VCard key name"),sound:e.getString("Sound",null,"VCard key name"),tel:e.getString("Phone",null,"VCard key name"),title:e.getString("Title",null,"VCard key name"),tz:e.getString("Timezone",null,"VCard key name"),uid:"UID",url:"URL",work:e.getString("Work",null,"VCard key name")};return{toLang:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t[e.toLowerCase()]||""+e.charAt(0).toUpperCase()+e.slice(1)},toLangExplicit:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t[e.toLowerCase()]},toVCard:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,r.default)(t).find(function(a){return e===t[a]})||e}}}s.$inject=["gettextCatalog"],t.default=s},"./src/app/contact/factories/contactUI.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/lodash/random.js")),o=i(a("./node_modules/lodash/find.js")),r=i(a("./node_modules/lodash/map.js")),s=i(a("./node_modules/lodash/includes.js"));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t,a){var i=["email","home","work","other"],l=["tel","mobile","work","fax","other"],c=["adr","home","work","other"],d=["org","anniversary","bday","gender","nickname","role","title","url"],u={name:e.getString("Name",null,"Placeholder"),emailAddress:e.getString("Email address",null,"Placeholder"),phoneNumber:e.getString("Phone number",null,"Placeholder"),information:e.getString("Information",null,"Placeholder"),note:e.getString("A note",null,"Placeholder"),address:e.getString("Address",null,"Placeholder"),custom:e.getString("Custom",null),customField:e.getString("Custom field",null,"Placeholder")};function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.toLowerCase().startsWith("x-")?e.substring(2):e.toLowerCase().startsWith("x")?e.substring(1):e}function m(e,t){switch(t){case"Name":return{key:"fn",type:"fn"};case"Emails":return{key:"email",type:"email"};case"Tels":return{key:"tel",type:"tel"};case"Adrs":return{key:"adr",type:"adr"};case"Personals":var a=(s=e.items,i=void 0===s?[]:s,l=(0,r.default)(i,"type"),(0,o.default)(d,function(e){return-1===l.indexOf(e)})||d[(0,n.default)(d.length-1)]);return{key:a,type:a};case"Customs":return{key:"x-custom",type:"custom"};case"Notes":return{key:"note",type:"note"};case"Photos":return{key:"photo",type:"photo"}}var s,i,l}function f(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",r=arguments[4],i=(0,s.default)(e.hide,t);e.items.push({type:t,label:a.toLang(n),value:o,hide:i,params:r})}return{remove:function(e,t){return e.items.splice(e.items.indexOf(t),1)},add:f,initialize:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1],n={allowCustom:!1,allowMultiple:!1,mode:"singleLine",infinite:!1,unique:!1,sortable:!1,sortableState:!1,placeholder:"",iconClass:"",labels:[],items:[],hide:["version","n","prodid","abuid","uid"],inputType:"text"};switch(t){case"Name":n.unique=!0,n.placeholder=u.name,n.iconClass="fa-user";break;case"Emails":n.infinite=!0,n.sortable=!0,n.inputType="email",n.placeholder=u.emailAddress,n.iconClass="fa-envelope",n.labels=i.map(function(e){return a.toLang(e)});break;case"Tels":n.inputType="tel",n.placeholder=u.phoneNumber,n.iconClass="fa-phone",n.labels=l.map(function(e){return a.toLang(e)});break;case"Adrs":n.placeholder=u.address,n.iconClass="fa-home",n.mode="address",n.labels=c.map(function(e){return a.toLang(e)});break;case"Personals":n.placeholder=u.information,n.iconClass="fa-address-card",n.labels=d.map(function(e){return a.toLang(e)});break;case"Notes":n.placeholder=u.note,n.iconClass="fa-sticky-note",n.mode="multiLine",n.unique=!0;break;case"Photos":n.iconClass="fa-photo",n.mode="photo",n.unique=!0;break;case"Customs":n.infinite=!0,n.placeholder=u.customField,n.iconClass="fa-asterisk",n.labels=[u.custom],n.allowCustom=!0}if(n.selectable=n.labels.length>1,e.length&&(n.allowMultiple=!0,e.forEach(function(e){(e.value||n.unique)&&f(n,e.key,p(e.type)||p(e.key),e.value)})),!e.length||1===e.length&&(0,s.default)(n.hide,e[0].key)){var o=m(n,t);f(n,o.key,o.type,"")}return n.inputName="name_"+n.placeholder.replace(/\W+|_/g,""),n},populate:m}}l.$inject=["gettextCatalog","tools","contactTransformLabel"],t.default=l},"./src/app/contact/filters/contact.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/find.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t){var a=function(e){return(0,r.default)(t.user.Contacts,{Email:e})||{}};return function(e,t){var n=e||{},o=n.Name,r=void 0===o?"":o,s=n.Address,i=void 0===s?"":s;return"Address"===t?"<"+i+">":"Name"===t?function(e,t){var n=a(t),o=n.Name,r=void 0===o?"":o,s=n.Email;return r&&r!==s?r:e||t}(r,i):function(e,t){var n=a(t);return t!==e&&e?angular.isString(n.Name)&&n.Name?n.Name+" <"+t+">":void 0:t}(r,i)||r+" <"+i+">"}}s.$inject=["gettextCatalog","authentication"],t.default=s},"./src/app/contact/filters/spam.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/filter.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return t?(0,r.default)(e,function(e){return e.Email.indexOf(t)>-1}):e}}},"./src/app/contact/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=z(a("./src/app/contact/services/contact.js")),o=z(a("./src/app/contact/directives/contactAddressInput.js")),r=z(a("./src/app/contact/directives/contactPhotoRow.js")),s=z(a("./src/app/contact/directives/contactClear.js")),i=z(a("./src/app/contact/directives/contactDetails.js")),l=z(a("./src/app/contact/directives/contactDisplay.js")),c=z(a("./src/app/contact/modals/contactDisplayModal.js")),d=z(a("./src/app/contact/modals/contactPhotoModal.js")),u=z(a("./src/app/contact/directives/contactPhotoForm.js")),p=z(a("./src/app/contact/directives/contactEncrypted.js")),m=z(a("./src/app/contact/directives/contactError.js")),f=z(a("./src/app/contact/directives/contactItem.js")),h=z(a("./src/app/contact/directives/contactArrowsSort.js")),v=z(a("./src/app/contact/directives/contactList.js")),g=z(a("./src/app/contact/directives/contactMerger.js")),b=z(a("./src/app/contact/directives/contactNoResult.js")),y=z(a("./src/app/contact/directives/contactPlaceholder.js")),_=z(a("./src/app/contact/directives/contactToolbar.js")),j=z(a("./src/app/contact/directives/contactView.js")),A=z(a("./src/app/contact/directives/contactRightPanel.js")),S=z(a("./src/app/contact/factories/contactCache.js")),C=z(a("./src/app/contact/factories/contactDetailsModel.js")),I=z(a("./src/app/contact/factories/contactDownloader.js")),x=z(a("./src/app/contact/factories/contactEditor.js")),E=z(a("./src/app/contact/factories/contactEmails.js")),w=z(a("./src/app/contact/factories/contactImporter.js")),T=z(a("./src/app/contact/factories/contactMerger.js")),M=z(a("./src/app/contact/factories/contactSchema.js")),D=z(a("./src/app/contact/factories/contactEncryption.js")),k=z(a("./src/app/contact/factories/contactTransformLabel.js")),L=z(a("./src/app/contact/factories/contactUI.js")),P=z(a("./src/app/contact/filters/contact.js")),O=z(a("./src/app/contact/filters/spam.js")),N=z(a("./src/app/contact/modals/contactBeforeToLeaveModal.js")),R=z(a("./src/app/contact/modals/contactLoaderModal.js")),$=z(a("./src/app/contact/modals/contactMergerModal.js")),F=z(a("./src/app/contact/modals/contactModal.js")),B=z(a("./src/app/contact/modals/importContactModal.js")),U=z(a("./src/app/contact/directives/importCardDropzone.js"));function z(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.contact",["vs-repeat"]).directive("importCardDropzone",U.default).run(["contactEditor","contactMerger",function(e,t){e.init(),t.init()}]).directive("contactAddressInput",o.default).directive("contactPhotoRow",r.default).directive("contactClear",s.default).directive("contactDisplay",l.default).directive("contactDetails",i.default).directive("contactMerger",g.default).directive("contactEncrypted",p.default).directive("contactError",m.default).directive("contactItem",f.default).directive("contactArrowsSort",h.default).directive("contactList",v.default).directive("contactNoResult",b.default).directive("contactPlaceholder",y.default).directive("contactToolbar",_.default).directive("contactView",j.default).directive("contactRightPanel",A.default).directive("contactPhotoForm",u.default).factory("Contact",n.default).factory("contactCache",S.default).factory("contactDetailsModel",C.default).factory("contactDisplayModal",c.default).factory("contactPhotoModal",d.default).factory("contactDownloader",I.default).factory("contactEditor",x.default).factory("contactEmails",E.default).factory("contactImporter",w.default).factory("contactMerger",T.default).factory("contactSchema",M.default).factory("contactTransformLabel",k.default).factory("contactUI",L.default).factory("contactEncryption",D.default).filter("contact",P.default).filter("spam",O.default).factory("contactBeforeToLeaveModal",N.default).factory("contactLoaderModal",R.default).factory("contactMergerModal",$.default).factory("contactModal",F.default).factory("importContactModal",B.default).name},"./src/app/contact/modals/contactBeforeToLeaveModal.js":function(e,t,a){"use strict";function n(e){return e({controllerAs:"ctrl",templateUrl:a("./src/templates/contact/contactBeforeToLeaveModal.tpl.html"),controller:["params",function(e){this.save=e.save,this.discard=e.discard,this.cancel=e.cancel}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["pmModal"],t.default=n},"./src/app/contact/modals/contactDisplayModal.js":function(e,t,a){"use strict";function n(e){return e({controllerAs:"ctrl",templateUrl:a("./src/templates/contact/contactDisplayModal.tpl.html"),controller:["params",function(e){var t=e.vcard,a=e.onClickMerge,n=e.onClickClose;this.vcard=t,this.onClickClose=n,this.onClickMerge=a}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["pmModal"],t.default=n},"./src/app/contact/modals/contactLoaderModal.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/helpers/slicedToArray.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n){var o={encrypting:function(e){return t.getString("Encrypting contacts: {{progress}}%",{progress:e},"Label for the progress bar displayed during the contact import")},decrypting:function(e){return t.getString("Decrypting contacts: {{progress}}%",{progress:e},"Label for the progress bar displayed during the contact export")},upload:function(e){return t.getString("Upload: {{progress}}%",{progress:e},"Label for the progress bar displayed during the contact import")},mergeFail:function(e){return t.getString("{{number}} failed to merge.",{number:e},"Number of failed contact during merge")},importFail:function(e){return t.getString("{{number}} failed to import.",{number:e},"Number of failed contact during the contact import")},totalFailure:t.getString("Import failed. Please check the import file or try again.",null,"Error during importation")};o.modal={import:{title:t.getString("Importing Contacts",null,"Title for the contacts exporter modal"),info:t.getString("Importing contacts, this may take a few minutes.",null,"Information for the contacts importer modal"),progress:function(e){return e>50?o.upload(e):o.encrypting(e)},complete:t.getString("Importing contacts complete!",null,"Import complete"),text:t.getString("contacts successfully imported.",null,"1 of 2 contacts successfully imported.")},export:{title:t.getString("Exporting Contacts",null,"Title for the contacts exporter modal"),info:t.getString("Exporting contacts, this may take a few minutes. When the progress is completed, this modal will close and let you download the file.",null,"Information for the contacts exporter modal"),progress:function(e){return o.decrypting(e)}},merge:{title:t.getString("Merging contacts",null,"Title for the contacts merging modal"),info:t.getString("Merging contacts, this may take a few minutes.",null,"Information for the contacts merging modal"),progress:function(e){return o.upload(e)},complete:t.getString("Merging contacts complete",null,"Merge complete"),text:t.getString("contacts successfully merged.",null,"1 of 2 contacts successfully merged.")}};var s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return o.modal[e][t]},i=function(e){var t=e.count,a=void 0===t?0:t,n=e.total,o=void 0===n?0:n,r=e.text,s=void 0===r?"":r,i=e.complete;return"\n <p>"+(void 0===i?"":i)+'</p>\n <div class="contactLoaderModal-frame">\n <h1>'+a+" of "+o+"</h1>\n <strong>"+s+"</strong>\n </div>\n "+e.error+"\n "};return n({controllerAs:"ctrl",templateUrl:a("./src/templates/contact/contactLoaderModal.tpl.html"),controller:["params",function(t){var a=e(),n=a.on,l=a.unsubscribe;n("contacts",function(e,a){var n=a.type,l=void 0===n?"":n,c=a.data,d=void 0===c?{}:c;if("contactCreated"===l){var u=d.created,p=void 0===u?[]:u,m=d.errors,f=void 0===m?[]:m,h=d.total,v=void 0===h?0:h;document.querySelector(".contactLoaderModal-container").classList.add("contactLoaderModal-imported"),document.querySelector(".contactLoaderModal-success").innerHTML=i({count:p.length,total:v,complete:s(t.mode,"complete"),text:s(t.mode,"text"),error:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];if(!e.length)return"";if(e.length===t){var a=(0,r.default)(e,1)[0],n=(a=void 0===a?{}:a).error;return'<p class="alert alert-danger">'+(void 0===n?o.totalFailure:n)+"</p>"}return"\n <p>"+o.importFail(e.length)+'</p>\n <ul class="contactLoaderModal-logs">'+function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(function(e){return'<li class="contactLoaderModal-log">- '+e.error+"</li>"}).join("")}(e)+"</ul>\n "}(f,v)})}if("contactsMerged"===l){var g=d.updated,b=void 0===g?[]:g,y=d.removed,_=void 0===y?[]:y,j=d.errors,A=void 0===j?[]:j,S=d.total,C=void 0===S?0:S;document.querySelector(".contactLoaderModal-container").classList.add("contactLoaderModal-imported"),document.querySelector(".contactLoaderModal-success").innerHTML=i({count:b.length+_.length,total:C,complete:s(t.mode,"complete"),text:s(t.mode,"text"),error:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.length?"\n <p>"+o.mergeFail(e.length)+'</p>\n <ul class="contactLoaderModal-logs">'+function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(function(e){return'<li class="contactLoaderModal-log">- '+e+"</li>"}).join("")}(e)+"</ul>\n ":""}(A,C)})}}),n("progressBar",function(e,a){var n=a.type,o=void 0===n?"":n,r=a.data,i=void 0===r?{}:r,l=document.querySelector(".contactLoaderModal-label");l&&"contactsProgressBar"===o&&(l.textContent=s(t.mode,"progress")(i.progress))}),this.title=s(t.mode,"title"),this.info=s(t.mode,"info"),this.close=t.close,this.$onDestroy=function(){l()}}]})}s.$inject=["dispatchers","gettextCatalog","pmModal"],t.default=s},"./src/app/contact/modals/contactMergerModal.js":function(e,t,a){"use strict";function n(e,t){return t({controllerAs:"ctrl",templateUrl:a("./src/templates/contact/contactMergerModal.tpl.html"),controller:["params",function(e){var t=this,a=e.duplicates,n=e.title,o=e.onClickDetails,r=e.onClickPreview,s=e.onClickClose,i=e.onClickMerge;this.title=n,this.duplicates=a,this.onClickDetails=o,this.onClickPreview=r,this.onClickClose=s,this.onClickMerge=function(){i(t.duplicates)}}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["gettextCatalog","pmModal"],t.default=n},"./src/app/contact/modals/contactModal.js":function(e,t,a){"use strict";function n(e,t,n,o,r){var s={contactAdded:n.getString("Contact added",null,"Success message for the contact modal"),contactError:n.getString("Error with the request",null,"Default error for the contact modal")};return r({controllerAs:"ctrl",templateUrl:a("./src/templates/contact/contactModal.tpl.html"),controller:["params","$scope",function(a,n){var r=this,i=t(["contacts"]),l=i.dispatcher,c=i.on,d=i.unsubscribe;this.networkActivity=!1,c("contacts",function(t,n){var r=n.type,i=void 0===r?"":r,l=n.data,c=void 0===l?{}:l;if("contactCreated"===i){var d=c.created,u=void 0===d?[]:d,p=c.errors,m=void 0===p?[]:p;m.length&&m.forEach(function(e){var t=e.error,a=void 0===t?s.contactError:t;return o.error(a)}),u.length&&(o.success(s.contactAdded),e.go("secured.contacts.details",{id:u[0].ID}),a.close())}}),c("networkActivity",function(e,t){"load"===t&&n.$applyAsync(function(){r.networkActivity=!0}),"close"===t&&n.$applyAsync(function(){r.networkActivity=!1})}),this.contact=a.contact,this.cancel=a.close,this.submit=function(){return l.contacts("submitContactForm")},this.$onDestroy=function(){d()}}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$state","dispatchers","gettextCatalog","notification","pmModal"],t.default=n},"./src/app/contact/modals/contactPhotoModal.js":function(e,t,a){"use strict";function n(e){return e({controllerAs:"ctrl",templateUrl:a("./src/templates/contact/contactPhotoModal.tpl.html"),controller:["params",function(e){this.uri=e.uri||"",this.submit=e.submit,this.cancel=e.cancel}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["pmModal"],t.default=n},"./src/app/contact/modals/importContactModal.js":function(e,t,a){"use strict";function n(e,t){return e({controllerAs:"ctrl",templateUrl:a("./src/templates/contact/importContactModal.tpl.html"),controller:["params","$scope",function(e,a){var n=this,o=t(),r=o.on,s=o.unsubscribe,i=[];this.import=function(){return e.import(i)},this.cancel=e.cancel,this.$onDestroy=s,r("importCardDropzone",function(e,t){var o=t.data;i=o,a.$applyAsync(function(){return n.fileDropped=!0})})}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["pmModal","dispatchers"],t.default=n},"./src/app/contact/services/contact.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=m(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),o=m(a("./node_modules/babel-runtime/regenerator/index.js")),r=m(a("./node_modules/babel-runtime/helpers/toConsumableArray.js")),s=m(a("./node_modules/babel-runtime/core-js/promise.js")),i=m(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),l=m(a("./node_modules/lodash/map.js")),c=m(a("./node_modules/lodash/each.js")),d=m(a("./node_modules/lodash/reduce.js")),u=m(a("./node_modules/lodash/times.js")),p=a("./src/helpers/errors.js");function m(e){return e&&e.__esModule?e:{default:e}}function f(e,t,a,m,f,h,v){var g,b,y,_=(g=(0,i.default)(o.default.mark(function e(){var t,a,n,i,l,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",d=arguments[1],p=d.PageSize,m=d.key,f=void 0===m?"":m,h=arguments[2];return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,E(c,{PageSize:p},h);case 2:return t=e.sent,a=[s.default.resolve(t[f])],(n=Math.ceil(t.Total/p)-1)>0&&(i=(0,u.default)(n,function(e){return E(c,{PageSize:p,Page:e+1},h).then(function(e){return e[f]})}),a.push.apply(a,(0,r.default)(i))),e.next=8,s.default.all(a);case 8:return l=e.sent,e.abrupt("return",l.reduce(function(e,t){return e.concat(t)},[]));case 10:case"end":return e.stop()}},e,this)})),function(){return g.apply(this,arguments)}),j=(b=(0,i.default)(o.default.mark(function e(t,a){var r,s,i,l,c;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,E(S(t),{},a);case 2:return r=e.sent,s=r.Contact,e.next=6,h.decrypt([s]);case 6:return i=e.sent,l=(0,n.default)(i,1),c=l[0],e.abrupt("return",c);case 10:case"end":return e.stop()}},e,this)})),function(e,t){return b.apply(this,arguments)}),A=(y=(0,i.default)(o.default.mark(function e(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:I,n=arguments[1];return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_(S("export"),{key:"Contacts",PageSize:a},n);case 2:return t=e.sent,e.abrupt("return",h.decrypt(t));case 4:case"end":return e.stop()}},e,this)})),function(){return y.apply(this,arguments)}),S=m.build("contacts"),C=a.CONTACTS_LIMIT_UPLOAD,I=a.EXPORT_CONTACTS_LIMIT;function x(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(function(e){return e.Email=v.input(e.Email),e.Name=v.input(e.Name),e})}function E(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];return e.get(t,{params:a,timeout:n}).then(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data;return void 0===e?{}:e}).catch(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data;throw new Error((void 0===e?{}:e).Error)})}var w=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=(0,d.default)(t,function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).data,a=void 0===t?{}:t;return(0,c.default)(a.Responses,function(t){var a=t.Response,n=void 0===a?{}:a;if(n.Error)return e.errors.push({code:n.Code,name:n.Name,emails:n.Emails,error:n.Error});e.created.push(n.Contact)}),e},{created:[],errors:[]});return{created:a.created,errors:a.errors,total:e}}};return{hydrate:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.CONTACT_EMAILS_LIMIT;return _(S("emails"),{key:"ContactEmails",PageSize:e}).then(x)},all:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.CONTACTS_LIMIT;return _(S(),{key:"Contacts",PageSize:e})},get:j,getMultiple:function(e,t){return s.default.all(e.map(function(e){return j(e,t)}))},add:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return h.encrypt(a).then(function(){return function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments[1],o=50,r=f(a,C),i=(0,l.default)(r,function(a){var r={Contacts:a,Groups:1,Overwrite:1,Labels:1};return e.post(S(),r).then(function(e){return o+=Math.floor(50*a.length/n),t.$emit("progressBar",{type:"contactsProgressBar",data:{progress:o}}),e})});return s.default.all(i).then(w(n))}(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a.length)}).then(function(e){return t.$emit("contacts",{type:"contactsUpdated"}),e})},update:function(t){return h.encrypt([t]).then(function(a){return e.put(S(t.ID),a[0]).then(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,t=void 0===e?{}:e;return t.cards=a[0].Cards,t}).catch(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,t=void 0===e?{}:e;throw new p.ContactUpdateError(t.Error)})})},remove:function(t){return e.put(S("delete"),t).then(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data;return void 0===e?{}:e}).then(function(e){var t=e.Responses;return(void 0===t?[]:t).reduce(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.ID,n=t.Response,o=void 0===n?{}:n;return o.Error?e.errors.push({ID:a,Error:o.Error,Code:o.Code}):e.removed.push(a),e},{removed:[],errors:[]})})},clear:function(){return e.delete(S())},exportAll:A,groups:function(){return e.get(S("groups"))},load:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return E(e?S(e):S(),{PageSize:e?a.CONTACT_EMAILS_LIMIT:a.CONTACTS_LIMIT/10})}}}f.$inject=["$http","$rootScope","CONSTANTS","url","chunk","contactEncryption","sanitize"],t.default=f},"./src/app/conversation/directives/conversation.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=u(a("./node_modules/lodash/filter.js")),o=u(a("./node_modules/lodash/extend.js")),r=u(a("./node_modules/lodash/find.js")),s=u(a("./node_modules/lodash/map.js")),i=u(a("./node_modules/lodash/includes.js")),l=u(a("./node_modules/lodash/some.js")),c=u(a("./node_modules/lodash/last.js")),d=u(a("./node_modules/lodash/findIndex.js"));function u(e){return e&&e.__esModule?e:{default:e}}function p(e,t,u,p,m,f,h,v,g,b,y,_,j,A,S,C,I){return{restrict:"E",replace:!0,scope:{conversation:"="},templateUrl:a("./src/templates/partials/conversation.tpl.html"),link:function(a){var h,v=[],x=I(["message.open","elements","composer.load"]),E=x.on,w=x.unsubscribe,T=x.dispatcher,M=(h=document.getElementById("pm_thread"),function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"UP",n=h.querySelector(".message.marked");if(n){var o=function(e,t){return"UP"===t?e.previousElementSibling?e.previousElementSibling.classList.contains("open")?e.previousElementSibling.offsetHeight+42:42:0:e.nextElementSibling&&e.nextElementSibling.classList.contains("open")?e.nextElementSibling.offsetHeight+42:42}(n,a);if(0===e)return h.scrollTop=0;"UP"===a&&(h.scrollTop-=o),"DOWN"===a&&(h.scrollTop=n.offsetTop+o-h.offsetHeight/2)}}),D=angular.noop;a.messages=[],a.mailbox=_.currentMailbox(),a.labels=A.get(),a.showTrashed=!1,a.showNonTrashed=!1,t.numberElementSelected=1,t.showWelcome=!1,a.inTrash=u.includes("secured.trash.**"),a.inSpam=u.includes("secured.spam.**"),a.getElements=function(){return[a.conversation]};var k=function(e){return function(){var t=e||a.markedMessage;if(t)return t.Type===y.DRAFT?T["composer.load"]("",t):void T["message.open"]("toggle",{action:"openMarked",message:t})}};E("refreshConversation",function(e,t){t.indexOf(a.conversation.ID)>-1&&O()}),E("message.expiration",function(){a.$applyAsync(function(){return O()})}),E("message.open",function(e,t){var n=t.type,o=t.data;if("toggle"===n&&(D(),D=f(o.message),j.unbind(["down","up"]),a.markedMessage=void 0),"render"===n)return g.to(o)}),E("unmarkMessages",function(){a.markedMessage=void 0,D()}),a.$on("move",function(e,n){D();var o=y.MAILBOX_IDENTIFIERS[n];if(!t.numberElementChecked)return a.markedMessage?t.$emit("messageActions",{type:"move",data:{ids:[a.markedMessage.ID],labelID:o}}):void m.move([a.conversation.ID],o)});var L=function(e){return function(){var t=(0,d.default)(a.messages,{expand:!0}),n="DOWN"===e?t+1:t-1,o=a.messages[n];"DOWN"===e&&n===a.messages.length||("UP"!==e||t)&&a.$applyAsync(function(){a.messages[t].expand=!1,M(n,a.messages.length,e),D=f(o),k(o)()})}};function P(){var e=u.$current.name.replace(".element","");u.go(e,{id:null})}function O(){var t=b.getConversationCached(p.id),n=b.queryMessagesCached(p.id),s=_.currentLocation();return v=n,a.trashed=v.some(function(e){var t=e.LabelIDs,a=void 0===t?[]:t;return(0,i.default)(a,y.MAILBOX_IDENTIFIERS.trash)}),a.nonTrashed=v.some(function(e){var t=e.LabelIDs,a=void 0===t?[]:t;return!(0,i.default)(a,y.MAILBOX_IDENTIFIERS.trash)}),t&&((0,r.default)(t.Labels,{ID:s})||u.includes("secured.search.**"))?((0,o.default)(a.conversation,t),void(Array.isArray(n)&&n.length>0?function(){for(var t=[],o=[],r=b.orderMessage(e("filterMessages")(n,a.showTrashed,a.showNonTrashed),!1),s=function(e){a.messages.some(function(t){return t.ID===r[e].ID})||t.push({index:e,message:r[e]})},i=0;i<r.length;i++)s(i);for(i=0;i<t.length;i++){var l=t[i];a.messages.splice(l.index,0,l.message)}for(var c=function(e){r.some(function(t){return t.ID===a.messages[e].ID})||o.push({index:e})},d=0;d<a.messages.length;d++)c(d);for(var u=o.length-1;u>=0;u--)a.messages.splice(o[u].index,1)}():P())):P()}a.$on("nextElement",L("DOWN")),a.$on("previousElement",L("UP")),a.$on("markPrevious",function(){if(D(),a.markedMessage){var e=a.messages.indexOf(a.markedMessage);if(e>0){var t=e-1;a.$applyAsync(function(){a.markedMessage=a.messages[t],M(t,a.messages.length,"UP"),D=f(a.markedMessage)})}}}),a.$on("markNext",function(){if(D(),a.markedMessage){var e=a.messages.indexOf(a.markedMessage);if(e<a.messages.length-1){var t=e+1;a.$applyAsync(function(){a.markedMessage=a.messages[t],M(t,a.messages.length,"DOWN"),D=f(a.markedMessage)})}}}),E("toggleStar",function(){var e={model:a.conversation,type:"conversation"};a.markedMessage&&(e.model=a.markedMessage,e.type="message"),T.elements("toggleStar",e)}),j.unbind(["down","up"]),a.$on("left",function(){return j.bind(["down","up"])}),a.$on("openMarked",k()),a.$on("right",function(){D(),!a.markedMessage&&a.$applyAsync(function(){a.markedMessage=(0,c.default)(a.messages),D=f(a.markedMessage),g.toID(a.markedMessage.ID,a.messages),j.bind(["down","up"])})}),a.$on("escape",function(){P()}),a.toggleOption=function(e){a[e]=!a[e],O()},a.showNotifier=function(e){var t=(0,n.default)(v,function(t){return(0,i.default)(t.LabelIDs,y.MAILBOX_IDENTIFIERS[e])});return t.length<v.length&&t.length>0},a.getMessages=function(){return a.messages},a.read=function(){return m.read([a.conversation.ID])},a.unread=function(){m.unread([a.conversation.ID]),P()},a.delete=function(){return m.remove([a.conversation.ID])},a.saveLabels=function(e,t){m.label([a.conversation.ID],e,t)},function(){var n;if(v=b.queryMessagesCached(p.id),a.trashed=(0,l.default)(v,function(e){var t=e.LabelIDs;return(0,i.default)(t,y.MAILBOX_IDENTIFIERS.trash)}),a.nonTrashed=(0,l.default)(v,function(e){var t=e.LabelIDs;return!(0,i.default)(t,y.MAILBOX_IDENTIFIERS.trash)}),(n=e("filterMessages")(v,a.showTrashed,a.showNonTrashed)).length>0){var o=(0,s.default)(b.orderMessage(n,!1),function(e){return delete e.expand,delete e.openMe,e});a.messages=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=C.find(e);return e.length&&(t.openMe=!0),e}(o),D=f((0,c.default)(a.messages)),S.get("ViewLayout")===y.ROW_MODE&&(a.markedMessage=t.expandMessage),T.elements("mark",{id:p.id}),T.elements("opened",{id:p.id})}else P()}(),a.$on("$destroy",function(){w(),D(),j.unbind(["down","up"]),j.bind(["down","up"]),T.elements("close",{element:a.conversation})})}}}p.$inject=["$filter","$rootScope","$state","$stateParams","actionConversation","conversationListeners","messageActions","authentication","messageScroll","cache","CONSTANTS","tools","hotkeys","labelsModel","mailSettingsModel","findExpendableMessage","dispatchers"],t.default=p},"./src/app/conversation/directives/conversationPlaceholder.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){return{replace:!0,templateUrl:a("./src/templates/partials/conversation-placeholder.tpl.html")}}},"./src/app/conversation/directives/conversationView.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/find.js"),r=(n=o)&&n.__esModule?n:{default:n};var s=function(e,t,a,n){return{restrict:"E",replace:!0,template:'<div class="conversationView-container"><conversation ng-if="conversation" data-conversation="conversation"></conversation></div>',link:function(o){var s=t.id,i=n.currentLocation();a.getConversation(s).then(function(t){var a;return(0,r.default)(t.Labels,{ID:i})||e.includes("secured.search.**")?o.conversation=t:(a=e.$current.name.replace(".element",""),void e.go(a,{id:null}))})}}};s.$inject=["$state","$stateParams","cache","tools"],t.default=s},"./src/app/conversation/directives/listColumns.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){return{replace:!0,templateUrl:a("./src/templates/partials/conversation-list-columns.tpl.html")}}},"./src/app/conversation/directives/listMobile.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){return{replace:!0,templateUrl:a("./src/templates/partials/conversation-list-mobile.tpl.html")}}},"./src/app/conversation/directives/listRows.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){return{replace:!0,templateUrl:a("./src/templates/partials/conversation-list-rows.tpl.html")}}},"./src/app/conversation/directives/statesConversation.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{restrict:"E",replace:!0,template:"\n <i class=\"fa\" ng-class=\"{\n 'fa-mail-reply': conversation.IsReplied,\n 'fa-mail-reply-all': conversation.IsRepliedAll,\n 'fa-mail-forward': conversation.IsForwarded\n }\"></i>\n "}}},"./src/app/conversation/factories/actionConversation.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=v(a("./node_modules/babel-runtime/core-js/promise.js")),o=v(a("./node_modules/babel-runtime/helpers/defineProperty.js")),r=v(a("./node_modules/lodash/fp/map.js")),s=v(a("./node_modules/lodash/fp/last.js")),i=v(a("./node_modules/lodash/fp/sortBy.js")),l=v(a("./node_modules/lodash/fp/reduce.js")),c=v(a("./node_modules/lodash/fp/filter.js")),d=v(a("./node_modules/lodash/fp/flow.js")),u=v(a("./node_modules/lodash/filter.js")),p=v(a("./node_modules/lodash/reduce.js")),m=v(a("./node_modules/lodash/map.js")),f=v(a("./node_modules/lodash/includes.js")),h=v(a("./node_modules/lodash/each.js"));function v(e){return e&&e.__esModule?e:{default:e}}function g(e,t,a,v,g,b,y,_,j,A,S,C){var I=C("unicodeTagView"),x=v.MAILBOX_IDENTIFIERS,E=[x.inbox,x.trash,x.spam,x.archive,x.sent,x.drafts];return{remove:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments[1],o=g.delete(t,n);if(a.addToDispatcher(o),!A.cacheContext())return o.then(function(){return b.call()}),_.track(o);var r=t.reduce(function(t,n){var o=a.queryMessagesCached(n);return e.$broadcast("deleteConversation",n),(0,h.default)(o,function(e){var a=e.ID;return t.push({Action:0,ID:a})}),t.push({Action:0,ID:n}),t},[]);return a.events(r),o},unread:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=A.currentLocation(),n=g.unread(e,t);a.addToDispatcher(n),A.cacheContext()||(n.then(function(){return b.call()}),_.track(n));var o=e.reduce(function(e,n){var o=a.queryMessagesCached(n),r=(a.getConversationCached(n)||{}).Labels,l=void 0===r?[]:r;if(o.length){var u=(0,d.default)((0,c.default)(function(e){var a=e.LabelIDs,n=void 0===a?[]:a;return(0,f.default)(n,t)}),(0,i.default)(function(e){return e.Time}),s.default)(o).ID;e.push({ID:u,Action:3,Message:{ID:u,IsRead:0}})}return e.push({Action:3,ID:n,Conversation:{ID:n,Labels:(0,m.default)(l,function(e){return e.ID!==t&&e.ID!==x.allmail||e.ContextNumUnread++,e})}}),e},[]);a.events(o)},read:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=A.currentLocation(),n=g.read(e);a.addToDispatcher(n),A.cacheContext()||(n.then(function(){return b.call()}),_.track(n));var o=e.reduce(function(e,n){var o=(a.getConversationCached(n)||{}).Labels,r=void 0===o?[]:o;return(0,h.default)(a.queryMessagesCached(n),function(t){var a=t.ID;e.push({ID:a,Action:3,Message:{ID:a,IsRead:1}})}),e.push({Action:3,ID:n,Conversation:{ID:n,Labels:(0,m.default)(r,function(e){return e.ID!==t&&e.ID!==x.allmail||(e.ContextNumUnread=0),e})}}),e},[]);a.events(o)},unstar:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=g.unstar(e),n=[x.starred];if(a.addToDispatcher(t),!A.cacheContext())return t.then(function(){return b.call()}),_.track(t);var o=(0,d.default)((0,r.default)(function(e){return a.getConversationCached(e)}),(0,c.default)(Boolean),(0,l.default)(function(e,t){var o=t.ID,r=t.ContextNumUnread,s=a.queryMessagesCached(o);return(0,h.default)(s,function(t){e.push({Action:3,ID:t.ID,Message:{ID:t.ID,IsRead:t.IsRead,LabelIDsRemoved:n}})}),e.push({Action:3,ID:o,Conversation:{ID:o,ContextNumUnread:r,LabelIDsRemoved:n}}),e},[]))(e);a.events(o)},star:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=g.star(e),n=[x.starred];if(a.addToDispatcher(t),!A.cacheContext())return t.then(function(){return b.call()}),_.track(t);var o=(0,d.default)((0,r.default)(function(e){return a.getConversationCached(e)}),(0,c.default)(Boolean),(0,l.default)(function(e,t){var o=t.ID,r=t.ContextNumUnread,s=a.queryMessagesCached(o);return(0,h.default)(s,function(t){e.push({Action:3,ID:t.ID,Message:{ID:t.ID,IsRead:t.IsRead,LabelIDsAdded:n}})}),e.push({Action:3,ID:o,Conversation:{ID:o,ContextNumUnread:r,LabelIDsAdded:n}}),e},[]))(e);a.events(o)},label:function(e,t,o){var s=A.currentLocation(),i=(0,f.default)(E,s)||S.contains(s,"folders"),u=A.currentLocation(),m=function(t){a.events(t),!0===o&&g.archive(e)},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:angular.noop;return(0,d.default)((0,c.default)(t),(0,r.default)(function(e){return e.ID}))(e)||[]},b=v(t,function(e){return!0===e.Selected}),y=v(t,function(e){return!1===e.Selected}),j=[].concat(b),C=[].concat(y);!0===o&&(j.push(x.archive),i&&C.push(u));var I=(0,d.default)((0,r.default)(function(e){return a.getConversationCached(e)}),(0,c.default)(Boolean),(0,l.default)(function(e,t){var n=t.ID,r=t.ContextNumUnread,s=a.queryMessagesCached(n);return(0,h.default)(s,function(t){var a=[].concat(b),n=[].concat(y);!0===o&&(a.push(x.archive),i&&n.push(u)),e.push({Action:3,ID:t.ID,Message:{ID:t.ID,IsRead:t.IsRead,LabelIDsAdded:a,LabelIDsRemoved:n}})}),e.push({Action:3,ID:n,Conversation:{ID:n,ContextNumUnread:r,Selected:!1,LabelIDsAdded:j,LabelIDsRemoved:C}}),e},[]))(e),w=function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return(0,p.default)(t,function(t,a){return t.push(g[1===n?"label":"unlabel"](a,e)),t},a)},T=n.default.all(w(C,w(j),0));if(a.addToDispatcher(T),A.cacheContext())return m(I);T.then(function(){return m(I)}),_.track(T)},move:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=S.ids("folders"),s=S.ids("labels"),i=t===x.trash,l=t===x.spam,m=t===x.inbox,v=g.label(t,e),C=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=(S.read(t,"folders")||{}).Name;return(e={},(0,o.default)(e,x.inbox,y.getString("Inbox",null,"App folder")),(0,o.default)(e,x.spam,y.getString("Spam",null,"App folder")),(0,o.default)(e,x.drafts,y.getString("Drafts",null,"App folder")),(0,o.default)(e,x.allDrafts,y.getString("Drafts",null,"App folder")),(0,o.default)(e,x.sent,y.getString("Sent",null,"App folder")),(0,o.default)(e,x.allSent,y.getString("Sent",null,"App folder")),(0,o.default)(e,x.trash,y.getString("Trash",null,"App folder")),(0,o.default)(e,x.archive,y.getString("Archive",null,"App folder")),e)[t]||a}(t),w=y.getPlural(e.length,"1 conversation moved to {{folder}}","{{number}} conversations moved to {{folder}}",{folder:I(C),number:e.length},"Info"),T=function(){return j.success(w)},M=E.concat(n).concat(l||i?s:[]);if(a.addToDispatcher(v),!A.cacheContext())return v.then(function(){return b.call()}).then(function(){return T()}),_.track(v);var D=[t],k=(0,p.default)(e,function(e,t){var n=a.queryMessagesCached(t);(0,h.default)(n,function(t){var a=t.Type,n=t.LabelIDs,o=void 0===n?[]:n,r=t.ID,s=t.IsRead,l=D.slice(),c=(0,u.default)(o,function(e){return(0,f.default)(M,e)});if(m)switch(a){case 1:var d=l.indexOf(x.inbox);l.splice(d,1),l.push(x.allDrafts);break;case 2:var p=l.indexOf(x.inbox);l.splice(p,1),l.push(x.allSent);break;case 3:l.push(x.allSent)}e.push({ID:r,Action:3,Message:{ID:r,IsRead:i?1:s,LabelIDsRemoved:c,LabelIDsAdded:l}})});var o=a.getConversationCached(t);if(o){var s=(0,d.default)((0,c.default)(function(e){var t=e.ID;return(0,f.default)(M,t)}),(0,r.default)(function(e){return e.ID}))(o.Labels);e.push({Action:3,ID:t,Conversation:{ID:t,Selected:!1,ContextNumUnread:i?0:o.ContextNumUnread,LabelIDsRemoved:s,LabelIDsAdded:D}})}return e},[]);a.events(k),T()}}}g.$inject=["$rootScope","authentication","cache","CONSTANTS","conversationApi","eventManager","gettextCatalog","networkActivityTracker","notification","tools","labelsModel","$filter"],t.default=g},"./src/app/conversation/factories/conversationApi.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./node_modules/babel-runtime/regenerator/index.js")),o=c(a("./node_modules/babel-runtime/core-js/promise.js")),r=c(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),s=c(a("./node_modules/lodash/extend.js")),i=c(a("./node_modules/lodash/reduce.js")),l=a("./src/app/constants.js");function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t,a){var c,d=(c=(0,r.default)(n.default.mark(function a(){var r,c,d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",p=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return r=(0,i.default)(t(p.IDs,l.CONVERSATION_REQUEST_SIZE),function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t.concat(e({url:d,method:u,data:(0,s.default)({},p,{IDs:a})}))},[]),a.next=3,o.default.all(r);case 3:return c=a.sent,a.abrupt("return",c.reduce(function(e,t){return e.concat(t)},[]));case 5:case"end":return a.stop()}},a,this)})),function(){return c.apply(this,arguments)}),u=l.MAILBOX_IDENTIFIERS.archive,p=l.MAILBOX_IDENTIFIERS.trash,m=l.MAILBOX_IDENTIFIERS.inbox,f=l.MAILBOX_IDENTIFIERS.spam,h=a.build("conversations");return{query:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e({url:h(),method:"GET",params:t})},get:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.get(h(t))},count:function(){return e.get(h("count"))},star:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return d(h("star"),"PUT",{IDs:e})},unstar:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return d(h("unstar"),"PUT",{IDs:e})},read:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return d(h("read"),"PUT",{IDs:e})},unread:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return d(h("unread"),"PUT",{IDs:e,LabelID:t})},trash:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.label(p,e)},inbox:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.label(m,e)},spam:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.label(f,e)},archive:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.label(u,e)},delete:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return d(h("delete"),"PUT",{IDs:e,LabelID:t})},label:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return d(h("label"),"PUT",{IDs:t,LabelID:e})},unlabel:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return d(h("unlabel"),"PUT",{IDs:t,LabelID:e})}}}d.$inject=["$http","chunk","url"],t.default=d},"./src/app/conversation/factories/conversationListeners.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/object/keys.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a){var n=a(["composer.new"]),o=n.dispatcher,s=n.on,i=n.unsubscribe,l={replyConversation:"reply",replyAllConversation:"replyall",forwardConversation:"forward"},c=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(){if(a.Type!==t.DRAFT&&!a.failedDecryption){var n=l[e];o["composer.new"](n,{message:a})}}};return function(e){return(0,r.default)(l).map(function(t){return s(t,c(t,e))}),function(){i()}}}s.$inject=["$rootScope","CONSTANTS","dispatchers"],t.default=s},"./src/app/conversation/factories/mailboxIdentifersTemplate.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=i(a("./node_modules/lodash/extend.js")),r=i(a("./node_modules/lodash/find.js")),s=i(a("./node_modules/lodash/includes.js"));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t,a){var i=document.createElement("div"),l=function(e,t){return'<i class="'+e+'" translate>'+t+"</i>"},c=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=(e=a,i.innerText=e||"",i.innerHTML).replace(/"|'/g,"");return n?'<i class="fa '+t+'" pt-tooltip="'+o+'" style="color: '+n+'"></i>':'<i class="fa '+t+'" pt-tooltip="'+o+'"></i>'},d=function(e,t){var a=e.className,n=void 0===a?"":a,o=e.tooltip,r=void 0===o?"":o,s=e.color,i=void 0===s?"":s;return n&&r?t?t(n,r,i):c(n,r,i):""};return function(e){var i=e.MAP_LABELS,c=e.MAP_TYPES;return{getTemplateLabels:function(e){return(0,n.default)(i).reduce(function(n,l){if("folder"===l){var c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=(0,r.default)(e,function(e){return a.contains(e,"folders")});return a.read(t,"folders")||{}}(e),u=c.Color,p=c.Name;return n+d((0,o.default)({},i[l],{tooltip:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/^{{/g,"{​{")}(p),color:u}))}return function(e,a){return(0,s.default)(a,t.MAILBOX_IDENTIFIERS[e])}(l,e)?n+d(i[l]):n},"")},getTemplateType:function(e){return 2===e||3===e?d(c.sent,l):1===e?d(c.drafts,l):""}}}}l.$inject=["$rootScope","CONSTANTS","labelsModel"],t.default=l},"./src/app/conversation/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=y(a("./src/app/conversation/directives/conversation.js")),o=y(a("./src/app/conversation/directives/conversationPlaceholder.js")),r=y(a("./src/app/conversation/directives/conversationView.js")),s=y(a("./src/app/conversation/directives/listColumns.js")),i=y(a("./src/app/conversation/directives/listMobile.js")),l=y(a("./src/app/conversation/directives/listRows.js")),c=y(a("./src/app/conversation/directives/statesConversation.js")),d=y(a("./src/app/conversation/factories/actionConversation.js")),u=y(a("./src/app/conversation/factories/conversationApi.js")),p=y(a("./src/app/conversation/factories/conversationListeners.js")),m=y(a("./src/app/conversation/factories/mailboxIdentifersTemplate.js")),f=y(a("./src/app/conversation/interceptors/conversationsInterceptor.js")),h=y(a("./src/app/conversation/services/cache.js")),v=y(a("./src/app/conversation/services/cacheCounters.js")),g=y(a("./src/app/conversation/services/markedScroll.js")),b=y(a("./src/app/conversation/services/messageScroll.js"));function y(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.conversation",["proton.message"]).config(["$httpProvider",function(e){e.interceptors.push("conversationsInterceptor")}]).directive("conversation",n.default).directive("conversationPlaceholder",o.default).directive("conversationView",r.default).directive("listColumns",s.default).directive("listMobile",i.default).directive("listRows",l.default).directive("statesConversation",c.default).factory("cache",h.default).factory("cacheCounters",v.default).factory("actionConversation",d.default).factory("conversationApi",u.default).factory("conversationListeners",p.default).factory("mailboxIdentifersTemplate",m.default).factory("conversationsInterceptor",f.default).factory("markedScroll",g.default).factory("messageScroll",b.default).name},"./src/app/conversation/interceptors/conversationsInterceptor.js":function(e,t,a){"use strict";function n(e,t){return{responseError:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(/\/conversations\//.test((a.config||{}).url)){var n=t.get("cache"),o=t.get("cacheCounters"),r=t.get("eventManager");n.reset(),o.reset(),r.call()}return e.reject(a)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$q","$injector"],t.default=n},"./src/app/conversation/services/cache.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(a("./node_modules/babel-runtime/core-js/promise.js")),o=A(a("./node_modules/lodash/fp/head.js")),r=A(a("./node_modules/lodash/fp/map.js")),s=A(a("./node_modules/lodash/fp/each.js")),i=A(a("./node_modules/lodash/fp/filter.js")),l=A(a("./node_modules/lodash/fp/flow.js")),c=A(a("./node_modules/lodash/findIndex.js")),d=A(a("./node_modules/lodash/uniqBy.js")),u=A(a("./node_modules/lodash/difference.js")),p=A(a("./node_modules/lodash/filter.js")),m=A(a("./node_modules/lodash/maxBy.js")),f=A(a("./node_modules/lodash/uniq.js")),h=A(a("./node_modules/lodash/each.js")),v=A(a("./node_modules/lodash/includes.js")),g=A(a("./node_modules/lodash/reduce.js")),b=A(a("./node_modules/lodash/extend.js")),y=A(a("./node_modules/lodash/map.js")),_=A(a("./node_modules/lodash/find.js")),j=A(a("./node_modules/lodash/range.js"));function A(e){return e&&e.__esModule?e:{default:e}}function S(e,t,a,A,S,C,I,x,E,w,T,M,D,k,L,P){var O={},N=[],R=[],$=[],F={},B=15225,U=C.STATUS,z=U.DELETE,q=U.CREATE,V=U.UPDATE_DRAFT,Y=U.UPDATE_FLAGS,H=C.MAILBOX_IDENTIFIERS,W=H.inbox,K=H.allDrafts,G=H.drafts,X=H.allSent,Z=H.sent,J=H.trash,Q=H.spam,ee=H.allmail,te=H.archive,ae=H.starred,ne={errorMessages:E.getString("No messages available",null,"Error"),errorConversations:E.getString("No conversations available",null,"Error")},oe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return a.$emit("elements",{type:e,data:t})};function re(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach(pe)}function se(e){var t=e.Page,a=void 0===t?0:t,n=e.Limit,o=void 0===n?C.CONVERSATION_LIMIT:n;return(0,j.default)(a,a+o/C.ELEMENTS_PER_PAGE,1)}function ie(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach(ce)}function le(e,t,a){F[e]=F[e]||{},F[e][t]=a}function ce(e,t){(0,_.default)(N,{ID:e.ID})?N=(0,y.default)(N,function(a){if(t&&a.ID===e.ID)return e;if(a.ID===e.ID){var n=(0,b.default)({},a,e);return n.Type=e.Type,n}return a}):N.push(e),fe(e.ConversationID),a.$emit("labelsElement."+e.ID,e),a.$emit("foldersMessage."+e.ID,e),a.$emit("foldersElement."+e.ID,e)}O.addToDispatcher=function(e){return $.push(e)},O.clearDispatcher=function(){return $.length=0},O.getDispatcher=function(){return n.default.all($)},e(function(){var e=~~(Date.now()/1e3),t=(0,g.default)(N,function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=a.ExpirationTime,o=!(0!==n&&n<e),r=o?"list":"removeList";return t[r].push(a),t},{list:[],removeList:[]}),n=t.list,o=t.removeList;N=n,o.length&&a.$emit("message.expiration",o)},1e3,0,!1);var de=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,g.default)(t.concat(e),function(e,t){return e.map[t.Address]||(e.list.push(t),e.map[t.Address]=!0),e},{list:[],map:{}}).list};function ue(e,t){var a=t.Labels,n=void 0===a?[]:a,o=k.currentLocation(),r=n.length?(0,_.default)(n,{ID:o})||{}:t,s=r.ContextNumUnread,i=void 0===s?e.ContextNumUnread:s,l=r.ContextNumAttachments,c=void 0===l?e.ContextNumAttachments:l,d=r.ContextSize,u=void 0===d?e.ContextSize:d,p=r.ContextTime;return{ContextNumUnread:i,ContextNumAttachments:c,ContextSize:u,ContextTime:void 0===p?e.ContextTime:p}}function pe(e){var t=(0,_.default)(R,{ID:e.ID});if(t)return(0,b.default)(t,e,{Labels:Ae(t,e),Senders:de(t.Senders,e.Senders)},ue(t,e)),delete t.LabelIDsAdded,delete t.LabelIDsRemoved,fe(t.ID),a.$emit("labelsElement."+t.ID,t),void a.$emit("foldersElement."+t.ID,t);(0,b.default)(e,ue(e,e)),R.push(e),fe(e.ID),a.$emit("labelsElement."+e.ID,e),a.$emit("foldersElement."+e.ID,e)}function me(e,t,a){var n=e.LabelIDs,o=void 0===n?[]:n,r=e.Labels,s=void 0===r?[]:r,i=e.IsRead,l=function(e){return+!!e},c=[W,K,G,X,Z,J,Q,ee,te,ae].concat(L.ids());return(0,g.default)(c,function(e,n){if("message"===a){var r=(0,v.default)(o,n);e[n]=l(t?r&&0===i:r)}if("conversation"===a){var c=(0,_.default)(s,{ID:n});e[n]=l(t?c&&c.ContextNumUnread>0:c)}return e},{})}function fe(e){if(e){var t=(O.getConversationCached(e)||{}).Labels,a=void 0===t?[]:t,n=O.queryMessagesCached(e);n.length&&a.forEach(function(t){var a=t.ID,r=((0,l.default)((0,i.default)(function(e){var t=e.LabelIDs,n=void 0===t?[]:t;return(0,v.default)(n,a)}),o.default)(n)||{}).Time;r&&le(e,a,r)})}}function he(e,t,a){var n=me(e,!0,a),o=me(t,!0,a),r=me(t,!1,a),s=me(e,!1,a),i=[W,K,G,X,Z,J,Q,ee,te,ae].concat(L.ids());(0,h.default)(i,function(e){var t=o[e]-n[e],i=r[e]-s[e],l=void 0,c=void 0;"message"===a?(l=M.unreadMessage(e),c=M.totalMessage(e),M.updateMessage(e,c+i,l+t)):"conversation"===a&&(l=M.unreadConversation(e),c=M.totalConversation(e),M.updateConversation(e,c+i,l+t))})}var ve=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Label};function ge(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=ve(e),o=k.cacheContext();e.Limit=e.Limit||C.CONVERSATION_LIMIT;var r=O.getDispatcher().then(function(){return I.query(e)}).then(function(){var r=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,s=void 0===r?{}:r;if(s.Code===B)return[];if(M.currentState(s.Limit),a.$emit("elements",{type:"setLimit",data:{limit:s.Limit,total:s.Total}}),(0,h.default)(s.Conversations,function(e){e.loaded=!0,le(e.ID,n,e.ContextTime)}),o){if(!t){var i=s.Limit,l=0===i?0:s.Unread;se(e).forEach(function(e){return!P.inside(e)&&P.add(e)}),M.updateConversation(n,i,l)}return re(s.Conversations),O.clearDispatcher(),O.orderConversation(s.Conversations.slice(0,C.ELEMENTS_PER_PAGE),n)}return O.clearDispatcher(),s.Conversations.slice(0,C.ELEMENTS_PER_PAGE)}).catch(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,t=void 0===e?{}:e;throw O.clearDispatcher(),a.$emit("elements",{type:"error",data:{code:t.Code,error:t.Error}}),new Error(t.Error||ne.errorConversations)});return D.track(r),r}function be(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=ve(e),o=k.cacheContext();e.Limit=e.Limit||C.MESSAGE_LIMIT;var r=O.getDispatcher().then(function(){return T.query(e)}).then(function(){var r=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,s=void 0===r?{}:r;if(s.Code===B)return[];var i=s.Messages,l=void 0===i?[]:i,c=s.Total,d=void 0===c?0:c,u=s.Limit,p=void 0===u?0:u;if(M.currentState(p),a.$emit("elements",{type:"setLimit",data:{limit:p,total:d}}),(0,h.default)(l,function(e){var t=e.ToList,a=void 0===t?[]:t,n=e.CCList,o=void 0===n?[]:n,r=e.BCCList,s=void 0===r?[]:r;e.loaded=!0,e.Senders=[e.Sender],e.Recipients=(0,f.default)([].concat(a,o,s))}),ie(l),o){var m=se(e);return t||M.updateMessage(n,p),m.forEach(function(e){return!P.inside(e)&&P.add(e)}),O.clearDispatcher(),O.orderMessage(l.slice(0,C.ELEMENTS_PER_PAGE))}return O.clearDispatcher(),l.slice(0,C.ELEMENTS_PER_PAGE)}).catch(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,t=void 0===e?{}:e;throw O.clearDispatcher(),a.$emit("elements",{type:"error",data:{code:t.Code,error:t.Error}}),new Error(t.Error||ne.errorMessages)});return D.track(r),r}function ye(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=I.get(e).then(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,t=void 0===e?{}:e,a=t.Conversation,n=t.Messages,o=(0,m.default)(n,function(e){return e.Time});return n.forEach(function(e){return e.loaded=!0}),a.loaded=!0,a.Time=o.Time,re([a]),ie(n),angular.copy(a)});return D.track(t),t}function _e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(0,g.default)(e,function(e,t){return e.unshift(t),e},[])}function je(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.LabelIDs||e.LabelIDs||[];return Array.isArray(t.LabelIDsRemoved)&&(a=(0,u.default)(a,t.LabelIDsRemoved)),Array.isArray(t.LabelIDsAdded)&&(a=(0,f.default)(a.concat(t.LabelIDsAdded))),a}function Ae(e,t){var a=t.Labels,n=void 0===a?[]:a,o=t.LabelIDsRemoved,r=void 0===o?[]:o,s=t.LabelIDsAdded,i=void 0===s?[]:s,l=t.ContextNumUnread,c=void 0===l?0:l;if(i.length||r.length){var u=(0,y.default)(i,function(e){return{ID:e,ContextNumUnread:c}}),m=(0,p.default)(e.Labels,function(e){var t=e.ID;return!(0,v.default)(r,t)});return(0,d.default)(m.concat(u),function(e){return e.ID})}return n.length?(0,y.default)(n,function(t){var a=(0,_.default)(e.Labels||[],{ID:t.ID});return a?(0,b.default)({},a,t):t}):e.Labels||[]}O.empty=function(e){N=(0,p.default)(N,function(t){var a=t.LabelIDs;return-1===(void 0===a?[]:a).indexOf(e)}),M.updateMessage(e,0),(0,h.default)(R,function(t){t.Labels=(0,p.default)(t.Labels,function(t){return t.ID!==e})}),M.updateConversation(e,0),oe("refresh")},O.orderConversation=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return _e(e.sort(function(e,a){return O.getTime(e.ID,t)<O.getTime(a.ID,t)?-1:O.getTime(e.ID,t)>O.getTime(a.ID,t)?1:e.Order<a.Order?-1:e.Order>a.Order?1:0}))},O.orderMessage=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=e.sort(function(e,t){return e.Time<t.Time?-1:e.Time>t.Time?1:e.Order<t.Order?-1:e.Order>t.Order?1:0});return t?_e(a):a},O.orderElements=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"message",a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=e.sort(function(e,a){var o="message"===t?e.Time:O.getTime(e.ID,n),r="message"===t?a.Time:O.getTime(a.ID,n);return o<r?-1:o>r?1:e.Order<a.Order?-1:e.Order>a.Order?1:0});return a?_e(o):o},O.getTime=function(e,t){return F[e]&&angular.isNumber(F[e][t])?F[e][t]:(O.getConversationCached(e)||{}).ContextTime||""},O.queryMessages=function(e){var t=ve(e),a=k.cacheContext(),o=e.Page||0;if(a&&!x.get()&&P.consecutive(o)){var s=o*C.ELEMENTS_PER_PAGE,c=s+C.ELEMENTS_PER_PAGE,d=void 0,u=void 0,p=k.currentMailbox(),m=(0,l.default)((0,i.default)(function(e){var a=e.LabelIDs;return-1!==(void 0===a?[]:a).indexOf(t)}),(0,r.default)(function(e){return w(e)}))(N);switch(m=O.orderMessage(m),p){case"label":d=M.totalMessage(S.label);break;default:d=M.totalMessage(C.MAILBOX_IDENTIFIERS[p])}if(angular.isDefined(d)&&(u=0===d?0:d%C.ELEMENTS_PER_PAGE==0?C.ELEMENTS_PER_PAGE:Math.ceil(d/C.ELEMENTS_PER_PAGE)-1===o?d%C.ELEMENTS_PER_PAGE:C.ELEMENTS_PER_PAGE,M.currentState(d),(m=m.slice(s,c)).length===u))return n.default.resolve(m)}return be(e)},O.queryConversations=function(e){var t=ve(e),a=k.cacheContext(),o=e.Page||0;if(a&&!x.get()&&P.consecutive(o)){var r=o*C.ELEMENTS_PER_PAGE,s=r+C.ELEMENTS_PER_PAGE,i=void 0,l=void 0,c=k.currentMailbox(),d=(0,p.default)(R,function(e){var a=e.Labels,n=void 0===a?[]:a,o=e.ID;return(0,_.default)(n,{ID:t})&&O.getTime(o,t)});switch(d=O.orderConversation(d,t),c){case"label":i=M.totalConversation(S.label);break;default:i=M.totalConversation(C.MAILBOX_IDENTIFIERS[c])}if(angular.isDefined(i)&&(l=0===i?0:i%C.ELEMENTS_PER_PAGE==0?C.ELEMENTS_PER_PAGE:Math.ceil(i/C.ELEMENTS_PER_PAGE)-1===o?i%C.ELEMENTS_PER_PAGE:C.ELEMENTS_PER_PAGE,M.currentState(i),(d=d.slice(r,s)).length===l))return n.default.resolve(d)}return ge(e)},O.queryMessagesCached=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return O.orderMessage((0,p.default)(N,{ConversationID:e})).map(w)},O.getConversationCached=function(e){return angular.copy((0,_.default)(R,{ID:e}))},O.getMessageCached=function(e){return w((0,_.default)(N,{ID:e}))},O.getConversation=function(e){var t=(0,_.default)(R,{ID:e})||{},a=O.queryMessagesCached(e);return!0===t.loaded&&a.length===t.NumMessages?n.default.resolve(angular.copy(t)):ye(e)},O.getMessage=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=(0,_.default)(N,{ID:e})||{};return new n.default(function(a){t.Body?a(w(t)):a(O.queryMessage(e))})},O.queryMessage=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=T.get(e).then(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,t=(void 0===e?{}:e).Message;return t.loaded=!0,ie([t]),w(t)});return D.track(t),t},O.delete=function(e){return N=N.filter(function(t){return t.ID!==e.ID}),R=R.filter(function(t){return t.ID!==e.ID}),n.default.resolve()},O.createMessage=function(e){return ce(e.Message),n.default.resolve()},O.updateMessage=ce,O.createConversation=function(e){var t=e.Conversation;return t.loaded=!0,pe(t),n.default.resolve()},O.updateDraftConversation=function(e){return pe(e.Conversation),n.default.resolve()},O.updateFlagMessage=function(e,t){var a=(0,_.default)(N,{ID:e.ID});if(!a)return n.default.resolve();var o=(0,b.default)({},a,e.Message);return o.LabelIDs=je(a,e.Message),delete o.LabelIDsRemoved,delete o.LabelIDsAdded,n.default.resolve(ce(o,t))},O.updateFlagConversation=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return((0,_.default)(R,{ID:e.ID})||{}).loaded?(pe(e.Conversation),n.default.resolve()):ye(e.ID).then(function(t){t.LabelIDsAdded=e.Conversation.LabelIDsAdded,t.LabelIDsRemoved=e.Conversation.LabelIDsRemoved,pe(t)})};var Se=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return n.default.all(e.map(function(e){var t=e.event,a=e.type;return O["create"+a](t)}))},Ce=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(function(e){var t=e.event,a=e.type,n=e.isSend,o=e.item;return O["Message"===a?"updateFlagMessage":"update"+o+a](t,n)});return n.default.all(e)};return O.events=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=arguments[2];console.log("[events] from the "+(t?"back":"front")+"-end",e),!t&&function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];(0,l.default)((0,i.default)(function(e){return e.Message}),(0,r.default)(function(e){return angular.copy(e.Message)}),(0,s.default)(function(e){var t=(0,_.default)(N,{ID:e.ID});t&&(e.LabelIDs=je(t,e),he(t,e,"message"))}))(e),(0,l.default)((0,i.default)(function(e){return e.Conversation}),(0,r.default)(function(e){return angular.copy(e.Conversation)}),(0,s.default)(function(e){var t=(0,_.default)(R,{ID:e.ID});t&&(e.Labels=Ae(t,e),he(t,e,"conversation"))}))(e),M.status()}(e);var o=(0,g.default)(e,function(e,n){var o=n.Message||n.Conversation,r=n.Message?"Message":"Conversation";return o&&(n[r].ID=n.ID,t&&n.Action===V&&(n[r].loaded=!1),t&&"Conversation"===r&&n.Action===Y&&(delete n.Conversation.LabelIDsAdded,delete n.Conversation.LabelIDsRemoved),e[r+"IDs"].push(n.ID),n.Action===q&&e.Flow[r].create.push({event:n,type:r}),n.Action===V&&e.Flow[r].update.push({event:n,type:r,isSend:a,item:"Draft"}),n.Action===Y&&e.Flow[r].update.push({event:n,type:r,isSend:a,item:"Flag"})),n.Action===z&&e.Flow.delete.push(n),e},{Flow:{Message:{create:[],update:[]},Conversation:{create:[],update:[]},delete:[]},MessageIDs:[],ConversationIDs:[]}),c=o.Flow,d=o.MessageIDs,u=o.ConversationIDs;return Se(c.Message.create).then(function(){return Ce(c.Message.update)}).then(function(){return Se(c.Conversation.create)}).then(function(){return Ce(c.Conversation.update)}).then(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return n.default.all(e.map(O.delete))}(c.delete)}).then(function(){return O.callRefresh(d,u)})},O.callRefresh=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];oe("refresh"),a.$emit("updatePageName"),a.$emit("refreshConversation",t),a.$emit("message.refresh",e),oe("refresh.time")},O.reset=function(){R.length=0,N.length=0},O.more=function(e,t,a){var o,r=k.getTypeList(),s="conversation"===r?R:N,i=k.currentLocation(),l=s.filter(function(e){var t=e.LabelIDs;return(void 0===t?[]:t).indexOf(i)>-1}),d=O.orderElements(l,r,!0,i);if((0,_.default)(d,{ID:e})){var u=(0,c.default)(d,{ID:e});if("previous"===a&&d[u+1])return n.default.resolve(d[u+1]);if("next"===a&&d[u-1])return n.default.resolve(d[u-1])}return o={Label:i},"next"===a?(o.BeginID=e,o.Begin=t):"previous"===a&&(o.EndID=e,o.End=t),("conversation"===r?ge(o,!0):be(o,!0)).then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(e.length)return e["next"===a?e.length-1:0];throw new Error("No elements found")})},a.$on("logout",function(){O.reset(),M.reset()}),O}S.$inject=["$interval","$q","$rootScope","$state","$stateParams","CONSTANTS","conversationApi","firstLoadState","gettextCatalog","messageModel","messageApi","cacheCounters","networkActivityTracker","tools","labelsModel","cachePages"],t.default=S},"./src/app/conversation/services/cacheCounters.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/babel-runtime/core-js/promise.js")),o=l(a("./node_modules/babel-runtime/core-js/object/keys.js")),r=l(a("./node_modules/lodash/fp/filter.js")),s=l(a("./node_modules/lodash/fp/each.js")),i=l(a("./node_modules/lodash/fp/flow.js"));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t,a,l,c,d,u){var p={},m={},f=c(["app.cacheCounters"]),h=f.dispatcher,v=f.on,g=t.MAILBOX_IDENTIFIERS,b=g.inbox,y=g.allDrafts,_=g.drafts,j=g.allSent,A=g.sent,S=g.trash,C=g.spam,I=g.allmail,x=g.archive,E=g.starred,w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return h["app.cacheCounters"](e,t)},T=function(e){angular.isUndefined(m[e])&&(m[e]={message:{total:0,unread:0},conversation:{total:0,unread:0}})};return v("labelsModel",function(e,t){var a=t.type,n=t.data;"cache.update"===a&&(n.create.forEach(function(e){var t=e.ID;return T(t)}),(0,o.default)(n.remove).forEach(function(e){delete m[e]}))}),p.query=function(){var t=[b,y,_,j,A,S,C,I,x,E].concat(u.ids());return l.all({message:e.count(),conversation:a.count()}).then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=e.message,o=void 0===a?{}:a,l=e.conversation,c=void 0===l?{}:l;return t.forEach(T),(0,i.default)((0,r.default)(function(e){var t=e.LabelID;return m[t]}),(0,s.default)(function(e){var t=e.LabelID,a=e.Total,n=void 0===a?0:a,o=e.Unread,r=void 0===o?0:o;m[t].message.total=n,m[t].message.unread=r}))(o.data.Counts),(0,i.default)((0,r.default)(function(e){var t=e.LabelID;return m[t]}),(0,s.default)(function(e){var t=e.LabelID,a=e.Total,n=void 0===a?0:a,o=e.Unread,r=void 0===o?0:o;m[t].conversation.total=n,m[t].conversation.unread=r}))(c.data.Counts),w("load"),n.default.resolve()},n.default.reject)},p.add=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return T(e)},p.status=function(){return w("update.counters",{counters:m})},p.updateMessage=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1],a=arguments[2];T(e),angular.isDefined(t)&&(m[e].message.total=t),angular.isDefined(a)&&(m[e].message.unread=a)},p.updateConversation=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1],a=arguments[2];T(e),angular.isDefined(t)&&(m[e].conversation.total=t),angular.isDefined(a)&&(m[e].conversation.unread=a)},p.totalMessage=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return m[e]&&m[e].message&&m[e].message.total},p.totalConversation=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return m[e]&&m[e].conversation&&m[e].conversation.total},p.unreadMessage=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return m[e]&&m[e].message&&m[e].message.unread},p.unreadConversation=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return m[e]&&m[e].conversation&&m[e].conversation.unread},p.reset=function(){m={}},p.currentState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;m.CURRENT_STATE_VALUE=e,w("refresh.currentState",{value:e})},p.getCurrentState=function(){return m.CURRENT_STATE_VALUE||0},p.getCounter=function(e){return m[e]},p}c.$inject=["messageApi","CONSTANTS","conversationApi","$q","dispatchers","authentication","labelsModel"],t.default=c},"./src/app/conversation/services/markedScroll.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/defer.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(){var e={};return{follow:function(){e.wrapper&&e.wrapper.offsetHeight||(e.wrapper=document.body.querySelector(".conversation-wrapper")),(0,r.default)(function(){var t=e.wrapper.querySelector(".conversation.marked");t.querySelector(".customCheckbox-input").focus(),e.wrapper.scrollTop=t.offsetTop-e.wrapper.offsetHeight/2})},clear:function(){return e.wrapper=null}}}},"./src/app/conversation/services/messageScroll.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/findIndex.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(){function e(e,t){var a=document.getElementById("conversationHeader"),n=document.getElementById("pm_thread");if(0===e)return $(n).animate({scrollTop:0},200);var o=t||document.getElementById("message"+e),r=document.getElementById("message"+(e-1)),s=a?a.getBoundingClientRect().top+a.offsetHeight:0,i=n?n.scrollTop:0,l=~~n.style.paddingTop.replace("px",""),c=document.getElementsByClassName("summary")[0].getBoundingClientRect().height,d=o?o.getBoundingClientRect().top+i-s-l:0;d-=1===e||r.classList.contains("open")?c/2+10:1.5*c+20,$(n).animate({scrollTop:d},200)}return{to:function(t){e(t.index,t.node)},toID:function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e((0,r.default)(a,{ID:t}))}}}},"./src/app/dashboard/directives/activePlan.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/reduce.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a){var n=e.PLANS.PLAN,o=n.PLUS,s=n.PROFESSIONAL,i=n.VISIONARY,l=(0,r.default)(["free",o,s,i],function(e,t){return e+" "+t+"-active"},"");return{restrict:"A",link:function(e,n){var o=function(){return n.removeClass(l).addClass(a.name()+"-active")},r=t(),s=r.on,i=r.unsubscribe;s("subscription",function(e,t){"update"===t.type&&o()}),o(),e.$on("$destroy",i)}}}s.$inject=["CONSTANTS","dispatchers","subscriptionModel"],t.default=s},"./src/app/dashboard/directives/addVpn.js":function(e,t,a){"use strict";function n(e,t){return{restrict:"E",replace:!0,scope:{},template:'<button class="addVpn-button" type="button">\n <div class="addVpn-button-wrapper">\n <i class="addVpn-button-sign"></i>\n <span class="addVpn-button-txt">'+t.getString("+ Add ProtonVPN",null,"Button")+"</span>\n </div>\n </button>",link:function(t,a,n){var o="free"===n.plan?"vpnbasic":"vpnplus",r=function(){e.$emit("dashboard",{type:"change.addon",data:{addon:"vpn",plan:"free",value:o}}),e.$emit("dashboard",{type:"change.addon",data:{addon:"vpn",plan:"plus",value:o}}),e.$emit("dashboard",{type:"change.addon",data:{addon:"vpn",plan:"professional",value:o}})};a.on("click",r),t.$on("$destroy",function(){return a.off("click",r)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope","gettextCatalog"],t.default=n},"./src/app/dashboard/directives/addonRow.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/reduce.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n,o,s,i,l,c,d,u,p){p.init();var m=n.PLANS.ADDON,f={member:m.MEMBER,address:m.ADDRESS,domain:m.DOMAIN,space:m.SPACE},h=function(t){var a=t.addon,n=t.value;if(!n||"none"===n)return"";var o,r=i.amounts();return"+ "+(o=r[f[a]]*n,e("currency")(o/100/s.cycle(),s.currency()))+"/mo"},v=function(){o.activate({params:{close:function(){o.deactivate()}}})};return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/dashboard/addonRow.tpl.html"),compile:function(e,t){var a=t.addon,n=t.plan,o=c(["dashboard"]),s=o.dispatcher,i=o.on,d=o.unsubscribe,p=u.count(a),m=function(e){return s.dashboard("change.addon",{addon:a,plan:n,value:e})},f=e.find(".addonRow-select"),g=e.find(".addonRow-placeholder"),b=e.find(".addonRow-edit"),y=function(t){if(e.find(".addonRow-select option[value='"+t+"']").length)return e[0].classList.remove("addonRow-limit-reached"),f.val(""+t);e[0].classList.add("addonRow-limit-reached"),g[0].setAttribute("data-value",t),g[0].textContent=l.translate(a,t+1)+" "+h({addon:a,value:t})};function _(){var e=(0,r.default)(l.get(n,a),function(e,t){var n=t.label,o=t.value;return"openModal"===o?e+'<option value="'+o+'">'+n+"</option>":e+'<option value="'+o+'">'+n+" "+h({addon:a,value:o})+"</option>"},"");f.html(e)}return _(),function(t){var o=function(){var e=f.val();if("member"===a&&"professional"===n&&"openModal"===e)return m(99),v();m(+e)};i("dashboard",function(t,o){var r=o.type,s=o.data,i=void 0===s?{}:s;if("addon.updated"===r&&i.addon===a&&i.plan===n&&(_(),y(i.value)),"currency.updated"===r||"cycle.updated"===r){var l=e[0].classList.contains("addonRow-limit-reached")?~~g[0].getAttribute("data-value"):f.val();_(),y(l)}}),f.on("change",o),b.on("click",v),y(p),m(p),t.$on("$destroy",function(){d(),b.off("click",v),f.off("change",o)})}}}}s.$inject=["$filter","$rootScope","CONSTANTS","customProPlanModal","dashboardConfiguration","dashboardModel","dashboardOptions","dispatchers","gettextCatalog","subscriptionModel","customProPlanModel"],t.default=s},"./src/app/dashboard/directives/currencySelector.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/each.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t){var n="active";return{restrict:"E",replace:!0,templateUrl:a("./src/templates/dashboard/currencySelector.tpl.html"),link:function(a,o){var s=e.currency(),i=o.find(".currencySelector-button"),l=t(["dashboard"]),c=l.dispatcher,d=l.on,u=l.unsubscribe;function p(e){var t=e.target.getAttribute("value");c.dashboard("change.currency",{currency:t}),m(t)}function m(e){(0,r.default)(i,function(t){t.value===e?t.classList.add(n):t.classList.remove(n)})}o.on("click",p),d("subscription",function(e,t){var a=t.type,n=t.data;"update"===a&&m(n.subscription.Currency)}),m(s),a.$on("$destroy",function(){u(),o.off("click",p)})}}}s.$inject=["dashboardConfiguration","dispatchers"],t.default=s},"./src/app/dashboard/directives/freeColumn.js":function(e,t,a){"use strict";function n(e,t){return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/dashboard/freeColumn.tpl.html"),link:function(a,n){var o=t(),r=o.on,s=o.unsubscribe,i=function(){var t=e.get().free,a=t.vpnplus||t.vpnbasic?"add":"remove";n[0].classList[a]("freeColumn-show-vpn")};r("dashboard",function(e,t){"vpn.updated"===t.type&&i()}),i(),a.$on("$destroy",s)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dashboardConfiguration","dispatchers"],t.default=n},"./src/app/dashboard/directives/overviewSection.js":function(e,t,a){"use strict";function n(e,t,n,o){return{replace:!0,restrict:"E",scope:{},templateUrl:a("./src/templates/dashboard/overviewSection.tpl.html"),link:function(a,r){var s=t(["progressBar"]),i=s.dispatcher,l=s.on,c=s.unsubscribe,d=r.find(".scroll");function u(){var t=n.get(),a="free"===t.PlanName?e.user:t,o=a.UsedSpace/a.MaxSpace*100;i.progressBar("storageBar",{progress:o})}function p(){a.$applyAsync(function(){a.user=angular.copy(e.user)})}function m(e){a.$applyAsync(function(){a.organization=angular.copy(e)})}function f(e){a.$applyAsync(function(){a.subscription=angular.copy(e)})}function h(){$(".settings").animate({scrollTop:$("#plans").offset().top},1e3)}d.on("click",h);l("updateUser",function(){p(),u()}),l("organizationChange",function(e,t){m(t.data),u()}),l("subscription",function(e,t){var a=t.type,n=t.data;"update"===a&&f((void 0===n?{}:n).subscription)}),l("payments",function(t,n){"topUp.request.success"===n.type&&e.fetchUserInfo().then(function(e){return a.user=e})}),p(),m(n.get()),f(o.get()),u(),a.$on("$destroy",function(){d.off("click",h),c()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["authentication","dispatchers","organizationModel","subscriptionModel"],t.default=n},"./src/app/dashboard/directives/planPrice.js":function(e,t,a){"use strict";function n(e,t,a,n,o){var r=["cycle.updated","currency.updated"],s=o.getString("user",null,"Label"),i=o.getString("month",null,"Delay"),l=function(t,n,o){var r=a.amounts(n),l="/"+i,c="professional"===t?"/"+s:"";return""+e("currency")(r[t]/100/n,o)+l+c};return{restrict:"E",replace:!0,scope:{},template:'<strong class="planPrice"></strong>',link:function(e,a,o){var s=o.plan,i=n(),c=i.on,d=i.unsubscribe;function u(){e.$applyAsync(function(){a.text(l(s,t.cycle(),t.currency()))})}c("dashboard",function(e,t){var a=t.type;r.indexOf(a)>-1&&u()}),u(),e.$on("$destroy",d)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$filter","dashboardConfiguration","dashboardModel","dispatchers","gettextCatalog"],t.default=n},"./src/app/dashboard/directives/plusColumn.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/dashboard/plusColumn.tpl.html")}}},"./src/app/dashboard/directives/professionalColumn.js":function(e,t,a){"use strict";function n(e){return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/dashboard/professionalColumn.tpl.html"),link:function(t,a){var n=a.find(".professionalColumn-customize");function o(){e.activate({params:{close:function(){e.deactivate()}}})}n.on("click",o),t.$on("$destroy",function(){n.off("click",o)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["customProPlanModal"],t.default=n},"./src/app/dashboard/directives/selectPlan.js":function(e,t,a){"use strict";function n(e,t,a){var n="primary",o={downgradeToFree:t.getString("Downgrade to Free",null,"Button to select plan on the dashboard"),downgradeToPlus:t.getString("Downgrade to Plus",null,"Button to select plan on the dashboard"),downgradeToProfessional:t.getString("Switch to Professional",null,"Button to select plan on the dashboard"),updateFree:t.getString("Update Free",null,"Button to select plan on the dashboard"),updatePlus:t.getString("Update Plus",null,"Button to select plan on the dashboard"),updateProfessional:t.getString("Update Professional",null,"Button to select plan on the dashboard"),updateVisionary:t.getString("Update Visionary",null,"Button to select plan on the dashboard"),upgradeToPlus:t.getString("Upgrade to Plus",null,"Button to select plan on the dashboard"),upgradeToProfessional:t.getString("Upgrade to Professional",null,"Button to select plan on the dashboard"),upgradeToVisionary:t.getString("Switch to Visionary",null,"Button to select plan on the dashboard")},r={free:{free:o.updateFree,plus:o.upgradeToPlus,professional:o.upgradeToProfessional,visionary:o.upgradeToVisionary},plus:{free:o.downgradeToFree,plus:o.updatePlus,professional:o.upgradeToProfessional,visionary:o.upgradeToVisionary},professional:{free:o.downgradeToFree,plus:o.downgradeToPlus,professional:o.updateProfessional,visionary:o.upgradeToVisionary},visionary:{free:o.downgradeToFree,plus:o.downgradeToPlus,professional:o.downgradeToProfessional,visionary:o.updateVisionary}};return{restrict:"E",replace:!0,scope:{},template:'<button class="selectPlan-button pm_button large" type="button"></button>',link:function(t,o,s){var i=s.plan,l=e(["dashboard"]),c=l.dispatcher,d=l.on,u=l.unsubscribe,p=function(){return c.dashboard("select.plan",{plan:i})};function m(){var e=a.name();o.text(r[e][i]),o.addClass(n),e===i&&o.removeClass(n)}d("subscription",function(e,t){"update"===t.type&&m()}),o.on("click",p),m(),t.$on("$destroy",function(){o.off("click",p),u()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","gettextCatalog","subscriptionModel"],t.default=n},"./src/app/dashboard/directives/subscriptionSection.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./node_modules/babel-runtime/helpers/defineProperty.js")),o=c(a("./node_modules/lodash/fp/each.js")),r=c(a("./node_modules/lodash/fp/reduce.js")),s=c(a("./node_modules/lodash/fp/filter.js")),i=c(a("./node_modules/lodash/fp/flow.js")),l=c(a("./node_modules/lodash/reduce.js"));function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t,c,d){var u,p=e.CYCLE,m=p.MONTHLY,f=p.YEARLY,h=p.TWO_YEARS,v={vpn:d.getString("VPN connections",null),addresses:d.getString("addresses",null),domain:d.getString("domain",null),domains:d.getString("domains",null),member:d.getString("user",null),members:d.getString("users",null),cycles:(u={},(0,n.default)(u,m,d.getString("Monthly",null)),(0,n.default)(u,f,d.getString("Annually",null)),(0,n.default)(u,h,d.getString("2-years",null)),u),methods:{card:d.getString("Credit card",null),paypal:"Paypal"}},g=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.cycle=v.cycles[t.Cycle],t.plans=(0,l.default)(t.Plans,function(a,n){return n.Type===e.PLANS_TYPE.PLAN&&(n.addons=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(0,i.default)((0,s.default)({Type:0}),(0,r.default)(function(e,a){return t===a.Name.indexOf("vpn")>-1&&(e[a.Name]?e[a.Name].Amount+=a.Amount:e[a.Name]=a),e},{}),(0,o.default)(function(e){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};switch(e.Name){case"1vpn":e.Title="+ "+e.Quantity*e.MaxVPN+" "+v.vpn;break;case"1gb":e.Title="+ "+e.Quantity*b(e.MaxSpace)+" GB";break;case"5address":e.Title="+ "+e.Quantity*e.MaxAddresses+" "+v.addresses;break;case"1domain":e.Title="+ "+e.Quantity*e.MaxDomains+" "+(e.Quantity>1?v.domains:v.domain);break;case"1member":e.Title="+ "+e.Quantity*e.MaxMembers+" "+(e.Quantity>1?v.members:v.member)}}(e)}))(e)}(t.Plans,n.Name.indexOf("vpn")>-1),a.push(n)),a},[]),t},b=function(t){return t/Math.pow(e.BASE_SIZE,3)};return{scope:{methods:"="},restrict:"E",replace:!0,templateUrl:a("./src/templates/dashboard/subscriptionSection.tpl.html"),link:function(e){var a=t(),n=a.on,o=a.unsubscribe,r=c.get();n("subscription",function(t,a){var n=a.type,o=a.data,r=void 0===o?{}:o;"update"===n&&e.$applyAsync(function(){e.subscription=g(r.subscription)})}),e.subscription=g(r),e.method=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.length?v.methods[e[0].Type]:"None"}(e.methods),e.$on("$destroy",o)}}}d.$inject=["CONSTANTS","dispatchers","subscriptionModel","gettextCatalog"],t.default=d},"./src/app/dashboard/directives/totalPlan.js":function(e,t,a){"use strict";function n(e,t,a,n,o){var r=function(t,n,o){return e("currency")(a.total(t,n)/100/n,o)},s=["addon.updated","cycle.updated","currency.updated","vpn.updated"],i=o.getString("month",null);return{restrict:"E",replace:!0,scope:{},template:'<strong class="totalPlan"></strong>',link:function(e,a,o){var l=o.plan,c=n(),d=c.on,u=c.unsubscribe;function p(){e.$applyAsync(function(){a.text(r(l,t.cycle(),t.currency())+"/"+i)})}d("dashboard",function(e,t){var a=t.type;s.indexOf(a)>-1&&p()}),p(),e.$on("$destroy",u)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$filter","dashboardConfiguration","dashboardModel","dispatchers","gettextCatalog"],t.default=n},"./src/app/dashboard/directives/totalRows.js":function(e,t,a){"use strict";function n(e,t,n,o,r,s,i,l){var c=n.CYCLE,d=c.MONTHLY,u=c.YEARLY,p=c.TWO_YEARS,m={billedAs:function(e,t){return t===u?i.getString("Billed as {{amount}} /yr",{amount:e},"Info"):t===p?i.getString("Billed as {{amount}} /2-yr",{amount:e},"Info"):""}},f=["addon.updated","cycle.updated","currency.updated","vpn.updated"],h=function(t,a,n,o){return e("currency")(r.total(t,a)/100/o,n)},v="totalRows-has-2-years";return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/dashboard/totalRows.tpl.html"),link:function(e,a,n){var r=n.plan,i=s(["dashboard"]),c=i.dispatcher,g=i.on,b=i.unsubscribe,y=a.find(".totalRows-monthly-price"),_=a.find(".totalRows-yearly-price"),j=a.find(".totalRows-yearly-billed-price"),A=a.find(".totalRows-2-years-price"),S=a.find(".totalRows-2-years-billed-price");function C(){var e=l.cycle()===p||t.isBlackFridayPeriod(!0)?"add":"remove";a[0].classList[e](v)}function I(){e.$applyAsync(function(){y.text(h(r,d,o.currency(),d)),_.text(h(r,u,o.currency(),u)),A.text(h(r,p,o.currency(),p)),j.text(m.billedAs(h(r,u,o.currency(),d),u)),S.text(m.billedAs(h(r,p,o.currency(),d),p)),e.cycle=o.cycle()})}e.onChange=function(){return c.dashboard("change.cycle",{cycle:e.cycle})},g("dashboard",function(e,t){var a=t.type,n=void 0===a?"":a;f.indexOf(n)>-1&&I()}),g("blackFriday",function(e,t){var a=t.type;"tictac"===(void 0===a?"":a)&&C()}),I(),C(),e.$on("$destroy",b)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$filter","blackFridayModel","CONSTANTS","dashboardConfiguration","dashboardModel","dispatchers","gettextCatalog","subscriptionModel"],t.default=n},"./src/app/dashboard/directives/visionaryColumn.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/dashboard/visionaryColumn.tpl.html")}}},"./src/app/dashboard/directives/vpnColumns.js":function(e,t,a){"use strict";function n(e,t,n,o,r){var s=e.PLANS.PLAN,i=s.VPN_BASIC,l=s.VPN_PLUS;function c(e){switch(e.target.getAttribute("data-action")){case"vpnbasic":r.set("vpnbasic",1),r.set("vpnplus",0),r.set("vpn",0);break;case"vpnplus":r.set("vpnbasic",0),r.set("vpnplus",1)}}return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/dashboard/vpnColumns.tpl.html"),link:function(e,t){var a=n.amounts(),s=o(),d=s.on,u=s.unsubscribe;d("dashboard",function(e,a){"vpn.modal.updated"===a.type&&(t.removeClass("vpnColumns-vpnbasic-selected vpnColumns-vpnplus-selected"),r.get("vpnbasic")&&t.addClass("vpnColumns-vpnbasic-selected"),r.get("vpnplus")&&t.addClass("vpnColumns-vpnplus-selected"))}),e.vpnbasicAmount=n.filter(a[i])+"/mo",e.vpnplusAmount=n.filter(a[l])+"/mo",t.on("click",c),e.$on("$destroy",function(){t.off("click",c),u()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["CONSTANTS","dashboardConfiguration","dashboardModel","dispatchers","customVpnModel"],t.default=n},"./src/app/dashboard/directives/vpnDiscountPanel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/dashboard/vpnDiscountPanel.tpl.html")}}},"./src/app/dashboard/directives/vpnRow.js":function(e,t,a){"use strict";function n(e,t,n,o,r,s,i){var l=e.PLANS.PLAN,c=l.VPN_BASIC,d=l.VPN_PLUS,u=e.PLANS.ADDON.VPN,p=r.getString("with",null,"ProtonVPN with X connections"),m=r.getString("connections",null,"ProtonVPN with X connections");return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/dashboard/vpnRow.tpl.html"),link:function(e,a,r){var s=r.plan,l=o(["dashboard"]),f=l.dispatcher,h=l.on,v=l.unsubscribe,g=a.find(".vpnRow-info"),b=function(e){return g.html('\n <div class="vpnRow-left">\n <b class="'+function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).vpnplus?"vpnRow-vpnplus":"vpnRow-vpnbasic"}(e)+'">'+function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).vpnplus?"ProtonVPN Plus":"ProtonVPN Basic"}(e)+"</b> "+p+' <button type="button" class="vpnRow-edit" data-action="open-vpn-modal">'+function(e){var a=n.get(t.cycle()).addons,o=function(e){return a[e].MaxVPN},r=e.vpnbasic*o(c),i=e.vpnplus*o(d),l=e.vpn*o(u);return r+i+("professional"===s?l:0)+" "+m}(e)+'</button>\n </div>\n <div class="vpnRow-right">\n <strong>'+(a=n.amount({plan:s,addon:"vpnbasic"}),o=n.amount({plan:s,addon:"vpnplus"}),r=n.amount({plan:s,addon:"vpn"}),i=a+o+("professional"===s?r:0),"+ "+n.filter(i)+"/mo")+"</strong>\n </div>\n ");var a,o,r,i},y=function(){var e=t.get()[s];e.vpnplus||e.vpnbasic?(a.addClass("vpnRow-has-vpn"),b(e)):a.removeClass("vpnRow-has-vpn")},_=function(e){"open-vpn-modal"===e.target.getAttribute("data-action")&&function(e){i.activate({params:{plan:e,close:function(){i.deactivate()}}})}(s)};h("dashboard",function(e,t){var a=t.type;"currency.updated"!==a&&"cycle.updated"!==a||y(),"vpn.updated"===a&&y()}),a.on("click",_),function(e){f.dashboard("init.vpn",{plan:e})}(s),e.$on("$destroy",function(){v(),a.off("click",_)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["CONSTANTS","dashboardConfiguration","dashboardModel","dispatchers","gettextCatalog","subscriptionModel","customVpnModal"],t.default=n},"./src/app/dashboard/directives/vpnSlider.js":function(e,t,a){"use strict";function n(e,t,n,o,r){var s=e.PLANS.PLAN,i=s.VPN_PLUS,l=s.VPN_BASIC,c=function(e){switch(e.target.getAttribute("data-action")){case"vpnplus":t.set("vpnbasic",0),t.set("vpnplus",1)}};return{replace:!0,restrict:"E",scope:{},templateUrl:a("./src/templates/dashboard/vpnSlider.tpl.html"),link:function(e,a){var s=r(),d=s.on,u=s.unsubscribe,p=a.find(".vpnSlider-count"),m=o.get(n.cycle()).addons,f=m[l],h=m[i],v=t.parameters(),g=v.value,b=v.options;d("dashboard",function(n,o){var r=o.type;"vpn.modal.updated"===(void 0===r?"":r)&&(t.get("vpnbasic")&&p.text(""+f.MaxVPN),t.get("vpnplus")&&p.text(""+(h.MaxVPN+t.get("vpn"))),t.get("vpnplus")&&e.$applyAsync(function(){return e.value=t.get("vpnplus")*h.MaxVPN+t.get("vpn")}),a[0].classList.toggle("vpnSlider-vpnplus-selected",t.get("vpnplus")),a[0].classList.toggle("vpnSlider-vpnbasic-selected",t.get("vpnbasic")))}),e.value=g,e.options=b,a.on("click",c),e.$on("$destroy",function(){a.off("click",c),u()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["CONSTANTS","customVpnModel","dashboardConfiguration","dashboardModel","dispatchers"],t.default=n},"./src/app/dashboard/directives/vpnTotal.js":function(e,t,a){"use strict";function n(e,t,n,o,r){return{replace:!0,restrict:"E",scope:{},templateUrl:a("./src/templates/dashboard/vpnTotal.tpl.html"),link:function(e,a){var n=r(),s=n.on,i=n.unsubscribe,l=a.find(".vpnTotal-amount");s("dashboard",function(e,a){var n,r=a.type;"vpn.modal.updated"===(void 0===r?"":r)&&(n=t.amount(),l.text(o.filter(n)+"/mo"))}),e.$on("$destroy",i)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["CONSTANTS","customVpnModel","dashboardConfiguration","dashboardModel","dispatchers"],t.default=n},"./src/app/dashboard/factories/customProPlanModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./node_modules/babel-runtime/helpers/defineProperty.js")),o=d(a("./node_modules/lodash/includes.js")),r=d(a("./node_modules/lodash/last.js")),s=d(a("./node_modules/lodash/head.js")),i=d(a("./node_modules/lodash/find.js")),l=d(a("./node_modules/lodash/range.js")),c=d(a("./node_modules/lodash/reduce.js"));function d(e){return e&&e.__esModule?e:{default:e}}function u(e,t,a,d){var u=d(["refresh.slider","dashboard","update.slider.options"]),p=u.dispatcher,m=u.on,f=e.PLANS,h=e.BASE_SIZE,v=e.MAX_MEMBER,g=e.HUGE_MEMBER,b=f.PLAN,y=f.ADDON.MEMBER,_=b.PROFESSIONAL,j=["members","storage","addresses"],A=function(e){return e/Math.pow(h,3)},S={},C=function(e){return p["refresh.slider"](e,{value:S[e]})};function I(){var e=a.get(t.cycle()).plan[_],n=t.get().professional;return Number(n.member)+e.MaxMembers>=v}function x(){var e=a.get(t.cycle()),n=e.plan,o=e.addons,r=n[_],s=o[y];return(0,l.default)(0,S.maxMembers).map(function(e){return{members:e*s.MaxMembers+r.MaxMembers,storage:e*A(s.MaxSpace)+A(r.MaxSpace),addresses:e*s.MaxAddresses+r.MaxAddresses}})}return m("slider.updated",function(e,t){var a=t.type,r=t.data,s=void 0===r?{}:r;(0,o.default)(["members","storage","addresses"],a)&&function(e,t){var a=x(),o=(0,i.default)(a,(0,n.default)({},e,t)),r=o.members,s=o.storage,l=o.addresses;S.members=r,S.storage=s,S.addresses=l,C("members"),C("storage"),C("addresses")}(a,s.value)}),{init:angular.noop,getSliders:function(){return S.maxMembers=I()?g:v,(0,c.default)(["members","storage","addresses"],function(e,n){return e[n]=function(e){var n=a.get(t.cycle()),o=n.addons,l=n.plan,c=o[y],d=l[_],u=t.get().professional,p=x(),m=(0,i.default)(p,{members:Number(u.member)+d.MaxMembers}),f=void 0,h=void 0,v=void 0,g=void 0;switch(e){case"members":f=c.MaxMembers,h=m.members,v=(0,s.default)(p).members,g=(0,r.default)(p).members;break;case"storage":f=A(c.MaxSpace),h=m.storage,v=(0,s.default)(p).storage,g=(0,r.default)(p).storage;break;case"addresses":f=c.MaxAddresses,h=m.addresses,v=(0,s.default)(p).addresses,g=(0,r.default)(p).addresses}return{value:h,options:{type:e,animate:!1,tooltips:!0,connect:[!0,!1],start:h,step:f,range:{min:v,max:g},pips:{mode:"positions",values:[0,100],density:4,stepped:!0},format:{to:function(e){return""+Number(e).toFixed()},from:function(e){return e}}}}}(n),e},{})},send:function(){var e=a.get(t.cycle()).plan[_];p.dashboard("change.addon",{plan:"professional",addon:"member",value:S.members-e.MaxMembers})},increaseRanges:function(){S.maxMembers=g;var e=x(),t=(0,s.default)(e),a=(0,r.default)(e);j.forEach(function(e){p["update.slider.options"](e,{options:{range:{min:t[e],max:a[e]}}})})},needMoreMember:I}}u.$inject=["CONSTANTS","dashboardConfiguration","dashboardModel","dispatchers"],t.default=u},"./src/app/dashboard/factories/customVpnModel.js":function(e,t,a){"use strict";function n(e,t,a,n){var o=e.MAX_VPN,r=e.PLANS,s=r.PLAN,i=r.ADDON.VPN,l=s.VPN_BASIC,c=s.VPN_PLUS,d={},u=n(["dashboard"]),p=u.dispatcher,m=function(){return p.dashboard("vpn.modal.updated")};return(0,u.on)("slider.updated",function(e,n){var o=n.type,r=void 0===o?"":o,s=n.data,i=void 0===s?{}:s;if("vpn"===r){var l=a.get(t.cycle()).addons[c];d.vpn=i.value-l.MaxVPN,m()}}),{init:function(e){var a=t.get()[e],n=a.vpnbasic,o=void 0===n?0:n,r=a.vpnplus,s=void 0===r?0:r,i=a.vpn,l=void 0===i?0:i;d.vpnbasic=o,d.vpnplus=o||s?s:1,d.vpn=l,m()},set:function(e,t){d[e]=t,m()},get:function(e){return e?d[e]:angular.copy(d)},parameters:function(){var e=a.get(t.cycle()).addons,n=e[i],r=e[c],s=n.MaxVPN,l=r.MaxVPN,u=d.vpn+r.MaxVPN;return{value:u,options:{type:"vpn",animate:!1,tooltips:!0,connect:[!0,!1],start:u,step:s,range:{min:l,max:o},pips:{mode:"positions",values:[0,100],density:4,stepped:!0},format:{to:function(e){return""+Number(e).toFixed()},from:function(e){return e}}}}},amount:function(){var e=a.amounts(),t=0;return d.vpnbasic&&(t+=e[l]),d.vpnplus&&(t+=e[c]),d.vpn&&(t+=d.vpn*e[i]),t}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["CONSTANTS","dashboardConfiguration","dashboardModel","dispatchers"],t.default=n},"./src/app/dashboard/factories/dashboardConfiguration.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e={free:{},plus:{},professional:{}};return{cycle:function(){return e.cycle},currency:function(){return e.currency},get:function(){return angular.copy(e)},set:function(t,a){return e[t]=a},addon:function(t,a,n){return e[t][a]=n}}}},"./src/app/dashboard/factories/dashboardModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),o=l(a("./node_modules/babel-runtime/core-js/promise.js")),r=l(a("./node_modules/lodash/extend.js")),s=l(a("./node_modules/lodash/includes.js")),i=l(a("./node_modules/lodash/map.js"));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t,a,l,c,d,u,p,m,f,h,v,g){var b=c(["dashboard"]),y=b.dispatcher,_=b.on,j=a.PLANS.PLAN,A=j.PLUS,S=j.PROFESSIONAL,C=j.VISIONARY,I=j.VPN_BASIC,x=j.VPN_PLUS,E=["free",A,S,C],w=a.PLANS.ADDON,T=w.ADDRESS,M=w.MEMBER,D=w.DOMAIN,k=w.SPACE,L=w.VPN,P=a.CYCLE,O=P.MONTHLY,N=P.YEARLY,R=P.TWO_YEARS,$={},F={},B=function(e,t){var a=function(e){var t=$[l.cycle()];return g[e](t)}(e);if("free"===e&&!a.length)return d();var n=(0,i.default)(a,"ID"),o=p.valid({Cycle:l.cycle(),Currency:l.currency(),PlanIDs:n,CouponCode:f.coupon()}).then(function(){var a=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,o=void 0===a?{}:a;m.activate({params:{planIDs:n,valid:o,choice:t,plan:e,cancel:function(){m.deactivate()}}})});h.track(o)},U=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"USD",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N,a="plans-"+e+"-"+t;return F[a]?o.default.resolve(F[a]):p.plans(e,t).then(function(e){var t=e.data,n=void 0===t?{}:t;return F[a]=n,n})},z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N;return U(e,t).then(function(){var e=((arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Plans||[]).reduce(function(e,t){return e.amounts[t.Name]=t.Amount,(0,s.default)(E,t.Name)?(e.plan[t.Name]=t,e.list.push(t),e):(e.addons[t.Name]=t,e)},{addons:{},plan:{},list:[],amounts:{}});return{list:e.list,addons:e.addons,plan:e.plan,amounts:e.amounts}})},q=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l.currency(),t=o.default.all([z(e),z(e,O),z(e,R)]).then(function(e){var t=(0,n.default)(e,3),a=t[0],o=t[1],r=t[2];return $[N]=angular.copy(a),$[O]=angular.copy(o),$[R]=angular.copy(r),angular.copy($)});return h.track(t),t},V=function(e){q(e).then(function(t){l.set("currency",e),y.dashboard("currency.updated",(0,r.default)(t,{currency:e}))})},Y=function(e){var t=e.config,a=void 0===t?l.get():t,n=e.plan,o=e.addon,r=e.cycle,s=void 0===r?l.cycle():r;switch(o){case"vpn":return $[s].amounts[L]*a[n].vpn;case"address":return $[s].amounts[T]*a[n].address;case"space":return $[s].amounts[k]*a[n].space;case"domain":return $[s].amounts[D]*a[n].domain;case"member":return $[s].amounts[M]*a[n].member;case"vpnbasic":return $[s].amounts[I]*a[n].vpnbasic;case"vpnplus":return $[s].amounts[x]*a[n].vpnplus}switch(n){case"plus":case"professional":case"visionary":return $[s].amounts[n];default:return 0}},H=function(e){l.set("cycle",e),y.dashboard("cycle.updated",{cycle:e})};return _("subscription",function(e,t){var a,n,o,r=t.type;"update"===(void 0===r?"":r)&&(a=+f.hasPaid("vpnbasic"),n=+f.hasPaid("vpnplus"),o=f.count("vpn"),l.addon("free","vpnbasic",a),l.addon("free","vpnplus",n),l.addon("plus","vpnbasic",a),l.addon("plus","vpnplus",n),l.addon("professional","vpnbasic",a),l.addon("professional","vpnplus",n),l.addon("professional","vpn",o),y.dashboard("vpn.updated"),H(f.cycle()),V(f.currency()))}),_("dashboard",function(e,t){var a,n,o,r=t.type,s=t.data,i=void 0===s?{}:s;"change.cycle"===r&&H(i.cycle),"change.currency"===r&&V(i.currency),"change.addon"===r&&(a=i.plan,n=i.addon,o=i.value,l.addon(a,n,o),y.dashboard("addon.updated",{plan:a,addon:n,value:o})),"select.plan"===r&&B(i.plan),"select.vpn"===r&&function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;l.addon("free","vpnbasic",+("vpnbasic"===e)),l.addon("free","vpnplus",+("vpnplus"===e)),l.addon("plus","vpnbasic",+("vpnbasic"===e)),l.addon("plus","vpnplus",+("vpnplus"===e)),l.addon("professional","vpnbasic",+("vpnbasic"===e)),l.addon("professional","vpnplus",+("vpnplus"===e)),l.addon("professional","vpn",t),y.dashboard("vpn.updated")}(i.plan,i.vpn),"remove.vpn"===r&&(l.addon("free","vpnbasic",0),l.addon("free","vpnplus",0),l.addon("plus","vpnbasic",0),l.addon("plus","vpnplus",0),l.addon("professional","vpnbasic",0),l.addon("professional","vpnplus",0),l.addon("professional","vpn",0),y.dashboard("vpn.updated")),"init.vpn"===r&&function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";l.addon(e,"vpnbasic",+f.hasPaid("vpnbasic")),l.addon(e,"vpnplus",+f.hasPaid("vpnplus")),"professional"===e&&l.addon(e,"vpn",f.count("vpn")),y.dashboard("vpn.updated",{plan:e})}(i.plan)}),_("modal.payment",function(e,t){var a=t.type,n=t.data;if("process.success"===a){var r=o.default.all([f.fetch(),v.getMethods(!0)]);h.track(r)}if("switch"===a){var s=n.Cycle,i=n.Currency,c=n.plan;m.deactivate(),l.set("currency",i),l.set("cycle",s),z(i,s).then(function(){B(c,"paypal")})}}),{init:angular.noop,loadPlans:q,fetchPlans:U,get:function(e){var t=angular.copy($);return e?t[e]:t},query:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"USD",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N,a=(F["plans-"+e+"-"+t]||{}).Plans;return void 0===a?[]:a},amount:Y,amounts:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l.cycle();return angular.copy($[e].amounts)},total:function(e,t){var a=l.get(),n=0;switch(e){case"free":n+=Y({config:a,plan:e,cycle:t,addon:I}),n+=Y({config:a,plan:e,cycle:t,addon:x});break;case"plus":n+=Y({config:a,plan:e,cycle:t}),n+=Y({config:a,plan:e,cycle:t,addon:"address"}),n+=Y({config:a,plan:e,cycle:t,addon:"space"}),n+=Y({config:a,plan:e,cycle:t,addon:"domain"}),n+=Y({config:a,plan:e,cycle:t,addon:I}),n+=Y({config:a,plan:e,cycle:t,addon:x}),n*=a[e].vpnbasic||a[e].vpnplus?.8:1;break;case"professional":n+=Y({config:a,plan:e,cycle:t}),n+=Y({config:a,plan:e,cycle:t,addon:"member"}),n+=Y({config:a,plan:e,cycle:t,addon:"domain"}),n+=Y({config:a,plan:e,cycle:t,addon:I}),n+=Y({config:a,plan:e,cycle:t,addon:x}),n+=Y({config:a,plan:e,cycle:t,addon:"vpn"}),n*=a[e].vpnbasic||a[e].vpnplus?.8:1;break;case"visionary":n+=Y({config:a,plan:e,cycle:t})}return n},filter:function(t){return e("currency")(t/100/l.cycle(),l.currency())}}}c.$inject=["$filter","confirmModal","CONSTANTS","dashboardConfiguration","dispatchers","downgrade","gettextCatalog","Payment","paymentModal","subscriptionModel","networkActivityTracker","paymentModel","planListGenerator"],t.default=c},"./src/app/dashboard/factories/dashboardOptions.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/range.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t){var a=t.MAX_MEMBER,n={address:function(t){return e.getString("{{value}} Addresses",{value:t},"dashboard options select")},space:function(t){return e.getPlural(t,"1 GB Storage","{{$count}} GB Storage",{},"dashboard options select")},member:function(t){return e.getPlural(t,"1 User","{{$count}} Users",{},"dashboard options select")},domain:function(t){return e.getPlural(t,"1 Custom Domain","{{$count}} Custom Domains",{},"dashboard options select")}},o=(0,r.default)(5,51,5).map(function(e,t){return{label:n.address(e),value:t}}),s=(0,r.default)(5,21).map(function(e,t){return{label:n.space(e),value:t}}),i=(0,r.default)(1,a+1).map(function(e,t){return{label:n.member(e),value:t}});i.push({label:"> 100",value:"openModal"});var l=function(e,t){return(0,r.default)(e,t).map(function(e,t){return{label:n.domain(e),value:t}})},c={plus:{address:o,space:s,domain:l(1,11)},professional:{member:i,domain:l(2,51)}};return{get:function(e,t){return angular.copy(c[e][t])},translate:function(e,t){return n[e](t)}}}s.$inject=["gettextCatalog","CONSTANTS"],t.default=s},"./src/app/dashboard/factories/downgrade.js":function(e,t,a){"use strict";function n(e,t,a,n,o,r,s,i){var l={Type:1,Name:"free"},c={downgradeTitle:n.getString("Confirm downgrade",null,"Title"),downgradeMessage:n.getString("This will downgrade your account to a free account. ProtonMail is free software that is supported by donations and paid accounts. Please consider making a donation so we can continue to offer the service for free.<br /><br />Note: Additional addresses, custom domains, and users must be removed/disabled before performing this action.",null,"Info"),successMessage:n.getString("You have successfully unsubscribed",null,"Downgrade account")};return function(){t.activate({params:{title:c.downgradeTitle,message:c.downgradeMessage,confirm:function(){var e=s.delete().then(function(){return a.call()}).then(function(){return i.set(l)}).then(function(){t.deactivate(),r.success(c.successMessage)});o.track(e)},cancel:function(){t.deactivate()}}})}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope","confirmModal","eventManager","gettextCatalog","networkActivityTracker","notification","Payment","subscriptionModel"],t.default=n},"./src/app/dashboard/factories/planListGenerator.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/helpers/toConsumableArray.js")),o=r(a("./node_modules/lodash/times.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var a=e.PLANS,r=a.PLAN,s=a.ADDON,i=function(e,t){return function(a){var n=s[a.toUpperCase()];return(0,o.default)(e[a],function(){return t[n]})}};return{free:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).addons,a=void 0===e?{}:e,n=[],o=t.get().free,s=void 0===o?{}:o;return s.vpnbasic&&n.push(a[r.VPN_BASIC]),s.vpnplus&&n.push(a[r.VPN_PLUS]),n},plus:function(e){var a=e.addons,o=void 0===a?{}:a,s=e.plan,l=[(void 0===s?{}:s)[r.PLUS]],c=t.get().plus,d=void 0===c?{}:c,u=i(d,o);d.vpnbasic&&l.push(o[r.VPN_BASIC]),d.vpnplus&&l.push(o[r.VPN_PLUS]);var p=u("space").concat(u("address"),u("domain"));return l.push.apply(l,(0,n.default)(p)),l},professional:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=e.addons,o=void 0===a?{}:a,s=e.plan,l=[(void 0===s?{}:s)[r.PROFESSIONAL]],c=t.get().professional,d=void 0===c?{}:c,u=i(d,o);d.vpnbasic&&l.push(o[r.VPN_BASIC]),d.vpnplus&&l.push(o[r.VPN_PLUS]);var p=u("member").concat(u("domain"),u("vpn"));return l.push.apply(l,(0,n.default)(p)),l},visionary:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).plan;return[(void 0===e?{}:e)[r.VISIONARY]]}}}s.$inject=["CONSTANTS","dashboardConfiguration"],t.default=s},"./src/app/dashboard/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=D(a("./src/app/dashboard/directives/activePlan.js")),o=D(a("./src/app/dashboard/directives/addVpn.js")),r=D(a("./src/app/dashboard/directives/addonRow.js")),s=D(a("./src/app/dashboard/directives/currencySelector.js")),i=D(a("./src/app/dashboard/directives/freeColumn.js")),l=D(a("./src/app/dashboard/directives/overviewSection.js")),c=D(a("./src/app/dashboard/directives/planPrice.js")),d=D(a("./src/app/dashboard/directives/plusColumn.js")),u=D(a("./src/app/dashboard/directives/professionalColumn.js")),p=D(a("./src/app/dashboard/directives/selectPlan.js")),m=D(a("./src/app/dashboard/directives/subscriptionSection.js")),f=D(a("./src/app/dashboard/directives/totalPlan.js")),h=D(a("./src/app/dashboard/directives/totalRows.js")),v=D(a("./src/app/dashboard/directives/visionaryColumn.js")),g=D(a("./src/app/dashboard/directives/vpnColumns.js")),b=D(a("./src/app/dashboard/directives/vpnDiscountPanel.js")),y=D(a("./src/app/dashboard/directives/vpnRow.js")),_=D(a("./src/app/dashboard/directives/vpnSlider.js")),j=D(a("./src/app/dashboard/directives/vpnTotal.js")),A=D(a("./src/app/dashboard/factories/customProPlanModel.js")),S=D(a("./src/app/dashboard/factories/customVpnModel.js")),C=D(a("./src/app/dashboard/factories/dashboardConfiguration.js")),I=D(a("./src/app/dashboard/factories/dashboardModel.js")),x=D(a("./src/app/dashboard/factories/dashboardOptions.js")),E=D(a("./src/app/dashboard/factories/downgrade.js")),w=D(a("./src/app/dashboard/modals/customProPlanModal.js")),T=D(a("./src/app/dashboard/modals/customVpnModal.js")),M=D(a("./src/app/dashboard/factories/planListGenerator.js"));function D(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.dashboard",[]).factory("planListGenerator",M.default).directive("activePlan",n.default).directive("addVpn",o.default).directive("addonRow",r.default).directive("currencySelector",s.default).directive("freeColumn",i.default).directive("overviewSection",l.default).directive("planPrice",c.default).directive("plusColumn",d.default).directive("professionalColumn",u.default).directive("selectPlan",p.default).directive("subscriptionSection",m.default).directive("totalPlan",f.default).directive("totalRows",h.default).directive("visionaryColumn",v.default).directive("vpnColumns",g.default).directive("vpnDiscountPanel",b.default).directive("vpnRow",y.default).directive("vpnSlider",_.default).directive("vpnTotal",j.default).factory("customProPlanModel",A.default).factory("customVpnModel",S.default).factory("dashboardConfiguration",C.default).factory("dashboardModel",I.default).factory("dashboardOptions",x.default).factory("downgrade",E.default).factory("customProPlanModal",w.default).factory("customVpnModal",T.default).name},"./src/app/dashboard/modals/customProPlanModal.js":function(e,t,a){"use strict";function n(e,t,n){var o={members:function(e){return t.getPlural(e,"1 user","{{$count}} users",{},"Custom pro plan dashboard")},storage:function(e){return t.getString("{{value}} GB storage",{value:e},"Custom pro plan dashboard")},addresses:function(e){return t.getString("{{value}} addresses",{value:e},"Custom pro plan dashboard")}};return n({controllerAs:"ctrl",templateUrl:a("./src/templates/dashboard/customProPlanModal.tpl.html"),controller:["params",function(t){var a=this;e.init(),this.sliders=e.getSliders(),this.format=function(e){return o[e](a.sliders[e].value)},this.close=function(){return t.close()},this.needMore=function(){e.increaseRanges(),a.needMoreMember=!0},this.submit=function(){e.send(),t.close()},e.needMoreMember()&&this.needMore()}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["customProPlanModel","gettextCatalog","pmModal"],t.default=n},"./src/app/dashboard/modals/customVpnModal.js":function(e,t,a){"use strict";function n(e,t,n,o){return n({controllerAs:"ctrl",templateUrl:a("./src/templates/dashboard/customVpnModal.tpl.html"),controller:["params",function(a){var n=t.get(),r=a.plan;o.init(r),this.fromPlan="customVpnModal-from-"+r,this.hasVpn=n[r].vpnbasic||n[r].vpnplus,this.close=function(){return a.close()},this.remove=function(){return e.$emit("dashboard",{type:"remove.vpn"}),a.close()},this.submit=function(){var t=o.get("vpnplus"),n=o.get("vpn");e.$emit("dashboard",{type:"select.vpn",data:{plan:t?"vpnplus":"vpnbasic",vpn:n}}),a.close()}}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope","dashboardConfiguration","pmModal","customVpnModel"],t.default=n},"./src/app/dnd/constants/ptdndconstants.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={CLASSNAME:{BODY:"ptdnd-dragstart",DRAG_START:"ptdnd-drag-start",DRAG_HOVER:"ptdnd-drag-hover",DROPZONE:"ptDnd-dropzone-container",DROPZONE_HOVER:"ptdnd-dropzone-hover",NOTIF:"ptdnd-notification",NOTIF_ACTIVE:"ptdnd-notification-active",NOTIF_FIREFOX:"ptdnd-notification-firefox",DRAG_IMAGE:"ptdnd-dragimage"},DROPZONE_ATTR_ID:"data-pt-drop-id"}},"./src/app/dnd/directives/ptDraggable.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/core-js/json/stringify.js")),o=r(a("./node_modules/lodash/map.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,a,r,s){var i=r.CLASSNAME,l=r.DROPZONE_ATTR_ID,c=angular.noop;return document.addEventListener("dragstart",function(e){var o=a.getDragInitiatorNode(e.target);if(!o)return t.draggable.set("currentId",null);var r=e.dataTransfer||e.originalEvent.dataTransfer;if(o.classList.add(i.DRAG_START),document.body.classList.add(i.BODY),r.effectAllowed="move",r.setData("Text",(0,n.default)({id:o.dataset.ptId})),t.draggable.set("currentId",o.dataset.ptId),t.draggable.has(o.dataset.ptId)){var l=t.draggable.get(o.dataset.ptId);l.hookDragStart(o,e),s.onDragStart(e,r,l.type)}return!1}),document.addEventListener("dragenter",function(e){var t=e.target;1===t.nodeType&&!t.classList.contains(i.DRAG_HOVER)&&t.hasAttribute(l)&&(angular.element(document.querySelectorAll("."+i.DRAG_HOVER)).removeClass(i.DRAG_HOVER),t.classList.add(i.DRAG_HOVER))}),document.addEventListener("dragleave",function(e){var t=e.target;1===t.nodeType&&t.classList.contains(i.DRAG_HOVER)&&t.classList.remove(i.DRAG_HOVER)}),document.addEventListener("dragend",function(e){e.target.classList.remove(i.DRAG_START),document.body.classList.remove(i.BODY),angular.element(document.querySelectorAll("."+i.DROPZONE_HOVER)).removeClass(i.DROPZONE_HOVER),angular.element(document.querySelectorAll("."+i.DRAG_HOVER)).removeClass(i.DRAG_HOVER),t.draggable.set("currentId",null)}),{link:function(n,r){c=n.getElements;var s=a.generateUniqId();r[0].setAttribute("draggable",!0),r[0].setAttribute("data-pt-id",s),t.draggable.set(s,{model:n.conversation,type:n.conversation.ConversationID?"message":"conversation",hookDragStart:function(t,a){var r=this,s=e.numberElementChecked;if(n.conversation.Selected)return n.$applyAsync(function(){n.conversation.Selected=!0,e.numberElementChecked=s,r.onDragStart(t,a,c())});e.$emit("dnd",{type:"hook.dragstart",data:{before:{number:s,ids:(0,o.default)(c(),"ID")}}}),n.$applyAsync(function(){n.conversation.Selected=!0,e.numberElementChecked=1,r.onDragStart(t,a,[n.conversation])})}})}}}s.$inject=["$rootScope","ptDndModel","ptDndUtils","PTDNDCONSTANTS","ptDndNotification"],t.default=s},"./src/app/dnd/directives/ptDropzone.js":function(e,t,a){"use strict";function n(e,t,a,n){var o=n.CLASSNAME,r=n.DROPZONE_ATTR_ID;return document.addEventListener("dragenter",function(e){var t=e.target;1===t.nodeType&&t.hasAttribute(r)&&(angular.element(document.querySelectorAll("."+o.DROPZONE_HOVER)).removeClass(o.DROPZONE_HOVER),t.classList.add(o.DROPZONE_HOVER))}),document.addEventListener("dragover",function(e){if(e.preventDefault(),e.target.hasAttribute(r)){var t=e.target.getAttribute(r);return a.dropzone.get(t).onDragOver(e.target,e),(e.dataTransfer||e.originalEvent.dataTransfer).dropEffect="move",!1}}),document.addEventListener("drop",function(e){if(e.preventDefault(),document.body.classList.remove(o.BODY),e.target.hasAttribute(r)&&a.draggable.has("currentId")){var t=e.target.getAttribute(r),n=JSON.parse((e.dataTransfer||e.originalEvent.dataTransfer).getData("Text")).id;a.dropzone.get(t).onDropSuccess(e,n),a.draggable.get(n).onDropItem(e),angular.element(document.querySelectorAll("."+o.DROPZONE_HOVER)).removeClass(o.DROPZONE_HOVER),angular.element(document.querySelectorAll("."+o.DRAG_HOVER)).removeClass(o.DRAG_HOVER)}}),{type:"A",link:function(n,o){var s=e(),i=s.on,l=s.unsubscribe,c=function(){return _rAF(function(){a.dropzone.reset(),[].slice.call(o[0].querySelectorAll("[data-pt-dropzone-item]")).forEach(function(e){var n=t.generateUniqId("drop");e.classList.add("ptDnd-dropzone-container"),e.setAttribute(r,n),a.dropzone.set(n,{value:e.dataset.ptDropzoneItem,type:e.dataset.ptDropzoneItemType})})})},d=setTimeout(function(){return c(),clearTimeout(d)},1e3);i("labelsModel",function(e,t){var a=t.type;"cache.refresh"!==a&&"cache.update"!==a||c()}),i("$stateChangeSuccess",function(){_rAF(c)}),n.$on("$destroy",l)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","ptDndUtils","ptDndModel","PTDNDCONSTANTS"],t.default=n},"./src/app/dnd/factories/ptDndModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/extend.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e){var t={},a=function(e){return function(){return t[e]={}}},n=e(["ptDnd"]),o=n.dispatcher,s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o.ptDnd(e,t)};(0,n.on)("$stateChangeStart",function(){a("draggable")});var i=function(e){return{has:function(a){return!!(t[e]||{})[a]},set:function(a,n){t[e]=t[e]||{},"draggable"===e&&"currentId"!==a&&(t[e][a]=(0,r.default)({selectedList:[],onDragStart:function(n,o){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];t[e][a].selectedList=r,s("dragstart",{id:a,target:n,event:o,selectedList:r,model:t[e][a].model,type:t[e][a].type})},onDropItem:function(n){s("drop",{event:n,selectedList:t[e][a].selectedList,model:t[e][a].model,type:t[e][a].type})}},n)),"draggable"===e&&"currentId"===a&&(t[e][a]=n),"dropzone"===e&&(t[e][a]=(0,r.default)({onDragOver:function(n,o){s("dragover",{id:a,target:n,event:o,value:t[e][a].value,type:t[e][a].type})},onDropSuccess:function(n,o){_rAF(function(){s("dropsuccess",{itemId:o,event:n,value:t[e][a].value,type:t[e][a].type})})}},n))},get:function(a){return(t[e]||{})[a]},reset:a(e)}};return{draggable:i("draggable"),dropzone:i("dropzone")}}s.$inject=["dispatchers"],t.default=s},"./src/app/dnd/factories/ptDndNotification.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("./src/helpers/browser.js");function o(e,t,a){var o=e.CLASSNAME,r=(0,n.isIE11)(),s=(0,n.isEdge)(),i=(0,n.isFirefox)(),l=s?"!important":"",c=function(){var e=document.createElement("SPAN");return e.className=o.NOTIF,document.body.appendChild(e),e}();i&&c.classList.add(o.NOTIF_FIREFOX);var d=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:c).classList.add(o.NOTIF_ACTIVE)},u=function(){return c.classList.remove(o.NOTIF_ACTIVE)};!i&&document.addEventListener("drag",function(e){_rAF(function(){c.style.transform=("translate("+e.clientX+"px, "+e.clientY+"px) "+l).trim()})}),document.addEventListener("dragend",function(){u()});return{init:angular.noop,show:d,hide:u,onDragStart:function(e,n,o){var l,u,p,m;if(c.textContent=(l=a.numberElementChecked||1,u=o,p=t.getPlural(l,"message","messages",{},"Type of item"),m=t.getPlural(l,"conversation","conversations",{},"Type of item"),t.getString("Move {{total}} {{type}}",{type:"conversation"===u?m:p,total:l},"notification drag and drop")),!r&&!s&&!i){var f=new Image;f.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",n.setDragImage(f,0,0)}i&&n.setDragImage(c,0,0),!r&&!s&&d()}}}o.$inject=["PTDNDCONSTANTS","gettextCatalog","$rootScope"],t.default=o},"./src/app/dnd/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./src/app/dnd/constants/ptdndconstants.js")),o=d(a("./src/app/dnd/directives/ptDraggable.js")),r=d(a("./src/app/dnd/directives/ptDropzone.js")),s=d(a("./src/app/dnd/factories/ptDndModel.js")),i=d(a("./src/app/dnd/factories/ptDndNotification.js")),l=d(a("./src/app/dnd/services/actionDnd.js")),c=d(a("./src/app/dnd/services/ptDndUtils.js"));function d(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.dnd",["proton.message","proton.labels","proton.conversation"]).run(["actionDnd",function(e){return e.init()}]).constant("PTDNDCONSTANTS",n.default).directive("ptDraggable",o.default).directive("ptDropzone",r.default).factory("ptDndModel",s.default).factory("ptDndNotification",i.default).factory("actionDnd",l.default).factory("ptDndUtils",c.default).name},"./src/app/dnd/services/actionDnd.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/map.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a,n,o,s,i,l,c,d,u){var p=l.getString("Apply label",null,"notification drag and drop"),m=function(e,t){var a=l.getPlural(e,"message","messages",{},"Type of item"),n=l.getPlural(e,"conversation","conversations",{},"Type of item");return l.getString("Star {{total}} {{type}}",{type:"conversation"===t?n:a,total:e},"notification drag and drop")},f=n(["elements","messageActions"]),h=f.dispatcher,v=f.on;d.init();var g=function(e,t,a){if("conversation"===t)return s.move(e,a);h.messageActions("move",{ids:e,labelID:a})},b=void 0;return v("ptDnd",function(t,n){var l=n.type,d=n.data;if("drop"===l&&(b=d.selectedList),"dropsuccess"===l){var f=o.draggable.get(d.itemId),v=f.model,y=f.type,_=e.numberElementChecked&&b?b:[v],j=(0,r.default)(_,"ID");if(b=void 0,"label"===d.type)return function(e,t,n){var o=(0,r.default)(e,"ID"),l=i.read(n),d=[(l.Selected=!0,l)];if(i.read(n,"folders"))return g(o,t,n);u.get("AlsoArchive")&&g(o,t,a.MAILBOX_IDENTIFIERS.archive),"conversation"===t?s.label(o,d):h.messageActions("label",{messages:e,labels:d}),c.success(p+" "+l.Name)}(_,y,d.value);if("starred"===d.value)return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];e.forEach(function(e){h.elements("toggleStar",{model:e,type:t})}),c.success(m(e.length,t))}(_,y);g(j,y,a.MAILBOX_IDENTIFIERS[d.value])}}),{init:angular.noop}}s.$inject=["$rootScope","$state","CONSTANTS","dispatchers","ptDndModel","actionConversation","labelsModel","gettextCatalog","notification","ptDndNotification","mailSettingsModel"],t.default=s},"./src/app/dnd/services/ptDndUtils.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{generateUniqId:function(){return""+(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"drag-")+Math.random().toString(36).substring(7)},getDragInitiatorNode:function(e){for(var t=e;t.parentNode;){if("true"===t.getAttribute("draggable"))return t;t=t.parentNode}return null}}}},"./src/app/elements/controllers/elements.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=m(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),o=m(a("./node_modules/lodash/extend.js")),r=m(a("./node_modules/lodash/map.js")),s=m(a("./node_modules/lodash/includes.js")),i=m(a("./node_modules/lodash/each.js")),l=m(a("./node_modules/lodash/findIndex.js")),c=m(a("./node_modules/lodash/head.js")),d=m(a("./node_modules/lodash/defer.js")),u=m(a("./node_modules/lodash/filter.js")),p=m(a("./node_modules/lodash/find.js"));function m(e){return e&&e.__esModule?e:{default:e}}function f(e,t,a,m,f,h,v,g,b,y,_,j,A,S,C,I,x,E,w,T,M,D,k,L,P,O,N,R,F,B,U){var z=f(["elements","messageActions","message.open"]),q=z.on,V=z.unsubscribe,Y=z.dispatcher,H=void 0,W=k.get(),K=W.NumMessagePerPage,G=W.MessageButtons,X=setInterval(function(){Y.elements("refresh.time")},6e4);h.elementsLoaded=!1,h.limitReached=!1,h.conversations=[],h.$on("$stateChangeSuccess",function(){h.elementsLoaded=!1,h.limitReached=!1}),h.senders=function(e){return angular.isDefined(e.Senders)?e.Senders:[e.Sender]},h.recipients=function(e){if(angular.isDefined(e.Recipients))return e.Recipients;var t=[];return e.ToList&&(t=t.concat(e.ToList)),e.CCList&&(t=t.concat(e.CCList)),e.BCCList&&(t=t.concat(e.BCCList)),t};function Z(t){var a={Page:(~~g.page||1)-1};if(angular.isDefined(g.filter)&&(a.Unread=+("unread"===g.filter)),angular.isDefined(g.sort)){var n=g.sort,o="-"===n.charAt(0);!0===o&&(n=n.slice(1)),a.Sort=e("capitalize")(n),a.Desc=+o}return"search"===t?(a.Address=g.address,a.Label=g.label,a.Keyword=g.keyword,a.To=g.to,a.From=g.from,a.Subject=g.subject,a.Begin=g.begin,a.End=g.end,a.Attachments=g.attachments,a.AutoWildcard=angular.isDefined(g.wildcard)?g.wildcard:k.get().AutoWildcardSearch):a.Label="label"===t?g.label:E.MAILBOX_IDENTIFIERS[t],a}function J(e){var t=e.LabelIDs,a=void 0===t?[]:t,n=e.Labels,o=void 0===n?[]:n;return o.length?(0,s.default)(a,E.MAILBOX_IDENTIFIERS.starred):!!(0,p.default)(o,{ID:E.MAILBOX_IDENTIFIERS.starred})}function Q(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=h.conversations,a=void 0===t?[]:t,n=(0,u.default)(a,{Selected:!0});return v.params.id&&k.get("ViewLayout")===E.ROW_MODE?(0,u.default)(a,function(e){var t=e.ID,a=e.ConversationID;return t===v.params.id||a===v.params.id}):!n.length&&h.markedElement&&e?(0,u.default)(a,function(e){var t=e.ID,a=e.ConversationID;return t===h.markedElement.ID||a===h.markedElement.ID}):n}function ee(){return(0,r.default)(Q(),"ID")}function te(){var e=Q();return e.length?e[0].ConversationID?"message":"conversation":U.getTypeList()}function ae(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"to";g.page&&h.selectElements("all",!1),h.page=~~g.page||1,O[e]()}function ne(e){if(e){var t={},a=v.params.id&&v.params.id===e.ConversationID;if("conversation"===U.typeView()&&"message"===U.getTypeList()?(t.id=e.ConversationID,t.messageID=e.ID):(t.id=e.ID,t.messageID=null),h.selectElements("all",!1),w.deallocator(e),_.flushCache(),h.markedElement=e,a)return Y["message.open"]("toggle",{message:e,action:"openElement"});var n=v.$current.name.replace(".element","");v.go(n+".element",t)}}h.displayType=function(e){var t=!1,a=k.get().ViewLayout,n=a===E.COLUMN_MODE,o=a===E.ROW_MODE;switch(e){case"rows":t=!R.is("mobile")&&o&&!h.idDefined();break;case"columns":t=n&&!R.is("mobile");break;case"placeholder":var r=h.idDefined();t=n&&(!r||r&&m.numberElementChecked>0)&&!R.is("mobile");break;case"mobile":t=!h.idDefined()&&R.is("mobile")}return t},h.startWatchingEvent=function(){var e=!!v.params.id,t=function(t){var a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function(){e||(t.apply(void 0,arguments),"conversation"===U.typeView()&&(e=a))}};q("elements",function(t,a){var n=a.type,o=a.data,i=void 0===o?{}:o;switch(n){case"mark":var l=(0,p.default)(h.conversations,{ID:i.id});l&&h.markedElement!==l&&h.$applyAsync(function(){h.markedElement=l});break;case"open":h.$applyAsync(function(){return ne(i.element)});break;case"opened":(0,p.default)(h.conversations,{ID:i.id})&&(e=!0);break;case"close":e=!1;break;case"refresh":h.refreshElements();break;case"switchTo.next":r();break;case"switchTo.previous":s()}}),h.$on("openMarked",t(function(){ne(h.markedElement)})),h.$on("left",function(){var t;t=v.$current.name.replace(".element",""),v.go(t,{id:""}),e=!1}),h.$on("right",t(function(){ne(h.markedElement)})),h.$on("selectMark",function(){h.markedElement&&h.$applyAsync(function(){h.markedElement.Selected=!h.markedElement.Selected,m.numberElementChecked=(0,u.default)(h.conversations,{Selected:!0}).length})}),q("selectElements",function(e,t){var a=t.type,n=t.data.isChecked;h.$applyAsync(function(){h.selectElements(a,n)})}),q("app.commands",function(e,t){var a=t.type,o=t.data,r=a.match(/(add|remove)\.(folders|labels)$/)||[],s=(0,n.default)(r,3),i=s[1],l=s[2];h.$applyAsync(function(){"labels"===l&&h.saveLabels(o.list),"folders"===l&&h.move(null,o.ID,i)})}),h.$on("applyLabels",function(e,t){h.applyLabels(t)}),h.$on("move",function(t,a){var n=h.idDefined(),o=!n||n&&m.numberElementChecked>0;!e&&o&&(t.preventDefault(),(0,d.default)(function(){return h.move(a)}))}),h.$on("read",function(){h.read()}),h.$on("unread",function(){h.unread()}),q("toggleStar",function(){var t;!e&&(t=te(),Q().forEach(function(e){Y.elements("toggleStar",{type:t,model:e})}))});var a=t(function(){if(h.conversations){var e=h.conversations.indexOf(h.markedElement);if(e>0)return h.$applyAsync(function(){h.markedElement=h.conversations[e-1]}),F.follow(!0);ae("previous")}},!1),o=t(function(){if(h.conversations){var e=h.conversations.indexOf(h.markedElement);if(e<h.conversations.length-1)return h.$applyAsync(function(){h.markedElement=h.conversations[e+1]}),F.follow();ae("next")}},!1);function r(){var e=v.params.id;if(!e)return o();var t=k.get(),a=t.ViewLayout,n=t.ViewMode,r=a===E.ROW_MODE,s=v.$current.name,i=h.markedElement.Time,l=n===E.CONVERSATION_VIEW_MODE;C.more(e,i,"next").then(function(e){var t=l&&e.ConversationID||e.ID;v.go(s,{id:t}),h.markedElement=e,Y.elements("switchTo.next.success",e),!r&&F.follow()}).catch(function(e){Y.elements("switchTo.next.error",e)})}function s(){var e=v.params.id;if(!e)return a();var t=k.get(),n=t.ViewLayout,o=t.ViewMode,r=n===E.ROW_MODE,s=v.$current.name,i=h.markedElement.Time,l=o===E.CONVERSATION_VIEW_MODE;C.more(e,i,"previous").then(function(e){var t=l&&e.ConversationID||e.ID;v.go(s,{id:t}),h.markedElement=e,Y.elements("switchTo.previous.success",e),!r&&F.follow()}).catch(function(e){Y.elements("switchTo.previous.error",e)})}h.$on("markPrevious",a),h.$on("markNext",o),h.$on("nextElement",function(){r()}),h.$on("previousElement",function(){s()}),h.$on("$destroy",function(){V(),clearInterval(X),F.clear()})},h.refreshElements=function(){var e=Z(h.mailbox);return("message"===U.getTypeList()?C.queryMessages(e):C.queryConversations(e)).then(function(e){M.set(!1);var t=~~g.page||0,a=h.conversations.reduce(function(e,t){return t.Selected&&(e[t.ID]=t),e},{});return h.$applyAsync(function(){var n=angular.copy(h.conversations);if(h.elementsLoaded=!0,h.conversations=e.map(function(e){return e.Selected=void 0!==a[e.ID],e}),angular.isDefined(H)&&H(),H=h.$watch("conversations",function(){m.numberElementSelected=Q().length,m.numberElementUnread=I.unreadConversation(U.currentLocation())},!0),h.limitReached=S.isReached()&&O.isMax(),0===h.conversations.length&&t>0)return h.back();if(h.conversations.length>0){var o=void 0;if(h.markedElement){var r=(0,p.default)(h.conversations,{ID:h.markedElement.ID});if(r)o=r;else{var s=(0,l.default)(n,{ID:h.markedElement.ID})||0;o=h.conversations[s]||(0,c.default)(h.conversations)}}else o=v.params.id?(0,p.default)(h.conversations,function(e){var t=e.ID,a=e.ConversationID;return v.params.id===a||v.params.id===t}):(0,c.default)(h.conversations);h.markedElement=o}}),e},function(){h.elementsLoaded=!0,h.conversations=[]})},h.active=function(e){return!(0!==m.numberElementChecked||!angular.isDefined(v.params.id))&&(v.params.id===e.ConversationID||v.params.id===e.ID)},h.hasLabels=function(e){var t=e.LabelIDs,a=void 0===t?[]:t,n=e.Labels,o=void 0===n?[]:n;return a.length||o.length},h.hasAttachments=function(e){return e.ConversationID?e.NumAttachments>0:e.ContextNumAttachments>0},h.isRead=function(e){return e.ConversationID?1===e.IsRead:0===e.ContextNumUnread},h.size=function(e){return e.ConversationID?e.Size:e.ContextSize},h.isDisabled=function(){return!h.markedElement&&(!m.numberElementChecked&&!angular.isDefined(v.params.id))},h.isCacheContext=function(){return U.cacheContext()},h.selectElements=function(e,t){var a={all:function(e){e.Selected=t},read:function(e){e.Selected=(0===e.ContextNumUnread||1===e.IsRead)&&t},unread:function(e){e.Selected=(e.ContextNumUnread>0||0===e.IsRead)&&t},starred:function(e){e.Selected=J(e)&&t},unstarred:function(e){e.Selected=!J(e)&&t}};(0,i.default)(h.conversations,function(t){return a[e](t)}),m.numberElementChecked=(0,u.default)(h.conversations,{Selected:!0}).length},h.read=function(){var e=te(),t=ee();"conversation"===e?y.read(t):"message"===e&&Y.messageActions("read",{ids:t})},h.unread=function(){var e=te(),t=ee();"conversation"===e?y.unread(t):"message"===e&&Y.messageActions("unread",{ids:t}),angular.isDefined(v.params.id)&&h.back(!0)},h.delete=function(){B({getElementsSelected:Q,idsSelected:ee,getTypeSelected:te})},h.move=function(e,t){var a=te(),n=ee(),o=t||E.MAILBOX_IDENTIFIERS[e];0!==n.length&&(m.numberElementChecked=0,"conversation"===a?y.move(n,o):"message"===a&&Y.messageActions("move",{ids:n,labelID:o}))},h.getElements=function(){return Q()},h.saveLabels=function(e,t){var a=te(),n=ee();if("conversation"===a)y.label(n,e,t);else if("message"===a){var o=Q();Y.messageActions("label",{messages:o,labels:e,alsoArchive:t})}},h.back=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=v.$current.name.replace(".element","");if(e){var a=(0,o.default)({},g,{id:null});return v.go(t,a)}v.go(t,{id:null,page:~~g.page||1,label:g.label})},h.closeLabels=function(){$(".pm_dropdown").removeClass("active")},h.displayPaginator=function(){return!v.params.id||k.get("ViewLayout")===E.COLUMN_MODE},h.applyLabels=function(e){var t=[];(0,i.default)(h.labels,function(a){a.ID===e&&(a.Selected=!0),t.push(a)}),h.saveLabels(t,!0)},h.goToLabel=function(e){var t={page:void 0,filter:void 0,sort:void 0,label:e};v.go("secured.label",t)},h.markedElement=void 0,h.mailbox=U.currentMailbox(),h.conversationsPerPage=K,h.labels=A.get(),h.messageButtons=G,h.selectedFilter=g.filter,h.selectedOrder=g.sort||"-date",h.page=~~g.page||1,h.startWatchingEvent(),h.refreshElements().then(function(){h.$applyAsync(function(){h.selectElements("all",!1)})},t.error)}f.$inject=["$filter","$log","$q","$rootScope","dispatchers","$scope","$state","$stateParams","$window","actionConversation","AttachmentLoader","authentication","labelsModel","limitElementsModel","cache","cacheCounters","confirmModal","CONSTANTS","embedded","eventManager","firstLoadState","gettextCatalog","mailSettingsModel","Label","networkActivityTracker","paginationModel","messageActions","AppModel","markedScroll","removeElement","tools"],t.default=f},"./src/app/elements/directives/advancedFilterElement.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/helpers/defineProperty.js")),o=s(a("./node_modules/lodash/each.js")),r=s(a("./node_modules/lodash/extend.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e,t,s,i,l,c,d,u,p,m,f,h){var v,g=function(e){return"advancedFilterElement-"+e},b=t.MAILBOX_IDENTIFIERS,y=(v={},(0,n.default)(v,g("btn-small-to-large"),function(){return"size"===e.sort}),(0,n.default)(v,g("btn-large-to-small"),function(){return"-size"===e.sort}),(0,n.default)(v,g("btn-old-to-new"),function(){return"date"===e.sort}),(0,n.default)(v,g("btn-new-to-old"),function(){return!e.sort||"-date"===e.sort}),(0,n.default)(v,g("btn-show-all"),function(){return!(e.sort&&"-date"!==e.sort||e.filter)}),(0,n.default)(v,g("btn-unread"),function(){return"unread"===e.filter}),(0,n.default)(v,g("btn-read"),function(){return"read"===e.filter}),v),_=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};h.go(h.$current.name.replace(".element",""),(0,r.default)({},h.params,{page:void 0,id:void 0},e))},j={empty:function(t){var a=i.getString("Delete all",null,"Title"),n=i.getString("Are you sure? This cannot be undone.",null,"Info");if(-1!==["drafts","spam","trash","folder"].indexOf(t)){var o=e.label||b[t],r={drafts:"emptyDraft",spam:"emptySpam",trash:"emptyTrash",folder:"emptyLabel"};c.activate({params:{title:a,message:n,confirm:function(){h.includes("**.element")&&h.go(h.$current.name.replace(".element",""));var e=l[r[t]](o).then(function(){return p.empty(o),c.deactivate(),m.success(i.getString("Folder emptied",null)),f.call()});u.track(e)},cancel:function(){c.deactivate()}}})}},orderBy:function(e){return _({sort:"-date"===e?void 0:e})},filterBy:function(e){return _({filter:e})},clearFilter:function(){return _({filter:void 0,sort:void 0})},toggleTrashSpam:function(){return _({trashspam:angular.isDefined(h.params.trashspam)?void 0:0})}};return{replace:!0,templateUrl:a("./src/templates/elements/advancedFilterElement.tpl.html"),link:function(t,a){var n=s(),r=n.on,i=n.unsubscribe,l=a.find("button"),c=function(e){e.preventDefault();var t=e.target.getAttribute("data-action");t&&j[t](e.target.getAttribute("data-action-arg"))};(0,o.default)(l,function(e){var t=e.classList.item(0);y[t]&&y[t]()&&e.classList.add("active")});var u=function(){var t=e.label,n=t&&d.read(t,"folders")?"add":"remove";a[0].classList[n]("advancedFilterElement-state-folder")};r("$stateChangeSuccess",u),u(),l.on("click",c),t.$on("$destroy",function(){l.off("click",c),i()})}}}i.$inject=["$stateParams","CONSTANTS","dispatchers","gettextCatalog","messageApi","confirmModal","labelsModel","networkActivityTracker","cache","notification","eventManager","$state"],t.default=i},"./src/app/elements/directives/countElementsSelected.js":function(e,t,a){"use strict";function n(e){return{replace:!0,templateUrl:a("./src/templates/elements/countElementsSelected.tpl.html"),link:function(t,a){var n=a.find(".countElementsSelected-btn-unselect"),o=function(){return e.$emit("selectElements",{type:"all",data:{isChecked:!1}})};n.on("click",o),t.$on("$destroy",function(){n.off("click",o)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope"],t.default=n},"./src/app/elements/directives/elementView.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return{restrict:"E",template:"\n <conversation-view ng-if=\"type === 'conversation'\"></conversation-view>\n <message-view ng-if=\"type === 'message'\"></message-view>\n ",link:function(t){t.type=e.typeView()}}};n.$inject=["tools"],t.default=n},"./src/app/elements/directives/elementsContainer.js":function(e,t,a){"use strict";function n(e){return{restrict:"A",link:function(t,a){var n=function(a){var n=a.target;n&&!/ptSelectConversation|customMaskInput/.test(n.className)&&e.$emit("elements",{type:"open",data:{element:t.conversation}})};a.on("click",n),t.$on("$destroy",function(){a.off("click",n)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope"],t.default=n},"./src/app/elements/directives/elementsSelector.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/every.js")),o=r(a("./src/helpers/dedent.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,r){var s=!0,i=["all","read","unread","star","unstar"],l=["all","unread","read","unstar","star"],c={all:{label:r.getString("Select All",null,"Action"),icon:"fa-check-square-o",action:"all"},unread:{label:r.getString("All Unread",null,"Action"),icon:"fa-eye-slash",action:"unread"},read:{label:r.getString("All Read",null,"Action"),icon:"fa-eye",action:"read"},unstar:{label:r.getString("All Unstarred",null,"Action"),icon:"fa-star-o",action:"unstarred"},star:{label:r.getString("All Starred",null,"Action"),icon:"fa-star",action:"starred"}},d=function(e){return e.map(function(e){return c[e]})},u=function(){return(e=+t.get("MessageButtons"),d(e?l:i)).reduce(function(e,t){var a=t.label,n=t.icon,r=t.action;return e+(0,o.default)('\n <button data-action="'+r+'" class="elementsSelector-btn-action">\n <i class="fa '+n+'"></i>\n <span>'+a+"</span>\n </button>\n ")},"");var e};return{replace:!0,templateUrl:a("./src/templates/elements/elementsSelector.tpl.html"),compile:function(a){return a[0].querySelector(".pm_dropdown").insertAdjacentHTML("beforeEnd",u()),function(a,o){var r=e(["closeDropdown","selectElements"]),i=r.dispatcher,l=r.on,c=r.unsubscribe,d=o.find(".elementsSelector-btn-action"),u=function(){a.$applyAsync(function(){a.viewLayout=t.get("ViewLayout")})};function p(e){var t=e.currentTarget.getAttribute("data-action");i.selectElements(t,{isChecked:s}),i.closeDropdown()}l("mailSettings",function(e,t){var a=t.type;"updated"===(void 0===a?"":a)&&u()}),d.on("click",p),a.checkedSelectorState=function(){return(0,n.default)(a.conversations,{Selected:!0})},u(),a.$on("$destroy",function(){c(),d.off("click",p)})}}}}s.$inject=["dispatchers","mailSettingsModel","gettextCatalog"],t.default=s},"./src/app/elements/directives/foldersElement.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/map.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n,o,s){var i=["secured.allSent.**","secured.sent.**","secured.allDrafts.**","secured.drafts.**","secured.search.**","secured.starred.**","secured.allmail.**","secured.label.**"],l=s({MAP_LABELS:{inbox:{className:"fa-inbox",tooltip:n.getString("In inbox",null,"Type of label for a message/conversation")},sent:{className:"fa-send",tooltip:n.getString("In sent",null,"Type of label for a message/conversation")},drafts:{className:"fa-file-text-o",tooltip:n.getString("In drafts",null,"Type of label for a message/conversation")},archive:{className:"fa-archive",tooltip:n.getString("In archive",null,"Type of label for a message/conversation")},trash:{className:"fa-trash-o",tooltip:n.getString("In trash",null,"Type of label for a message/conversation")},spam:{className:"fa-ban",tooltip:n.getString("In spam",null,"Type of label for a message/conversation")},folder:{className:"fa-folder"}}}).getTemplateLabels;return{templateUrl:a("./src/templates/elements/foldersElement.tpl.html"),replace:!0,scope:{conversation:"="},link:function(a,n){var s=t(),c=s.on,d=s.unsubscribe,u=function(t,s){var c=s.LabelIDs,d=void 0===c?[]:c,u=s.Labels,p=void 0===u?[]:u;if((d.length||p.length)&&i.some(function(t){return e.includes(t)})){var m=p.length?(0,r.default)(p,function(e){return e.ID}):d,f=o(l(m))(a);n.empty().append(f)}};c("foldersElement."+a.conversation.ID,u),u(0,a.conversation),a.$on("$destroy",d)}}}s.$inject=["$state","dispatchers","gettextCatalog","$compile","mailboxIdentifersTemplate"],t.default=s},"./src/app/elements/directives/labelsElement.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/map.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n,o){return{restrict:"E",templateUrl:a("./src/templates/elements/labelsElement.tpl.html"),replace:!0,scope:{element:"="},link:function(a,n,s){var i,l=s.limit,c=void 0===l?4:l,d=e(["messageActions"]),u=d.dispatcher,p=d.on,m=d.unsubscribe,f=(i=n[0].querySelector(".labelsElement-more"),{hide:function(){i.classList.add("labelsElement-hidden")},show:function(){_rAF(function(){return i.classList.remove("labelsElement-hidden")})}}),h=function(e,n){var o=n.LabelIDs,s=void 0===o?[]:o,i=n.Labels,l=void 0===i?[]:i;if(f.hide(),s.length||l.length){var d=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce(function(e,a){var n=t.read(a,"labels");return n&&e.push(n),e},[])}(l.length?(0,r.default)(l,function(e){return e.ID}):s);if("none"!==c)return a.labels=d.length?angular.copy(d.slice(0,c)):[],void(d.length>c&&f.show());a.labels=angular.copy(d)}},v=function(e){if(e.stopPropagation(),e.target.classList.contains("labelsElement-label")){var t=e.target.getAttribute("data-label-id");o.go("secured.label",{label:t})}e.target.classList.contains("labelsElement-btn-remove")&&u.messageActions("unlabel",{messageID:a.element.ID,conversationID:a.element.ConversationID,labelID:e.target.getAttribute("data-label-id")})};p("labelsElement."+a.element.ID,h),h(0,a.element),a.color=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Color;return{color:void 0===e?"inherit":e}},n.on("click",v),a.$on("$destroy",function(){n.off("click",v),m()})}}}s.$inject=["dispatchers","labelsModel","authentication","$state"],t.default=s},"./src/app/elements/directives/moveElement.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){return{replace:!0,templateUrl:a("./src/templates/elements/moveElement.tpl.html"),link:function(e,t){function a(t){if("BUTTON"===t.target.tagName){var a=t.target.getAttribute("data-action");if("delete"===a)return e.delete();e.move(a)}}t.on("click",a),e.$on("$destroy",function(){t.off("click",a)})}}}},"./src/app/elements/directives/movedButton.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/extend.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a){var n={sent:"secured.allSent",allSent:"secured.sent",drafts:"secured.allDrafts",allDrafts:"secured.drafts"};return{restrict:"E",replace:!0,scope:{},template:'\n <button class="movedButton-container">\n <div>\n <i class="movedButton-icon fa fa-share-square-o"></i>\n <span class="movedButton-text">'+t.getString("Include moved messages",null,"Link")+"</span>\n </div>\n </button>\n ",link:function(t,o){var s=a.filteredState(),i=function(){return e.go(n[s],(0,r.default)({},e.params,{page:void 0,id:void 0}))};"allSent"!==s&&"allDrafts"!==s||o.addClass("active"),o.on("click",i),t.$on("$destroy",function(){return o.off("click",i)})}}}s.$inject=["$state","gettextCatalog","tools"],t.default=s},"./src/app/elements/directives/movedSelect.js":function(e,t,a){"use strict";function n(e,t,a,n,o,r,s){var i={includeMoved:a.getString("Include Moved",null,"Option"),hideMoved:a.getString("Hide Moved",null,"Option"),success:a.getString("Setting updated",null,"Success")};return{restrict:"E",replace:!0,scope:{},template:'\n <span class="movedSelect-container pm_select inline">\n <select class="movedSelect-select">\n <option value="3">'+i.includeMoved+'</option>\n <option value="0">'+i.hideMoved+'</option>\n </select>\n <i class="fa fa-angle-down"></i>\n </span>\n ',link:function(e,a){var l=t(),c=l.on,d=l.unsubscribe,u=a.find("select"),p=function(e){return u.val(+e)},m=function(){return~~u.val()};function f(){var e=m(),t=r.updateShowMoved({ShowMoved:e}).then(function(){s.success(i.success)});n.track(t)}c("mailSettings",function(){p(o.get("ShowMoved"))}),p(o.get("ShowMoved")),u.on("change",f),e.$on("$destroy",function(){d(),u.off("change",f)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["authentication","dispatchers","gettextCatalog","networkActivityTracker","mailSettingsModel","settingsMailApi","notification"],t.default=n},"./src/app/elements/directives/navElements.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/helpers/slicedToArray.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n,o,s){var i=["drafts","search","sent","allDrafts","allSent"];return{replace:!0,templateUrl:a("./src/templates/elements/navElements.tpl.html"),link:function(a,l){var c=t(["elements"]),d=c.dispatcher,u=c.on,p=c.unsubscribe,m=function(){var t,a,r,c,d=(t=o.currentMailbox(),a=n.get("ViewLayout")===s.ROW_MODE,r=o.cacheContext(),c=-1===i.indexOf(t),e.params.id&&a&&r&&c?"add":"remove");l[0].classList[d]("navElements-displayed")};m(),u("$stateChangeSuccess",m),u("settings",function(e,t){"viewLayout.updated"===t.type&&m()}),u("elements",function(e,t){var a=t.type;if(/(previous|next)\.(error|success)$/.test(a)){var n=a.split("."),o=(0,r.default)(n,3);!function(e,t){"success"===t&&(l[0].classList.remove("navElements-no-previous"),l[0].classList.remove("navElements-no-next")),"error"===t&&l[0].classList.add("navElements-no-"+e)}(o[1],o[2])}});var f=function(e){!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};d.elements(e,t)}("switchTo."+e.target.getAttribute("data-dest"),{conversation:a.conversation,from:"button"})};l.on("click",f),a.$on("$destroy",function(){l.off("click",f),p()})}}}s.$inject=["$state","dispatchers","mailSettingsModel","tools","CONSTANTS"],t.default=s},"./src/app/elements/directives/ptSelectElement.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){return{replace:!0,templateUrl:a("./src/templates/elements/ptSelectElement.tpl.html")}}},"./src/app/elements/directives/ptSelectElements.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return{link:function(t,a){function n(t){var a=t.target,n=a.checked,o=a.value;e.$emit("selectElements",{type:o,data:{isChecked:n}}),_rAF(function(){return a.blur()})}a.on("change",n),t.$watch("value",function(){return a.change()}),t.$on("$destroy",function(){a.off("change",n)})}}};n.$inject=["$rootScope"],t.default=n},"./src/app/elements/directives/ptSelectMultipleElements.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/each.js")),o=r(a("./node_modules/lodash/filter.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var a={},r=function(e){return(0,o.default)(e,{Selected:!0}).length};return{link:function(o,s){var i=null,l=function(t){return function(a,n,o){for(var s=n;s<o;s++)t.conversations[s].Selected=a.conversation.Selected;e.numberElementChecked=r(t.conversations)}}(o),c=t(),d=c.on,u=c.unsubscribe;function p(t){var a=t.target,n=t.shiftKey,s=+a.getAttribute("data-index");if("INPUT"===a.nodeName&&/ptSelectConversation/.test(a.className)){var c=a.checked;o.$applyAsync(function(){if(o.conversations[s].Selected=c,e.numberElementChecked=r(o.conversations),n&&i){var t=Math.min(s,i.index),d=Math.max(s,i.index);l(i,t,d),a.checked=i.conversation.Selected}e.showWelcome=!1,i={index:s,conversation:o.conversations[s]}})}}d("dnd",function(t,r){var s=r.type,i=r.data;"hook.dragstart"===s&&(a.number=i.before.number,a.ids=i.before.ids,e.numberElementChecked=1,(0,n.default)(o.conversations,function(e){e.Selected=!1}))});var m=function(){_rAF(function(){o.$applyAsync(function(){(0,n.default)(o.conversations,function(t){a.ids&&(t.Selected=-1!==a.ids.indexOf(t.ID)),1!==e.numberElementChecked||a.number||(t.Selected=!1)}),e.numberElementChecked=a.number||r(o.conversations),delete a.number,delete a.ids})})};s.on("click",p),document.addEventListener("dragend",m),o.$on("$destroy",function(){s.off("click",p),document.removeEventListener("dragend",m),u(),delete a.number,delete a.ids})}}}s.$inject=["$rootScope","dispatchers"],t.default=s},"./src/app/elements/directives/ptStar.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/find.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n,o,s){function i(e){var a=e.LabelIDs,n=void 0===a?[]:a,o=e.Labels,s=void 0===o?[]:o;return s.length?(0,r.default)(s,{ID:t.MAILBOX_IDENTIFIERS.starred}):n.some(function(e){return e===t.MAILBOX_IDENTIFIERS.starred})}function l(t){var a=t.model,n=t.type,o=i(a)?"unstar":"star";"conversation"===n&&s[o]([a.ID]),"message"===n&&e.$emit("messageActions",{type:o,data:{ids:[a.ID]}})}return e.$on("elements",function(e,t){var a=t.type,n=t.data;"toggleStar"===a&&l(void 0===n?{}:n)}),{scope:{model:"="},replace:!0,templateUrl:a("./src/templates/elements/ptStar.tpl.html"),link:function(e,t,a){var n=a.ptStarType||o.getTypeList();function r(t){"A"===t.target.nodeName&&(t.preventDefault(),t.stopPropagation(),l({model:e.model,type:n}))}e.isStarred=function(){return i(e.model)},t.on("click",r),e.$on("$destroy",function(){t.off("click",r),$(".tooltip").remove()})}}}s.$inject=["$rootScope","CONSTANTS","gettextCatalog","tools","actionConversation"],t.default=s},"./src/app/elements/directives/searchLimitReached.js":function(e,t,a){"use strict";function n(e){var t=e.getString("Your search matched too many results. Please limit your search and try again.",null,"Inform the user that he reach the search limit");return{replace:!0,restrict:"E",template:'<div class="searchLimit-container"></div>',link:function(e,a){a[0].textContent=t}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["gettextCatalog"],t.default=n},"./src/app/elements/directives/timeElement.js":function(e,t,a){"use strict";function n(e,t,a){return{restrict:"E",replace:!0,template:'<time class="time"></time>',link:function(n,o){var r=t(),s=r.on,i=r.unsubscribe;function l(){var t,r,s,i,l,c,d,u;o[0].textContent=(t=n.conversation,r=t.ID,s=t.Time,i=a.getTypeList(),l=a.currentLocation(),c="conversation"===i?e.getTime(r,l):s,d=moment.unix(c),u=d.isSame(moment(),"day")?"LT":"ll",d.format(u))}s("elements",function(e,t){"refresh.time"===t.type&&l()}),l(),n.$on("$destroy",i)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["cache","dispatchers","tools"],t.default=n},"./src/app/elements/factories/elementsError.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/last.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e){var t=[],a=e().on;return a("elements",function(e,a){var n=a.type,o=a.data,r=void 0===o?{}:o;"error"===n&&t.push(r)}),a("$stateChangeSuccess",function(){t.length=0}),{init:angular.noop,last:function(){return t.length?(0,r.default)(t):{}}}}s.$inject=["dispatchers"],t.default=s},"./src/app/elements/factories/limitElementsModel.js":function(e,t,a){"use strict";function n(e){var t={};return(0,e().on)("elements",function(e,a){var n,o,r,s,i,l=a.type,c=a.data;"setLimit"===l&&(o=(n=void 0===c?{}:c).Limit,r=void 0===o?0:o,s=n.Total,i=void 0===s?0:s,t.limit=r,t.total=i)}),{init:angular.noop,isReached:function(){return t.total!==t.limit}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers"],t.default=n},"./src/app/elements/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=C(a("./src/app/elements/controllers/elements.js")),o=C(a("./src/app/elements/directives/advancedFilterElement.js")),r=C(a("./src/app/elements/directives/countElementsSelected.js")),s=C(a("./src/app/elements/directives/elementView.js")),i=C(a("./src/app/elements/directives/elementsContainer.js")),l=C(a("./src/app/elements/directives/elementsSelector.js")),c=C(a("./src/app/elements/directives/foldersElement.js")),d=C(a("./src/app/elements/directives/labelsElement.js")),u=C(a("./src/app/elements/directives/moveElement.js")),p=C(a("./src/app/elements/directives/movedButton.js")),m=C(a("./src/app/elements/directives/movedSelect.js")),f=C(a("./src/app/elements/directives/navElements.js")),h=C(a("./src/app/elements/directives/ptSelectElement.js")),v=C(a("./src/app/elements/directives/ptSelectElements.js")),g=C(a("./src/app/elements/directives/ptSelectMultipleElements.js")),b=C(a("./src/app/elements/directives/ptStar.js")),y=C(a("./src/app/elements/directives/searchLimitReached.js")),_=C(a("./src/app/elements/directives/timeElement.js")),j=C(a("./src/app/elements/factories/elementsError.js")),A=C(a("./src/app/elements/factories/limitElementsModel.js")),S=C(a("./src/app/elements/services/removeElement.js"));function C(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.elements",["proton.constants"]).controller("ElementsController",n.default).directive("advancedFilterElement",o.default).directive("countElementsSelected",r.default).directive("elementView",s.default).directive("elementsContainer",i.default).directive("elementsSelector",l.default).directive("foldersElement",c.default).directive("labelsElement",d.default).directive("moveElement",u.default).directive("movedButton",p.default).directive("movedSelect",m.default).directive("navElements",f.default).directive("ptSelectElement",h.default).directive("ptSelectElements",v.default).directive("ptSelectMultipleElements",g.default).directive("ptStar",b.default).directive("searchLimitReached",y.default).directive("timeElement",_.default).factory("elementsError",j.default).factory("limitElementsModel",A.default).factory("removeElement",S.default).name},"./src/app/elements/services/removeElement.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/regenerator/index.js")),o=r(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,a,r,s,i,l,c,d){var u=this,p={TITLE:e.getString("Delete",null,"Title"),MESSAGE:e.getString("Are you sure? This cannot be undone.",null,"Info"),DRAFT_INFO:e.getString("A draft selected is open in a composer, this action will close the composer and delete the message.",null,"Info"),TYPES:{message:function(t){return e.getPlural(t,"message","messages",{},"Type element")},conversation:function(t){return e.getPlural(t,"conversation","conversations",{},"Type element")}},success:function(t,a){return e.getString("{{total}} {{item}} removed",{total:t,item:a},"Remove element")}};var m,f=(m=(0,o.default)(n.default.mark(function e(t,o,s){return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("conversation"!==o){e.next=2;break}return e.abrupt("return",a.remove(t,s));case 2:return e.abrupt("return",r.destroy(t));case 3:case"end":return e.stop()}},e,u)})),function(e,t,a){return m.apply(this,arguments)});return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=e.getElementsSelected,r=e.idsSelected,m=e.getTypeSelected,h=r(),v=m(),g=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments[1],n=(t.get("composerList")||[]).reduce(function(e,t){return e[t.ID]="ID",e[t.ConversationID]="ConversationID",e},{}),o=e.reduce(function(e,t){return n[t]&&e.push({id:t,key:n[t]}),e},[]);if((i.includes("secured.drafts.**")||i.includes("secured.allDrafts.**"))&&o.length){var r=a().reduce(function(e,t){return e.ConversationID[t.ConversationID]=t,e.ID[t.ID]=t,e},{ConversationID:{},ID:{}});return{isDraftOpen:!0,drafts:o.map(function(e){var t=e.id,a=e.key;return r[a][t]}),message:p.MESSAGE+" <br><p><i>"+p.DRAFT_INFO+"</i></p>"}}return{message:p.MESSAGE}}(h,a),b=g.message,y=g.isDraftOpen,_=g.drafts,j=void 0===_?[]:_,A=d.currentLocation();s.activate({params:{message:b,title:p.TITLE,cancel:s.deactivate,confirm:(S=(0,o.default)(n.default.mark(function e(){return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s.deactivate(),e.next=3,f(h,v,A);case 3:y&&j.forEach(function(e){l.$emit("composer.update",{type:"close.message",data:{message:e}})}),c.success(p.success(h.length,p.TYPES[v](h.length))),l.showWelcome=!1,l.numberElementChecked=0,t=i.$current.name.replace(".element",""),i.go(t,{id:""});case 8:case"end":return e.stop()}var t},e,u)})),function(){return S.apply(this,arguments)})}});var S}}s.$inject=["gettextCatalog","AppModel","actionConversation","messageActions","confirmModal","$state","$rootScope","notification","tools"],t.default=s},"./src/app/filter/directives/customFilterList.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=d(a("./node_modules/lodash/filter.js")),r=d(a("./node_modules/lodash/findIndex.js")),s=d(a("./node_modules/lodash/each.js")),i=d(a("./node_modules/lodash/map.js")),l=d(a("./node_modules/lodash/find.js")),c=d(a("./src/helpers/dragScrollHelper.js"));function d(e){return e&&e.__esModule?e:{default:e}}function u(e,t,d,u,p,m,f,h,v){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/filter/customFilterList.tpl.html"),scope:{},link:function(a){var g=t(),b=g.on,y=g.unsubscribe;a.customFilters=null;var _=u.query().then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a.customFilters=e.Filters});d.track(_),b("changeCustomFilterStatus",function(e,t){var n=t.id,o=t.status,r=(0,l.default)(a.customFilters,{ID:n});r&&function(e,t){e.Status=t?1:0,0===e.Status?a.disableCustomFilter(e):1===e.Status&&a.enableCustomFilter(e)}(r,o)});var j=(0,c.default)({scrollableSelector:"#pm_settings .settings"}),A=j.dragStart,S=j.dragMove,C=j.dragEnd;a.filterDragControlListeners={containment:".pm_sort",accept:function(e,t){return e.itemScope.sortableScope.$id===t.$id},dragStart:function(e){A(e),a.itemMoved=!0},dragMove:S,dragEnd:function(){C(),a.itemMoved=!1},orderChanged:function(){var e=(0,i.default)(a.customFilters,"ID");(0,s.default)(a.customFilters,function(e,t){e.Priority=t+1}),d.track(u.order({FilterIDs:e}).then(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,t=void 0===e?{}:e;return m.success(p.getString("Order saved",null,"Info")),t}).catch(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data;throw new Error((void 0===e?{}:e).Error||p.getString("Unable to save your changes, please try again.",null,"Error"))}))}},a.$on("$destroy",y),a.$on("deleteFilter",function(e,t){if(!a.itemMoved){var n=(0,r.default)(a.customFilters,{ID:t});-1!==n&&a.customFilters.splice(n,1)}}),a.$on("createFilter",function(e,t,n){if(!a.itemMoved){var o=(0,r.default)(a.customFilters,{ID:t});-1===o?a.customFilters.push(n):a.customFilters[o]=n}}),a.$on("updateFilter",function(e,t,n){if(!a.itemMoved){var o=(0,r.default)(a.customFilters,{ID:t});-1===o?a.customFilters.push(n):a.customFilters[o]=n}}),a.addCustomFilter=function(){var t=(0,o.default)(a.customFilters,{Status:1});if(!e.hasPaidMail()&&1===t.length)return m.info(p.getString('Free ProtonMail accounts are limited to 1 custom filter. Please <a href="/dashboard">upgrade</a> to get unlimited filters.',null,"Info"));f.activate({params:{mode:"simple",close:function(){f.deactivate()}}})},a.addSieveFilter=function(){var t=(0,o.default)(a.customFilters,{Status:1});if(!e.hasPaidMail()&&1===t.length)return m.info(p.getString('Free ProtonMail accounts are limited to 1 custom filter. Please <a href="/dashboard">upgrade</a> to get unlimited filters.',null,"Info"));f.activate({params:{mode:"complex",close:function(){f.deactivate()}}})},a.isSimple=function(e){return e.Simple&&(0,n.default)(e.Simple).length},a.editCustomFilter=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];f.activate({params:{mode:!t&&a.isSimple(e)?"simple":"complex",filter:e,close:function(){f.deactivate()}}})},a.deleteCustomFilter=function(e){var t=p.getString("Delete Filter",null,"Title"),a=p.getString("Are you sure you want to delete this filter?",null,"Info");h.activate({params:{title:t,message:a,confirm:function(){var t=u.delete(e).then(v.call).then(function(){m.success(p.getString("Custom filter deleted",null,"Info"))});d.track(t),h.deactivate()},cancel:function(){h.deactivate()}}})},a.enableCustomFilter=function(e){var t=u.enable(e).then(function(){m.success(p.getString("Status updated",null,"Info"))}).catch(function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,a=void 0===t?{}:t;throw e.Status=0,new Error(a.Error)});return d.track(t),t},a.disableCustomFilter=function(e){var t=u.disable(e).then(function(e){var t=e.data,a=void 0===t?{}:t;return m.success(p.getString("Status updated",null,"Info")),a}).catch(function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,a=void 0===t?{}:t;throw e.Status=1,new Error(a.Error)});return d.track(t),t}}}}u.$inject=["authentication","dispatchers","networkActivityTracker","Filter","gettextCatalog","notification","filterModal","confirmModal","eventManager"],t.default=u},"./src/app/filter/directives/emailBlockButton.js":function(e,t,a){"use strict";function n(e){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/filter/emailBlockButton.tpl.html"),scope:{},link:function(t,a,n){var o=n.targetList,r=function(){e.activate({params:{type:o,close:function(){e.deactivate()}}})};a.on("click",r),t.$on("$destroy",function(){a.off("click",r)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["filterAddressModal"],t.default=n},"./src/app/filter/directives/emailBlockList.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/throttle.js")),o=r(a("./node_modules/lodash/uniqBy.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,r){var s={whitelist:t.getString("Whitelist",null,"Info"),blacklist:t.getString("Blacklist",null,"Info")},i="emailBlockList-list",l="emailBlockList-btn-switch",c="emailBlockList-btn-delete";return{replace:!0,restrict:"E",templateUrl:a("./src/templates/filter/emailBlockList.tpl.html"),scope:{listType:"@"},link:function(t,a,d){var u=d.switchTo,p=e(),m=p.on,f=p.unsubscribe,h=r.list(r.getType(t.listType)),v=a[0].querySelector("."+i);t.filterName=s[t.listType],h.get().then(function(e){t.$applyAsync(function(){return t.entries=e})}),m("filters",function(){h.get().then(function(e){t.$applyAsync(function(){t.entries=(0,o.default)(e,"ID"),$(".tooltip").hide()})})});var g=(0,n.default)(function(){if(!h.isLoading()&&!h.isEnding()){var e=t.entries.length,a=e-50;(v.scrollTop+v.clientHeight)/v.scrollHeight>a/e&&h.get().then(function(e){t.$applyAsync(function(){t.entries=(0,o.default)(t.entries.concat(e),"ID")})})}},100),b=function(e){var t=e.target;"BUTTON"===t.nodeName&&(t.classList.contains(l)&&r.move(t.dataset.entryId,r.getType(u)),t.classList.contains(c)&&r.destroy(t.dataset.entryId))};v.addEventListener("scroll",g),a[0].addEventListener("click",b),t.$on("$destroy",function(){v.removeEventListener("scroll",g),a[0].removeEventListener("click",b),f(),r.clear()})}}}s.$inject=["dispatchers","gettextCatalog","spamListModel"],t.default=s},"./src/app/filter/directives/filterView.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/filter/filterView.tpl.html"),scope:{}}}},"./src/app/filter/directives/sieveLabelInput.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/lodash/each.js")),o=l(a("./node_modules/lodash/keys.js")),r=l(a("./node_modules/lodash/reduce.js")),s=l(a("./node_modules/lodash/values.js")),i=l(a("./node_modules/lodash/mapValues.js"));function l(e){return e&&e.__esModule?e:{default:e}}t.default=function(){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/filter/sieveLabelInput.tpl.html"),scope:{sieve:"="},link:{pre:function(e,t){var a=[];e.codeMirrorOptions={lineWrapping:!0,lineNumbers:!0,readOnly:!1,fixedGutter:!1,lint:{delay:800},gutters:["CodeMirror-lint-markers"],autoRefresh:!0,mode:"sieve"};var l=null,c=(0,i.default)({"'":["‹","›","‚","‘","‛","’","❛","❜","❮","❯"],'"':["«","»","„","“","‟","”","❝","❞","〝","〞","〟","""]},function(e){return new RegExp("["+e.join("")+"]","g")});e.codeMirrorLoaded=function(e){(l=e).on("change",function(){var e=l.getValue();if((0,s.default)(c).some(function(t){return t.exec(e)})){var t=(0,r.default)((0,o.default)(c),function(e,t){return e.replace(c[t],t)},e),a=l.getCursor();l.setValue(t),l.setCursor(a)}})};var d=t.find("label");d.on("click.focusSieve",function(){null!==l&&l.focus()}),a.push(function(){return d.off("click.focusSieve")}),e.$on("$destroy",function(){(0,n.default)(a,function(e){return e()}),a.length=0})}}}}},"./src/app/filter/directives/spamListSearch.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/debounce.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/filter/spamListSearch.tpl.html"),scope:{},link:function(t,a){var n=a.find("input"),o=(0,r.default)(function(t){var a=t.target;e.search(a.value.trim())},500);n.on("input",o),t.$on("$destroy",function(){n.off("input",o)})}}}s.$inject=["spamListModel"],t.default=s},"./src/app/filter/directives/spamLists.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/filter/spamLists.tpl.html")}}},"./src/app/filter/factories/filterModal.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=c(a("./node_modules/lodash/uniq.js")),r=c(a("./node_modules/lodash/head.js")),s=c(a("./node_modules/lodash/each.js")),i=c(a("./node_modules/lodash/filter.js")),l=c(a("./node_modules/lodash/find.js"));function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t,c,d,u,p,m,f,h,v,g,b){var y={TYPES:[{label:c.getString("Select",null,"Filter modal type"),value:"select"},{label:c.getString("the subject",null,"Filter modal type"),value:"subject"},{label:c.getString("the sender",null,"Filter modal type"),value:"sender"},{label:c.getString("the recipient",null,"Filter modal type"),value:"recipient"},{label:c.getString("the attachments",null,"Filter modal type"),value:"attachments"}],COMPARATORS:[{label:c.getString("contains",null,"Condition for custom filter"),value:"contains"},{label:c.getString("is exactly",null,"Condition for custom filter"),value:"is"},{label:c.getString("begins with",null,"Condition for custom filter"),value:"starts"},{label:c.getString("ends with",null,"Condition for custom filter"),value:"ends"},{label:c.getString("matches",null,"Condition for custom filter"),value:"matches"},{label:c.getString("does not contain",null,"Condition for custom filter"),value:"!contains"},{label:c.getString("is not",null,"Condition for custom filter"),value:"!is"},{label:c.getString("does not begin with",null,"Condition for custom filter"),value:"!starts"},{label:c.getString("does not end with",null,"Condition for custom filter"),value:"!ends"},{label:c.getString("does not match",null,"Condition for custom filter"),value:"!matches"}],OPERATORS:[{label:c.getString("AND",null,"Filter modal operators"),value:"all"},{label:c.getString("OR",null,"Filter modal operators"),value:"any"}],ERROR_PATTERN:c.getString("Text or pattern already included",null,"Error"),FILTER_UPDATED_SUCCESS:c.getString("Filter updated",null,"Notification"),FILTER_CREATED_SUCCESS:c.getString("Filter created",null,"Notification")},_=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).create,t=void 0===e?[]:e,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g.IS_LABEL;return angular.copy(t).filter(function(e){return e.Exclusive===a})};return t({controllerAs:"ctrl",templateUrl:a("./src/templates/filter/modal.tpl.html"),controller:["params","$scope",function(t,a){b.init();var c=g.get("labels"),j=g.get("folders"),A=this,S=angular.copy(t.filter);function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;v.activate({params:{label:{Exclusive:e},close:function(){v.deactivate()}}})}A.hasLabels=!1,A.hasMove=!1,A.hasMark=!1,A.folders=j,A.types=angular.copy(y.TYPES),A.comparators=angular.copy(y.COMPARATORS),A.operators=angular.copy(y.OPERATORS);var I=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=g.get("folders").reduce(function(e,t){return e[t.Name]=t,e},{});return(0,l.default)(e,function(e){return m.MAILBOX_IDENTIFIERS[e]||t[e]})||""};A.addLabel=function(){return C(0)},A.addFolder=function(){return C(1)},A.initialization=function(){var n=f(),o=n.on,r=n.unsubscribe;A.filter={ID:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).ID;return void 0===e?"":e}(S),Name:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Name;return void 0===e?"":e}(S),Status:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Status;return void 0===e?1:e}(S),Version:m.FILTER_VERSION},b.resetLastCheck(),"simple"===t.mode?(A.mode="simple",A.filter.Simple={Operator:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Simple,t=((void 0===e?{}:e).Operator||{}).value,a=void 0===t?"all":t;return(0,l.default)(A.operators,{value:a})}(S),Conditions:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Simple,t=(void 0===e?{}:e).Conditions,a=(void 0===t?[]:t).map(function(e){var t=e.Type,a=void 0===t?{}:t,n=e.Comparator,o=void 0===n?{}:n,r=e.Values;return{Values:void 0===r?[]:r,value:"",Type:(0,l.default)(A.types,{value:a.value}),Comparator:(0,l.default)(A.comparators,{value:o.value})}});return 0===a.length&&a.push({Values:[],value:"",Type:A.types[0],Comparator:A.comparators[0]}),a}(S),Actions:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Simple,t=(void 0===e?{}:e).Actions||{},a=t.FileInto,n=void 0===a?[]:a,o=t.Mark,r=void 0===o?{Read:!1,Starred:!1}:o,s=I(n);A.hasMove=!!s,A.hasMark=r.Read||r.Starred;var l={Labels:c.map(function(e){return e.Selected=-1!==n.indexOf(e.Name),e}),Move:s||"inbox",Mark:r};return A.hasLabels=!!(0,i.default)(l.Labels,{Selected:!0}).length,l}(S)}):"complex"===t.mode&&(A.mode="complex",A.filter.Sieve=S?S.Sieve:""),angular.isObject(A.filter.Simple)&&(o("labelsModel",function(e,t){var n=t.type,o=t.data;"cache.update"===n&&a.$applyAsync(function(){A.filter.Simple.Actions.Labels=A.filter.Simple.Actions.Labels.concat(_(o)),A.folders=A.folders.concat(_(o,g.IS_FOLDER))})}),o("autocompleteEmail",function(e,t){var a=t.type,n=t.data;"input.blur"===a&&"filter-modal-add-condition-input"===n.type&&A.addValue(A.filter.Simple.Conditions[Number(n.eventData)])}));var s=function(){return angular.element("#filterName").blur()};a.$on("$destroy",function(){angular.element('[ng-click="ctrl.cancel()"]').off("mouseover",s),r()}),e(function(){angular.element("#filterName").focus(),angular.element('[ng-click="ctrl.cancel()"]').on("mouseover",s)},100,!1)},A.onChangeAttachements=function(e,t){e.Comparator=(0,l.default)(A.comparators,{value:t})},A.displaySeparator=function(){if(A.filter.Simple){var e=A.filter.Simple.Conditions;return e.length>0&&"select"!==e[0].Type.value}return!1},A.valid=function(){var e=!0;if(e=A.filter.Name.length>0,(0,n.default)(A.filter.Simple||{}).length>0){var t=0;return(0,s.default)(A.filter.Simple.Conditions,function(a){e=e&&"select"!==a.Type.value,"subject"!==a.Type.value&&"sender"!==a.Type.value&&"recipient"!==a.Type.value||(e=e&&a.Values.length>0),"attachments"===a.Type.value&&t++}),e=(e=e&&t<=1)&&(A.hasLabels||A.hasMove||A.hasMark),!0===A.hasLabels&&(e=e&&(0,i.default)(A.filter.Simple.Actions.Labels,{Selected:!0}).length>0),!0===A.hasMark&&(e=e&&(A.filter.Simple.Actions.Mark.Starred||A.filter.Simple.Actions.Mark.Read)),!0===A.hasMove&&(e=e&&!!A.filter.Simple.Actions.Move),e}return A.filter.Sieve.length>0&&b.lastCheckWasValid()},A.addCondition=function(){A.filter.Simple.Conditions.push({Type:(0,r.default)(A.types),Comparator:(0,r.default)(A.comparators),Values:[],value:""})},A.addValue=function(e){-1===e.Values.indexOf(e.value)?e.value&&(e.Values.push(e.value),e.value=""):p.error(y.ERROR_PATTERN)},A.removeCondition=function(e){var t=A.filter.Simple.Conditions.indexOf(e);A.filter.Simple.Conditions.splice(t,1)};var x=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.FileInto,a=void 0===t?[]:t,n=e.Move,r=void 0===n?"":n,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,o.default)([r].filter(Boolean).concat(a,s))},E=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return function(){p.success(e),h.call(),t.close()}},n=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,a=void 0===e?{}:e;p.error(a.Error),50016===a.Code&&(h.call(),t.close())};return e.ID?d.update(e).then(a(y.FILTER_UPDATED_SUCCESS)).catch(n):d.create(e).then(a(y.FILTER_CREATED_SUCCESS)).catch(n)};A.save=function(){if("complex"!==t.mode){var a=angular.copy(A.filter);if((0,n.default)(A.filter.Simple||{}).length>0){if(!1===A.hasMove&&(a.Simple.Actions.Move=""),!1===A.hasMark&&(a.Simple.Actions.Mark={Read:!1,Starred:!1}),!0===A.hasLabels){var o=(0,i.default)(a.Simple.Actions.Labels,function(e){return!0===e.Selected}).map(function(e){return e.Name}),r=x(a.Simple.Actions,o);a.Simple.Actions.FileInto=r,delete a.Simple.Actions.Labels}else delete a.Simple.Actions.Labels;a.Simple.Actions.FileInto=x(a.Simple.Actions),delete a.Simple.Actions.Move}u.track(E(a))}else e(function(){var e=angular.copy(A.filter);delete e.Simple,delete e.Tree,u.track(E(e))},100,!1)},A.cancel=t.close,A.initialization()}]})}d.$inject=["$timeout","pmModal","gettextCatalog","Filter","networkActivityTracker","notification","CONSTANTS","dispatchers","eventManager","labelModal","labelsModel","sieveLint"],t.default=d},"./src/app/filter/factories/incomingModel.js":function(e,t,a){"use strict";function n(e,t,a,n){var o={ADD_SUCCESS:t.getString("Spam Filter Added",null,"Filters"),UPDATE_SUCCESS:t.getString("Spam Filter Updated",null,"Filters"),DELETE_SUCCESS:t.getString("Spam Filter Deleted",null,"Filters")},r=function(t){return e({message:t,classes:"notification-success"})};return{get:function(e){var t=a.get(e).then(function(e){var t=e.data;return(void 0===t?{}:t).IncomingDefaults});return n.track(t),t},update:function(e,t){var s=a.update({ID:e,Location:t}).then(function(e){var t=e.data,a=void 0===t?{}:t;return r(o.UPDATE_SUCCESS),a.IncomingDefault});return n.track(s),s},remove:function(e){var t=a.delete({IDs:[e]}).then(function(e){var t=e.data,a=void 0===t?{}:t;return r(o.DELETE_SUCCESS),a.IncomingDefault});return n.track(t),t},create:function(e){var t=a.add(e).then(function(e){var t=e.data,a=void 0===t?{}:t;return r(o.ADD_SUCCESS),a.IncomingDefault});return n.track(t),t}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["notify","gettextCatalog","IncomingDefault","networkActivityTracker"],t.default=n},"./src/app/filter/factories/spamListModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./node_modules/babel-runtime/core-js/promise.js")),o=d(a("./node_modules/babel-runtime/regenerator/index.js")),r=d(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),s=d(a("./node_modules/babel-runtime/helpers/defineProperty.js")),i=d(a("./node_modules/babel-runtime/core-js/object/create.js")),l=d(a("./node_modules/lodash/findIndex.js")),c=d(a("./node_modules/lodash/extend.js"));function d(e){return e&&e.__esModule?e:{default:e}}function u(e,t,a,d){var u,p,m=this,f=(u=(0,r.default)(o.default.mark(function e(){var t,a,r,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments[1];return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t={Page:0,PageSize:y},a=E(b),r=E(g),a.setLoader(!0),r.setLoader(!0),e.next=7,n.default.all([a.loadList((0,c.default)({},t,s)),r.loadList((0,c.default)({},t,s))]);case 7:a.setLoader(!1),r.setLoader(!1),w(),!i&&x(),!i&&C("change",{type:"load"});case 12:case"end":return e.stop()}},e,this)})),function(){return u.apply(this,arguments)}),h=(p=(0,r.default)(o.default.mark(function e(t){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return _.query=t,x(),e.next=4,f({Keyword:t},!0);case 4:C("search");case 5:case"end":return e.stop()}},e,this)})),function(e){return p.apply(this,arguments)}),v=t.MAILBOX_IDENTIFIERS,g=+v.spam,b=+v.inbox,y=100,_=I(),j=a(["filters"]),A=j.dispatcher,S=j.on,C=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return A.filters(e,t)};function I(){var e;return e={MAP:(0,i.default)(null)},(0,s.default)(e,g,{list:[],page:0}),(0,s.default)(e,b,{list:[],page:0}),e}var x=function(e){if(e)return _[b].ending&&(_[b].page=0,_[b].ending=!1),_[g].ending&&(_[g].page=0,_[g].ending=!1),_[e].page=0;_[b].page=0,_[g].page=0,_[b].ending=!1,_[g].ending=!1},E=function(e){var t,a,n,s=_[e],i=function(e){return s.page+=e},l=function(e){return s.loading=e},u=(t=(0,r.default)(o.default.mark(function t(a){var n;return o.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,d.get((0,c.default)({Location:e},a));case 2:return n=t.sent,!s.ending&&(s.list=n),t.abrupt("return",n);case 5:case"end":return t.stop()}},t,m)})),function(e){return t.apply(this,arguments)}),p=(a=(0,r.default)(o.default.mark(function t(){var a,n;return o.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(a=s.page,!(s.list.length&&s.list.length>=(a+2)*y)){t.next=5;break}return s.ending=s.list.length<y&&!s.invalidate,delete s.invalidate,t.abrupt("return",angular.copy(s.list));case 5:return i(1),l(!0),t.next=9,u({Location:e,Page:a,Keyword:_.query,PageSize:y});case 9:return n=t.sent,w(),l(!1),s.ending=n.length<y&&!s.invalidate,delete s.invalidate,t.abrupt("return",n);case 15:case"end":return t.stop()}},t,m)})),function(){return a.apply(this,arguments)}),f=(n=(0,r.default)(o.default.mark(function t(a){var n;return o.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,d.create({Email:a,Location:e});case 2:n=t.sent,s.list.unshift(n),_.MAP[n.ID]=n,x(n.Location),L();case 7:case"end":return t.stop()}},t,m)})),function(e){return n.apply(this,arguments)});return{extendPage:i,setLoader:l,loadList:u,get:p,add:f,isLoading:function(){return!!s.loading},isEnding:function(){return!!s.ending}}};function w(e){e&&(_.MAP=(0,i.default)(null));var t=_[g].list.concat(_[b].list).reduce(function(e,t){return e[t.ID]=t,e},(0,i.default)(null));(0,c.default)(_.MAP,t)}var T,M,D=(T=(0,r.default)(o.default.mark(function e(t,a){var n,r,s;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,d.update(t,a);case 3:n=e.sent,r=_.MAP[t],s=(0,l.default)(_[r.Location].list,function(e){return e.ID===r.ID}),_[r.Location].list.splice(s,1),_[a].list.unshift(n),_.MAP[r.ID]=n,_[r.Location].invalidate=!_[r.Location].ending,x(),L(),e.next=17;break;case 14:e.prev=14,e.t0=e.catch(0),35023===e.t0.Code&&(delete _.MAP[t],f({Search:_.query}));case 17:case"end":return e.stop()}},e,m,[[0,14]])})),function(e,t){return T.apply(this,arguments)}),k=(M=(0,r.default)(o.default.mark(function e(t){var a,n;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.remove(t);case 2:a=_.MAP[t],n=(0,l.default)(_[a.Location].list,function(e){return e.ID===a.ID}),_[a.Location].list.splice(n,1),_[a.Location].invalidate=!_[a.Location].ending,delete _.MAP[t],x(a.Location),L();case 9:case"end":return e.stop()}},e,m)})),function(e){return M.apply(this,arguments)});function L(){if(_.query)return h(_.query);C("change",{type:"refresh"})}var P=function(){return _=I()};return S("logout",function(){P()}),{list:E,load:f,move:D,destroy:k,search:h,refresh:L,clear:P,getType:function(e){return"whitelist"===e?b:g}}}u.$inject=["$q","CONSTANTS","dispatchers","incomingModel"],t.default=u},"./src/app/filter/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=h(a("./src/app/filter/directives/customFilterList.js")),o=h(a("./src/app/filter/directives/emailBlockButton.js")),r=h(a("./src/app/filter/directives/emailBlockList.js")),s=h(a("./src/app/filter/directives/filterView.js")),i=h(a("./src/app/filter/directives/sieveLabelInput.js")),l=h(a("./src/app/filter/directives/spamListSearch.js")),c=h(a("./src/app/filter/directives/spamLists.js")),d=h(a("./src/app/filter/factories/filterModal.js")),u=h(a("./src/app/filter/factories/incomingModel.js")),p=h(a("./src/app/filter/factories/spamListModel.js")),m=h(a("./src/app/filter/modals/filterAddressModal.js")),f=h(a("./src/app/filter/services/sieveLint.js"));function h(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.filter",["proton.constants","proton.utils"]).directive("customFilterList",n.default).directive("emailBlockButton",o.default).directive("emailBlockList",r.default).directive("filterView",s.default).directive("sieveLabelInput",i.default).directive("spamListSearch",l.default).directive("spamLists",c.default).factory("filterModal",d.default).factory("incomingModel",u.default).factory("spamListModel",p.default).factory("filterAddressModal",m.default).factory("sieveLint",f.default).name},"./src/app/filter/modals/filterAddressModal.js":function(e,t,a){"use strict";function n(e,t){return e({controllerAs:"ctrl",templateUrl:a("./src/templates/filter/filterAddressModal.tpl.html"),controller:["params",function(e){var a=this;this.filter={Email:""},this.cancel=e.close,this.type=e.type,this.create=function(){t.list(t.getType(e.type)).add(a.filter.Email),e.close()},setTimeout(function(){angular.element("#emailAddress").focus()},100)}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["pmModal","spamListModel"],t.default=n},"./src/app/filter/services/sieveLint.js":function(e,t,a){"use strict";function n(e,t){var a=!0;return{init:function(){window.CodeMirror.registerHelper("lint","sieve",function(n){if(""===n.trim()){var o=n.split("\n")[0];return[{message:"A sieve script cannot be empty",severity:"error",from:window.CodeMirror.Pos(0,0),to:window.CodeMirror.Pos(0,o.length)}]}return e.check({Version:t.FILTER_VERSION,Sieve:n}).then(function(e){return 200!==e.status?[]:(a=0===e.data.Issues.length,e.data.Issues)})})},lastCheckWasValid:function(){return a},resetLastCheck:function(){a=!0}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["Filter","CONSTANTS"],t.default=n},"./src/app/labels/directives/createLabel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/extend.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/labels/createLabel.tpl.html"),scope:{name:"=labelName",message:"="},link:function(a,n){var o=function(){t.activate({params:{label:{Name:a.name,Exclusive:0},close:function(n){t.deactivate(),a.message&&n&&function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.$emit("messageActions",{type:"label",data:{messages:[t],labels:[(0,r.default)({},a,{Selected:!0})]}})}(a.message,n)}}})};n.on("click",o),a.$on("$destroy",function(){n.off("click",o)})}}}s.$inject=["$rootScope","labelModal"],t.default=s},"./src/app/labels/directives/dropdownFolders.js":function(e,t,a){"use strict";function n(e,t,n,o,r,s){var i=[{Name:s.getString("Inbox",null),ID:r.MAILBOX_IDENTIFIERS.inbox,Order:9999,className:"fa-inbox"},{Name:s.getString("Archive",null),ID:r.MAILBOX_IDENTIFIERS.archive,Order:9999,className:"fa-archive"},{Name:s.getString("Spam",null),ID:r.MAILBOX_IDENTIFIERS.spam,Order:9999,className:"fa-ban"},{Name:s.getString("Trash",null),ID:r.MAILBOX_IDENTIFIERS.trash,Order:9999,className:"fa-trash-o"}],l=function(){return t.$emit("closeDropdown")};return{restrict:"E",templateUrl:a("./src/templates/labels/dropdownFolders.tpl.html"),replace:!0,scope:{getElements:"=elements"},link:function(a,r){var s=angular.element(r).closest(".pm_buttons").find(".open-folder"),c=r[0].querySelector(".dropdown-folder-search-input");function d(){var t=e.get("folders").map(function(e){return e.className="fa-folder",e});a.$applyAsync(function(){a.labels=i.concat(t)});var n=setTimeout(function(){return c.focus(),clearTimeout(n)},100)}function u(e){"BUTTON"===e.target.tagName&&(e.target.classList.contains("dropdown-folder-scrollbox-group-item-button")&&a.$applyAsync(function(){var o=e.target.getAttribute("data-folder-id"),r=a.getElements(),s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return!!e.length&&(void 0!==e[0].ConversationID?"message":"conversation")}(r);t.numberElementChecked=0,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=e.map(function(e){return e.ID});"conversation"===a?n.move(r,o):"message"===a&&t.$emit("messageActions",{type:"move",data:{ids:r,labelID:o}})}(r,s,o),l()}),e.target.classList.contains("dropdown-folder-create-button")&&o.activate({params:{label:{Exclusive:1},close:function(){o.deactivate()}}}))}s.on("click",d),r.on("click",u),a.color=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Color;return{color:void 0===e?"inherit":e}},a.$on("$destroy",function(){s.off("click",d),r.off("click",u)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["labelsModel","$rootScope","actionConversation","labelModal","CONSTANTS","gettextCatalog"],t.default=n},"./src/app/labels/directives/dropdownLabels.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/find.js")),o=r(a("./node_modules/lodash/reduce.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,r,s,i,l,c,d){var u={LABELS_SAVED:d.getString("Labels Saved",null,"dropdown label"),LABEL_SAVED:d.getString("Label Saved",null,"dropdown label")},p=function(){return e.$emit("closeDropdown")};return{restrict:"E",templateUrl:a("./src/templates/directives/dropdownLabels.tpl.html"),replace:!0,scope:{getMessages:"=messages",saveLabels:"=save",message:"="},link:function(a,i){var d=angular.element(i).closest(".pm_buttons").find(".open-label"),m=angular.element(i[0].querySelector(".dropdown-label-search-input")),f=function(){a.$applyAsync(function(){if(angular.isFunction(a.getMessages)||angular.isFunction(a.saveLabels)){var e=a.getMessages(),n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(0,o.default)(e,function(e,t){var a=t.LabelIDs,n=void 0===a?[]:a,o=t.Labels,r=void 0===o?[]:o;return r.length?(r.forEach(function(t){var a=t.ID;return e[a]?e[a]++:e[a]=1}),e):(n.forEach(function(t){return e[t]?e[t]++:e[t]=1}),e)},{})}(e);a.labelName="",a.labels=r.get("labels"),a.alsoArchive=Boolean(s.get("AlsoArchive")),a.labels.forEach(function(t){var a=n[t.ID]||0;a>0&&a<e.length?t.Selected=null:t.Selected=a>0}),t(function(){return m.focus()},100,!1)}})},h=function(t){t.stopPropagation(),a.$applyAsync(function(){e.numberElementChecked=0,a.saveLabels(a.labels,a.alsoArchive),p(),l.success(u.LABELS_SAVED)})},v=function(e){if("I"===e.target.nodeName){var t=e.target.getAttribute("data-label-id");t&&a.$applyAsync(function(){(0,n.default)(a.labels,{ID:t}).Selected=!0,a.saveLabels(a.labels,a.alsoArchive),p(),l.success(u.LABEL_SAVED)})}};i.on("submit",h),i.on("click",v),d.on("click",f),a.color=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Color;return{color:void 0===e?"inherit":e}},a.changeAlsoArchive=function(){c.updateAlsoArchive({AlsoArchive:+a.alsoArchive})},a.$on("$destroy",function(){d.off("click",f),i.off("submit",h),i.off("click",v)})}}}s.$inject=["$rootScope","$timeout","labelsModel","mailSettingsModel","eventManager","notification","settingsMailApi","gettextCatalog"],t.default=s},"./src/app/labels/directives/validLabel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e={index:0};return{require:"ngModel",restrict:"A",link:function(t,a,n,o){o.$validators.validLabel=function(t){return function(a){return e.index?(t.$error.validLabel=!!e.value||!/<|>/.test(a),t.$error.validLabel):(e.index++,e.value=t.$modelValue,t.$error.validLabel=!!e.value,t.$error.validLabel)}}(o),t.$on("$destroy",function(){delete e.value,e.index=0})}}}},"./src/app/labels/factories/labelsModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=p(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=p(a("./node_modules/babel-runtime/core-js/object/create.js")),r=p(a("./node_modules/lodash/fp/sortBy.js")),s=p(a("./node_modules/lodash/fp/filter.js")),i=p(a("./node_modules/lodash/fp/flow.js")),l=p(a("./node_modules/lodash/sortBy.js")),c=p(a("./node_modules/lodash/reduce.js")),d=p(a("./node_modules/lodash/map.js")),u=p(a("./src/app/utils/helpers/updateCollection.js"));function p(e){return e&&e.__esModule?e:{default:e}}function m(e,t,a){var p=t(["labelsModel"]),m=p.dispatcher,f={labels:[],folders:[],all:[],map:{all:{},folders:{},labels:{}}},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m.labelsModel(e,t)},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(0,d.default)(e,g)};function g(e){return e.Name=a.input(e.Name),e.Color=a.input(e.Color),e.notify=!!e.Notify,e}var b=function(){f.map=(0,c.default)(f.all,function(e,t){var a=0===t.Exclusive?"labels":"folders";return e.all[t.ID]=t,e[a][t.ID]=t,e},{all:(0,o.default)(null),labels:(0,o.default)(null),folders:(0,o.default)(null)})},y=function(e){return(0,i.default)((0,s.default)({Exclusive:e}),(0,r.default)("Order"))(f.all)},_=function(){f.labels=y(0)},j=function(){f.folders=y(1)},A=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];f.all=v(e),b(),_(),j()},S=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";return f.map[t][e]};return(0,p.on)("AppModel",function(e,t){var a=t.type,n=t.data;"loggedIn"===a&&!(void 0===n?{}:n).value&&A()}),{get:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all";return angular.copy(f[e])},set:A,contains:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";return!!S(e,t)},sort:function(){return f.all=(0,l.default)(f.all,function(e){var t=e.Name;return(void 0===t?"":t).toLowerCase()}),h("cache.update"),f.all},sync:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=(0,u.default)(f.all,e,"Label"),a=t.collection,n=t.todo;f.all=v((0,l.default)(a,"Order")),b(),_(),j(),h("cache.update",n)},read:S,ids:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all";return(0,n.default)(f.map[e]||{})},refresh:function(){b(),_(),j(),h("cache.refresh")},IS_LABEL:0,IS_FOLDER:1}}m.$inject=["CONSTANTS","dispatchers","sanitize"],t.default=m},"./src/app/labels/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./src/app/labels/directives/createLabel.js")),o=c(a("./src/app/labels/directives/dropdownFolders.js")),r=c(a("./src/app/labels/directives/dropdownLabels.js")),s=c(a("./src/app/labels/factories/labelsModel.js")),i=c(a("./src/app/labels/modals/labelModal.js")),l=c(a("./src/app/labels/directives/validLabel.js"));function c(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.labels",[]).directive("validLabel",l.default).directive("createLabel",n.default).directive("dropdownFolders",o.default).directive("dropdownLabels",r.default).factory("labelsModel",s.default).factory("labelModal",i.default).name},"./src/app/labels/modals/labelModal.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/random.js")),o=r(a("./node_modules/lodash/extend.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,r,s,i,l,c,d,u){var p=t.colors(),m={EDIT_FOLDER:s.getString("Edit folder",null,"Title"),EDIT_LABEL:s.getString("Edit label",null,"Title"),CREATE_NEW_FOLDER:s.getString("Create new folder",null,"Title"),CREATE_NEW_LABEL:s.getString("Create new label",null,"Title"),FOLDER_UPDATED:s.getString("Folder updated",null,"Label modal"),LABEL_UPDATED:s.getString("Label updated",null,"Label modal"),FOLDER_CREATED:s.getString("Folder created",null,"Label modal"),LABEL_CREATED:s.getString("Label created",null,"Label modal"),ERROR_MESSAGE:s.getString("Error when saving label",null,"Error label modal"),ERROR_FOLDER_NAME:s.getString("Invalid folder name",null,"Error label modal"),ERROR_LABEL_NAME:s.getString("Invalid label name",null,"Error label modal")};return e({controllerAs:"ctrl",templateUrl:a("./src/templates/modals/label.tpl.html"),controller:["params",function(e){var t=this,a=e.label,r=a.ID,s=a.Name,f=void 0===s?"":s,h=a.Color,v=void 0===h?"":h,g=a.Exclusive,b=void 0===g?0:g,y=function(e){var t=e.ID,a=e.Exclusive,n=void 0===a?0:a;return t?n?m.FOLDER_UPDATED:m.LABEL_UPDATED:n?m.FOLDER_CREATED:m.LABEL_CREATED}(e.label),_=(0,n.default)(0,p.length-1);this.ID=r,this.exclusive=b,this.title=function(e){var t=e.ID,a=e.Exclusive,n=void 0===a?0:a;return t?n?m.EDIT_FOLDER:m.EDIT_LABEL:n?m.CREATE_NEW_FOLDER:m.CREATE_NEW_LABEL}(e.label),this.name=f||"",this.notify=function(e){var t=e.Exclusive,a=void 0===t?0:t,n=e.Notify;return angular.isDefined(n)?!!n:!!a}(e.label),this.colors=p,this.color=v||p[_],this.create=function(a){if(!a.$invalid){var n,s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,o.default)({},e,{Name:u.input(e.Name),Color:u.input(e.Color)})}({ID:r,Exclusive:b,Name:t.name,Color:t.color,Notify:+!!t.notify});if(!s.Name)return t.name=s.Name,d.error(void 0!==(n=s.Exclusive)&&n?m.ERROR_FOLDER_NAME:m.ERROR_LABEL_NAME);var p=function(e){var t=e.ID,a=e.Name,n=void 0===a?"":a,o=e.Color,r=void 0===o?"":o,s=e.Display,i=void 0===s?1:s,d=e.Exclusive,u=void 0===d?0:d,p=e.Notify,f=void 0===p?0:p;return c[t?"update":"create"]({ID:t,Name:n,Color:r,Display:i,Exclusive:u,Notify:f}).then(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data;return(void 0===e?{}:e).Label}).then(function(e){return l.call().then(function(){return e})}).catch(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data;throw new Error((void 0===e?{}:e).Error||m.ERROR_MESSAGE)})}(s).then(function(t){d.success(y),(e.onSuccess||angular.noop)(t),e.close(t)});i.track(p)}},this.cancel=function(){e.close()},setTimeout(function(){angular.element("#labelName").focus()},100,!1)}]})}s.$inject=["pmModal","tools","hotkeys","gettextCatalog","networkActivityTracker","eventManager","Label","notification","sanitize"],t.default=s},"./src/app/message/directives/actionMessage.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/json/stringify.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a,n,o,s){var i=function(e){var t=e.message;!0===t.showEmbedded&&(t.showEmbedded=!1),!0===t.showImages&&(t.showImages=!1)};return{link:function(l,c,d){var u=d.actionMessage,p=d.actionMessageType,m=void 0===p?"":p,f=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";e.$emit("messageActions",{type:n,data:{ids:[a.ID],labelID:t.MAILBOX_IDENTIFIERS[o]}})}}(l.message);function h(){switch(u){case"unread":l.$applyAsync(function(){l.message.expand=!1,l.message.IsRead=0}),f(u,m);break;case"togglePlainHtml":l.$applyAsync(function(){i(l),l.message.viewMode="plain"===l.message.viewMode?"html":"plain"}),f(u,m);break;case"toggleDetails":l.$applyAsync(function(){l.message.toggleDetails=!l.message.toggleDetails});break;case"print":var e=l.message;e.content=c.parents(".message").get(0).querySelector(".message-body-container").innerHTML,n.open("printer",{messageID:e.ID},{message:e,data:(0,r.default)(e)});break;case"viewPgp":var t=l.message;n.open("pgp",{messageID:t.ID},{message:t,data:t.Header+"\n\r"+t.Body});break;case"downloadEml":var d=l.message,p=d.Header,h=void 0===p?"":p,v=d.Subject,g=void 0===v?"":v,b=d.Time,y=o.construct(l.message,!1).then(function(e){var t=e.indexOf("\r\n\r\n"),n=e.substring(0,t),o=h.replace(/Content-Type:.*$/m,n),r=e.substring(t+4),s=new Blob([o+"\n\r"+r],{type:"data:text/plain;charset=utf-8;"}),i=g+" "+moment.unix(b).format()+".eml";a(s,i)});s.track(y);break;default:f(u,m)}}c.on("click",h),l.$on("$destroy",function(){c.off("click",h)})}}}s.$inject=["$rootScope","CONSTANTS","downloadFile","openStatePostMessage","mimeMessageBuilder","networkActivityTracker"],t.default=s},"./src/app/message/directives/allMessageLabels.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{replace:!0,templateUrl:a("./src/templates/message/allMessageLabels.tpl.html")}}},"./src/app/message/directives/displayContentBtn.js":function(e,t,a){"use strict";function n(e,t){var n={embedded:t.getString("This message contains embedded images",null,"Action"),remote:t.getString("This message contains remote content",null,"Action")};return{replace:!0,templateUrl:a("./src/templates/message/displayContentBtn.tpl.html"),link:function(t,a,o){var r=o.action,s=void 0===r?"remote":r,i=a[0].querySelector(".displayContentBtn-notice-text"),l=a.find(".displayContentBtn-button");i.textContent=n[s];var c=function(){e.$emit("message.open",{type:"injectContent",data:{message:t.message,action:s}}),a[0].classList.remove("displayContentBtn-type-"+s)};l.on("click",c),t.$on("$destroy",function(){l.off("click",c)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope","gettextCatalog"],t.default=n},"./src/app/message/directives/embeddedImgLoader.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/promise.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a){var n=t(["message.open"]),o=n.dispatcher,s=n.on,i=n.unsubscribe,l=function(t){var n=t.body,s=t.message,i=t.action,l=n?n.querySelectorAll("[data-embedded-img]"):[],c=[].slice.call(l).filter(function(e){return-1===e.src.indexOf("cid:")}).reduce(function(e,t){var n=a.getUrl(t);return n&&(!function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],a=arguments[2];e[t.getAttribute("data-embedded-img")]=a}(e.map,t,n),e.list.push(function(e,t){var a=new Image;return new r.default(function(n,o){a.src=t,a.onload=function(){return n({img:e,src:t})},a.onerror=function(e){return o({error:e,src:t})}})}(t,n))),e},{map:{},list:[]}),d=c.map,u=c.list;r.default.all(u).then(function(e){_rAF(function(){e.forEach(function(e){var t=e.img,a=e.src;t.src=a,t.classList.add("proton-embedded")});var t=n?n.querySelectorAll(".loading"):[];t.length&&$(t).contents().unwrap(),e.length&&o["message.open"]("embedded.injected",{action:i,map:d,message:s,body:n.innerHTML})})}).catch(e.error)};return{link:function(e){s("message.embedded",function(t,a){var n=a.type,o=a.data;"loaded"===n&&e.$applyAsync(function(){return l(o)})}),e.$on("$destroy",i)}}}s.$inject=["$log","dispatchers","embedded"],t.default=s},"./src/app/message/directives/filterButton.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/lodash/fp/uniq.js")),o=s(a("./node_modules/lodash/fp/map.js")),r=s(a("./node_modules/lodash/fp/flow.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e,t){return{restrict:"E",replace:!0,scope:{message:"="},templateUrl:a("./src/templates/message/filterButton.tpl.html"),link:function(a,s){a.model={};var i=s[0].querySelector(".filterButton-btn-next");function l(){a.model.subject=!1,a.model.sender=!1,a.model.recipient=!1,a.model.attachments=!1}l();var c=function(){a.$applyAsync(function(){var i,c,d,u,p,m,f,h,v,g=[];a.model.subject&&g.push({Type:{value:"subject"},Comparator:{value:"contains"},Values:[a.message.Subject]}),a.model.sender&&g.push({Type:{value:"sender"},Comparator:{value:"contains"},Values:[a.message.Sender.Address]}),a.model.recipient&&g.push({Type:{value:"recipient"},Comparator:{value:"contains"},Values:(i=a.message,c=i.ToList,d=void 0===c?[]:c,u=i.CCList,p=void 0===u?[]:u,m=i.BCCList,f=void 0===m?[]:m,(0,r.default)((0,o.default)(function(e){return e.Address}),n.default)([].concat(d,p,f)))}),a.model.attachments&&g.push({Type:{value:"attachments"},Comparator:{value:(h=a.message,v=h.Attachments,(void 0===v?[]:v).length?"contains":"!contains")}});var b={Simple:{Operator:{value:"all"},Actions:[],Conditions:g}};t.extraVendor().then(function(){e.activate({params:{mode:"simple",filter:b,close:function(){e.deactivate()}}})}),l(),s.click()})};i.addEventListener("click",c),a.$on("$destroy",function(){i.removeEventListener("click",c)})}}}i.$inject=["filterModal","lazyLoader"],t.default=i},"./src/app/message/directives/foldersMessage.js":function(e,t,a){"use strict";function n(e,t,n,o){var r=o({MAP_LABELS:{archive:{className:"fa-archive",tooltip:t.getString("In archive",null)},trash:{className:"fa-trash-o",tooltip:t.getString("In trash",null)},spam:{className:"fa-ban",tooltip:t.getString("In spam",null)},folder:{className:"fa-folder"}},MAP_TYPES:{drafts:{className:"pm_tag",tooltip:t.getString("Draft",null)},sent:{className:"pm_tag",tooltip:t.getString("Sent",null)}}}),s=r.getTemplateLabels,i=r.getTemplateType;return{templateUrl:a("./src/templates/message/foldersMessage.tpl.html"),replace:!0,link:function(t,a){var o=e(),r=o.on,l=o.unsubscribe,c=function(e,o){var r=o.LabelIDs,l=o.Type,c="";Array.isArray(r)&&(c+=s(r)),angular.isNumber(l)&&(c+=i(l)),a.empty().append(n(c)(t))};r("foldersMessage."+t.message.ID,c),c(0,t.message),t.$on("$destroy",l)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","gettextCatalog","$compile","mailboxIdentifersTemplate"],t.default=n},"./src/app/message/directives/injectMessageMedia.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=s(a("./node_modules/lodash/each.js")),r=s(a("./node_modules/lodash/defer.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a){var s=function(e){var t=Math.random().toString(32).slice(2,12)+"-"+Date.now();e.setAttribute("data-hash",t),angular.element(e).wrap('<div class="image loading" data-hash="'+t+'"></div>')},i=function(e){return e.forEach(s)},l=function(e,t){(0,r.default)(function(){var a=e.querySelector('.loading[data-hash="'+t+'"]');a&&$(a).contents().unwrap()},100)};function c(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.attribute,n=t.selector,o=t.setLoader,r=void 0===o||o,i=t.container;e.forEach(function(e){r&&s(e),e.removeAttribute(a),"IMG"!==e.nodeName&&(e.setAttribute(a,t.getValue(e)),l(i,e.dataset.hash)),"IMG"===e.nodeName&&(e.onload=function(){return l(i,e.dataset.hash)},e.onerror=function(){console.error("Could not load "+e.getAttribute(n)),l(i,e.dataset.hash)},e.setAttribute(a,t.getValue(e)))})}function d(e,t){var a=t.map,o=t.action,r=e[0],s=(0,n.default)(a).map(function(e){return'[proton-src="'+e+'"]'}).join(","),l=[].slice.call(r.querySelectorAll(s||'[proton-src^="cid:"]'));if("user.inject.load"===o)return i(l);c(l,{selector:"proton-src",attribute:"src",setLoader:!1,container:r,map:a,getValue:function(e){return this.map[e.getAttribute("proton-src")]}})}return{link:function(r,s){var i=e(),l=i.on,u=i.unsubscribe;l("message.open",function(e,i){var l,u=i.type,p=i.data;if(p.message.ID===r.message.ID)switch(u){case"injectContent":var m=r.body||r.message.getDecryptedBody(!0);r.$applyAsync(function(){"remote"===p.action&&t(r.message,m,"user.inject"),"embedded"===p.action&&a(r.message,m,"user.inject")});break;case"remote.injected":if("user.inject"===p.action)return l=s,(0,o.default)(l[0].querySelectorAll("[style]"),function(e){e.setAttribute("style",e.getAttribute("style").replace(/proton-(url)/g,"$1"))}),function(e,t){var a=t.list,o=t.hasSVG,r=e[0],s=a.reduce(function(e,t){return(0,n.default)(t).reduce(function(e,a){return e[a]=(e[a]||[]).concat("["+a+'="'+t[a]+'"]'),e},e)},{});(0,n.default)(s).forEach(function(e){var t=e.substring(7);c([].slice.call(r.querySelectorAll("["+e+"]:not(["+e+'^="cid:"])')),{selector:e,attribute:t,container:r,getValue:function(e){return e.getAttribute(this.selector)}})}),o&&(r.innerHTML=r.innerHTML.replace(/proton-svg/g,"svg"))}(s,p);break;case"embedded.injected":if("user.inject.load"===p.action)return d(s,p);if("user.inject"===p.action)return d(s,p)}}),r.$on("$destroy",u)}}}i.$inject=["dispatchers","displayImages","displayEmbedded"],t.default=i},"./src/app/message/directives/message.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/babel-runtime/core-js/promise.js")),o=l(a("./node_modules/babel-runtime/regenerator/index.js")),r=l(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),s=l(a("./node_modules/lodash/has.js")),i=l(a("./node_modules/lodash/extend.js"));function l(e){return e&&e.__esModule?e:{default:e}}p.$inject=["$state","dispatchers","cache","displayContent","messageScroll","tools","unsubscribeModel","$exceptionHandler"];var c={UNDISCLOSED:"message-undisclosed"},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.ToList,a=void 0===t?[]:t,n=e.CCList,o=void 0===n?[]:n,r=e.BCCList,s=void 0===r?[]:r;return a.concat(o,s)},u=function(e){return!d(e).length};function p(e,t,l,p,m,f,h,v){return{restrict:"E",replace:!0,templateUrl:a("./src/templates/message/message.tpl.html"),scope:{message:"=model",marked:"=",last:"=",index:"="},link:function(a,g){var b=this,y=t(["messageActions","composer.load"]),_=y.on,j=y.dispatcher,A=y.unsubscribe,S=function(e){g[0].classList[u(e)?"add":"remove"](c.UNDISCLOSED)};S(a.message);var C,I=function(){return l.getMessage(a.message.ID).then(function(e){return(0,i.default)(a.message,e)})},x=(C=(0,r.default)(o.default.mark(function e(t){var n,r,s;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t;case 3:n=e.sent,r=n.type,s=n.body,a.$applyAsync(function(){a.message.expand=!0,a.message.isPlain="plain"===r,r&&s&&(a.message.viewMode="html",a.body=s)}),e.next=14;break;case 9:e.prev=9,e.t0=e.catch(0),console.error(e.t0),v(e.t0),a.$applyAsync(function(){a.message.expand=!0,a.message.viewMode="plain",a.message.hasError=!0,a.message.errorInfo=e.t0});case 14:case"end":return e.stop()}},e,b,[[0,9]])})),function(e){return C.apply(this,arguments)}),E=function(){return x(p(a.message,a.body,a.index))};function w(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).expand;if(1!==a.message.Type){if(!1===t)return(0,s.default)(a.message,"showEmbedded")&&(a.message.showEmbedded=!1),void((0,s.default)(a.message,"showImages")&&(a.message.showImages=!1));(void 0===a.message.Body?I():n.default.resolve()).then(E).then(function(){a.$applyAsync(function(){$(document.getElementById("pm_thread")).focus()})})}else(e.includes("secured.drafts.**")||e.includes("secured.allDrafts.**"))&&j["composer.load"]("",a.message)}a.body="",a.unsubscribed=h.already(a.message.getListUnsubscribe()),(a.message.openMe||a.message.expand)&&w(),_("message.open",function(t,n){var o=n.type,r=n.data;if(r.message.ID===a.message.ID)switch(o){case"toggle":if(w(r),r.action)return m.to({index:a.index,message:a.message,node:g[0]});break;case"embedded.injected":r.action||a.$applyAsync(function(){return a.body=r.body});break;case"save.success":if(e.includes("secured.allDrafts.**"))return e.go("secured.allDrafts");if(e.includes("secured.drafts.**"))return e.go("secured.drafts");w()}}),_("message",function(e,t){var n=t.type,o=void 0===n?"":n,r=t.data;"unsubscribed"===o&&(void 0===r?{}:r).message.ID===a.message.ID&&a.$applyAsync(function(){a.unsubscribed=h.already(a.message.getListUnsubscribe())})}),_("message.refresh",function(t,n){if(n.indexOf(a.message.ID)>-1){var o=l.getMessageCached(a.message.ID),r=f.typeView();o&&function(t){var a=t.LabelIDs,n=void 0===a?[]:a,o=f.currentLocation(),r=-1!==n.indexOf(o),s=f.typeView(),i=e.includes("secured.search.**");return"conversation"===s||i||r}(o)?(a.message=(0,i.default)(a.message,o),S(a.message)):"message"===r&&(s=e.$current.name.replace(".element",""),e.go(s,{id:null}))}var s}),a.getElements=function(){return[a.message]},a.recipients=function(){return d(a.message)},a.noRecipients=function(){return u(a.message)},a.getMessage=function(){return[a.message]},a.saveLabels=function(e,t){var n=[a.message];j.messageActions("label",{messages:n,labels:e,alsoArchive:t})},a.$on("$destroy",A)}}}t.default=p},"./src/app/message/directives/messageAutoGenerated.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{replace:!0,restrict:"E",templateUrl:a("./src/templates/message/messageAutoGenerated.tpl.html")}}},"./src/app/message/directives/messageComposeTo.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t){return{replace:!0,template:'<button class="fa fa-pencil messageComposeTo-container" pt-tooltip-translate="Compose to"></button>',link:function(a,n,o){var r=o.key,s=function(){var n=t(),o=r?a.message[r]:a.email;n.ToList=[o],e.$emit("composer.new",{type:"new",data:{message:n}})};n.on("click",s),a.$on("$destroy",function(){n.off("click",s)})}}};n.$inject=["$rootScope","messageModel"],t.default=n},"./src/app/message/directives/messageContacts.js":function(e,t,a){"use strict";function n(e){var t={BCC:e.getString("BCC",null,"Title"),CC:e.getString("CC",null,"Title"),To:e.getString("To",null,"Title")};return{templateUrl:a("./src/templates/message/messageContacts.tpl.html"),replace:!0,scope:{model:"="},link:function(e,a,n){var o=n.list,r=void 0===o?"To":o;a[0].querySelector(".messageContacts-where").textContent=t[r]}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["gettextCatalog"],t.default=n},"./src/app/message/directives/messageDisplayError.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=(0,r(a("./node_modules/babel-runtime/helpers/taggedTemplateLiteral.js")).default)(["\n\n\n === Debug stacktrace for the support ===\n ","\n "],["\n\n\n === Debug stacktrace for the support ===\n ","\n "]),o=r(a("./src/helpers/dedent.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e){var t="messageDisplayError-btn-report";return{replace:!0,restrict:"E",templateUrl:a("./src/templates/message/messageDisplayError.tpl.html"),link:function(a,r){var s=function(r){r.target.classList.contains(t)&&(r.preventDefault(),e.$emit("bugReport",{type:"new",data:{content:(0,o.default)(n,a.message.errorInfo.stack)}}))};r.on("click",s),a.$on("$destroy",function(){r.off("click",s)})}}}s.$inject=["$rootScope"],t.default=s},"./src/app/message/directives/messageExtra.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{restrict:"E",templateUrl:a("./src/templates/message/messageExtra.tpl.html"),replace:!0}}},"./src/app/message/directives/messagePgpAttachments.js":function(e,t,a){"use strict";function n(e){return{replace:!0,restrict:"E",template:'\n <div class="messagePgpAttachments-container">\n <div class="messagePgpAttachments-notice">\n <span class="messagePgpAttachments-notice-text">'+e.getString("PGP/MIME Attachments Not Supported",null,"Error")+'</span>\n <div class="messagePgpAttachments-notice-sub">'+e.getString("This PGP/MIME message contains attachments which currently are not supported by ProtonMail.",null,"Error")+"</div>\n </div>\n </div>\n "}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["gettextCatalog"],t.default=n},"./src/app/message/directives/messageSpamScore.js":function(e,t,a){"use strict";function n(e){var t={100:e.getString("This email seems to be from a ProtonMail address but came from outside our system and failed our authentication requirements. It may be spoofed or improperly forwarded!",null,"Info"),101:e.getString("This email has failed its domain's authentication requirements. It may be spoofed or improperly forwarded!",null,"Info")};return{replace:!0,template:'<div class="messageSpamScore-container">\n <span class="messageSpamScore-notice"></span>\n </div>',link:function(e,a,n){var o=n.score;a[0].querySelector(".messageSpamScore-notice").textContent=t[o]}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["gettextCatalog"],t.default=n},"./src/app/message/directives/messageView.js":function(e,t,a){"use strict";function n(e,t,n,o,r,s,i,l){function c(){var e=t.$current.name.replace(".element","");t.go(e,{id:""},{reload:!0})}return{restrict:"E",replace:!0,templateUrl:a("./src/templates/message/messageView.tpl.html"),link:function(t){var a=n(),d=a.on,u=a.unsubscribe,p=e.id,m=angular.noop;s.getMessage(p).then(function(e){t.$applyAsync(function(){e.openMe=!0,t.message=e,o.numberElementSelected=1,m=r(t.message),d("message.expiration",c)}),i.unbind(["down","up"])}),t.$on("move",function(e,a){var n=l.MAILBOX_IDENTIFIERS[a];o.numberElementChecked||o.$emit("messageActions",{type:"move",data:{ids:[t.message.ID],labelID:n}})}),t.$on("$destroy",function(){i.bind(["down","up"]),m(),u()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$stateParams","$state","dispatchers","$rootScope","conversationListeners","cache","hotkeys","CONSTANTS"],t.default=n},"./src/app/message/directives/renderMessageBody.js":function(e,t,a){"use strict";function n(e,t,a){var n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";switch(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"load"){case"load":(t.length>1e4||!t)&&e.dispatch("load");break;default:e.dispatch("close")}};return{link:function(o,r){n(o.body);var s=function(e){"nodeInserted"===e.animationName&&n(o.body,"close")},i=function(e){"nodeInserted"===e.animationName&&o.$applyAsync(function(){t.$emit("message.open",{type:"render",data:{message:o.message,index:o.index}})})};r[0].addEventListener("animationstart",s,!1),r[0].addEventListener("animationend",i,!1);var l=o.$watch("body",function(){o.$applyAsync(function(){r[0].innerHTML=a.getTrustedHtml(a.trustAsHtml(o.body))})});o.$on("$destroy",function(){r[0].removeEventListener("animationstart",s,!1),r[0].removeEventListener("animationend",i,!1),l(),e.dispatch("close")})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["networkActivityTracker","$rootScope","$sce"],t.default=n},"./src/app/message/directives/toggleBlockquote.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){return{restrict:"A",link:function(e,t){var a=function(e){"BUTTON"===e.target.tagName&&e.target.classList.contains("more")&&(e.preventDefault(),e.target.classList.toggle("proton-message-blockquote-toggle"))};t.on("click",a),e.$on("$destroy",function(){t.off("click",a)})}}}},"./src/app/message/directives/toggleMessage.js":function(e,t,a){"use strict";function n(e,t){return{restrict:"A",link:function(a,n){var o=e(["composer.load","message.open"]).dispatcher;function r(e){window.getSelection&&0!==window.getSelection().toString().length||"A"===e.target.nodeName||e.target.classList.contains("labelsElement-btn-remove")||a.$applyAsync(function(){if(a.message.Type===t.DRAFT)return o["composer.load"]("",a.message);a.message.expand=!a.message.expand,a.message.toggleDetails&&(a.message.toggleDetails=!1),o["message.open"]("toggle",{message:a.message,expand:a.message.expand})})}n.on("mouseup",r),n.on("touchend",r),a.$on("$destroy",function(){n.off("mouseup",r),n.off("touchend",r)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","CONSTANTS"],t.default=n},"./src/app/message/directives/unsubscribePanel.js":function(e,t,a){"use strict";function n(e,t,a,n,o){var r={notice:n.getString("This message is from a mailing list.",null,"Info"),kb:n.getString("Learn more",null,"Info"),button:n.getString("Unsubscribe",null,"Action"),title:n.getString("Unsubscribe from mailing list?",null,"Title"),message:function(e){return n.getString("We will send a message from {{email}} to unsubscribe from this mailing list.",{email:"<b>"+e+"</b>"},"Info")}};return{replace:!0,restrict:"E",template:'\n <div class="unsubscribePanel-container">\n <div class="unsubscribePanel-notice">\n <span class="unsubscribePanel-notice-text">'+r.notice+'</span>\n <a class="unsubscribePanel-notice-link" href="https://protonmail.com/support/knowledge-base/auto-unsubscribe" target="_blank">'+r.kb+'</a>\n </div>\n <button type="button" class="unsubscribePanel-button pm_button">'+r.button+"</button>\n </div>\n ",link:function(n,s){var i=s.find(".unsubscribePanel-button"),l=function(){var s,i;o.beginsWith(n.message,"mailto:")?(s=n.message,i=t.getByID(s.AddressID).Email,a.activate({params:{title:r.title,message:r.message(i),confirm:function(){a.deactivate(),e.$emit("message",{type:"unsubscribe",data:{message:s}})},cancel:function(){a.deactivate()}}})):e.$emit("message",{type:"unsubscribe",data:{message:n.message}})};i.on("click",l),n.$on("$destroy",function(){return i.off("click",l)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope","addressesModel","confirmModal","gettextCatalog","unsubscribeModel"],t.default=n},"./src/app/message/factories/displayContent.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/regenerator/index.js")),o=s(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),r=a("./src/app/constants.js");function s(e){return e&&e.__esModule?e:{default:e}}l.$inject=["$rootScope","$q","$filter","prepareContent","sanitize"];var i=r.MIME_TYPES.PLAINTEXT;function l(e,t,a,r,s){var l,c,d=this,u=(l=(0,o.default)(n.default.mark(function e(t){var a;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.decrypting=!0,e.next=3,t.clearTextBody();case 3:return a=e.sent,t.decrypting=!1,e.abrupt("return",a);case 6:case"end":return e.stop()}},e,this)})),function(e){return l.apply(this,arguments)});function p(e,t){return{body:e,type:t.MIMEType===i?"plain":"html"}}function m(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"plain"===e.type?e:(e.body=s.html(e.body),e)}function f(e,t){return"html"===e.type?e.body=r(e.body,t):e.body=a("linky")(e.body,"_blank",{rel:"noreferrer nofollow noopener"}),e}return c=(0,o.default)(n.default.mark(function t(a,o){var r,s;return n.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0,n=a.ID,e.$emit("messageActions",{type:"read",data:{ids:[n]}}),!o){t.next=3;break}return t.abrupt("return",p(o,a));case 3:return t.next=5,u(a);case 5:return r=t.sent,s=p(r,a),t.abrupt("return",f(m(s),a));case 8:case"end":return t.stop()}var n},t,d)})),function(e,t){return c.apply(this,arguments)}}t.default=l},"./src/app/message/factories/displayEmbedded.js":function(e,t,a){"use strict";function n(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments[2];return t.showEmbedded=!0,e(a,t,{blacklist:["transformLinks","transformRemote","transformWelcome","transformBlockquotes"],action:n})}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["prepareContent"],t.default=n},"./src/app/message/factories/displayImages.js":function(e,t,a){"use strict";function n(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments[2];return t.showImages=!0,e(a,t,{blacklist:["transformLinks","transformEmbedded","transformWelcome","transformBlockquotes","transformAttachements"],action:n})}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["prepareContent"],t.default=n},"./src/app/message/factories/messageActions.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=g(a("./node_modules/babel-runtime/helpers/defineProperty.js")),o=g(a("./node_modules/lodash/fp/reduce.js")),r=g(a("./node_modules/lodash/fp/filter.js")),s=g(a("./node_modules/lodash/fp/map.js")),i=g(a("./node_modules/lodash/fp/each.js")),l=g(a("./node_modules/lodash/fp/uniq.js")),c=g(a("./node_modules/lodash/fp/flow.js")),d=g(a("./node_modules/lodash/each.js")),u=g(a("./node_modules/lodash/filter.js")),p=g(a("./node_modules/lodash/map.js")),m=g(a("./node_modules/lodash/includes.js")),f=g(a("./node_modules/lodash/reduce.js")),h=g(a("./node_modules/lodash/uniq.js")),v=g(a("./node_modules/lodash/difference.js"));function g(e){return e&&e.__esModule?e:{default:e}}function b(e,t,a,g,b,y,_,j,A,S,C,I){var x=0,E=1,w=y().on,T=j.STATUS,M=I("unicodeTagView"),D=function(e){return A.success(M(e))},k=[j.MAILBOX_IDENTIFIERS.inbox,j.MAILBOX_IDENTIFIERS.trash,j.MAILBOX_IDENTIFIERS.spam,j.MAILBOX_IDENTIFIERS.archive,j.MAILBOX_IDENTIFIERS.sent,j.MAILBOX_IDENTIFIERS.drafts];function L(e){var r=e.ids,i=e.labelID,d=C.ids("folders"),u=C.ids("labels"),p=i===j.MAILBOX_IDENTIFIERS.trash,m=i===j.MAILBOX_IDENTIFIERS.spam||p?k.concat(d).concat(u):k.concat(d),g=(0,c.default)((0,s.default)(function(e){var t=a.getMessageCached(e)||{},n=t.LabelIDs||[],o=function(e,t){if(t===j.MAILBOX_IDENTIFIERS.inbox)switch(e){case j.DRAFT:return[j.MAILBOX_IDENTIFIERS.allDrafts,j.MAILBOX_IDENTIFIERS.drafts];case j.SENT:return[j.MAILBOX_IDENTIFIERS.allSent,j.MAILBOX_IDENTIFIERS.sent];case j.INBOX_AND_SENT:return[j.MAILBOX_IDENTIFIERS.inbox,j.MAILBOX_IDENTIFIERS.allSent,j.MAILBOX_IDENTIFIERS.sent]}return[t]}(t.Type,i),r=n.filter(function(e){return m.indexOf(e)>-1});return Array.isArray(r)&&(n=(0,v.default)(n,r)),Array.isArray(o)&&(n=(0,h.default)(n.concat(o))),{Action:3,ID:e,Message:{ID:e,ConversationID:t.ConversationID,Selected:!1,LabelIDs:n,IsRead:p?1:t.IsRead}}}),(0,o.default)(function(e,t){return e[t.ID]=t,e},{}))(r),y=(0,f.default)(g,function(e,t){var n=a.getConversationCached(t.Message.ConversationID),r=a.queryMessagesCached(t.Message.ConversationID);if(e.push(t),n&&Array.isArray(r)){var i=(0,c.default)((0,o.default)(function(e,t){var a=t.ID,n=t.LabelIDs,o=void 0===n?[]:n,r=g[a]?g[a].Message.LabelIDs:o;return e.concat(r)},[]),l.default,(0,s.default)(function(e){return{ID:e}}))(r);e.push({Action:3,ID:n.ID,Conversation:{ID:n.ID,Labels:i}})}return e},[]),A=b.label(i,1,r);a.addToDispatcher(A);var I=S.getPlural(r.length,"1 message moved to {{folder}}","{{number}} messages moved to {{folder}}",{folder:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=(C.read(t,"folders")||{}).Name;return(e={},(0,n.default)(e,j.MAILBOX_IDENTIFIERS.inbox,S.getString("Inbox",null,"App folder")),(0,n.default)(e,j.MAILBOX_IDENTIFIERS.spam,S.getString("Spam",null,"App folder")),(0,n.default)(e,j.MAILBOX_IDENTIFIERS.drafts,S.getString("Drafts",null,"App folder")),(0,n.default)(e,j.MAILBOX_IDENTIFIERS.allDrafts,S.getString("Drafts",null,"App folder")),(0,n.default)(e,j.MAILBOX_IDENTIFIERS.sent,S.getString("Sent",null,"App folder")),(0,n.default)(e,j.MAILBOX_IDENTIFIERS.allSent,S.getString("Sent",null,"App folder")),(0,n.default)(e,j.MAILBOX_IDENTIFIERS.trash,S.getString("Trash",null,"App folder")),(0,n.default)(e,j.MAILBOX_IDENTIFIERS.archive,S.getString("Archive",null,"App folder")),e)[t]||a}(i),number:r.length},"Action");if(t.cacheContext())return a.events(y),D(I);A.then(function(){return a.events(y),D(I)}),_.track(A)}function P(n,i,d){var u=t.cacheContext(),h=t.currentLocation(),v=(0,m.default)(k,h)||C.contains(h,"folders"),g=(0,p.default)(n,"ID"),y=function(e){a.events(e).then(function(){var e=(0,f.default)(n,function(e,t){var n,r=t.ConversationID,i=a.getConversationCached(r);return i&&(i.Labels=(n=i.ID,(0,c.default)((0,o.default)(function(e,t){var a=t.LabelIDs,n=void 0===a?[]:a;return e.concat(n)},[]),l.default,(0,s.default)(function(e){return{ID:e}}))(a.queryMessagesCached(n)||[])),e.push({Action:3,ID:i.ID,Conversation:i})),e},[]);a.events(e),!0===d&&b.archive({IDs:g})})},A=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:angular.noop;return(0,c.default)((0,r.default)(t),(0,s.default)(function(e){return e.ID}))(e)},S=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return(0,p.default)(e,function(e){return b.label(e,t,g)})},I=(0,f.default)(n,function(e,t){var a=(t.LabelIDs||[]).filter(function(e){return isNaN(+e)}),n=A(i,function(e){var t=e.ID;return!0===e.Selected&&!(0,m.default)(a,t)}),o=A(i,function(e){var t=e.ID;return!1===e.Selected&&(0,m.default)(a,t)});return!0===d&&(n.push(j.MAILBOX_IDENTIFIERS.archive),v&&o.push(h)),e.events.push({Action:3,ID:t.ID,Message:{ID:t.ID,IsRead:t.IsRead,ConversationID:t.ConversationID,Selected:!1,LabelIDsAdded:n,LabelIDsRemoved:o}}),e.promises=e.promises.concat(S(n,E)).concat(S(o,x)),e},{events:[],promises:[]}),w=I.events,T=I.promises,M=e.all(T);if(a.addToDispatcher(M),!0===u)return y(w);M.then(function(){return y(w)}),_.track(M)}function O(e){var n=b.star({IDs:e}),i=[j.MAILBOX_IDENTIFIERS.starred];if(a.addToDispatcher(n),!t.cacheContext())return n.then(function(){return g.call()}),_.track(n);var l=(0,c.default)((0,s.default)(function(e){return a.getMessageCached(e)}),(0,r.default)(Boolean),(0,o.default)(function(e,t){var n=t.ID,o=t.ConversationID,r=t.IsRead,s=a.getConversationCached(o);return e.push({Action:3,ID:n,Message:{ID:n,IsRead:r,LabelIDsAdded:i}}),s&&e.push({Action:3,ID:o,Conversation:{ID:o,LabelIDsAdded:i,ContextNumUnread:s.ContextNumUnread}}),e},[]))(e);a.events(l)}function N(e){var n=b.unstar({IDs:e}),i=[j.MAILBOX_IDENTIFIERS.starred];if(a.addToDispatcher(n),!t.cacheContext())return n.then(function(){return g.call()}),_.track(n);var l=(0,c.default)((0,s.default)(function(e){return a.getMessageCached(e)}),(0,r.default)(Boolean),(0,o.default)(function(e,t){var n=t.ID,o=t.ConversationID,r=t.IsRead,s=a.getConversationCached(o),l=a.queryMessagesCached(o),c=(0,u.default)(l,function(e){var t=e.LabelIDs,a=void 0===t?[]:t;return(0,m.default)(a,j.MAILBOX_IDENTIFIERS.starred)});return e.push({Action:3,ID:n,Message:{ID:n,IsRead:r,LabelIDsRemoved:i}}),1===c.length&&s&&e.push({Action:3,ID:o,Conversation:{ID:o,LabelIDsRemoved:i,ContextNumUnread:s.ContextNumUnread}}),e},[]))(e);a.events(l)}function R(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=(0,f.default)(e,function(e,t){var n=a.getMessageCached(t)||{},o=n.IsRead,r=n.ConversationID,s=n.LabelIDs;return 0===o&&(e.conversationIDs.push(r),e.events.push({Action:3,ID:t,Message:{ID:t,ConversationID:r,IsRead:1}}),e.messages.push({LabelIDs:s,ConversationID:r})),e},{messages:[],conversationIDs:[],events:[]}),o=n.messages,d=n.conversationIDs,h=n.events;if(o.length){(0,c.default)(l.default,(0,s.default)(function(e){return a.getConversationCached(e)}),(0,r.default)(Boolean),(0,i.default)(function(e){var t=e.ID,a=e.Labels,n=void 0===a?[]:a;h.push({Action:3,ID:t,Conversation:{ID:t,Labels:(0,p.default)(n,function(e){return e.ContextNumUnread-=(0,u.default)(o,function(a){var n=a.ConversationID,o=void 0===n?"":n,r=a.LabelIDs,s=void 0===r?[]:r;return t===o&&(0,m.default)(s,e.ID)}).length,e})}})}))(d);var v=b.read({IDs:e});if(a.addToDispatcher(v),!0===t.cacheContext())return a.events(h);v.then(function(){return a.events(h)}),_.track(v)}}function $(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=t.cacheContext(),o=b.unread({IDs:e});if(a.addToDispatcher(o),!n)return o.then(function(){(0,d.default)(e,function(e){var t=a.getMessageCached(e)||{};t.IsRead=0,a.updateMessage(t)})}).then(function(){return g.call()}),_.track(o);var h=(0,f.default)(e,function(e,t){var n=a.getMessageCached(t)||{},o=n.IsRead,r=n.ConversationID,s=n.LabelIDs;return 1===o&&(e.conversationIDs.push(r),e.events.push({Action:3,ID:t,Message:{ID:t,ConversationID:r,IsRead:0}}),e.messages.push({LabelIDs:s,ConversationID:r})),e},{messages:[],conversationIDs:[],events:[]}),v=h.messages,y=h.conversationIDs,j=h.events;v.length&&(0,c.default)(l.default,(0,s.default)(function(e){return a.getConversationCached(e)}),(0,r.default)(Boolean),(0,i.default)(function(e){var t=e.ID,a=e.Labels,n=void 0===a?[]:a;j.push({Action:3,ID:t,Conversation:{ID:t,Labels:(0,p.default)(n,function(e){return e.ContextNumUnread+=(0,u.default)(v,function(a){var n=a.ConversationID,o=void 0===n?"":n,r=a.LabelIDs,s=void 0===r?[]:r;return t===o&&(0,m.default)(s,e.ID)}).length,e})}})}))(y),a.events(j)}function F(e){var n=(0,f.default)(e,function(e,t){var n=a.getMessageCached(t),i=a.getConversationCached(n.ConversationID);if(i&&(1===i.NumMessages&&e.push({Action:T.DELETE,ID:i.ID}),i.NumMessages>1)){var d=a.queryMessagesCached(i.ID),u=(0,c.default)((0,r.default)(function(e){return e.ID!==t}),(0,o.default)(function(e,t){var a=t.LabelIDs,n=void 0===a?[]:a;return e.concat(n)},[]),l.default,(0,s.default)(function(e){return{ID:e}}))(d);e.push({Action:T.UPDATE_FLAGS,ID:i.ID,Conversation:{ID:i.ID,Labels:u,NumMessages:i.NumMessages-1}})}return e.push({Action:T.DELETE,ID:n.ID}),e},[]),i=b.delete({IDs:e});return a.addToDispatcher(i),!0===t.cacheContext()?(a.events(n),i):(i.then(function(){return a.events(n)}),_.track(i),i)}return w("messageActions",function(e,t){var n=t.type,r=void 0===n?"":n,i=t.data,d=void 0===i?{}:i;switch(r){case"move":L(d);break;case"star":O(d.ids);break;case"unstar":N(d.ids);break;case"read":R(d.ids);break;case"unread":$(d.ids);break;case"delete":F(d.ids);break;case"unlabel":!function(e,t,n){var r=[],i=a.queryMessagesCached(t);r.push({Action:3,ID:e,Message:{ID:e,LabelIDsRemoved:[n]}});var d=(0,c.default)((0,o.default)(function(t,a){var o=a.ID,r=a.LabelIDs,s=void 0===r?[]:r;return o===e?t.concat(s.filter(function(e){return e!==n})):t.concat(s)},[]),l.default,(0,s.default)(function(e){return{ID:e}}))(i);r.push({Action:3,ID:t,Conversation:{ID:t,Labels:d}}),a.events(r),b.label(n,x,[e])}(d.messageID,d.conversationID,d.labelID);break;case"label":P(d.messages,d.labels,d.alsoArchive);break;case"folder":L(d)}}),{move:L,addLabel:P,star:O,unstar:N,read:R,unread:$,destroy:F,discardMessage:function(e){F([e.ID])}}}b.$inject=["$q","tools","cache","eventManager","messageApi","dispatchers","networkActivityTracker","CONSTANTS","notification","gettextCatalog","labelsModel","$filter"],t.default=b},"./src/app/message/factories/messageApi.js":function(e,t,a){"use strict";function n(e,t){var a=t.build("messages");return{send:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.post(a("send",t.id),t)},createDraft:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.post(a("draft"),t)},get:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.get(a(t))},query:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.get(a(),{params:t})},count:function(){return e.get(a("count"))},updateDraft:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.ID||t.id;return e.put(a("draft",n),t)},star:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.put(a("star"),t)},unstar:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.put(a("unstar"),t)},read:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.put(a("read"),t)},unread:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.put(a("unread"),t)},trash:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.put(a("trash"),t)},inbox:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.put(a("inbox"),t)},spam:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.put(a("spam"),t)},archive:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.put(a("archive"),t)},delete:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.put(a("delete"),t)},undelete:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.put(a("undelete"),t)},label:function(t,n,o){return e.put(a("label"),{LabelID:t,Action:n,MessageIDs:o})},emptyDraft:function(){return e.delete(a("draft"))},emptySpam:function(){return e.delete(a("spam"))},emptyTrash:function(){return e.delete(a("trash"))},emptyLabel:function(t){return e.delete(a("empty"),{params:{Label:t}})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$http","url"],t.default=n},"./src/app/message/factories/messageModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=u(a("./node_modules/babel-runtime/core-js/promise.js")),o=u(a("./node_modules/babel-runtime/helpers/classCallCheck.js")),r=u(a("./node_modules/babel-runtime/helpers/createClass.js")),s=u(a("./node_modules/lodash/map.js")),i=u(a("./node_modules/lodash/find.js")),l=u(a("./node_modules/lodash/extend.js")),c=a("./src/app/constants.js"),d=a("./src/helpers/parserHTML.js");function u(e){return e&&e.__esModule?e:{default:e}}m.$inject=["$q","$timeout","pmcw","User","gettextCatalog","authentication","AttachmentLoader","sanitize"];var p=c.MIME_TYPES.PLAINTEXT;function m(e,t,a,c,u,m,f,h){var v={ID:"",Order:0,Subject:"",PasswordHint:"",IsRead:0,Type:0,Sender:{},ToList:[],Time:0,Size:0,Attachments:[],NumAttachments:0,IsEncrypted:0,ExpirationTime:0,IsReplied:0,IsRepliedAll:0,IsForwarded:0,AddressID:"",CCList:[],BCCList:[],LabelIDs:[],ExternalID:null},g=[u.getString("Unencrypted message",null,"Message encryption status"),u.getString("End to end encrypted internal message",null,"Message encryption status"),u.getString("External message stored encrypted",null,"Message encryption status"),u.getString("End to end encrypted for outside",null,"Message encryption status"),u.getString("External message stored encrypted",null,"Message encryption status"),u.getString("Stored encrypted",null,"Message encryption status"),u.getString("End to end encrypted for outside reply",null,"Message encryption status"),u.getString("End to end encrypted using PGP",null,"Message encryption status"),u.getString("End to end encrypted using PGP/MIME",null,"Message encryption status"),null,u.getString("End to end encrypted auto-reply",null,"Message encryption status")],b=u.getString("Message empty",null,"Message content if empty"),y=["X-Autoreply","X-Autorespond","X-Autoreply-From","X-Mail-Autoreply"],_=function(){function v(e){(0,o.default)(this,v),(0,l.default)(this,angular.copy(e));var t=e.ParsedHeaders,a=void 0===t?{}:t,n=e.xOriginalTo;return this.isAutoReply=y.some(function(e){return e in a}),this.xOriginalTo=n||a["X-Original-To"],this}return(0,r.default)(v,[{key:"isDraft",value:function(){return 1===this.Type}},{key:"generateReplyToken",value:function(){return a.encode_base64(a.arrayToBinaryString(a.generateSessionKey("aes256")))}},{key:"encryptionType",value:function(){return g[this.IsEncrypted]}},{key:"isPlainText",value:function(){return this.MIMEType===p}},{key:"plainText",value:function(){return this.getDecryptedBody()}},{key:"disableOthers",value:function(){return this.saving&&!this.autosaving||this.sending||this.encrypting||this.askEmbedding}},{key:"disableSend",value:function(){return this.uploading>0||this.disableOthers()}},{key:"disableSave",value:function(){return this.disableSend()}},{key:"disableDiscard",value:function(){return this.disableSend()}},{key:"getAttachment",value:function(e){return(0,i.default)(this.Attachments||[],{ID:e})}},{key:"getAttachments",value:function(){return this.Attachments||[]}},{key:"attachmentsSize",value:function(){return(this.Attachments||[]).reduce(function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).Size;return e+ +(void 0===t?0:t)},0)}},{key:"countEmbedded",value:function(){return this.Attachments.filter(function(e){var t=e.Headers;return"inline"===(void 0===t?{}:t)["content-disposition"]}).length}},{key:"addAttachments",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.Attachments=[].concat(this.Attachments,e),this.NumEmbedded=this.countEmbedded()}},{key:"removeAttachment",value:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).ID;this.Attachments=(this.Attachments||[]).filter(function(t){return t.ID!==e}),this.NumEmbedded=this.countEmbedded()}},{key:"setDecryptedBody",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.DecryptedBody=t?h.message(e):e}},{key:"getDecryptedBody",value:function(){return this.DecryptedBody||""}},{key:"exportPlainText",value:function(){return"text/html"!==this.MIMEType?this.getDecryptedBody().replace(/\u200B/g,""):(0,d.toText)(this.getDecryptedBody(),!0,!0).replace(/\u200B/g,"")}},{key:"getListUnsubscribe",value:function(){var e=this.ParsedHeaders;return(void 0===e?{}:e)["List-Unsubscribe"]||""}},{key:"close",value:function(){angular.isDefined(this.timeoutSaving)&&t.cancel(this.timeoutSaving)}},{key:"encryptBody",value:function(e){var t=this,n=m.getPrivateKeys(this.From.ID)[0];return a.encryptMessage({data:this.getDecryptedBody(),publicKeys:a.getKeys(e),privateKeys:n,format:"utf8"}).then(function(e){var a=e.data;return t.Body=a,a}).catch(function(e){throw e.message=u.getString("Error encrypting message"),e})}},{key:"parse",value:function(){var t=this,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=e.defer(),o=new MailParser({defaultCharset:"UTF-8"});return o.on("end",function(e){var o=e.attachments,r=e.text,s=void 0===r?"":r,i=e.html,l=void 0===i?"":i;return o&&(t.PgpMimeWithAttachments=!0),l?n.resolve(l):(t.MIMEType=p,s?n.resolve(s):a.trim().length?(t.MIMEParsingFailed=!0,n.resolve(a)):void n.resolve(b))}),o.write(a),o.end(),n.promise}},{key:"decryptBody",value:function(){var e=this,t=m.getPrivateKeys(this.AddressID),o=this.Body;this.decrypting=!0;return function(t){return t?e.getPublicKeys([t]).then(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,a=void 0===e?{}:e;return a[t].length>0?a[t]:null}):n.default.resolve(null)}((this.Sender||{}).Address).then(function(n){return a.decryptMessageLegacy({message:o,privateKeys:t,publicKeys:n?a.getKeys(n):[],messageTime:e.Time}).then(function(t){return e.decrypting=!1,e.hasError=!1,8===e.IsEncrypted||"multipart/mixed"===e.MIMEType?e.parse(t.data).then(function(e){return{data:e}}):t})}).catch(function(t){throw e.networkError=-1===t.status,e.hasError=!0,e.decrypting=!1,t})}},{key:"encryptAttachmentKeyPackets",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r={};return n.default.all(this.Attachments.map(function(n){return f.getSessionKey(e,n).then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=e.sessionKey,i=void 0===s?{}:s,l=e.AttachmentID,c=e.ID;return n.sessionKey=i,a.encryptSessionKey({data:i.data,algorithm:i.algorithm,publicKeys:t.length?a.getKeys(t):[],passwords:o}).then(function(e){var t=e.message;r[l||c]=a.encode_base64(a.arrayToBinaryString(t.packets.write()))})})})).then(function(){return r})}},{key:"cleartextAttachmentKeyPackets",value:function(){var e=this,t={};return n.default.all(this.Attachments.map(function(n){return f.getSessionKey(e,n).then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=e.sessionKey,r=void 0===o?{}:o,s=e.AttachmentID,i=e.ID;n.sessionKey=r,t[s||i]=a.encode_base64(a.arrayToBinaryString(r.data))})})).then(function(){return t})}},{key:"cleartextBodyPackets",value:function(){var e=m.getPrivateKeys(this.AddressID),t=a.splitMessage(this.Body),n=t.asymmetric,o=t.encrypted,r=a.getMessage(n[0]);return a.decryptSessionKey({message:r,privateKeys:e}).then(function(e){return{sessionKey:e,dataPacket:o}})}},{key:"emailsToString",value:function(){return(0,s.default)(this.ToList.concat(this.CCList,this.BCCList),"Address")}},{key:"getPublicKeys",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=a.encode_base64(e.filter(Boolean).join(","));return c.pubkeys(t)}},{key:"clearTextBody",value:function(){var t=this,a=e.defer();if(this.isDraft()||this.IsEncrypted>0)if(this.getDecryptedBody())a.resolve(this.getDecryptedBody());else try{this.decryptBody().then(function(e){t.setDecryptedBody(e.data,!t.isPlainText()),t.Signature=e.signature,t.failedDecryption=!1,t.hasError=!1,a.resolve(e.data)}).catch(function(e){t.setDecryptedBody(t.Body,!1),t.failedDecryption=!0,t.hasError=!0,t.MIMEType=p,a.reject(e)})}catch(e){this.setDecryptedBody(this.Body,!1),this.MIMEType=p,this.failedDecryption=!0,this.hasError=!0,a.reject(e)}else this.setDecryptedBody(this.Body,!1),a.resolve(this.getDecryptedBody());return a.promise}}]),v}();return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;return new _(e)}}t.default=m},"./src/app/message/factories/plusAliasModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/find.js")),o=r(a("./node_modules/lodash/extend.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e){function t(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=t.indexOf("+"),o=t.indexOf("@");if(-1===a||-1===o)return!1;var r=""+t.substring(0,a)+t.substring(o,t.length),s=(0,n.default)(e.get(),{Status:1,Receive:1,Email:r});return!!s&&(!!s.Send&&s)}return{getAddress:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=t(e);return a?(0,o.default)({},a,{Email:e}):void 0},isValid:t}}s.$inject=["addressesModel"],t.default=s},"./src/app/message/factories/signatureBuilder.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./node_modules/babel-runtime/helpers/taggedTemplateLiteral.js")),o=d(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),r=d(a("./node_modules/lodash/noop.js")),s=(0,n.default)(['<div class="'," ",'">\n <div class="'," ",'">',"</div>",'\n <div class="'," ",'">',"</div>\n </div>"],['<div class="'," ",'">\n <div class="'," ",'">',"</div>",'\n <div class="'," ",'">',"</div>\n </div>"]),i=d(a("./src/helpers/dedent.js")),l=a("./src/app/constants.js"),c=a("./src/helpers/parserHTML.js");function d(e){return e&&e.__esModule?e:{default:e}}b.$inject=["authentication","tools","sanitize","AppModel","dispatchers","mailSettingsModel"];var u="protonmail_signature_block",p="protonmail_signature_block-user",m="protonmail_signature_block-proton",f="protonmail_signature_block-empty";function h(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(e?'<div class="'+e+'">':"<div>")+"<br /></div>"}var v=function(e){return!e||"<div><br /></div>"===e||"<div><br></div>"===e},g=function(e){return e.firstElementChild&&"DIV"===e.firstElementChild.nodeName?(0,c.toText)(e.innerHTML,!1):e.textContent};function b(e,t,a,n,c,d){var b=c().on,y=d.get("PMSignature"),_=j(y);function j(e){if(!e)return{HTML:"",PLAIN:""};var t=document.createElement("DIV");return t.innerHTML=l.PM_SIGNATURE,{HTML:l.PM_SIGNATURE,PLAIN:t.textContent}}function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=$.parseHTML("<div>"+S(e,!1,!0)+"</div>")||[],a=(0,o.default)(t,1)[0];return g(a)}function S(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).From,n=void 0===e?{}:e,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments[2];return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=function(e){var t=v(e),a=!_.HTML;return{userClass:t?f:"",protonClass:a?f:"",containerClass:t&&a?f:""}}(e),l=r.userClass,c=r.protonClass,d=r.containerClass,h=C(e,n),g=(0,i.default)(s,u,d,p,l,t.replaceLineBreaks(e),h.between,m,c,t.replaceLineBreaks(_.HTML));if(!o)return""+h.start+a.message(g)+h.end;return a.message(g)}(n.Signature||"",o,r)}b("mailSettings",function(e,t){if("updated"===t.type){var a=d.get("PMSignature");if(y===a)return;_=j(y=a)}});var C=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=v(e);return{start:a&&!_.HTML?h():h()+h(),end:t?h():"",between:!a&&_.HTML?h():""}};function I(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{getDecryptedBody:angular.noop},t=arguments[1],a=t.action,n=void 0===a?"new":a,r=t.isAfter,s=void 0!==r&&r?"beforeEnd":"afterBegin",i=S(e,"new"!==n),l=$.parseHTML("<div>"+e.getDecryptedBody()+"</div>"),c=(0,o.default)(l,1)[0];return c.insertAdjacentHTML(s,i),c.innerHTML}return{insert:I,update:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{getDecryptedBody:r.default,isPlainText:r.default},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(e.isPlainText())return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1];return e.replace(/\u200B(\s*?.*?)*?\u200B/,t)}(e.getDecryptedBody(),A(e));var n=e.From,s=(void 0===n?{}:n).Signature||"",i=$.parseHTML("<div>"+a.message(t||e.getDecryptedBody())+"</div>")||[],l=(0,o.default)(i,1)[0],c=$.parseHTML("<div>"+a.message(s)+"</div>")||[],u=(0,o.default)(c,1)[0];if(l&&u){var m=l.querySelector("."+p),h=v(u.innerHTML),g=!d.get("PMSignature");if(!m)return I(e,{isAfter:!0});m.classList[h?"add":"remove"](f),m.parentElement.classList[h&&g?"add":"remove"](f),m.innerHTML=u.innerHTML}return l.innerHTML},getHTML:S,getTXT:A}}t.default=b},"./src/app/message/factories/simpleSend.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/regenerator/index.js")),o=s(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),r=s(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a,s,i,l){var c,d,u,p,m,f=this,h=(c=(0,r.default)(n.default.mark(function e(t){var a,o,r,s;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.AutoSaveContacts,e.next=3,l(t,t.emailsToString());case 3:if(o=e.sent,r=o.encrypt,!0!==o.cleartext||0!==t.Password.length||!t.ExpirationTime){e.next=8;break}throw new Error('Expiring emails to non-ProtonMail recipients require a message password to be set. For more information, <a href="https://protonmail.com/support/knowledge-base/expiration/" target="_blank">click here</a>.');case 8:return e.next=10,r();case 10:return s=e.sent,e.abrupt("return",{id:t.ID,AutoSaveContacts:a,ExpirationTime:t.ExpirationTime,Packages:s});case 12:case"end":return e.stop()}},e,this)})),function(e){return c.apply(this,arguments)}),v=(d=(0,r.default)(n.default.mark(function e(t){var a,r,s,i,l,c,d,u,p,m,h,v,g,b,y,_,j,A,S;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.Subject,r=void 0===a?"":a,s=t.ToList,i=void 0===s?[]:s,l=t.CCList,c=void 0===l?[]:l,d=t.BCCList,u=void 0===d?[]:d,p=t.AddressID,m=t.From,v=(h=void 0===m?{}:m).DisplayName,g=h.Email,b=h.Keys,y=b||{},_=(0,o.default)(y,1),j=_[0],A=(j=void 0===j?{}:j).PublicKey,e.next=7,t.encryptBody(A);case 7:return S=e.sent,e.abrupt("return",{Message:{AddressID:p,Body:S,Subject:r,ToList:i,CCList:c,BCCList:u,IsRead:1,Sender:{Name:v||"",Address:g}}});case 9:case"end":return e.stop()}},e,f)})),function(e){return d.apply(this,arguments)}),g=(u=(0,r.default)(n.default.mark(function t(a){var o,r,s,i,l,c;return n.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,v(a);case 3:return o=t.sent,t.next=6,e.createDraft(o);case 6:return r=t.sent,s=r.data,i=void 0===s?{}:s,t.abrupt("return",i.Message);case 12:throw t.prev=12,t.t0=t.catch(0),l=t.t0||{},c=l.data,new Error((void 0===c?{}:c).Error);case 16:case"end":return t.stop()}},t,f,[[0,12]])})),function(e){return u.apply(this,arguments)}),b=(p=(0,r.default)(n.default.mark(function t(a){var o,r,s,i,l,c;return n.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,h(a);case 3:return o=t.sent,t.next=6,e.send(o);case 6:return r=t.sent,s=r.data,i=void 0===s?{}:s,t.abrupt("return",i.Message);case 12:throw t.prev=12,t.t0=t.catch(0),l=t.t0||{},c=l.data,new Error((void 0===c?{}:c).Error);case 16:case"end":return t.stop()}},t,f,[[0,12]])})),function(e){return p.apply(this,arguments)});return m=(0,r.default)(n.default.mark(function e(t){var a,o;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,g(t);case 2:return a=e.sent,o=a.ID,t.ID=o,e.abrupt("return",b(t));case 6:case"end":return e.stop()}},e,f)})),function(e){return m.apply(this,arguments)}}i.$inject=["messageApi","User","ComposerRequestStatus","pmcw","srp","encryptMessage"],t.default=i},"./src/app/message/factories/unsubscribeModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/lodash/find.js")),o=i(a("./node_modules/lodash/each.js")),r=i(a("./node_modules/lodash/includes.js")),s=a("./src/helpers/browser.js");function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t,a,i,l,c,d){var u=[],p=/<(.*?)>/g,m=t(["message"]),f=m.dispatcher,h=m.on,v=i.getString("Unsubscribed",null,"Success notification");function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.getListUnsubscribe(),n=(t.match(p)||[]).map(function(e){return e.replace("<","").replace(">","")}),r=e.AddressID;(0,o.default)(n,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";e.startsWith("mailto:")&&function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1],n=l(),o=e.replace("mailto:",""),r=o.indexOf("?");r<0&&(r=o.length);var i=o.substring(0,r),u=(0,s.parseURL)(o.substring(r+1)).searchObject,p=void 0===u?{}:u,m=a.getFirst().ID;n.AddressID=t||m,n.From=a.getByID(n.AddressID),n.Password="",n.AutoSaveContacts=0,i&&(n.ToList=i.split(",").map(function(e){return{Address:e,Name:e}})),n.Subject=p.subject||"Unsubscribe me",n.setDecryptedBody(p.body||"Unsubscribe me please"),d(n).then(function(){return c.success(v)})}(e,r),e.startsWith("http")&&(0,s.openWindow)(e)}),u.push(t),f.message("unsubscribed",{message:e})}return h("message",function(e,t){var a=t.type,n=t.data;"unsubscribe"===a&&g((void 0===n?{}:n).message)}),{init:angular.noop,already:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!!e.length&&(0,r.default)(u,e)},beginsWith:function(e,t){var a=(e.getListUnsubscribe().match(p)||[]).map(function(e){return e.replace("<","").replace(">","")});return(0,n.default)(a,function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").startsWith(t)})}}}l.$inject=["authentication","dispatchers","addressesModel","gettextCatalog","messageModel","notification","simpleSend"],t.default=l},"./src/app/message/filters/filterMessages.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/includes.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments[1],o=arguments[2];if(!e.includes("secured.search.**")&&!e.includes("secured.label.**")&&!e.includes("secured.starred.**")){var s=t.filter(function(e){return!(0,r.default)(e.LabelIDs,a.MAILBOX_IDENTIFIERS.trash)});if(!0===e.includes("secured.trash.**")){var i=t.filter(function(e){return(0,r.default)(e.LabelIDs,a.MAILBOX_IDENTIFIERS.trash)});if(!1===o)return i}else if(s.length>0&&!1===n)return s}return t}}s.$inject=["$state","$rootScope","CONSTANTS"],t.default=s},"./src/app/message/filters/messageTime.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return function(e){var t=moment.unix(e);return t.isSame(moment(),"day")?t.format("LT")+" ("+t.fromNow()+")":t.format("L")+" ("+t.fromNow()+")"}}},"./src/app/message/filters/nameRecipient.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.includes(",")?'"'+e+'"':e}}},"./src/app/message/filters/recipients.js":function(e,t,a){"use strict";function n(e,t){var a=e("contact"),n=function(e){return function(t,n){var o=t.Name||a(t,"Name");return 0===n?e+": "+o:o}};return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=e.ToList,o=void 0===a?[]:a,r=e.CCList,s=void 0===r?[]:r,i=e.BCCList,l=void 0===i?[]:i;return[].concat(o.map(n(t.getString("To",null,"Title")))).concat(s.map(n(t.getString("CC",null,"Title")))).concat(l.map(n(t.getString("BCC",null,"Title")))).join(", ")}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$filter","gettextCatalog"],t.default=n},"./src/app/message/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=K(a("./src/app/message/directives/actionMessage.js")),o=K(a("./src/app/message/directives/allMessageLabels.js")),r=K(a("./src/app/message/directives/displayContentBtn.js")),s=K(a("./src/app/message/directives/embeddedImgLoader.js")),i=K(a("./src/app/message/directives/filterButton.js")),l=K(a("./src/app/message/directives/foldersMessage.js")),c=K(a("./src/app/message/directives/injectMessageMedia.js")),d=K(a("./src/app/message/directives/message.js")),u=K(a("./src/app/message/directives/messageAutoGenerated.js")),p=K(a("./src/app/message/directives/messageComposeTo.js")),m=K(a("./src/app/message/directives/messageContacts.js")),f=K(a("./src/app/message/directives/messageExtra.js")),h=K(a("./src/app/message/directives/messagePgpAttachments.js")),v=K(a("./src/app/message/directives/messageSpamScore.js")),g=K(a("./src/app/message/directives/messageView.js")),b=K(a("./src/app/message/directives/renderMessageBody.js")),y=K(a("./src/app/message/directives/toggleBlockquote.js")),_=K(a("./src/app/message/directives/toggleMessage.js")),j=K(a("./src/app/message/directives/unsubscribePanel.js")),A=K(a("./src/app/message/factories/displayContent.js")),S=K(a("./src/app/message/factories/displayEmbedded.js")),C=K(a("./src/app/message/factories/displayImages.js")),I=K(a("./src/app/message/factories/messageActions.js")),x=K(a("./src/app/message/factories/messageApi.js")),E=K(a("./src/app/message/factories/messageModel.js")),w=K(a("./src/app/message/factories/plusAliasModel.js")),T=K(a("./src/app/message/factories/signatureBuilder.js")),M=K(a("./src/app/message/factories/simpleSend.js")),D=K(a("./src/app/message/factories/unsubscribeModel.js")),k=K(a("./src/app/message/filters/filterMessages.js")),L=K(a("./src/app/message/filters/messageTime.js")),P=K(a("./src/app/message/filters/nameRecipient.js")),O=K(a("./src/app/message/filters/recipients.js")),N=K(a("./src/app/message/services/findExpendableMessage.js")),R=K(a("./src/app/message/services/messageBuilder.js")),$=K(a("./src/app/message/services/prepareContent.js")),F=K(a("./src/app/message/services/transformAttachements.js")),B=K(a("./src/app/message/services/transformBlockquotes.js")),U=K(a("./src/app/message/services/transformEmbedded.js")),z=K(a("./src/app/message/services/transformEscape.js")),q=K(a("./src/app/message/services/transformLinks.js")),V=K(a("./src/app/message/services/transformRemote.js")),Y=K(a("./src/app/message/services/transformStylesheet.js")),H=K(a("./src/app/message/services/transformWelcome.js")),W=K(a("./src/app/message/directives/messageDisplayError.js"));function K(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.message",["ngSanitize","proton.contact","proton.squire"]).directive("messageDisplayError",W.default).run(["unsubscribeModel",function(e){return e.init()}]).directive("actionMessage",n.default).directive("allMessageLabels",o.default).directive("displayContentBtn",r.default).directive("embeddedImgLoader",s.default).directive("filterButton",i.default).directive("foldersMessage",l.default).directive("injectMessageMedia",c.default).directive("message",d.default).directive("messageAutoGenerated",u.default).directive("messageComposeTo",p.default).directive("messageContacts",m.default).directive("messageExtra",f.default).directive("messagePgpAttachments",h.default).directive("messageSpamScore",v.default).directive("messageView",g.default).directive("renderMessageBody",b.default).directive("toggleBlockquote",y.default).directive("toggleMessage",_.default).directive("unsubscribePanel",j.default).factory("displayContent",A.default).factory("displayEmbedded",S.default).factory("displayImages",C.default).factory("messageActions",I.default).factory("messageApi",x.default).factory("messageModel",E.default).factory("plusAliasModel",w.default).factory("signatureBuilder",T.default).factory("simpleSend",M.default).factory("unsubscribeModel",D.default).filter("filterMessages",k.default).filter("messageTime",L.default).filter("nameRecipient",P.default).filter("recipients",O.default).factory("findExpendableMessage",N.default).factory("messageBuilder",R.default).factory("prepareContent",$.default).factory("transformAttachements",F.default).factory("transformBlockquotes",B.default).factory("transformEmbedded",U.default).factory("transformEscape",z.default).factory("transformLinks",q.default).factory("transformRemote",V.default).factory("transformStylesheet",Y.default).factory("transformWelcome",H.default).name},"./src/app/message/services/findExpendableMessage.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),o=d(a("./node_modules/lodash/fp/last.js")),r=d(a("./node_modules/lodash/fp/filter.js")),s=d(a("./node_modules/lodash/fp/flow.js")),i=d(a("./node_modules/lodash/filter.js")),l=d(a("./node_modules/lodash/find.js")),c=d(a("./node_modules/lodash/last.js"));function d(e){return e&&e.__esModule?e:{default:e}}function u(e,t,a,d){var u=function(e){var a=e.Type,o=e.IsEncrypted,r=e.ParsedHeaders,s=void 0===r?{}:r;if(!(a&t.SENT))return!1;if(o===t.ENCRYPTED_STATUS.AUTOREPLY)return!0;return["X-Autoreply","X-Autorespond","X-Autoreply-From","X-Mail-Autoreply"].some(function(e){return e in s})||[["Auto-Submitted","auto-replied"],["Precedence","auto_reply"],["X-Precedence","auto_reply"],["Delivered-To","autoresponder"]].some(function(e){var t=(0,n.default)(e,2),a=t[0],o=t[1];return a in s&&s[a].toLowerCase()===o})},p=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.length,a=!1;--t>0;)if(1===e[t-1].IsRead){a=!0;break}var n=a?t:0;return e.length?e[n]:e[0]};return{find:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],m=void 0,f=function(e){return(0,s.default)((0,r.default)(e),o.default)(n)},h=e.currentLocation();switch(!0){case"message"===e.typeView():m=(0,c.default)(n);break;case!!d.messageID:m=(0,l.default)(n,{ID:d.messageID});break;case a.includes("secured.starred.**"):case a.includes("secured.label.**"):m=p((0,i.default)(n,function(e){return e.LabelIDs.indexOf(h)>-1&&e.Type!==t.DRAFT}));break;case a.includes("secured.allDrafts.**"):case a.includes("secured.drafts.**"):m=f(function(e){return e.Type===t.DRAFT});break;default:var v=f(function(e){return e.Type!==t.DRAFT&&!u(e)});if(v&&1===v.IsRead){m=v;break}m=p((0,i.default)(n,function(e){return e.Type!==t.DRAFT&&!u(e)}))}return m||{}}}}u.$inject=["tools","CONSTANTS","$state","$stateParams"],t.default=u},"./src/app/message/services/messageBuilder.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loadMimeType=t.omitUserAddresses=void 0;var n=p(a("./node_modules/lodash/fp/sortBy.js")),o=p(a("./node_modules/lodash/fp/filter.js")),r=p(a("./node_modules/lodash/fp/flow.js")),s=p(a("./node_modules/lodash/defaults.js")),i=p(a("./node_modules/lodash/map.js")),l=p(a("./node_modules/lodash/union.js")),c=p(a("./node_modules/lodash/find.js")),d=p(a("./node_modules/lodash/filter.js"));t.formatSubject=f,t.injectInline=v,t.pickAttachements=g,t.findSender=b,t.createMessage=y;var u=a("./src/app/constants.js");function p(e){return e&&e.__esModule?e:{default:e}}j.$inject=["$filter","authentication","composerFromModel","gettextCatalog","mailSettingsModel","messageModel","prepareContent","sanitize","signatureBuilder","textToHtmlMail"];var m=u.MIME_TYPES.PLAINTEXT;function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new RegExp("^"+t,"i").test(e)?e:t+" "+e}var h=t.omitUserAddresses=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,d.default)(e,function(e){var a=e.Address;return-1===t.indexOf(a.toLowerCase())})};function v(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Attachments;return(void 0===e?[]:e).filter(function(e){var t=e.Headers["content-disposition"];return void 0!==t&&/^inline/i.test(t)})}function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"new";return/^(reply|replyall)$/.test(t)?v(e):"forward"===t&&e.Attachments||[]}function b(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Addresses,t=void 0===e?[]:e,a=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).AddressID,s=void 0===a?"":a,i=(0,r.default)((0,o.default)({Status:1}),(0,n.default)("Order"))(t),l=i[0];if(s){var d=(0,c.default)(i,{ID:s});d&&(l=d)}return l||{}}function y(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).Addresses,t=void 0===e?[]:e,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=a.RE_PREFIX,o=a.FW_PREFIX,r=u.CONSTANTS.FORWARD,s=u.CONSTANTS.REPLY_ALL,c=u.CONSTANTS.REPLY;return{reply:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.Action=c,e.Subject=f(t.Subject,n),2===t.Type||3===t.Type?e.ToList=t.ToList:e.ToList=t.ReplyTos},replyAll:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=a.Subject,r=a.Type,c=a.ToList,d=a.ReplyTos,u=a.CCList,p=a.BCCList;if(e.Action=s,e.Subject=f(o,n),2===r||3===r)e.ToList=c,e.CCList=u,e.BCCList=p;else{e.ToList=d,e.CCList=(0,l.default)(c,u);var m=(0,i.default)(t,function(e){var t=e.Email;return(void 0===t?"":t).toLowerCase()});e.CCList=h(e.CCList,m)}},forward:function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).Subject;e.Action=r,e.ToList=[],e.Subject=f(t,o)},newCopy:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.Subject,n=void 0===a?"":a,o=t.ToList,r=void 0===o?[]:o,s=t.CCList,i=void 0===s?[]:s,l=t.BCCList,c=void 0===l?[]:l,d=t.DecryptedBody,u=void 0===d?"":d;e.Subject=n,e.ToList=r,e.CCList=i,e.BCCList=c,u&&e.setDecryptedBody(u)}}}var _=t.loadMimeType=function(e,t){return e.MIMEType||t};function j(e,t,a,n,o,r,i,l,c,d){var p=y(t.user,{RE_PREFIX:n.getString("Re:",null,"Message"),FW_PREFIX:n.getString("Fw:",null,"Message")}),f=p.reply,h=p.replyAll,v=p.forward,j=p.newCopy;function A(e,t,a){var n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).MIMEType;return(void 0===t?"":t)===m?d.parse(e):e}(e,t);return i(n,t,{blacklist:["*"],action:a})}return{create:function(){var t,i,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},p=r();return i=b(t=p),(0,s.default)(t,{Type:u.CONSTANTS.DRAFT,ToList:[],CCList:[],BCCList:[],Attachments:[],numTags:[],recipientFields:[],Subject:"",PasswordHint:"",IsEncrypted:0,ExpirationTime:0,From:i,uploading:0,toFocussed:!1,autocompletesFocussed:!1,ccbcc:!1}),(p=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};s.MIMEType=_(r,o.get("DraftMIMEType")),s.RightToLeft=o.get("RightToLeft"),"new"===t&&j(s,r),"reply"===t&&f(s,r),"replyall"===t&&h(s,r),"forward"===t&&v(s,r),s.xOriginalTo=r.xOriginalTo;var i=a.get(r).address;return s.AddressID=r.AddressID,s.From=i,s.Attachments=g(r,t),s.NumEmbedded=0,"new"!==t&&(s.ParentID=r.ID,s.setDecryptedBody("‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br>\n "+n.getString("On {{date}}, {{name}} {{address}} wrote:",{date:e("localReadableTime")(r.Time),name:r.Sender.Name,address:"&lt;"+r.Sender.Address+"&gt;"},"Message")+'<br>\n <blockquote class="protonmail_quote" type="cite">\n '+A(r.getDecryptedBody(),r,t)+"\n </blockquote><br>")),s}(l,d,p)).setDecryptedBody(c.insert(p,{action:l})),p},prepare:function(e,t){return e.setDecryptedBody(A(e.getDecryptedBody(),e,t)),e},updateSignature:c.update}}t.default=j},"./src/app/message/services/prepareContent.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/includes.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a,n,o){var s=["transformLinks","transformEmbedded","transformWelcome","transformBlockquotes","transformStylesheet"].map(function(t){return{name:t,action:e.get(t)}});return function(e,i){var l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=l.blacklist,d=void 0===c?[]:c,u=l.action,p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.includes("*")?[]:s.filter(function(t){var a=t.name;return!e.includes(a)})}(d),m=function(e,t,a){var o=a.isBlacklisted,r=void 0!==o&&o,s=a.action,i=document.createElement("div");return r?(i.innerHTML=(l=e,"string"==typeof l?l:l.querySelector("body").innerHTML),i):n(i,t,{action:s,content:e,isDocument:"string"!=typeof e});var l}(e,i,{action:u,isBlacklisted:(0,r.default)(d,"transformRemote")}),f=p.reduceRight(function(e,t){return t.action(e,i,{action:u})},m);return d.includes("*")||(0,r.default)(d,"transformAttachements")||t(f,i,{action:u}),/^reply|forward/.test(u)&&o(f,i,{action:u}),a(f,i,{action:u}).innerHTML}}s.$inject=["$injector","transformAttachements","transformRemote","transformEscape","transformEmbedded"],t.default=s},"./src/app/message/services/transformAttachements.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/defer.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t){return function(a,n,o){var s=o.action;return s&&t.$emit("message.open",{type:"embedded.injected",data:{action:"user.inject.load",map:{},message:n,body:a.innerHTML}}),e.parser(n,{direction:"blob",text:a.innerHTML}).then(function(){(0,r.default)(function(){t.$emit("message.embedded",{type:"loaded",data:{message:n,body:a,action:s}})},32)}),a}}s.$inject=["embedded","$rootScope"],t.default=s},"./src/app/message/services/transformBase.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=[{selector:'a:not([href^="http"])',attribute:"href"},{selector:'img:not([src^="http"]):not([proton-src^="cid"])',attribute:"src"}],o=function(e){var t=e.getAttribute("href");return"/"!==t.substr(-1,1)?t+"/":t};t.default=function(e,t){var a=t.querySelector("base");if(!a||!a.getAttribute("href"))return e;var r=o(a),s=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";a.startsWith("http")||e.setAttribute(t,r+a)};return n.forEach(function(t){var a=t.selector,n=t.attribute;[].slice.call(e.querySelectorAll(a)).forEach(function(e){var t="proton-"+n,a=e.getAttribute(n)||"",o=e.getAttribute(t)||"",r="/"===a.charAt(0)?a.slice(1):a;!o&&s(e,n,r),o&&s(e,t,o)})}),e}},"./src/app/message/services/transformBlockquotes.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/helpers/slicedToArray.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e){var t=[".protonmail_quote",".gmail_quote",".yahoo_quoted","#isForwardContent","#isReplyContent","#mailcontent:not(table)","#origbody","#reply139content","#oriMsgHtmlSeperator",'blockquote[type="cite"]'].map(function(e){return e+":not(:empty)"}).join(",");return function(a){var n=[].slice.call(a.querySelectorAll(t)),o=a.textContent.trim(),s=!1;return n.forEach(function(t){if(!s){var a=t.textContent.trim(),n=o.split(a),i=(0,r.default)(n,2),l=i[0],c=void 0===l?"":l,d=i[1],u=void 0===d?"":d;if(a.length<o.length&&c.length&&!u.length){var p=document.createElement("button"),m=e.getString("Show previous message",null,"Title");p.className="fa fa-ellipsis-h pm_button more proton-message-blockquote-toggle",p.setAttribute("title",m),t.parentNode.insertBefore(p,t),s=!0}}}),a}}s.$inject=["gettextCatalog"],t.default=s},"./src/app/message/services/transformEmbedded.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/object/keys.js"),r=(n=o)&&n.__esModule?n:{default:n},s=a("./src/app/constants.js");function i(e,t,a){return function(n,o,i){var l=i.action,c=[].slice.call(n.querySelectorAll("img[proton-src]")),d=a.get().ShowImages,u=void 0===d?0:d,p=/^reply|forward/.test(l),m=!0===o.showEmbedded||u&s.EMBEDDED,f=t.is("eo.reply");return c.forEach(function(t){var a=t.getAttribute("proton-src");t.setAttribute("referrerPolicy","no-referrer");var n=e.getAttachment(o,a);if(t.classList.contains("proton-embedded")||t.classList.add("proton-embedded"),n&&(0,r.default)(n).length>0){if(m)return t.setAttribute("data-embedded-img",a),p?void(t.src=e.getUrl(t)):void(f||(!t.parentElement.classList.contains("loading")&&(s=t,angular.element(s).wrap('<div class="image loading"></div>')),t.removeAttribute("src")));var s;o.showEmbedded=!1,t.setAttribute("alt",n.Name)}}),n}}i.$inject=["embedded","$state","mailSettingsModel"],t.default=i},"./src/app/message/services/transformEscape.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/lodash/identity.js")),o=l(a("./node_modules/lodash/escape.js")),r=l(a("./node_modules/lodash/unescape.js")),s=l(a("./node_modules/lodash/each.js")),i=l(a("./src/app/message/services/transformBase.js"));function l(e){return e&&e.__esModule?e:{default:e}}t.default=function(){var e=function e(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return t.length?t[0].reduce(function(n,o){return n.concat(e(t.slice(1),a+o))},[]).join("|"):a}([["&#117;","u"],["&#114;","r","\\&#114;"],["&#108;","l","\\&#108;","\\l"]]),t=function(e){var t=e.querySelectorAll(".pre, pre, code");return(0,s.default)(t,function(e){"PRE"!==e.nodeName&&"CODE"!==e.nodeName||e.childElementCount?function e(t){(0,s.default)(t.querySelectorAll("*"),function(t){if(t.childElementCount)return e(t);/proton-/g.test(t.textContent)&&(t.textContent=t.textContent.replace(/proton-/g,""))})}(e):e.textContent=e.textContent.replace(/proton-/g,"")}),e},a="("+["svg","xlink:href","srcset=","src=","background=","poster="].join("|")+")",l=new RegExp("([^-])"+a+'(?=(([^"><\\\\]|\\\\[^><])|("(\\\\.|[^"\\\\])*"))*>)',"gi"),c=new RegExp('(style\\s*=\\s*")((?:(?:[^"\\\\]|\\\\.)*))(")(?=(([^"><\\\\]|\\\\[^><])|("(\\\\.|[^"\\\\])*"))*>)',"gi"),d=new RegExp("(("+e+")(\\(|&(#40|#x00028|lpar);))","gi"),u=function(e,t){return"user.inject"===t?e:e.replace(c,function(e,t,a,n){return""+t+(s=a,i=(0,r.default)(s),l=i!==s,(c=i.replace(/\\r/g,"r").replace(d,"proton-url("))===i?s:l?(0,o.default)(c):c)+n;var s,i,l,c})};return function(e,a,o){var r=o.content,s=void 0===r?"":r,c=o.action,d=o.isDocument,p=(d?s.querySelector("body").innerHTML:s).replace(l,"$1proton-$2");return e.innerHTML=u(p,c),t((d?i.default:n.default)(e,s))}}},"./src/app/message/services/transformLinks.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/filter.js")),o=r(a("./node_modules/lodash/each.js"));function r(e){return e&&e.__esModule?e:{default:e}}t.default=function(){var e=["ftp://","http://","https://","xmpp:","tel:","callto:"],t=e.concat(["mailto:"]),a=e.reduce(function(e,t){return e[t]=!0,e},{}),r=function(e){return e.getAttribute("href").trim().toLowerCase()},s=function(e){var t=r(e);return""===t||"#"===t[0]||a[t]};return function(e){return function(e){var t=[].slice.call(e.querySelectorAll("[href]"));(0,o.default)(t,function(e){e.setAttribute("rel","noreferrer nofollow noopener")})}(e),function(e){var t=[].slice.call(e.querySelectorAll('[href]:not([href=""]):not([href^="#"])'));(0,o.default)(t,function(e){0===(e.getAttribute("href")||"").indexOf("http")&&e.setAttribute("target","_blank")})}(e),function(e){var a=[].slice.call(e.querySelectorAll('a[href]:not([href=""]):not([href^="#"])')),s=(0,n.default)(a,function(e){return!function(e){return t.some(function(t){return r(e).startsWith(t)})}(e)});(0,o.default)(s,function(e){var t=e.getAttribute("href");e.setAttribute("href","http://"+t),e.setAttribute("target","_blank")})}(e),function(e){var t=[].slice.call(e.querySelectorAll("[href]"));(0,o.default)((0,n.default)(t,s),function(e){e.style.pointerEvents="none"})}(e),e}}},"./src/app/message/services/transformRemote.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),o=l(a("./node_modules/lodash/fp/reduce.js")),r=l(a("./node_modules/lodash/fp/filter.js")),s=l(a("./node_modules/lodash/fp/flow.js")),i=a("./src/app/constants.js");function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t,a){var l=["url","xlink:href","srcset","src","svg","background","poster"].map(function(e){return"proton-"+e}),c="("+l.map(function(e){return"proton-src"===e?e+'=(?!"cid)':e}).join("|")+")";function d(e){var t=l.map(function(e){var t=e.split(":");return"["+(0,n.default)(t,1)[0]+"]"}).concat("[style]").join(", ");return[].slice.call(e.querySelectorAll(t)).reduce(function(e,t){if(t.hasAttribute("proton-src")&&-1!==t.getAttribute("proton-src").indexOf("cid:"))return e;return e.push(function(e){return(0,s.default)((0,r.default)(function(e){return-1!==l.indexOf(e.name)}),(0,o.default)(function(e,t){return e[""+t.name]=t.value,e},{}))(e.attributes)}(t)),e},[])}return function(n,o,r){var s=r.action,l=o.showImages||a.get("ShowImages")&i.REMOTE||i.WHITELIST.includes(o.Sender.Address)&&!o.IsEncrypted||e.is("printer"),u=n.innerHTML;if(new RegExp(c,"g").test(u)&&(o.showImages=l),l)if("user.inject"===s){var p=d(n),m=/svg/.test(n.innerHTML);(p.length||m)&&t.$emit("message.open",{type:"remote.injected",data:{action:s,list:p,message:o,hasSVG:m}})}else n.innerHTML=u.replace(new RegExp(c,"g"),function(e,t){return t.substring(7)});return n}}c.$inject=["$state","$rootScope","mailSettingsModel"],t.default=c},"./src/app/message/services/transformStylesheet.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return function(e){var t=e.firstElementChild;return t&&/absolute/.test(t.style.position)&&(t.style.position="inherit"),e}}},"./src/app/message/services/transformWelcome.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return function(e){var t=[].slice.call(e.querySelectorAll('img[src="/img/app/welcome_lock.gif"]'));return t.length>0&&t.forEach(function(e){e.src="/assets/img/emails/welcome_lock.gif"}),e}}},"./src/app/pmMe/directives/pmMeBtn.js":function(e,t,a){"use strict";function n(e,t){var a=function(){return t.activate()};return{replace:!0,restrict:"E",template:'<button type="button">'+function(t){return e.getString("Activate {{email}}",{email:t},"Action")}(t.email())+"</button>",link:function(e,t){t.on("click",a),e.$on("$destroy",function(){t.off("click",a)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["gettextCatalog","pmMeModel"],t.default=n},"./src/app/pmMe/directives/pmMeView.js":function(e,t,a){"use strict";function n(e,t,n,o){return{replace:!0,restrict:"E",scope:{},templateUrl:a("./src/templates/pmMe/pmMeView.tpl.html"),link:function(a){var r=e(),s=r.on,i=r.unsubscribe;a.email=o.email(),a.hasPmMe=t.hasPmMe(),a.hasPaidMail=n.hasPaidMail(),s("addressesModel",function(e,n){var o=n.type;"addresses.updated"===(void 0===o?"":o)&&a.$applyAsync(function(){a.hasPmMe=t.hasPmMe()})}),a.$on("$destroy",i)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","addressesModel","authentication","pmMeModel"],t.default=n},"./src/app/pmMe/factories/pmMeModel.js":function(e,t,a){"use strict";function n(e,t,a,n,o,r,s,i){var l=function(){return a.user.Name+"@pm.me"},c={PM_ME:{paid:function(){return o.getString("You can now send and receive email from your new {{email}} address!",{email:l()},"Success notification for paid user after @pm.me generation")},free:function(){return o.getString("You can now receive email to your new {{email}} address! To send from it, please upgrade to a paid ProtonMail plan",{email:l()},"Success notification for free user after @pm.me generation")}}};return{activate:function(){var o=a.hasPaidMail(),l=c.PM_ME[o?"paid":"free"](),d=function(t){var a=t.Password,n=t.TwoFactorCode,o=t.DisplayName,c=t.Signature,d=i.unlock({Password:a,TwoFactorCode:n}).then(function(){return e.setup({Domain:"pm.me",DisplayName:o,Signature:c})}).then(i.lock).then(function(){return s.success(l)});r.track(d)};t(function(e,t){if(o)return a=function(a){var n=a.DisplayName,o=a.Signature;d({Password:e,TwoFactorCode:t,DisplayName:n,Signature:o})},void n.activate({params:{submit:function(e){n.deactivate(),a(e)},cancel:function(){n.deactivate()}}});var a;d({Password:e,TwoFactorCode:t})})},email:l}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["addressModel","askPassword","authentication","setupAddressModal","gettextCatalog","networkActivityTracker","notification","User"],t.default=n},"./src/app/pmMe/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./src/app/pmMe/directives/pmMeBtn.js")),o=s(a("./src/app/pmMe/directives/pmMeView.js")),r=s(a("./src/app/pmMe/factories/pmMeModel.js"));function s(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.pmMe",[]).directive("pmMeBtn",n.default).directive("pmMeView",o.default).factory("pmMeModel",r.default).name},"./src/app/search/directives/btnAdvancedSearch.js":function(e,t,a){"use strict";function n(e){var t="fa-angle-down",n="fa-angle-up",o="fa-times";return{replace:!0,templateUrl:a("./src/templates/search/btnAdvancedSearch.tpl.html"),link:function(a,r,s){var i=s.action,l=void 0===i?"show":i,c=e(["advancedSearch"]),d=c.on,u=c.unsubscribe,p=c.dispatcher,m=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return p.advancedSearch(e,t)},f=r[0].querySelector(".btnAdvancedSearch-icon-desktop"),h=!1;"close"===l&&(f.classList.remove(t),f.classList.add(o)),d("advancedSearch",function(e,a){var o=a.type,r=a.data;if("open"===o&&"show"===l){var s=r.visible?n:t,i=r.visible?t:n;f.classList.remove(i),f.classList.add(s),h=r.visible}});var v=function(){if("close"===l)return m("open",{visible:!1});m("open",{visible:h=!h})};r.on("click",v),a.$on("$destroy",function(){r.off("click",v),u()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers"],t.default=n},"./src/app/search/directives/searchContact.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/debounce.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n,o,s){var i=s.getString("Search contacts");return{replace:!0,restrict:"E",scope:{},templateUrl:a("./src/templates/search/searchContact.tpl.html"),link:function(a,s){var l=e(["contacts"]),c=l.on,d=l.unsubscribe,u=l.dispatcher,p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return u.contacts("searchingContact",{keyword:e})},m=s[0].querySelector(".searchInput");a.query=n.keyword||"";var f=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=e?"secured.contacts":t.$current.name;t.go(n,{page:1,keyword:a},{notify:e}).then(function(){return e?p():p(a)})},h=function(){return f(!1,a.query)},v=function(){return f(!0)},g=(0,r.default)(h,300),b=function(){var e=o.total(),t=e?i+" ("+e+")":i;m.placeholder=t};c("contacts",function(e,t){"contactsUpdated"===t.type&&b()}),s.on("submit",h),s.on("reset",v),s.on("input",g),b(),a.$on("$destroy",function(){d(),s.off("submit",h),s.off("reset",v),s.off("input",g)})}}}s.$inject=["dispatchers","$state","$stateParams","contactCache","gettextCatalog"],t.default=s},"./src/app/search/directives/searchForm.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/find.js")),o=r(a("./node_modules/lodash/extend.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,r,s,i,l,c,d){var u=function(e){return e?new Date(1e3*e).toISOString():void 0},p=function(e){return e?new Date(1e3*e):void 0};return{scope:{},replace:!0,templateUrl:a("./src/templates/search/searchForm.tpl.html"),compile:function(a){return a.find(".search-date").attr("placeholder",c.I18N.localizedDatePlaceholder),function(a,s){var c=e(["advancedSearch"]),m=c.on,f=c.unsubscribe,h=c.dispatcher,v=d.get().AutoWildcardSearch,g=i.getFolderList(),b=i.getAddresses(),y=s[0].querySelector(".search-form-fieldset-input");a.model={wildcard:Boolean(v),folder:g[0],address:b[0],attachments:"2"},a.query=l.generateSearchString(g);m("updateUser",function(){a.addresses=i.getAddresses()}),m("hotkeys",function(e,t){"slash"===t.type&&y.focus()}),m("$stateChangeSuccess",function(){a.query=l.generateSearchString(g)}),m("advancedSearch",function(e,t){var i=t.type,c=t.data;"open"===i&&(s[0].classList[c.visible?"add":"remove"]("searchForm-container-adv"),a.$applyAsync(function(){var e;e=(0,o.default)({},l.extractParameters(a.query,g),r),a.addresses=b,a.folders=g,a.model.keyword=e.keyword,a.model.from=e.from,a.model.to=e.to,a.model.beginRaw=u(e.begin),a.model.begin=p(e.begin),a.model.endRaw=u(e.end),a.model.end=p(e.end),a.model.folder=(0,n.default)(g,{value:e.label})||g[0],a.advancedSearch=c.visible}))}),m("labelsModel",function(e,t){var a=t.type;"cache.update"!==a&&"cache.refresh"!==a||(g=i.getFolderList())});var _=function(e,a){t.go(e,a),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};h.advancedSearch(e,t)}("open",{visible:!1})},j=function(){var e=a.query,t=s[0].classList.contains("searchForm-container-adv"),n=l.extractParameters(e,g),o=i.build(a.model),r=function(){return"secured."+(arguments.length>0&&void 0!==arguments[0]&&arguments[0]?"search":"inbox")}(e||o.keyword||t);return _(r,t?o:i.build(n))};s.on("submit",j),a.$on("$destroy",function(){s.off("submit",j),f()})}}}}s.$inject=["dispatchers","$state","$stateParams","authentication","searchModel","searchValue","dateUtils","mailSettingsModel"],t.default=s},"./src/app/search/directives/wildcardCheckbox.js":function(e,t,a){"use strict";function n(e,t,a){return{restrict:"E",replace:!0,scope:{},template:'\n <label class="wildcardCheckbox-container">\n <custom-checkbox data-custom-ng-model="wildcard" data-custom-ng-change="onClick()"></custom-checkbox>\n <span class="wildcardCheckbox-info">'+t.getString("Do not require exact match",null,"Label")+'</span>\n <a href="https://protonmail.com/support/knowledge-base/search/" target="_blank" class="wildcardCheckbox-link pm_button link">'+t.getString("Learn more",null,"Link")+"</a>\n </label>\n ",link:function(t){var n=a.get().AutoWildcardSearch;t.wildcard=Boolean(n),t.onClick=function(){return e.$emit("settings",{type:"autowildcard.update",data:{AutoWildcardSearch:t.wildcard?1:0}})}}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$rootScope","gettextCatalog","mailSettingsModel"],t.default=n},"./src/app/search/factories/searchModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=i(a("./node_modules/lodash/extend.js")),r=i(a("./node_modules/lodash/map.js")),s=i(a("./node_modules/lodash/reduce.js"));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t,a,i,l){var c={inbox:i.getString("Inbox",null,"Option for search panel"),spam:i.getString("Spam",null,"Option for search panel"),drafts:i.getString("Drafts",null,"Option for search panel"),starred:i.getString("Starred",null,"Option for search panel"),allDrafts:i.getString("Drafts",null,"Option for search panel"),sent:i.getString("Sent",null,"Option for search panel"),allSent:i.getString("Sent",null,"Option for search panel"),trash:i.getString("Trash",null,"Option for search panel"),archive:i.getString("Archive",null,"Option for search panel"),allmail:i.getString("All Mail",null,"Option for search panel")},d=(0,s.default)((0,n.default)(a.MAILBOX_IDENTIFIERS),function(e,t){if("search"!==t&&"label"!==t){var n=a.MAILBOX_IDENTIFIERS[t];e.push({value:n,label:c[t],group:"folder"})}return e},[{value:-1,label:i.getString("All",null),group:"default"}]),u=function(){return{address:void 0,page:void 0,filter:void 0,sort:void 0,label:void 0,from:void 0,to:void 0,subject:void 0,keyword:void 0,begin:void 0,end:void 0,attachments:void 0,wildcard:void 0,starred:void 0,reload:void 0}},p=function(e){if(e)return Math.abs(+e/1e3)};return{getFolderList:function(){var e=(0,r.default)(l.get(),function(e){return{value:e.ID,label:e.Name,group:1===e.Exclusive?"folder":"label"}});return d.concat(e)},getAddresses:function(){return[{Email:i.getString("All",null),ID:void 0,Order:0,Receive:1,Status:1}].concat(e.get())},resetParameters:u,build:function(){var e,t,a,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=angular.copy(n),s=+r.attachments,i=+r.wildcard,l=(e={begin:p(r.begin),end:p(r.end)},t=e.begin,a=e.end,t&&t===a?{begin:t,end:a+86399}:{begin:t,end:a});return(0,o.default)({address:void 0,page:void 0,filter:void 0,sort:void 0,label:void 0,from:void 0,to:void 0,subject:void 0,keyword:void 0,begin:void 0,end:void 0,attachments:void 0,wildcard:void 0,starred:void 0,reload:void 0},{to:r.to,from:r.from,keyword:r.keyword,wildcard:isNaN(i)?void 0:i,attachments:isNaN(s)?void 0:s,address:(r.address||{}).ID,label:r.label||function(e){if(null!==e&&angular.isDefined(e))return-1!==e.value?e.value:void 0}(r.folder)},l)}}}l.$inject=["addressesModel","authentication","CONSTANTS","gettextCatalog","labelsModel"],t.default=l},"./src/app/search/factories/wildcardModel.js":function(e,t,a){"use strict";function n(e,t,a,n,o){var r={success:t.getString("Search parameter updated")};return(0,e().on)("settings",function(e,t){var s,i,l=t.type,c=t.data;"autowildcard.update"===l&&(s=(void 0===c?{}:c).AutoWildcardSearch,i=o.updateAutowildcard({AutoWildcardSearch:s}).then(function(){return n.success(r.success)}),a.track(i))}),{init:angular.noop}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","gettextCatalog","networkActivityTracker","notification","settingsMailApi"],t.default=n},"./src/app/search/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./src/app/search/directives/btnAdvancedSearch.js")),o=d(a("./src/app/search/directives/searchContact.js")),r=d(a("./src/app/search/directives/searchForm.js")),s=d(a("./src/app/search/directives/wildcardCheckbox.js")),i=d(a("./src/app/search/factories/searchModel.js")),l=d(a("./src/app/search/factories/wildcardModel.js")),c=d(a("./src/app/search/services/searchValue.js"));function d(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.search",[]).run(["wildcardModel",function(e){return e.init()}]).directive("btnAdvancedSearch",n.default).directive("searchContact",o.default).directive("searchForm",r.default).directive("wildcardCheckbox",s.default).factory("searchModel",i.default).factory("wildcardModel",l.default).factory("searchValue",c.default).name},"./src/app/search/services/searchValue.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=s(a("./node_modules/lodash/find.js")),r=s(a("./node_modules/lodash/each.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=function(e){return moment.unix(e).format("YYYYMMDD")};return{generateSearchString:function(a){var n="";if(angular.isDefined(e.label)){var r=(0,o.default)(a,{value:e.label});angular.isDefined(r)&&(n+="in:"+r.label+" ")}return angular.isDefined(e.keyword)?angular.isUndefined(e.from)&&angular.isUndefined(e.to)&&angular.isUndefined(e.label)?n+=e.keyword+" ":n+="keyword:"+e.keyword+" ":angular.isDefined(e.label)&&(n+="keyword: "),angular.isDefined(e.from)&&(n+="from:"+e.from+" "),angular.isDefined(e.to)&&(n+="to:"+e.to+" "),angular.isDefined(e.begin)&&(n+="begin:"+t(e.begin)+" "),angular.isDefined(e.end)&&(n+="end:"+t(e.end)+" "),n.trim()},extractParameters:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a={},s=[{value:"keyword:",key:"keyword"},{value:"from:",key:"from"},{value:"to:",key:"to"},{value:"in:",key:"label"},{value:"begin:",key:"begin"},{value:"end:",key:"end"}];return(0,r.default)(s,function(n){var i=e.split(n.value);if((0,r.default)(s,function(e){i[1]&&-1!==i[1].indexOf(e.value)&&(i[1]=i[1].split(e.value)[0])}),i[1]){var l=i[1].trim();if("label"===n.key){var c=(0,o.default)(t,{label:l});angular.isDefined(c)&&(a.label=c.value)}else"begin"===n.key||"end"===n.key?a[n.key]=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return moment(e).unix()}(l):a[n.key]=l}}),0===(0,n.default)(a).length&&e.length>0&&(a.keyword=e),a}}}i.$inject=["$stateParams"],t.default=i},"./src/app/sidebar/directives/btnDisplayMobileSidebar.js":function(e,t,a){"use strict";function n(e){var t={show:"fa-bars",hide:"fa-times"};return{replace:!0,template:'<button class="btnDisplayMobileSidebar-container"><i class="fa"></i></button>',compile:function(a,n){var o=n.type,r=void 0===o?"show":o;return a[0].querySelector("i").classList.add(t[r]),function(t,a,n){var o=n.type,r=void 0===o?"show":o,s=function(){return e.set("showSidebar","show"===r)};a.on("click",s),t.$on("$destroy",function(){a.off("click",s)})}}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["AppModel"],t.default=n},"./src/app/sidebar/directives/donateBtn.js":function(e,t,a){"use strict";function n(e,t,a,n){var o={donation:e.getString("Donate",null,"Title"),topUp:e.getString("Add credits",null,"Title"),notAvailable:e.getString("Donations are currently not available, please try again later",null,"Info")};return{replace:!0,template:'<button class="sidebarApp-link donateBtn-container"><div>\n <i class="fa fa-heart-o sidebarApp-icon donateBtn-icon"></i>\n <span class="donateBtn-title">Donate</span></div>\n </button>',link:function(e,r,s){var i=s.item,l=void 0===i?"donation":i;r[0].querySelector(".donateBtn-title").textContent=o[l];var c=function(){if(!n.canPay())return t.info(o.notAvailable);a.activate({params:{type:l,close:a.deactivate}})};r.on("click",c),e.$on("$destroy",function(){r.off("click",c)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["gettextCatalog","notification","donateModal","paymentModel"],t.default=n},"./src/app/sidebar/directives/menuLabel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/lodash/each.js")),o=s(a("./node_modules/lodash/sortBy.js")),r=s(a("./src/helpers/dedent.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a,s,i){var l=document.createElement("div"),c=function(e){var t,n=e.ID,o=e.Color,i=e.Name,c=e.Exclusive,d=function(e){return["menuLabel-item",a.label===e&&"active"].filter(Boolean).join(" ")}(n),u=s.href("secured.label",{label:n,sort:null,filter:null,page:null}),p=(t=i,l.textContent=t||"",l.innerHTML),m=p.replace(/"|'/g,""),f=1===c?"fa-folder":"fa-tag";return(0,r.default)('<li class="'+d+'">\n <a href="'+u+'" title="'+m+'" data-label="'+m+'" class="btn menuLabel-link" data-pt-dropzone-item="'+n+'" data-pt-dropzone-item-type="label">\n <i class="fa '+f+' menuLabel-icon" style="color: '+(o||"#CCC")+'"></i>\n <span class="menuLabel-title">'+p+'</span>\n <em class="menuLabel-counter" data-label-id="'+n+'"></em>\n </a>\n </li>')};return{replace:!0,template:'<ul class="menuLabel-container"></ul>',link:function(a,r){var s=e(),l=s.on,d=s.unsubscribe,u=function(){r[0].innerHTML=(0,o.default)(t.get(),"Order").reduce(function(e,t){return e+c(t)},"")},p=function(){(0,n.default)(r[0].querySelectorAll(".menuLabel-counter"),function(e){var t=e.getAttribute("data-label-id"),a=e.parentElement,n=i.unread("label",t);e.textContent=n,a.title=(a.getAttribute("data-label")+" "+n).trim()})};u(),p();var m=function(){return u(),p()};l("app.cacheCounters",function(e,t){"load"===t.type&&p()}),l("elements",function(e,t){"refresh"===t.type&&p()}),l("labelsModel",function(e,t){var a=t.type;"cache.refresh"!==a&&"cache.update"!==a||m()}),l("$stateChangeSuccess",function(){_rAF(m)}),a.$on("$destroy",d)}}}i.$inject=["dispatchers","labelsModel","$stateParams","$state","sidebarModel"],t.default=i},"./src/app/sidebar/directives/navigationItem.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/find.js")),o=r(a("./src/helpers/dedent.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,a,r,s,i){return{replace:!0,template:'<li class="navigationItem-container"></li>',link:function(l,c,d){var u=d.key,p=a(),m=p.on,f=p.unsubscribe,h=void 0,v=r.getStateConfig()[u],g=function(){var e=c[0].querySelector(".navigationItem-item"),t=e.querySelector(".navigationItem-counter"),a=r.unread(u);e.title=(e.getAttribute("data-label")+" "+a).trim(),t.textContent=a},b=function(){var t=v.states,a=void 0===t?[]:t,o=v.state,r=void 0===o?"":o,s=function(){return c[0].classList.add("active")};return a.length&&(0,n.default)(a,function(t){return e.includes(t)})?s():e.includes(r)?s():void c[0].classList.remove("active")};b(),c[0].innerHTML=function(t,a){var n=a.state,r=a.label,s=a.icon,i=("sidebarApp-icon navigationItem-icon fa "+(void 0===s?"":s)).trim(),l="allmail"!==t?'data-pt-dropzone-item="'+t+'"':"";return(0,o.default)('<a href="'+e.href(n,{sort:null,filter:null,page:null})+'" title="'+r+'" data-label="'+r+'" data-state="'+t+'" class="navigationItem-item" '+l+'>\n <i class="'+i+'"></i>\n <span class="navigationItem-title">'+r+'</span>\n <div class="navigationItem-aside">\n <em class="navigationItem-counter"></em>\n <button class="fa fa-repeat refresh navigationItem-btn-refresh"></button>\n </div>\n </a>')}(u,v),g(),m("app.cacheCounters",function(e,t){"load"===t.type&&g()}),m("elements",function(e,t){"refresh"===t.type&&g()}),m("$stateChangeSuccess",function(){b()});var y=function(){var a,n,o=e.$current.name===v.state&&!t.filter,r=1==~~t.page||angular.isUndefined(t.page);if(i.set("requestTimeout",!1),o&&r)return i.set("showSidebar",!1),a=c[0].querySelector(".refresh"),n=h,a.classList.add("spinMe"),clearTimeout(n),h=setTimeout(function(){s.call().then(function(){return a.classList.remove("spinMe")}).catch(function(e){console.error(e),a.classList.remove("spinMe")})},500)};c.on("click",y),l.$on("$destroy",function(){c.off("click",y),f()})}}}s.$inject=["$state","$stateParams","dispatchers","sidebarModel","eventManager","AppModel"],t.default=s},"./src/app/sidebar/directives/navigationSettings.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./src/helpers/dedent.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a){return{replace:!0,template:'<li class="navigationSettings-container"></li>',link:function(n,o,s){var i=s.key,l=e(),c=l.on,d=l.unsubscribe,u=a.getStateConfig()[i];o[0].innerHTML=function(e,a){var n=a.label,o=a.icon,s=void 0===o?"":o,i=a.state,l=("sidebarApp-icon navigationSettings-icon fa "+s).trim(),c=t.href(i);return(0,r.default)('<a class="navigationSettings-link sidebarApp-link" href="'+c+'" data-state="'+e+'">\n <i class="'+l+'"></i>\n <span>'+n+"</span>\n </a>")}(i,u),o[0].classList.add("navigationSettings-is-"+i),t.includes(u.state)&&o[0].classList.add("active"),c("$stateChangeSuccess",function(e,t){if(t.name===u.state)return o[0].classList.add("active");o[0].classList.remove("active")}),n.$on("$destroy",d)}}}s.$inject=["dispatchers","$state","sidebarSettingsModel"],t.default=s},"./src/app/sidebar/directives/sidebar.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/object/keys.js"),r=(n=o)&&n.__esModule?n:{default:n};var s=function(e){return{scope:{},replace:!0,templateUrl:a("./src/templates/partials/sidebar.tpl.html"),link:function(t){t.listStates=(0,r.default)(e.getStateConfig())}}};s.$inject=["sidebarModel"],t.default=s},"./src/app/sidebar/directives/sidebarContact.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/object/keys.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,n,o,s){var i="sidebarContact-show-delete-contacts",l="sidebarContact-show-merge-button",c={merge:s.getString("Merge",null,"Merge contacts")};return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/sidebar/sidebarContact.tpl.html"),link:function(a,s){var d=e(["contacts"]),u=d.on,p=d.unsubscribe,m=d.dispatcher,f=s.find(".sidebarContact-merge-text");function h(){var e=n.get();e.length?s.addClass(i):s.removeClass(i);var t=o.extractDuplicates(e),a=(0,r.default)(t).reduce(function(e,a){return e+t[a].length},0);a>0?(s.addClass(l),f.text(c.merge+" ("+a+")")):s.removeClass(l)}function v(e){var a=e.target.getAttribute("data-action");switch(a){case"back":t.back();break;case"deleteContacts":m.contacts(a,{contactIDs:"all"});break;case"mergeContacts":case"exportContacts":case"importContacts":m.contacts(a)}}u("contacts",function(e,t){var n=t.type;"contactsUpdated"===(void 0===n?"":n)&&a.$applyAsync(function(){return h()})}),s.on("click",v),h(),a.$on("$destroy",function(){p(),s.off("click",v)})}}}s.$inject=["dispatchers","backState","contactCache","contactMerger","gettextCatalog"],t.default=s},"./src/app/sidebar/directives/sidebarLabels.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/debounce.js")),o=r(a("./src/helpers/mscScrollHelper.js"));function r(e){return e&&e.__esModule?e:{default:e}}t.default=function(){return{replace:!0,templateUrl:a("./src/templates/sidebar/sidebarLabels.tpl.html"),link:function(e,t){var a=(0,o.default)({margin:40,scrollBy:30}),r=t[0];function s(){e.$applyAsync(function(){return e.updateScrollbar("update")})}e.scrollbarConfig={advanced:{updateOnContentResize:!0},scrollInertia:0,scrollButtons:{enable:!1},callbacks:{whileScrolling:function(){a.setScrollPosition(this.mcs.top)}}};var i=(0,n.default)(function(t){if("label"===t.target.dataset.ptDropzoneItemType){var n=r.getBoundingClientRect().height,o=a.scroll(t.target.offsetTop,n);void 0!==o&&e.$applyAsync(function(){return e.updateScrollbar("scrollTo",o)})}},250);r.addEventListener("dragenter",i),window.addEventListener("resize",s),e.$on("$destroy",function(){r.removeEventListener("dragenter",i),window.removeEventListener("resize",s)})}}}},"./src/app/sidebar/directives/sidebarMobile.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/object/keys.js"),r=(n=o)&&n.__esModule?n:{default:n};var s=function(e,t,n,o,s){return{replace:!0,scope:{},templateUrl:a("./src/templates/partials/sidebar-responsive.tpl.html"),link:function(a){var n=t(),i=n.on,l=n.unsubscribe,c=function(){var e=s(),t=e.isAdmin,n=e.isFree;a.isAdmin=t,a.isFree=n};c(),a.listStates=(0,r.default)(e.getStateConfig()),a.hideMobileSidebar=function(){var e=setTimeout(function(){o.set("showSidebar",!1),clearTimeout(e)},1e3)},i("$stateChangeStart",function(){o.set("showSidebar",!1)}),i("updateUser",c),a.$on("$destroy",l)}}};s.$inject=["sidebarModel","dispatchers","authentication","AppModel","userType"],t.default=s},"./src/app/sidebar/directives/sidebarMobileHeader.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/helpers/slicedToArray.js"),r=(n=o)&&n.__esModule?n:{default:n};var s=function(e,t,n){return{scope:{},replace:!0,templateUrl:a("./src/templates/sidebar/sidebarMobileHeader.tpl.html"),link:function(a){var o=e(),s=o.on,i=o.unsubscribe,l=function(){var e=n.user.Name,o=void 0===e?"":e,s=t.get()||[],i=(0,r.default)(s,1)[0],l=(i=void 0===i?{}:i).DisplayName,c=void 0===l?"":l,d=i.Email,u=void 0===d?"":d;a.$applyAsync(function(){a.displayName=c||o,a.email=u})};s("updateUser",function(){return l()}),l(),a.$on("$destroy",i)}}};s.$inject=["dispatchers","addressesModel","authentication"],t.default=s},"./src/app/sidebar/directives/sidebarProgress.js":function(e,t,a){"use strict";function n(e,t,n){var o=n("humanSize"),r=n("percentage");return{templateUrl:a("./src/templates/directives/core/sidebarProgress.tpl.html"),replace:!0,link:function(t){t.storageStyle=function(){return{width:r(e.user.UsedSpace,e.user.MaxSpace)+"%"}},t.storageValue=function(){return o(e.user.UsedSpace)+" / "+o(e.user.MaxSpace)}}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["authentication","organizationModel","$filter"],t.default=n},"./src/app/sidebar/factories/sidebarModel.js":function(e,t,a){"use strict";function n(e,t,a,n,o){var r=o.get().ShowMoved,s=function(){return 1&r},i=function(){return 2&r};return{unread:function(n,o){var r=function(e){return"sent"===e?i()?"allSent":"sent":"drafts"===e?s()?"allDrafts":"drafts":e}(n),l=function(e,n){var o=t.getTypeList(e);return a["unread"+("conversation"===o?"Conversation":"Message")](n)}(r,function(t,a){return"label"===t?a:e.MAILBOX_IDENTIFIERS[t]}(r,o));return void 0===l||l<=0?"":"("+l+")"},getStateConfig:function(){var e=s()?"secured.allDrafts":"secured.drafts",t=i()?"secured.allSent":"secured.sent";return{inbox:{state:"secured.inbox",label:n.getString("Inbox",null,"Title"),icon:"fa-inbox"},drafts:{state:e,states:["secured.allDrafts","secured.drafts"],label:n.getString("Drafts",null,"Title"),icon:"fa-file-text-o"},sent:{state:t,states:["secured.allSent","secured.sent"],label:n.getString("Sent",null,"Title"),icon:"fa-send"},starred:{state:"secured.starred",label:n.getString("Starred",null,"Title"),icon:"fa-star-o"},archive:{state:"secured.archive",label:n.getString("Archive",null,"Title"),icon:"fa-archive"},spam:{state:"secured.spam",label:n.getString("Spam",null,"Title"),icon:"fa-ban"},trash:{state:"secured.trash",label:n.getString("Trash",null,"Title"),icon:"fa-trash-o"},allmail:{state:"secured.allmail",label:n.getString("All Mail",null,"Title")}}}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["CONSTANTS","tools","cacheCounters","gettextCatalog","mailSettingsModel"],t.default=n},"./src/app/sidebar/factories/sidebarSettingsModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/omit.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t){var a={dashboard:{state:"secured.dashboard",label:e.getString("Dashboard",null,"Title"),icon:"fa-tachometer"},account:{state:"secured.account",label:e.getString("Account",null,"Title"),icon:"fa-user"},labels:{state:"secured.labels",label:e.getString("Folders / Labels",null,"Title"),icon:"fa-tags"},filters:{state:"secured.filters",label:e.getString("Filters",null,"Title"),icon:"fa-filter"},autoresponder:{state:"secured.autoresponder",label:e.getString("Auto-Reply",null,"Title"),icon:"fa-envelope-open"},security:{state:"secured.security",label:e.getString("Security",null,"Title"),icon:"fa-shield"},appearance:{state:"secured.appearance",label:e.getString("Appearance",null,"Title"),icon:"fa-paint-brush"},members:{state:"secured.members",label:e.getString("Addresses / Users",null,"Title"),icon:"fa-users"},domains:{state:"secured.domains",label:e.getString("Domains",null,"Title"),icon:"fa-globe"},bridge:{state:"secured.bridge",label:"IMAP/SMTP",icon:"fa-desktop"},pmme:{state:"secured.pmme",label:"pm.me",icon:"fa-envelope"},payments:{state:"secured.payments",label:e.getString("Payments",null,"Title"),icon:"fa-credit-card"},keys:{state:"secured.keys",label:e.getString("Keys",null,"Title"),icon:"fa-key"},vpn:{state:"secured.vpn",label:"ProtonVPN",icon:"ico-protonvpn"}};return{getStateConfig:function(){return t.isMember()?(0,r.default)(a,"pmme"):a}}}s.$inject=["gettextCatalog","memberModel"],t.default=s},"./src/app/sidebar/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=v(a("./src/app/sidebar/directives/btnDisplayMobileSidebar.js")),o=v(a("./src/app/sidebar/directives/donateBtn.js")),r=v(a("./src/app/sidebar/directives/menuLabel.js")),s=v(a("./src/app/sidebar/directives/navigationItem.js")),i=v(a("./src/app/sidebar/directives/navigationSettings.js")),l=v(a("./src/app/sidebar/directives/sidebar.js")),c=v(a("./src/app/sidebar/directives/sidebarLabels.js")),d=v(a("./src/app/sidebar/directives/sidebarContact.js")),u=v(a("./src/app/sidebar/directives/sidebarMobile.js")),p=v(a("./src/app/sidebar/directives/sidebarMobileHeader.js")),m=v(a("./src/app/sidebar/directives/sidebarProgress.js")),f=v(a("./src/app/sidebar/factories/sidebarModel.js")),h=v(a("./src/app/sidebar/factories/sidebarSettingsModel.js"));function v(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.sidebar",[]).directive("btnDisplayMobileSidebar",n.default).directive("donateBtn",o.default).directive("menuLabel",r.default).directive("navigationItem",s.default).directive("navigationSettings",i.default).directive("sidebar",l.default).directive("sidebarLabels",c.default).directive("sidebarContact",d.default).directive("sidebarMobile",u.default).directive("sidebarMobileHeader",p.default).directive("sidebarProgress",m.default).factory("sidebarModel",f.default).factory("sidebarSettingsModel",h.default).name},"./src/app/squire/directives/addFilePopover.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("./src/app/constants.js");function o(e,t){var o=n.DEFAULT_SQUIRE_VALUE.IMAGE;return{replace:!0,templateUrl:a("./src/templates/squire/addFilePopover.tpl.html"),link:function(a,n){var r=a.message.ID,s=n[0],i=function(){e.set(r,{popover:void 0})},l=function(e){var n=e.target.files[0];return t.insertImage(a.message,{url:"",file:n}),i(),_rAF(function(){return e.target.value=null})},c=function(e,t){var n=e.popover;if("insertImage"===t.popover)return s.classList.remove("addFilePopover-hidden"),_rAF(function(){return s.querySelector("input").focus()});"insertImage"===n&&(s.classList.add("addFilePopover-hidden"),a.$applyAsync(function(){return a.data.image=o}))},d=function(e){e.preventDefault(),e.stopPropagation()},u=s.querySelector(".addFilePopover-input-file"),p=function(e){switch(e.target.name){case"adduri":u.click(),i();break;case"addurl":t.insertImage(a.message,{url:s.url.value}),i();break;case"addembedded":i()}};e.on(r,c,["popover"]),s.addEventListener("submit",d,!1),s.addEventListener("click",p,!1),u.addEventListener("change",l,!1),a.$on("$destroy",function(){e.off(r,c),s.removeEventListener("submit",d,!1),s.addEventListener("click",p,!1),u.removeEventListener("change",l,!1)})}}}o.$inject=["editorState","squireExecAction"],t.default=o},"./src/app/squire/directives/addLinkPopover.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/helpers/extends.js"),r=(n=o)&&n.__esModule?n:{default:n},s=a("./src/app/constants.js");d.$inject=["editorModel","editorState","squireExecAction"];var i=s.DEFAULT_SQUIRE_VALUE.LINK,l="addLinkPopover-hidden",c="addLinkPopover-editable";function d(e,t,n){var o=function(t){var a=e.find(t).editor;return{editor:a,selection:a&&a.getSelection()}};return{replace:!0,templateUrl:a("./src/templates/squire/addLinkPopover.tpl.html"),link:function(e,a){var d=e.message.ID,u=a[0],p=function(t,a){var n,s,d,p,m,f=t.popover;if("makeLink"===a.popover){var h=(n=e.message,s=o(n),d=s.selection,p=s.editor,m={href:i,textContent:i},p?angular.element(d.commonAncestorContainer).closest("a")[0]||(0,r.default)({},m,{textContent:d.toString()}):m);return u.urlLink.value=h.href,u.labelLink.value=h.textContent,u.classList.remove(l),!function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;return e&&e!==i}(u.urlLink.value)?u.classList.remove(c):u.classList.add(c),_rAF(function(){return u.querySelector("input").focus()})}"makeLink"===f&&u.classList.add(l)},m=function(t){var a=t.target;if(/update|add/.test(a.name))return n.makeLink(e.message,{link:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return s.REGEX_EMAIL.test(e)?/mailto/.test(e)?e:("mailto:"+e).trim():/^http(|s):/.test(e)?e:"http://"+e}(u.urlLink.value),title:u.labelLink.value,wrap:function(e){var t=o(e),a=t.selection,n=t.editor;if(n)return angular.element(a.commonAncestorContainer).find("img").filter(function(){var e=n._win.getSelection().getRangeAt(0);return!(!e||!e.commonAncestorContainer)&&e.commonAncestorContainer.contains(this)})[0]}(e.message)});"remove"===a.name&&n.removeLink(e.message)},f=function(e){e.preventDefault(),e.stopPropagation()};t.on(d,p,["popover"]),u.addEventListener("submit",f),u.addEventListener("click",m),e.$on("$destroy",function(){t.off(d,p),u.removeEventListener("submit",f),u.removeEventListener("click",m)})}}}t.default=d},"./src/app/squire/directives/colorList.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("./src/helpers/colorHelper.js");function o(e,t){var a=t.FONT_COLOR,o=a.white,r=a.magenta,s=a.blue,i=a.green,l=a.yellow,c=function(e){return function(t,a){return t+function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"color",a=(0,n.hexToRgbString)(e);return'<li class="colorList-item" style="color:'+a+'" data-mode="'+t+'"><button class="colorList-btn-choose" data-mode="'+t+'" type="button" data-color="'+a+'"><i class="fa fa-check" aria-hidden="true"></i></button></li>'}(a,e)}},d=function(e){return function(t,a){return t+function(e,t){return'<ul class="colorList-list">'+e.reduce(c(t),"")+"</ul>"}(a,e)}};return{replace:!0,template:'<div class="colorList-container"></div>',compile:function(t,a){var n=a.mode;t[0].innerHTML=[o,r,s,i,l].reduce(d(n),"");var c="highlight"===n?"backgroundColor":"color";return function(t,a){var n=t.message.ID,o=function(e,t){var n=e[c],o=t[c];if(n!==o){var r;(r=a[0].querySelector(".active"))&&r.classList.remove("active");var s=a[0].querySelector('[data-color="'+o+'"]');s&&s.classList.add("active")}};o({},e.get(n)),e.on(n,o,[c]),t.$on("$destroy",function(){e.off(n,o)})}}}}o.$inject=["editorState","CONSTANTS"],t.default=o},"./src/app/squire/directives/colorPopover.js":function(e,t,a){"use strict";function n(e){return{replace:!0,templateUrl:a("./src/templates/squire/colorPopover.tpl.html"),compile:function(t,a){var n=a.mode,o=void 0===n?"color":n;return t.find("[data-hash]").attr("data-mode",o),function(t,a,n){var o=n.mode,r=void 0===o?"color":o,s=function(a){a.preventDefault(),a.stopPropagation(),e.changeColor(t.message,a.target.dataset.color,r)};a.on("mousedown",s),t.$on("$destroy",function(){a.off("mousedown",s)})}}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["squireExecAction"],t.default=n},"./src/app/squire/directives/moreToggle.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/helpers/defineProperty.js"),r=(n=o)&&n.__esModule?n:{default:n},s=a("./src/app/constants.js");c.$inject=["gettextCatalog","onCurrentMessage","editorState"];var i=s.MIME_TYPES.DEFAULT,l=s.MIME_TYPES.PLAINTEXT;function c(e,t,n){var o,s="squireDropdown-is-open",c=(o={},(0,r.default)(o,l,e.getString("Plain Text",null,"Composer Mode")),(0,r.default)(o,i,e.getString("Normal",null,"Composer Mode")),o);return{replace:!0,templateUrl:a("./src/templates/squire/moreToggle.tpl.html"),link:function(e,a){var o=e.message.ID,r=a[0],i=r.querySelector(".squireToolbar-action-modeEditor"),l=function(e,t){var a=e.popover,n=e.editorMode,o=t.popover,l=t.editorMode;n!==l&&(i.textContent=c[l]),"moreToggle"===o?r.classList.add(s):"moreToggle"===a&&r.classList.remove(s)},d=t("squire.toggleMode",e,function(e){"enableToggle"!==e&&"disableToggle"!==e||(i.disabled="disableToggle"===e)});l({},n.get(o)),n.on(o,l,["popover","editorMode"]),e.$on("$destroy",function(){n.off(o,l),d()})}}}t.default=c},"./src/app/squire/directives/plainTextArea.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/debounce.js"),r=(n=o)&&n.__esModule?n:{default:n},s=a("./src/app/constants.js");function i(e,t){var n=13,o=83,i=function(e,t){return!e.altKey&&(e.ctrlKey||e.metaKey)&&e.keyCode===t};return{replace:!0,templateUrl:a("./src/templates/squire/plainTextArea.tpl.html"),link:function(a,l){if(a.message){l[0].value=a.message.DecryptedBody,a.message.ccbcc=!1;var c=function(r){i(r,o)&&(r.preventDefault(),Mousetrap.trigger("mod+s")),i(r,n)&&1===t.get("Hotkeys")&&e.$emit("composer.update",{type:"send.message",data:{message:a.message}})},d=(0,r.default)(function(){e.$emit("plaintextarea",{type:"input",data:{message:a.message}})},s.CONSTANTS.SAVE_TIMEOUT_TIME),u=function(){a.message.ccbcc&&a.$applyAsync(function(){return a.message.ccbcc=!1})};l.on("click",u),l.on("input",d),l.on("keydown",c),a.$on("$destroy",function(){l.off("click",u),l.off("input",d),l.off("keydown",c)})}}}}i.$inject=["$rootScope","mailSettingsModel"],t.default=i},"./src/app/squire/directives/squire.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(a("./node_modules/babel-runtime/regenerator/index.js")),o=l(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),r=l(a("./node_modules/lodash/noop.js")),s=a("./src/app/constants.js"),i=a("./src/app/squire/helpers/textMode.js");function l(e){return e&&e.__esModule?e:{default:e}}m.$inject=["squireEditor","embedded","editorListener","dispatchers","sanitize","toggleModeEditor","mailSettingsModel","onCurrentMessage"];var c=s.MIME_TYPES.PLAINTEXT,d=s.MIME_TYPES.DEFAULT,u=function(e){return"message"===e},p=function(e){return function(t){t&&e.setAttribute("tabindex","-1"),!t&&e.removeAttribute("tabindex")}};function m(e,t,s,l,m,f,h,v){var g="squireEditor-loaded";return{scope:{message:"=?",value:"=?",allowEmbedded:"=",allowDataUri:"="},replace:!0,templateUrl:a("./src/templates/directives/squire.tpl.html"),link:function(a,h,b){var y,_=(y=(0,o.default)(n.default.mark(function o(r){var s,l,d,m,g,b,y,_;return n.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(s=[],l=p(w[0]),d=h[0].querySelector(".plaintext-editor"),!u(A)){n.next=15;break}return n.next=6,t.parser(a.message);case 6:m=n.sent,g=a.message.isPlainText(),l(g),M(a.message.MIMEType),g?5===a.message.IsEncrypted?(0,i.setPlaintext)(d,m):((0,i.setHtml)(a.message,r,m),b=f.toPlainText(a.message,r.getHTML()),(0,i.setPlaintext)(d,b)):(0,i.setHtml)(a.message,r,m),T(),s.push(D(k,r)),n.next=17;break;case 15:r.setHTML(a.value||""),y=setTimeout(function(){s.push(D(k,r)),T(),clearTimeout(y)},100);case 17:_=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.action,o=t.argument;if("squireActions"===e&&"setEditorMode"===n&&n){var s=o.value;if(f.canToggle(a.message)&&s!==a.message.MIMEType){var u=s===c;l(u);var p=u?r.getHTML():d.value;if(M(s),u){var m=f.toPlainText(a.message,p);(0,i.setPlaintext)(d,m),(0,i.setCursorStart)(d)}else{var h=f.toHtml(a.message,p);(0,i.setHtml)(a.message,r,h),(0,i.setSquireSelection)(r)}}}},s.push(v("squire.editor",a,_)),E["composer.update"]("editor.loaded",{element:h,editor:r,message:a.message,isMessage:u(A)}),a.$on("$destroy",function(){s.forEach(function(e){return e()}),s.length=0,e.clean(a.message),f.clear(a.message),r.destroy()});case 21:case"end":return n.stop()}},o,this)})),function(e){return y.apply(this,arguments)}),j=b.typeContent,A=void 0===j?"message":j,S=b.action,C=void 0===S?"":S,I=b.id,x=void 0===I?"composer":I,E=l(["message","composer.update"]).dispatcher;a.data={};var w=h.find("iframe.squireIframe");w[0].id=""+x+Date.now();var T=function(){h[0].classList.add(g),a.$applyAsync(function(){return a.isLoaded=!0})},M=function(e){return h[0].dataset.editorMode=e};u(A)||(a.message={ID:x,isPlainText:r.default});var D=s(a,h,{typeContent:A,action:C});function k(e){var r=this,s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],l=m.message(e||"");a.$applyAsync((0,o.default)(n.default.mark(function o(){var d,p;return n.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(a.message.MIMEType!==c){n.next=2;break}return n.abrupt("return",i&&a.message.setDecryptedBody(e,!1));case 2:if(d=!l.trim().length,h[0].classList[d?"remove":"add"]("squire-has-value"),!u(A)){n.next=11;break}return n.next=7,t.parser(a.message,{direction:"cid",text:l});case 7:return p=n.sent,a.message.setDecryptedBody(p),s&&E.message("updated",{message:a.message}),n.abrupt("return");case 11:a.value=l;case 12:case"end":return n.stop()}},o,r)})))}e.create(w,a.message,A).then(_),M(d)}}}t.default=m},"./src/app/squire/directives/squireActions.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/has.js"),r=(n=o)&&n.__esModule?n:{default:n},s=a("./src/helpers/browser.js");var i=function(e){return{link:function(t,a,n){var o=n.squireActions,i=n.squireActionsType,l=void 0===i?"mousedown":i,c=function(a){var n=a.target;if(!n.dataset.squireIgnore){a.preventDefault(),a.stopPropagation();var s={type:"squireActions",data:{action:o,message:t.message}};(0,r.default)(n.dataset,"value")&&(s.data.argument={value:n.dataset.value,label:n.textContent.trim()}),e.$emit("squire.editor",s)}},d=s.hasTouch?"click":l;a.on(d,c),t.$on("$destroy",function(){a.off(d,c)})}}};i.$inject=["$rootScope"],t.default=i},"./src/app/squire/directives/squireSelectColor.js":function(e,t,a){"use strict";function n(e){return{restrict:"E",replace:!0,templateUrl:a("./src/templates/squire/squireSelectColor.tpl.html"),link:function(t,a){var n=t.message.ID,o=a[0].querySelector("mark"),r=a[0].querySelector(".squireSelectColor-popover"),s=function(e,t){var n=e.popover,s=e.color,i=t.color,l=t.popover;s!==i&&(o.style.color=i),"changeColor"===l?(r.classList.remove("changeColor-hidden"),a[0].classList.add("squireSelectColor-is-open")):"changeColor"===n&&(r.classList.add("changeColor-hidden"),a[0].classList.remove("squireSelectColor-is-open"))};e.on(n,s,["color","popover"]),t.$on("$destroy",function(){e.off(n,s)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["editorState"],t.default=n},"./src/app/squire/directives/squireSelectFontFamily.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/helpers/slicedToArray.js")),o=s(a("./node_modules/babel-runtime/core-js/object/keys.js")),r=s(a("./node_modules/lodash/find.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e){var t="squireDropdown-is-open",s={georgia:"Georgia",arial:"Arial",verdana:"Verdana",tahoma:"Tahoma","trebuchet ms":"Trebuchet MS",helvetica:"Helvetica","times new roman":"Times New Roman",menlo:"Monospace",consolas:"Monospace","courier new":"Monospace",monospace:"Monospace"},i=(0,o.default)(s);return{replace:!0,templateUrl:a("./src/templates/squire/squireSelectFontFamily.tpl.html"),link:function(a,o){var l=a.message.ID,c=o[0],d=c.querySelector(".value"),u=function(e,a){var o=e.popover,l=e.font,u=a.popover,p=a.font,m=void 0===p?"":p;if(l!==m&&(d.textContent=function(e){var t=(0,r.default)(i,function(t){return new RegExp(t).test(e)});return s[t]}(m),c.setAttribute("data-font-family",m)),"changeFontFamily"===u){c.classList.add(t);var f=m.split(" "),h=(0,n.default)(f,1)[0],v=c.querySelector('[data-value^="'+h+'"]');v&&(v.parentNode.scrollTop=v.offsetTop)}else"changeFontFamily"===o&&c.classList.remove(t)};u({},e.get(l)),e.on(l,u,["popover","font"]),a.$on("$destroy",function(){e.off(l,u)})}}}i.$inject=["editorState"],t.default=i},"./src/app/squire/directives/squireSelectFontSize.js":function(e,t,a){"use strict";function n(e){var t="squireDropdown-is-open";return{replace:!0,templateUrl:a("./src/templates/squire/squireSelectFontSize.tpl.html"),link:function(a,n){var o=a.message.ID,r=n[0],s=r.querySelector(".value"),i=function(e,a){var n=e.popover,o=e.size,i=a.popover,l=a.size;if(o!==l&&(s.textContent=l,r.setAttribute("data-font-size",l)),"changeFontSize"===i){r.classList.add(t);var c=r.querySelector('[data-value^="'+l+'"]');c&&(c.parentNode.scrollTop=c.offsetTop)}else"changeFontSize"===n&&r.classList.remove(t)},l=function(e){e.preventDefault(),e.stopPropagation()};r.addEventListener("mousedown",l),i({},e.get(o)),e.on(o,i,["popover","size"]),a.$on("$destroy",function(){e.off(o,i),r.removeEventListener("mousedown",l)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["editorState"],t.default=n},"./src/app/squire/directives/squireState.js":function(e,t,a){"use strict";function n(e,t,a){var n=[38,39,40,37,33,34,36,35],o=function(e,t){var n=t.getFontInfo()||{},o=n.size,r=void 0===o?"14px":o,s=n.color,i=void 0===s?"rgb(34, 34, 34)":s,l=n.family,c=void 0===l?"arial":l,d=n.backgroundColor,u=void 0===d?"rgb(255, 255, 255)":d;a.set(e,{size:parseInt(r,10),font:c.replace(/["\\]/g,""),color:i,backgroundColor:u,popover:void 0})},r=function(e,t){a.set(e,{editorMode:t,popover:void 0})},s=function(e,t){a.get(e).popover!==t?a.set(e,{popover:t}):a.set(e,{popover:void 0})};return{link:function(a){var i=a.message.ID,l=t.find(a.message).editor;o(i,l),r(i,a.message.MIMEType);var c=function(){return o(i,l)},d=function(e){return n.includes(e.keyCode)&&o(i,l)},u=e("squire.editor",a,function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("squire.native.action"===e)switch(t.action){case"setTextColour":case"setFontFace":case"setFontSize":case"setHighlightColour":o(i,l);break;case"setTextDirectionLTR":case"setTextDirectionRTL":case"makeLink":case"removeLink":s(i,void 0);break;case"setEditorMode":r(i,t.argument.value)}if("squireActions"===e)switch(t.action){case"changeFontFamily":case"changeFontSize":case"makeLink":case"insertImage":case"changeColor":case"moreToggle":s(i,t.action);break;default:s(i,void 0)}});l.addEventListener("click",c),l.addEventListener("keyup",d),a.$on("$destroy",function(){u(),l.removeEventListener("click",c),l.removeEventListener("keyup",d)})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["onCurrentMessage","editorModel","editorState"],t.default=n},"./src/app/squire/directives/squireToolbar.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(a("./node_modules/lodash/fp/reduce.js")),o=c(a("./node_modules/lodash/fp/filter.js")),r=c(a("./node_modules/lodash/fp/flow.js")),s=c(a("./node_modules/lodash/debounce.js")),i=a("./src/app/constants.js"),l=a("./src/helpers/domHelper.js");function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t){var c=i.DEFAULT_SQUIRE_VALUE.HEADER_CLASS,d={CONTAINER:"squireToolbar-container squire-toolbar",SUB_ROW:"squireToolbar-show-subrow",insertImage:"open-image",makeLink:"open-link"},u=function(e,t){return e.classList.contains(d[t])?d[t]:""},p=/\[(dir=(rtl|ltr))]/g,m=function(e,t){return(0,s.default)(function(){var a=t.getPath(),s=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(p,"")}(a);if("(selection)"!==s){var i=u(e,"SUB_ROW"),l=u(e,"POPOVER_IMAGE"),m=u(e,"POPOVER_LINK"),f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=p.exec(e);return t&&t.length>=2?t[1].replace("=","-"):"dir-ltr"}(a),h=(0,r.default)((0,o.default)(function(e){return e&&/^i$|^u$|^b$|^ul$|^ol$|^li$|.align-(center|left|right)$/i.test(e)}),(0,n.default)(function(e,t){return e.concat(t.split("."))},[]),(0,o.default)(function(e){return e&&!/div|html|body|span/i.test(e)}),(0,n.default)(function(e,t){return c===t?e+" size":e+" "+t.trim()},""))(s.split(">")).toLowerCase().trim();e.className=[d.CONTAINER,h,i,l,m,f].filter(Boolean).join(" ")}},100)};return{replace:!0,templateUrl:a("./src/templates/squire/squireToolbar.tpl.html"),link:function(a,n){var o=a.message.ID,r=n[0],s=function(){return e.set(o,{popover:void 0})},i=function(e){e.preventDefault(),e.stopPropagation(),r.classList.toggle(d.SUB_ROW),s()},c=function(e){var t,a=e.target;a.dataset.squireActions||(t=a,(0,l.findParent)(t,function(e){return e.dataset&&(void 0!==e.dataset.squirePopover||void 0!==e.dataset.squireDropdown)}))||s()},u=function(e,t){var a=e.popover,n=t.popover;"makeLink"!==a&&"insertImage"!==a||r.classList.remove(d[a]),"makeLink"!==n&&"insertImage"!==n||(r.classList.remove(d.SUB_ROW),r.classList.add(d[n]))},p=t.find(a.message).editor,f=m(r,p),h=r.querySelector(".squireToolbar-action-options");u({},e.get(o)),e.on(o,u,["popover"]),f(),p.addEventListener("pathChange",f),h.addEventListener("mousedown",i),document.addEventListener("click",c),a.$on("$destroy",function(){e.off(o,u),p.removeEventListener("pathChange",f),h.removeEventListener("mousedown",i),document.removeEventListener("click",c)})}}}d.$inject=["editorState","editorModel"],t.default=d},"./src/app/squire/factories/editorModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e={};return{load:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).ID,a=void 0===t?"editor":t,n=arguments[1],o=arguments[2];return e[a]={editor:n,iframe:o},n},find:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).ID;return e[void 0===t?"editor":t]||{}},remove:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).ID;return delete e[void 0===t?"editor":t]}}}},"./src/app/squire/factories/editorState.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/helpers/extends.js")),o=r(a("./node_modules/babel-runtime/core-js/object/keys.js"));function r(e){return e&&e.__esModule?e:{default:e}}t.default=function(){var e={},t=function(t){return e[t]||(e[t]={state:{},callbacks:[],keys:[]}),e[t]};return{set:function(e,a){var r=t(e),s=(0,o.default)(a),i=r.state;r.state=(0,n.default)({},r.state,a),r.callbacks.forEach(function(e,t){!(r.keys[t]?r.keys[t]:s).every(function(e){return!(e in a)||a[e]===i[e]})&&e(i,r.state)})},get:function(e){return t(e).state},on:function(e,a,n){var o=t(e);o.callbacks.push(a),o.keys.push(n)},off:function(e,a){var n=t(e),o=n.callbacks.indexOf(a);-1!==o&&(n.callbacks.splice(o,1),n.keys.splice(o,1))}}}},"./src/app/squire/factories/squireEditor.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/promise.js"),r=(n=o)&&n.__esModule?n:{default:n},s=a("./src/app/constants.js");l.$inject=["dispatchers","editorModel","sanitize"];var i=s.DEFAULT_SQUIRE_VALUE.IFRAME_CLASS;function l(e,t,a){var n={},o=e(["squire.editor"]).dispatcher,s={sanitizeToDOMFragment:function(e,t,n){var o=n._doc,r=e?a.content(e):null;return r?o.importNode(r,!0):o.createDocumentFragment()}};Squire.prototype.testPresenceinSelection=function(e,t,a,n){return e===t&&!!(n.test(this.getPath())|this.hasFormat(a))};return{create:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=arguments[2],c=a.ID,d=void 0===c?"editor":c;return n[d]=l,new r.default(function(n,r){try{!function(e,t){var a=e[0],n=(a.contentDocument||a.contentWindow)&&a.contentWindow.document;if("WebKit"===$.ua.engine.name){e.load(function(){return t(e)});var o=a.getAttribute("src");return a.setAttribute("src",""),a.setAttribute("src",o)}if(n&&"complete"===n.readyState)return t(e);e.load(function(){return t(e)})}(e,function(e){var r,l,c,u,p=e[0].contentWindow.document;l=(r=p).head||r.getElementsByTagName("head")[0],c=r.createElement("style"),u="\n html {\n height: 100%\n }\n\n body {\n height: 100%;\n box-sizing: border-box;\n padding: 1rem 10px 1rem 10px;\n font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;\n font-size: 14px;\n line-height: 1.65em;\n color: #222;\n }\n\n blockquote {\n padding: 0 0 0 1rem;\n margin: 0;\n border-left: 4px solid #e5e5e5;\n }\n\n blockquote blockquote blockquote {\n padding-left: 0;\n margin-left: 0;\n border: none;\n }\n\n .proton-embedded:not([src]) {\n position: relative;\n min-height: 38px;\n border: 1px solid;\n border-color: #444 #CCC #CCC #444;\n background: url('/assets/img/icons/broken-img.png') no-repeat 0 50% white;\n }\n\n .proton-embedded:not([src]):not([alt]) {\n background-position-x: 50%;\n }\n\n .proton-embedded[alt]:not([src])::after {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n content: \" \" attr(alt);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 10px 0 0 20px;\n color: rgba(0,0,0,0.5);\n background: url('/assets/img/icons/broken-img.png') no-repeat 0 50% white;\n }\n\n /* see embedded.scss rules */\n .proton-embedded:not([width]):not([style*=\"width\"]) {\n max-width: 100%;\n min-width: 38px;\n }\n\n .protonmail_signature_block-empty { display: none }\n\n .protonmail_quote {\n position: relative;\n }\n\n li {\n list-style-position: inside;\n }\n\n // Handle outlook https://github.com/ProtonMail/Angular/issues/6711\n p.MsoNormal, li.MsoNormal, div.MsoNormal {\n margin: 0;\n }\n ",c.setAttribute("type","text/css"),c.setAttribute("rel","stylesheet"),c.styleSheet?c.styleSheet.cssText=u:c.appendChild(r.createTextNode(u)),l.appendChild(c),r.childNodes[0].className=i+" ";var m=t.load({ID:d},function(e){return e.setTextDirectionLTR=function(){return e.setTextDirection()},e.setTextDirectionRTL=function(){return e.setTextDirection("rtl")},e.setTextDirectionWithoutFocus=function(t){e.forEachBlock(function(e){t?e.dir=t:e.removeAttribute("dir")},!0)},e.alignCenter=function(){return e.setTextAlignment("center")},e.alignRight=function(){return e.setTextAlignment("right")},e.alignCenter=function(){return e.setTextAlignment("center")},e.alignLeft=function(){return e.setTextAlignment("left")},e.alignJustify=function(){return e.setTextAlignment("justify")},e.makeHeading=function(){return e.setFontSize("2em"),e.bold()},e}(new Squire(p,s)),e);n(m,e),_rAF(function(){o["squire.editor"]("loaded",{editor:m,$iframe:e,message:a})})})}catch(e){console.error(e),r(e)}})},clean:function(e){delete n[e.ID],t.remove(e)},getType:function(e){var t=e.ID;return n[t]}}}t.default=l},"./src/app/squire/helpers/textMode.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.setPlaintext=function(e,t){e.value=t},t.setCursorStart=function(e){e.focus(),e.selectionStart=0,e.selectionEnd=0,e.scrollTop=0},t.setHtml=function(e,t,a){t.setHTML(a),e.RightToLeft&&t.setTextDirectionWithoutFocus("rtl")},t.setSquireSelection=function(e){e.focus();var t=e.getSelection();"BODY"!==t.startContainer.tagName&&"BODY"!==t.endContainer.tagName||e.moveCursorToStart()}},"./src/app/squire/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=I(a("./src/app/squire/directives/addFilePopover.js")),o=I(a("./src/app/squire/directives/addLinkPopover.js")),r=I(a("./src/app/squire/directives/colorList.js")),s=I(a("./src/app/squire/directives/colorPopover.js")),i=I(a("./src/app/squire/directives/moreToggle.js")),l=I(a("./src/app/squire/directives/plainTextArea.js")),c=I(a("./src/app/squire/directives/squire.js")),d=I(a("./src/app/squire/directives/squireActions.js")),u=I(a("./src/app/squire/directives/squireSelectColor.js")),p=I(a("./src/app/squire/directives/squireSelectFontFamily.js")),m=I(a("./src/app/squire/directives/squireSelectFontSize.js")),f=I(a("./src/app/squire/directives/squireToolbar.js")),h=I(a("./src/app/squire/directives/squireState.js")),v=I(a("./src/app/squire/factories/editorModel.js")),g=I(a("./src/app/squire/factories/editorState.js")),b=I(a("./src/app/squire/factories/squireEditor.js")),y=I(a("./src/app/squire/services/editorDropzone.js")),_=I(a("./src/app/squire/services/editorListener.js")),j=I(a("./src/app/squire/services/removeInlineWatcher.js")),A=I(a("./src/app/squire/services/squireExecAction.js")),S=I(a("./src/app/squire/services/textToHtmlMail.js")),C=I(a("./src/app/squire/services/toggleModeEditor.js"));function I(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.squire",[]).directive("addFilePopover",n.default).directive("addLinkPopover",o.default).directive("colorList",r.default).directive("colorPopover",s.default).directive("moreToggle",i.default).directive("plainTextArea",l.default).directive("squire",c.default).directive("squireActions",d.default).directive("squireSelectColor",u.default).directive("squireSelectFontFamily",p.default).directive("squireSelectFontSize",m.default).directive("squireToolbar",f.default).directive("squireState",h.default).factory("editorModel",v.default).factory("editorState",g.default).factory("squireEditor",b.default).factory("editorDropzone",y.default).factory("editorListener",_.default).factory("removeInlineWatcher",j.default).factory("squireExecAction",A.default).factory("textToHtmlMail",S.default).factory("toggleModeEditor",C.default).name},"./src/app/squire/services/editorDropzone.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/debounce.js"),r=(n=o)&&n.__esModule?n:{default:n};function s(e,t,a,n){var o=t.getString("Drop an image here to insert",null,"Info");return function(e,t,s){var i=e[0].querySelector(".squire-dropzone"),l=new Dropzone(i,function(e,t){return{addRemoveLinks:!1,dictDefaultMessage:o,url:"/file/post",acceptedFiles:"image/*",autoProcessQueue:!1,previewTemplate:'<div style="display:none"></div>',paramName:"file",init:function(){var a=this;this.on("addedfile",function(o){n.insertImage(e,{url:"",file:o}),a.removeAllFiles(),t[0].classList.remove("editorDropzone-enter")})}}}(t,e)),c=(0,r.default)(function(){return t="editorDropzone-enter",e[0].classList.remove(t);var t},500),d=function(t){var n;a.isUploadAbleType(t)&&(n="editorDropzone-enter",e[0].classList.add(n))};return e[0].addEventListener("dragenter",d),s.addEventListener("dragenter",d),i.addEventListener("dragover",c),function(){e[0].removeEventListener("dragenter",d),s.removeEventListener("dragenter",d),i.removeEventListener("dragover",c),l.off("addedfile"),l.destroy()}}}s.$inject=["$rootScope","gettextCatalog","attachmentFileFormat","squireExecAction"],t.default=s},"./src/app/squire/services/editorListener.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./node_modules/lodash/fp/each.js")),o=d(a("./node_modules/lodash/fp/filter.js")),r=d(a("./node_modules/lodash/fp/flow.js")),s=d(a("./node_modules/lodash/throttle.js")),i=d(a("./node_modules/lodash/debounce.js")),l=a("./src/helpers/browser.js"),c=a("./src/app/constants.js");function d(e){return e&&e.__esModule?e:{default:e}}function u(e,t,a,d,u,p,m,f,h){var v=(0,l.isMac)(),g=function(e){return"message"===e};return function(l,b,y){var _=y.typeContent,j=y.action,A="message"===_?300:32;return function(y,S){var C=angular.noop,I=angular.noop,x=angular.noop,E=angular.noop;if(g(_)||(C=p(b,l.message,S)),g(_)){var w=m(j);I=(0,s.default)(function(){return w(l.message,S)},300),x=function(e,t,a){var s=["attachment.upload",t].filter(Boolean).join(".");return u.$on(s,function(t,s){var i=s.type,l=s.data;if(function(e,t){var a=e.ID,n=t.message,o=void 0===n?{}:n,r=t.messageID;return a===o.ID||a===r}(a,l)&&"plain/text"!==a.MIMEType)switch(i){case"upload.success":(0,r.default)((0,o.default)(function(e){var t=e.attachment;return"inline"===(void 0===t?{}:t).Headers["content-disposition"]}),(0,n.default)(function(t){var a=t.cid,n=t.url,o=t.attachment;e.fireEvent("refresh",{action:"attachment.embedded",data:{url:n,cid:a,attachment:o}})}))(l.upload);break;case"remove.embedded":e.fireEvent("refresh",{action:"attachment.remove",data:l.attachment.Headers})}})}(S,j,l.message),S.addEventListener("input",I),h.is("eo.reply")||(E=function(e,t){var a=!1,n=function(){return a=!0},o=function(){return a=!1},r=(0,i.default)(function(){a&&u.$emit("squire.editor",{type:"input",data:{message:t.message}})},c.CONSTANTS.SAVE_TIMEOUT_TIME);return e.addEventListener("input",r),e.addEventListener("blur",o),e.addEventListener("focus",n),e._doc.addEventListener("keydown",function(e){e.altKey||!e.ctrlKey&&!e.metaKey||83!==e.keyCode||(e.preventDefault(),Mousetrap.trigger("mod+s"))}),function(){e.removeEventListener("input",r),e.removeEventListener("blur",o),e.removeEventListener("focus",n)}}(S,l))}["dragleave","dragenter","drop"].forEach(function(e){return S.addEventListener(e,function(e,t,a){if("message"!==a)return angular.noop;var n=function(a){u.$emit("editor.draggable",{type:e,data:{messageID:t.ID,message:t,event:a}})};return"dragleave"===e||"drop"===e?(0,i.default)(n,500):n}(e,l.message,_))});var T=(0,s.default)(function(){return y(S.getHTML())},A),M=function(){return b.removeClass("focus").triggerHandler("blur")},D=function(e){return e.preventDefault()},k=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=a.Body,o=void 0===n?"":n,r=a.action,s=void 0===r?"":r,i=a.data;if("attachment.remove"===s&&t.removeEmbedded(l.message,i,S.getHTML()),"attachment.embedded"===s)return d.insertImage(l.message,{url:i.url,opt:{"data-embedded-img":i.cid,alt:i.attachment.Name}});if("message.changeFrom"===s){var c=e.update(l.message,S.getHTML());return!l.message.isPlainText()&&S.setHTML(c),y(c,!0,!0)}if(g(_))return t.parser(l.message).then(function(e){return S.setHTML(e),e}).then(y);S.setHTML(o),y(o)},L=function(){b.addClass("focus").triggerHandler("focus"),u.$emit("composer.update",{type:"editor.focus",data:{editor:S,element:b,message:l.message,isMessage:g(_)}})},P=function(e){a.isUploadAbleType(e)&&e.preventDefault();var t=e.dataTransfer.files[0];t&&/image/.test(t.type||"")&&(e.preventDefault(),d.insertImage(l.message,{url:"",file:t}))};return function(e,t,a){e.setKeyHandler("escape",function(){1===f.get().Hotkeys&&u.$emit("composer.update",{type:"close.message",data:{message:a.message,save:!0}})});var n=(v?"meta":"ctrl")+"-enter";e.setKeyHandler(n,function(e,t){1===f.get().Hotkeys&&(t.preventDefault(),u.$emit("composer.update",{type:"send.message",data:{message:a.message}}))})}(S,0,l),S.addEventListener("drop",P),S.addEventListener("input",T),S.addEventListener("refresh",k),S.addEventListener("focus",L),S.addEventListener("blur",M),S.addEventListener("mscontrolselect",D),function(){C(),x(),E(),S.removeEventListener("drop",P),S.removeEventListener("input",T),S.removeEventListener("refresh",k),S.removeEventListener("focus",L),S.removeEventListener("blur",M),S.removeEventListener("mscontrolselect",D),S.removeEventListener("input",I)}}}}u.$inject=["signatureBuilder","embedded","attachmentFileFormat","squireExecAction","$rootScope","editorDropzone","removeInlineWatcher","mailSettingsModel","$state"],t.default=u},"./src/app/squire/services/removeInlineWatcher.js":function(e,t,a){"use strict";function n(e,t){var a=function(e,t,a){var n=a.latest,o=a.dispatch,r=(e.match(/(rel=("([^"]|"")*"))|(data-embedded-img=("([^"]|"")*"))/g)||[]).filter(function(e){return'rel="noreferrer nofollow noopener"'!==e}).map(function(e){return e.replace(/rel="|data-embedded-img="/,"")}).map(function(e){return e.slice(0,-1)});r.length<n.CID.length&&o({message:t,list:t.Attachments.filter(function(e){var t=e.uploading,a=e.Headers,n=void 0===a?{}:a;if(t)return!1;var o=""+(n["content-id"]||"");return!!o&&-1===r.indexOf(o.replace(/[<>]+/g,""))})});n.CID=r};return function(e){var n={CID:[]},o=["attachment.upload",e].filter(Boolean).join("."),r=function(e){return t.$emit(o,{type:"remove.all",data:e})};return function(e,t){var o=t.getHTML()||"";a(o,e,{dispatch:r,latest:n})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$state","$rootScope"],t.default=n},"./src/app/squire/services/squireExecAction.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/core-js/object/keys.js")),o=s(a("./node_modules/babel-runtime/core-js/promise.js")),r=s(a("./node_modules/lodash/extend.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var a=t(["squire.editor"]),s=a.on,i=a.dispatcher,l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i["squire.editor"](e,t)};s("squire.editor",function(t,a){var o=a.type,r=a.data;"squireActions"===o&&function(t){var a=t.action,o=t.argument,r=void 0===o?{}:o,s=t.message,i=e.find(s).editor,u=c(i,a);if(/^(makeLink|insertImage|changeColor|changeFontFamily|changeFontSize|moreToggle)$/.test(a))return;var p=(0,n.default)(u.tests).filter(function(e){return u.tests[e]});p.length?p.forEach(function(e){return i[e]()}):("setEditorMode"!==a&&i[a](d(a,r)),l("squire.native.action",{action:a,argument:r,message:s}));i.focus()}(r)});var c=function(e,t){var a=e.testPresenceinSelection("makeOrderedList",t,"OL",/>OL\b/),n=e.testPresenceinSelection("makeUnorderedList",t,"UL",/>UL\b/);return{value:t,tests:{removeBold:e.testPresenceinSelection("bold",t,"B",/>B\b/),removeItalic:e.testPresenceinSelection("italic",t,"I",/>I\b/),removeUnderline:e.testPresenceinSelection("underline",t,"U",/>U\b/),removeList:a||n,removeLink:e.testPresenceinSelection("removeLink",t,"A",/>A\b/),decreaseQuoteLevel:e.testPresenceinSelection("increaseQuoteLevel",t,"blockquote",/>blockquote\b/)},isNotValue:function(e){return e===t&&""!==this.value}}},d=function(e,t){var a=t.value;return"setFontSize"===e?a+"px":a};return{makeLink:function(t,a){var n=a.link,o=void 0===n?"":n,r=a.title,s=a.wrap,i=e.find(t),c=i.editor,d=i.iframe,u=angular.element(c.getSelection().commonAncestorContainer).closest("a")[0],p=d[0].contentWindow.document.createRange(),m=d[0].contentWindow.getSelection();if(u&&(p.selectNodeContents(u),m.removeAllRanges(),m.addRange(p)),c.makeLink(o,{target:"_blank",title:o,rel:"nofollow"}),!s){var f=angular.element(c.getSelection().commonAncestorContainer);(f.closest("a")[0]||f.find("a")[0]).textContent=r||o}l("squire.native.action",{action:"makeLink",message:t})},removeLink:function(t){e.find(t).editor.removeLink(),l("squire.native.action",{action:"removeLink",message:t})},insertImage:function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=a.url,s=a.file,i=a.opt,l=void 0===i?{}:i,c=e.find(t).editor;l.class=((l.class||" ")+"proton-embedded").trim();var d=function(e,t){c.focus(),e&&c.insertImage(e,(0,r.default)({},t))};if(s){var u=(0,r.default)({},l,{alt:s.name||s.Name});(function(e){var t=new FileReader;return new o.default(function(a,n){t.addEventListener("load",function(){return a(t.result)},!1),t.addEventListener("error",function(){return n(t)},!1),e&&e.type.match("image.*")&&t.readAsDataURL(e)})})(s).then(function(e){return d(e,u)})}else d(n,l)},changeColor:function(t,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"color",o=e.find(t).editor,r="color"===n?"setTextColour":"setHighlightColour";o[r](a),l("squire.native.action",{action:r,argument:a,message:t})}}}i.$inject=["editorModel","dispatchers"],t.default=i},"./src/app/squire/services/textToHtmlMail.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./node_modules/babel-runtime/regenerator/index.js")),o=s(a("./node_modules/babel-runtime/helpers/asyncToGenerator.js")),r=s(a("./node_modules/lodash/each.js"));function s(e){return e&&e.__esModule?e:{default:e}}function i(e){var t,a=this,s=document.createElement("body"),i=window.markdownit("default",{breaks:!0,linkify:!0}),l=function(e,t){return(e.startsWith("\n")?e:"\n"+e).replace(/((\r\n|\n)\s*(\r\n|\n))+/g,function(e){return function(e,t){return e.replace(/(\r\n|\n)/g,function(e){return e+t}).replace(new RegExp(t+"$","g"),"")}(e,t)}).replace(/^\n/g,"").replace(/(>[^\r\n]*(?:\r\n|\n))(\s*[^>])/g,function(e,t,a){return t+"\n"+a})},c=function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(t,a){var n=e.getTXT(a);return t.replace(n,"--protonSignature--")}(t,a),o=function(e){var t="";do{t=Math.random().toString(36).substring(3)+Math.random().toString(36).substring(3)}while(e.includes(t));return t}(n),c=function(e,t){return e.replace(new RegExp(t,"g"),"")}(i.render(l(n,o)),o);return s.innerHTML=c,(0,r.default)(s.querySelectorAll("p"),function(e){var t=document.createElement("div");t.innerHTML=e.innerHTML,e.parentNode.replaceChild(t,e)}),function(t,a,n){var o=e.getHTML(a,!1,!n.startsWith("--protonSignature--"));return t.replace("--protonSignature--",o)}(s.innerHTML,a,n)},d=(t=(0,o.default)(n.default.mark(function e(){var t=arguments;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",c.apply(void 0,t));case 1:case"end":return e.stop()}},e,a)})),function(){return t.apply(this,arguments)});return{parse:c,parseAsync:d}}i.$inject=["signatureBuilder"],t.default=i},"./src/app/squire/services/toggleModeEditor.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(a("./node_modules/lodash/extend.js")),o=i(a("./node_modules/lodash/keys.js")),r=a("./src/app/constants.js"),s=a("./src/helpers/parserHTML.js");function i(e){return e&&e.__esModule?e:{default:e}}d.$inject=["dispatchers","embeddedUtils","attachmentModel","textToHtmlMail"];var l=r.MIME_TYPES.DEFAULT,c=r.MIME_TYPES.PLAINTEXT;function d(e,t,a,r){var i=e(["squire.toggleMode","attachment.upload","message"]),d=i.on,u=i.dispatcher,p={CAN_TOGGLE:{},ATTACHMENTS_PROCESSING:{}},m=function(e){return!(function(e){return e.uploading&&!!a.getCurrentQueue(e)&&a.getCurrentQueue(e).files.some(function(e){return e.file.inline})}(e)||e.MIMEType===c&&function(e){return e.Attachments.some(t.isEmbedded)}(e)||(0,o.default)(p.ATTACHMENTS_PROCESSING[e.ID]).length)};d("attachment.upload",function(e,t){var a=t.type,n=t.data;"remove.success"!==a&&"remove.error"!==a||!p.ATTACHMENTS_PROCESSING[n.message.ID]||delete p.ATTACHMENTS_PROCESSING[n.message.ID][n.attachment.ID],!n.message||n.message.ID in p.CAN_TOGGLE&&p.CAN_TOGGLE[n.message.ID]===m(n.message)||(p.CAN_TOGGLE[n.message.ID]=m(n.message),function(e,t){u["squire.toggleMode"](e,{message:t})}(p.CAN_TOGGLE[n.message.ID]?"enableToggle":"disableToggle",n.message))});return{canToggle:m,clear:function(e){var t=e.ID;delete p.CAN_TOGGLE[t],delete p.ATTACHMENTS_PROCESSING[t]},toPlainText:function(e,a){var o=e.Attachments.filter(t.isEmbedded);u["attachment.upload"]("remove.all",{message:e,list:o}),p.ATTACHMENTS_PROCESSING[e.ID]=p.ATTACHMENTS_PROCESSING[e.ID]||{};var r=o.reduce(function(e,t){return e[t.ID]=!0,e},{});(0,n.default)(p.ATTACHMENTS_PROCESSING[e.ID],r);var i=(0,s.toText)(a);return e.MIMEType=c,e.setDecryptedBody(i,!1),u.message("updated",{message:e}),i},toHtml:function(e,t){var a=r.parse(t,e);return e.MIMEType=l,e.setDecryptedBody(a,!1),u.message("updated",{message:e}),a}}}t.default=d},"./src/app/utils/helpers/updateCollection.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=l(a("./node_modules/babel-runtime/helpers/defineProperty.js")),r=l(a("./node_modules/lodash/filter.js")),s=l(a("./node_modules/lodash/reduce.js")),i=a("./src/app/constants.js");function l(e){return e&&e.__esModule?e:{default:e}}var c=(n={},(0,o.default)(n,i.CONSTANTS.STATUS.DELETE,"remove"),(0,o.default)(n,i.CONSTANTS.STATUS.CREATE,"create"),(0,o.default)(n,i.CONSTANTS.STATUS.UPDATE,"update"),n);t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=e.slice(0),o=t.reduce(function(e,t){var n=t.Action,o=t.ID,r=c[n];return"remove"===r?(e.remove[o]=!0,e):(e[r].push(t[a]),e)},{update:[],create:[],remove:{}}),i=(0,s.default)([].concat(o.create,o.update),function(e,t){var a=e.MAP[t.ID];if(void 0!==a)return e.collection[a]=t,e;var n=e.collection.push(t);return e.MAP[t.ID]=n-1,e},{collection:n,MAP:(0,s.default)(n,function(e,t,a){return e[t.ID]=a,e},{})}).collection;return{collection:(0,r.default)(i,function(e){var t=e.ID;return!o.remove[t]}),todo:o}}},"./src/app/vpn/directives/openVpnSection.js":function(e,t,a){"use strict";function n(e,t,n){return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/vpn/openVpnSection.tpl.html"),link:function(a){var o=e.get(),r=o.Name,s=o.Password;a.VPNName=r,a.VPNPassword=s,a.changeName=function(){var e={name:a.VPNName,close:function(e){e&&(a.VPNName=e),t.deactivate()}};t.activate({params:e})},a.changePassword=function(){var e={password:a.VPNPassword,close:function(e){e&&(a.VPNPassword=e),n.deactivate()}};n.activate({params:e})}}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["vpnModel","changeVPNNameModal","changeVPNPasswordModal"],t.default=n},"./src/app/vpn/directives/vpnRessources.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{scope:{},restrict:"E",replace:!0,templateUrl:a("./src/templates/vpn/vpnRessources.tpl.html")}}},"./src/app/vpn/directives/vpnView.js":function(e,t,a){"use strict";function n(e,t,n,o,r){return{restrict:"E",replace:!0,scope:{},templateUrl:a("./src/templates/vpn/vpnView.tpl.html"),link:function(a){var s=e(),i=s.on,l=s.unsubscribe,c=function(){var e,s=r.get().Status;a.VPNLogin=o.isMember()?(e=t.get()).length?e[0].Email:"":n.user.Name,a.vpnStatus=s};i("updateUser",c),c(),a.$on("$destroy",l)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","addressesModel","authentication","memberModel","vpnModel"],t.default=n},"./src/app/vpn/factories/changeVPNNameModal.js":function(e,t,a){"use strict";function n(e,t,n,o,r,s){var i=o.getString("OpenVPN login updated",null,"Info");return e({controllerAs:"ctrl",templateUrl:a("./src/templates/vpn/changeVPNNameModal.tpl.html"),controller:["params",function(e){var a=this;a.VPNName=e.name||"",a.submit=function(){var o=a.VPNName,l=s.updateName({VPNName:o}).then(function(){return n.call()}).then(function(){return t.success(i),e.close(o)});r.track(l)},a.cancel=function(){return e.close()}}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["pmModal","notification","eventManager","gettextCatalog","networkActivityTracker","vpnSettingsApi"],t.default=n},"./src/app/vpn/factories/changeVPNPasswordModal.js":function(e,t,a){"use strict";function n(e,t,n,o,r,s){var i=o.getString("OpenVPN password updated",null,"Info");return e({controllerAs:"ctrl",templateUrl:a("./src/templates/vpn/changeVPNPasswordModal.tpl.html"),controller:["params",function(e){var a=this;a.VPNPassword="",a.passwordDefined=e.password,a.submit=function(){var o=a.VPNPassword,l=s.updatePassword({VPNPassword:o}).then(function(){return n.call()}).then(function(){return t.success(i),e.close(o)});r.track(l)},a.cancel=function(){return e.close()}}]})}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["pmModal","notification","eventManager","gettextCatalog","networkActivityTracker","vpnSettingsApi"],t.default=n},"./src/app/vpn/factories/vpnApi.js":function(e,t,a){"use strict";function n(e,t){var a=t.build("vpn");return{get:function(){return e.get(a())},auth:function(t){return e.post(a("auth"),t)},accounting:function(t){return e.post(a("accounting"),t)}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["$http","url"],t.default=n},"./src/app/vpn/factories/vpnModel.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/babel-runtime/core-js/promise.js")),o=r(a("./node_modules/lodash/extend.js"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t,a,r){var s=angular.copy(t.user.VPN),i=a.getString("VPN request failed",null,"Error");function l(e){s=(0,o.default)({},s,e)}return(0,e().on)("updateUser",function(){l(t.user.VPN)}),{get:function(){return s},fetch:function(){return r.get().then(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,t=void 0===e?{}:e;return l(t.VPN),n.default.resolve(t.VPN)}).catch(function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data;throw new Error((void 0===e?{}:e).Error||i)})},set:l,clear:function(){s={}}}}s.$inject=["dispatchers","authentication","gettextCatalog","vpnApi"],t.default=s},"./src/app/vpn/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(a("./src/app/vpn/directives/openVpnSection.js")),o=d(a("./src/app/vpn/directives/vpnRessources.js")),r=d(a("./src/app/vpn/directives/vpnView.js")),s=d(a("./src/app/vpn/factories/changeVPNNameModal.js")),i=d(a("./src/app/vpn/factories/changeVPNPasswordModal.js")),l=d(a("./src/app/vpn/factories/vpnApi.js")),c=d(a("./src/app/vpn/factories/vpnModel.js"));function d(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.vpn",[]).directive("openVpnSection",n.default).directive("vpnRessources",o.default).directive("vpnView",r.default).factory("changeVPNNameModal",s.default).factory("changeVPNPasswordModal",i.default).factory("vpnApi",l.default).factory("vpnModel",c.default).name},"./src/app/wizard/directives/displayWizardButton.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return{link:function(t,a,n){var o=n.displayWizardButton,r=n.displayPosition,s=function(){return e.$emit("tourActions",{action:o||"tourStart",position:+r})};a.on("click",s),t.$on("$destroy",function(){a.off("click",s)})}}};n.$inject=["$rootScope"],t.default=n},"./src/app/wizard/directives/wizard.js":function(e,t,a){"use strict";function n(e,t,n,o,r,s,i,l,c,d,u){var p=u.CYCLE.MONTHLY;return{restrict:"E",replace:!0,templateUrl:a("./src/templates/partials/wizard.tpl.html"),link:function(a,u){var m=e(),f=m.on,h=m.unsubscribe,v=function(){return u[0].classList.remove("wizardStep-hidden")},g=function(){return u[0].classList.add("wizardStep-hidden")},b=function(){r.activate({params:{cancel:function(){r.deactivate()},next:function(){var e,t;r.deactivate(),e=!d.hasPaid("mail"),t=d.cycle()===p,i.isBlackFridayPeriod(!0)&&(e||t)&&s.activate({params:{close:function(){s.deactivate()}}}),c.is("mobile")||y()}}})};n(function(){t.welcome&&b()},0),f("tourActions",function(e,t){var n=t.action,o=t.position;"tourStart"===n&&y(),"tourEnd"===n&&(g(),c.set("tourActive",!1),a.$applyAsync(function(){a.tourActive=!1,l.hideTooltips()})),"tourNext"===n&&_(),"tourGo"===n&&j(o)}),f("$stateChangeSuccess",function(){u[0].classList.contains("wizardStep-hidden")||g()}),a.$on("$destroy",h);function y(){o.go("secured.inbox"),c.set("tourActive",!0),a.$applyAsync(function(){a.tourActive=!0,v(),n(function(){return u[0].focus()},0,!1)}),j(1)}function _(){4!==a.tourStep&&j(Number(a.tourStep+1))}function j(e){l.hideTooltips().tooltip("destroy"),a.$applyAsync(function(){a.tourStep=e,l.renderTooltips(e),function(e){u[0].className=u[0].className.replace(/wizardStep-\d{1}/,"wizardStep-"+e)}(e)})}u.on("keydown",function(e){var t=e.keyCode;37===t&&a.tourStep>1&&j(Number(a.tourStep-1)),39===t&&_()})}}}Object.defineProperty(t,"__esModule",{value:!0}),n.$inject=["dispatchers","$stateParams","$timeout","$state","welcomeModal","blackFridayModal","blackFridayModel","wizardBuilder","AppModel","subscriptionModel","CONSTANTS"],t.default=n},"./src/app/wizard/factories/wizardBuilder.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return{hideTooltips:function(){return $(".tooltip").tooltip("hide")},renderTooltips:function(e){var t=setTimeout(function(){$(function(e){var t=[];switch(e){case 2:$("#tour-layout").tooltip({title:"1",placement:"left",trigger:"manual"}),$("#tour-settings").tooltip({title:"2",placement:"left",trigger:"manual"}),t=["#tour-layout","#tour-settings"];break;case 3:$("#tour-label-dropdown").tooltip({title:"1",placement:"bottom",trigger:"manual"}),$("#tour-label-settings").tooltip({title:"2",placement:"right",trigger:"manual"}),t=["#tour-label-dropdown","#tour-label-settings"];break;case 4:$("#tour-support").tooltip({title:"1",placement:"left",trigger:"manual"}),t=["#tour-support"]}return t}(e)).tooltip("show"),$(".tooltip:visible").addClass("tour"),clearTimeout(t)})}}}},"./src/app/wizard/index.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(a("./src/app/wizard/directives/displayWizardButton.js")),o=s(a("./src/app/wizard/directives/wizard.js")),r=s(a("./src/app/wizard/factories/wizardBuilder.js"));function s(e){return e&&e.__esModule?e:{default:e}}t.default=angular.module("proton.wizard",[]).directive("displayWizardButton",n.default).directive("wizard",o.default).factory("wizardBuilder",r.default).name},"./src/helpers/arrayHelper.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.remove=t.moveToLast=t.swap=void 0;var n,o=a("./node_modules/lodash/findIndex.js"),r=(n=o)&&n.__esModule?n:{default:n};t.swap=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=e.slice(),o=n[t];return n[t]=n[a],n[a]=o,n},t.moveToLast=function(e,t,a){var n=e.slice(),o=n[t];n.splice(t,1);var s=(0,r.default)(n,a),i=-1===s?n.length:s;return n.splice(i,0,o),n},t.remove=function(e,t){var a=e.indexOf(t);if(-1===a)return e;var n=e.slice();return n.splice(a,1),n}},"./src/helpers/browser.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseURL=t.doNotTrack=t.prngAvailable=t.isFileSaverSupported=t.hasTouch=t.isMac=t.isChrome=t.isFirefox=t.isEdge=t.isIE11=t.isSafariMobile=t.isSafari=t.getOS=t.getDevice=t.getBrowser=t.hasCookie=t.hasSessionStorage=void 0;var n,o=a("./node_modules/babel-runtime/helpers/typeof.js"),r=(n=o)&&n.__esModule?n:{default:n};t.openWindow=function(e){if(i()){var t=document.createElement("A");return t.setAttribute("rel","noreferrer nofollow noopener"),t.setAttribute("target","_blank"),t.href=e,t.click()}var a=window.open();a.opener=null,a.location=e};t.hasSessionStorage=function(){var e="modernizr";try{return sessionStorage.setItem(e,e),sessionStorage.removeItem(e),!0}catch(e){return!1}},t.hasCookie=function(){return navigator.cookieEnabled},t.getBrowser=function(){return $.ua.browser},t.getDevice=function(){return $.ua.device};var s=t.getOS=function(){var e=$.ua.os,t=e.name,a=void 0===t?"other":t,n=e.version;return{name:a,version:void 0===n?"":n}},i=t.isSafari=function(){return["Safari","Mobile Safari"].includes($.ua.browser.name)};t.isSafariMobile=function(){return"Mobile Safari"===$.ua.browser.name},t.isIE11=function(){return"IE"===$.ua.browser.name&&"11"===$.ua.browser.major},t.isEdge=function(){return"Edge"===$.ua.browser.name},t.isFirefox=function(){return"Firefox"===$.ua.browser.name},t.isChrome=function(){return"Chrome"===$.ua.browser.name},t.isMac=function(){return"Mac OS"===s().name},t.hasTouch="ontouchstart"in document.documentElement,t.isFileSaverSupported=function(){return"download"in document.createElement("a")||navigator.msSaveOrOpenBlob},t.prngAvailable=function(){return!("undefined"==typeof window||!window.crypto||!window.crypto.getRandomValues)||"undefined"!=typeof window&&"object"===(0,r.default)(window.msCrypto)&&"function"==typeof window.msCrypto.getRandomValues},t.doNotTrack=function(){return"1"===navigator.doNotTrack||"yes"===navigator.doNotTrack||"1"===navigator.msDoNotTrack||"1"===window.doNotTrack};t.parseURL=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=document.createElement("a"),a={},n=void 0;t.href=e;for(var o=t.search.replace(/^\?/,"").split("&"),r=0;r<o.length;r++)a[(n=o[r].split("="))[0]]=n[1];return{protocol:t.protocol,host:t.host,hostname:t.hostname,port:t.port,pathname:t.pathname,search:t.search,searchObject:a,hash:t.hash}}},"./src/helpers/colorHelper.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:void 0};t.hexToRgb=n,t.hexToRgbString=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=n(e.toLowerCase())||{},a=t.r,o=t.g,r=t.b;return void 0===a?"":"rgb("+a+", "+o+", "+r+")"}},"./src/helpers/dedent.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];function o(){var e=-1;return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/\n(\s+)/g,function(t,a){return e<0&&(e=a.replace(/\t/g," ").length),"\n"+a.slice(Math.min(a.length,e))})}return"string"==typeof e?o(e):"function"==typeof e?function(){return o(e.apply(void 0,arguments))}:o(e.slice(0,a.length+1).map(function(e,t){return(0===t?"":a[t-1])+e}).join(""))}},"./src/helpers/domHelper.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.findParent=function(e,t){var a=e;if(a&&t(a))return a;for(;a.parentNode;)if(t(a=a.parentNode))return a}},"./src/helpers/dragScrollHelper.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/lodash/get.js"),r=(n=o)&&n.__esModule?n:{default:n};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.scrollableSelector,a=e.speed,n=void 0===a?10:a,o=e.margin,s=void 0===o?20:o,i={};return{dragStart:function(e){var a=(0,r.default)(e,"dest.sortableScope.element[0]");a&&(i.scrollableContainer=document.querySelector(t),i.listTop=a.offsetTop,i.listBottom=i.listTop+a.offsetHeight)},dragMove:function(e,t,a){if(a&&i.scrollableContainer){var o=i.scrollableContainer.scrollTop,r=i.scrollableContainer.offsetTop,l=i.scrollableContainer.offsetHeight,c=a.pageY,d=c+o;c-s>l&&d<=i.listBottom?i.scrollableContainer.scrollTop+=n:c-s<r&&d>=i.listTop&&(i.scrollableContainer.scrollTop-=n)}},dragEnd:function(){delete i.scrollableContainer}}}},"./src/helpers/duplicateExtractor.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=a("./node_modules/babel-runtime/core-js/object/keys.js"),r=(n=o)&&n.__esModule?n:{default:n},s=a("./src/helpers/arrayHelper.js");t.default=function(e){var t=e.items,a=void 0===t?[]:t,n=e.duplicateKey,o=void 0===n?"":n,i=e.uniqueKey,l=void 0===i?"":i,c=e.objectKey,d=void 0===c?"":c,u=a.reduce(function(e,t){var a=t[o],n=t[l],r=t[d],i=e.cache,c=e.uniques;return c[n]||(c[n]={potentialDuplicateKeys:[],used:!1,object:r}),c[n].used?e:(i[a]?-1===i[a].indexOf(n)&&(i[a].push(n),c[n].used=!0,i[a].forEach(function(e){c[e].potentialDuplicateKeys.forEach(function(t){t!==a&&(i[t]=(0,s.remove)(i[t],e))}),c[e].potentialDuplicateKeys.length=0})):(i[a]=[n],c[n].potentialDuplicateKeys.push(a)),e)},{cache:{},uniques:{}}),p=u.cache,m=u.uniques;return(0,r.default)(p).reduce(function(e,t){return p[t].length<=1?e:(e[t]=p[t].map(function(e){return m[e].object}),e)},{})}},"./src/helpers/errors.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContactRemoveError=t.ContactUpdateError=void 0;var n,o=a("./node_modules/babel-runtime/core-js/object/create.js"),r=(n=o)&&n.__esModule?n:{default:n};var s=function(e){function t(e){this.message=e,this.stack=(new Error).stack}return t.prototype=(0,r.default)(Error.prototype),t.prototype.name=e,t};t.ContactUpdateError=s("ContactUpdateError"),t.ContactRemoveError=s("ContactRemoveError")},"./src/helpers/imageHelper.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.downSize=t.toBlob=t.toFile=t.resizeImage=t.toImage=void 0;var n,o=a("./node_modules/babel-runtime/core-js/promise.js"),r=(n=o)&&n.__esModule?n:{default:n};var s=t.toImage=function(e){return new r.default(function(t){var a=new Image;a.onload=function(){t(a)},a.src=e})},i=t.resizeImage=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"image/jpeg",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return s(e).then(function(e){var o=document.createElement("canvas"),r=e.width,s=e.height;return r>s&&r>t?(s*=t/r,r=t):s>t&&(r*=t/s,s=t),o.width=r,o.height=s,o.getContext("2d").drawImage(e,0,0,r,s),o.toDataURL(a,n)})},l=function(e){var t=e.split(",");return{mime:t[0].match(/:(.*?);/)[1],base64:t[1]}},c=function(e){for(var t=atob(e),a=t.length,n=new Uint8Array(a);a--;)n[a]=t.charCodeAt(a);return n},d=(t.toFile=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"file",a=l(e),n=a.base64,o=a.mime;return new File([c(n)],t,{type:o})},t.toBlob=function(e){var t=l(e),a=t.base64,n=t.mime;return new Blob([c(a)],{type:n})});t.downSize=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"image/jpeg",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return s(e).then(function(o){var r=o.height,s=o.width;return function e(o,r){return i(o,r,a,n).then(function(a){return d(a).size<=t?a:e(a,Math.round(.9*r))})}(e,r>s?r:s)})}},"./src/helpers/mscScrollHelper.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){var t=e.margin,a=e.scrollBy,n={scroll:0};return{setScrollPosition:function(e){n.scroll=-e},scroll:function(e,o){var r=e-n.scroll;return r-t/2<=0&&n.scroll>0?Math.max(n.scroll-a,0):r-o+t>0?n.scroll+a:void 0}}}},"./src/helpers/parserHTML.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(a("./node_modules/lodash/identity.js"));t.toText=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=new o.default({bulletListMarker:"-",strongDelimiter:"",emDelimiter:"",hr:""}),r={filter:function(e){return e.classList.contains("protonmail_signature_block")},replacement:function(e){return"​"+e.trim()+"​"}},s={filter:"br",replacement:function(e,t){return"DIV"===t.parentElement.nodeName&&1===t.parentElement.childElementCount?t.parentElement.textContent?"":"\n\n":"BR"===t.parentElement.lastElementChild.nodeName&&t.parentElement.textContent?"":"\n\n"}},i={filter:"img",replacement:function(){return""}},l={filter:"a",replacement:function(e,t){return t.textContent}};a.use([function(){return a.addRule("replaceAnchor",l)},function(){return a.addRule("replaceImg",i)},function(){return a.addRule("replaceBreakLine",s)},function(){return a.addRule("protonSignature",r)}]),a.escape=n.default;var c=a.turndown(e);if(c.startsWith("​")&&t)return"\n\n\n"+c+"\n\n";return c};var o=r(a("./node_modules/turndown/lib/turndown.es.js"));function r(e){return e&&e.__esModule?e:{default:e}}},"./src/helpers/urlHelpers.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.currentSorting=function(e){var t=(e.sort||"").startsWith("-")?"-":"",a=(e.sort||"").substr(t.length);return{order:""===t?"asc":"desc",sort:a}}},"./src/templates/address/addressKeysView.tpl.html":function(e,t){var a=window.angular,n="templates/address/addressKeysView.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_table addressKeysView-container" ng-class=displayMode> <table class="bordered absorbing"> <thead> <tr> <th data-display-mode=address class="key-size absorbing-column-half" translate-context=Title translate-comment="table heading" translate>Email</th> <th data-display-mode=user class="key-size absorbing-column-half" translate-context=Title translate-comment="table heading" translate>User</th> <th class="finger-print absorbing-column-half" translate-context=Title translate-comment="table heading" translate>Fingerprint</th> <th translate-context=Title translate-comment="table heading" translate>Key size</th> <th class="actions text-center" translate-context=Title translate-comment="table heading" translate>Download</th> </tr> </thead> <tbody> <tr ng-repeat-start="address in addresses | orderBy: \'order\' track by address.addressID"> <td> <span class=addressKeysView-toggle> <toggle-expand data-model=address></toggle-expand> </span> <span class="addressKeysView-email ellipsis" title="{{ address.email }}"><strong>{{ address.email }}</strong></span> </td> <td> <code>{{ address.fingerprint }}</code> </td> <td> {{ address.bitSize }} Bit <i class="fa fa-info-circle cursor-pointer" pt-tooltip-translate-context="address key bit size tooltip" pt-tooltip-translate="The ability to change key strength will be coming in a future ProtonMail release"></i> </td> <td class=text-center> <button data-display-mode=address class="pm_button link" ng-click="download(address.publicKey, address.email, \'public\')" translate-context=Action translate>Public key</button> <span data-display-mode=user translate translate-context=Action>None</span> </td> </tr> <tr class=hasTable ng-repeat-end ng-show="address.toggle === true && address.keys.length > 0"> <td colspan=5> <div class=pm_table> <table class=margin-top> <thead> <tr> <th class="finger-print absorbing-column-half" translate-context=Title translate-comment="table heading" translate>Fingerprint</th> <th class=key-size translate-context=Title translate-comment="table heading" translate>Key size</th> <th class=status translate-context=Title translate-comment="table heading" translate>Status</th> <th class="actions text-center" translate-context=Title translate-comment="table heading" translate>Actions</th> </tr> </thead> <tbody> <tr ng-repeat="key in address.keys"> <td> <code>{{ key.fingerprint }}</code> </td> <td> {{ key.bitSize }} Bit </td> <td> <span class="pm_badge primary" ng-show=$first translate translate-comment="key state badge">Primary</span> <span class="pm_badge success" ng-show=key.decrypted translate translate-comment="key state badge">Active</span> <span class="pm_badge error" ng-hide=key.decrypted translate translate-comment="key state badge">Inactive</span> </td> <td class=text-center> <button type=button class="pm_button link" ng-hide="key.decrypted || isSubUser" ng-click=reactivate(key) translate-context=Action translate>Reactivate</button> <span ng-show="key.decrypted || isSubUser" translate translate-context=Action>None</span> </td> </tr> </tbody> </table> </div> </td> </tr> </tbody> </table> </div> ')}])}e.exports=n},"./src/templates/address/setupAddressModal.tpl.html":function(e,t){var a=window.angular,n="templates/address/setupAddressModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal {{ctrl.class}}" role=dialog style=display:block> <form class=modal-dialog name=addressForm ng-submit=ctrl.submit() novalidate> <button type=button ng-click=ctrl.cancel() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title translate translate-context=Title>Confirm address</h4> </div> <div class="modal-body pm_form"> <display-name-signature data-model=ctrl.model></display-name-signature> </div> </div> <div class="modal-footer text-right"> <button type=button class=pm_button ng-click=ctrl.cancel() translate translate-context=Action>Cancel</button> <button class="pm_button primary" translate translate-context=Action>Add</button> </div> </form> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/attachments/attendeeItem.tpl.html":function(e,t){var a=window.angular,n="templates/attachments/attendeeItem.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<span class=attendeeItem-container></span> ")}])}e.exports=n},"./src/templates/attachments/btnDownloadAttachments.tpl.html":function(e,t){var a=window.angular,n="templates/attachments/btnDownloadAttachments.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<a class=btnDownloadAttachments-container pt-tooltip-translate-context="Download attachments" pt-tooltip-translate="Download all"> <i class="fa fa-cog fa-spin btnDownloadAttachments-icon-loader"></i> <i class="fa fa-download btnDownloadAttachments-icon-download"></i> </a> ')}])}e.exports=n},"./src/templates/attachments/eventsAttachments.tpl.html":function(e,t){var a=window.angular,n="templates/attachments/eventsAttachments.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="eventsAttachments-container eventsAttachments-hidden"> <details class=eventsAttachments-details ng-repeat="event in model.events track by event.uid"> <summary class=eventsAttachments-summary> <i class="fa fa-calendar"></i> <span class=eventsAttachments-placeholder ng-if=!event.summary translate-context=Info translate>Attached Event</span> <span ng-if=event.summary> <strong>{{ event.summary }}</strong> / {{ ::dateFormat(event) }} </span> </summary> <div ng-if=event.summary class=eventsAttachments-details-wrapper> <table class=eventsAttachments-details-table> <tr ng-if=event.summary> <th translate translate-context=Info>Summary</th> <td> {{ ::event.summary }} <button class="pm_button link eventsAttachments-download-link" data-event-uid={{event.uid}}> <i class="fa fa-download btnDownloadAttachments-icon-download"></i> <span translate translate-context=Action>Download</span> </button> </td> </tr> <tr ng-if=event.description> <th translate translate-context=Info>Description</th> <td class=eventsAttachments-description ng-bind-html=::event.description></td> </tr> <tr> <th translate translate-context=Info>When</th> <td> {{ ::dateFormat(event, true) }} </td> </tr> <tr ng-if=event.organizer> <th translate translate-context=Info>Organizer</th> <td><attendee-item data-attendee="{{ ::event.organizer }}"></attendee-item></td> </tr> <tr ng-if=event.attendeesList.length> <th translate translate-context=Info>Attendees</th> <td> <ul> <li ng-repeat="attendee in event.attendeesList track by $id(attendee)"> <attendee-item data-attendee="{{ ::attendee }}"></attendee-item> </li> </ul> </td> </tr> <tr ng-if=event.location> <th translate translate-context=Info>Location</th> <td>{{ ::event.location }}</td> </tr> </table> </div> </details> </div> ')}])}e.exports=n},"./src/templates/autoresponder/autoresponder.tpl.html":function(e,t){var a=window.angular,n="templates/autoresponder/autoresponder.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=autoresponder-container> <section class=pm_form ng-if=!mock> <p class="alert alert-info" translate-context=Info translate>Automatic replies can respond automatically to incoming messages (such as when you are on vacation and can\'t respond).</p> </section> <form name=autoresponderForm novalidate> <div class="pm_grid no-padding no-margin"> <autoresponder-time-section data-mock="{{ ::mock }}" data-form=autoresponderForm></autoresponder-time-section> <section class="pm_form col-1-2" ng-if=model.isEnabled> <div class=clearfix> <div class=col-1-4> <label for=autoresponder-message translate-context=Label translate>Response</label> </div> <div class=col-3-4> <autoresponder-message data-message=model.message data-disabled="{{ ::mock }}"></autoresponder-message> </div> </div> </section> </div> <div class="pm_grid no-padding no-margin"> <div class="col-1-8 desktopOnly">&nbsp;</div> <div class=col-7-8> <button class="pm_button primary" id=autoresponder-save ng-if=model.isEnabled translate-context="Action autoresponder" translate ng-disabled="!isValid() || mock || submitting" type=submit>Save</button> <a href=https://protonmail.com/support/knowledge-base/autoresponder/ target=_blank class="pm_button link" translate-context=Link translate>Learn more</a> </div> </div> </form> </div> ')}])}e.exports=n},"./src/templates/autoresponder/autoresponderMessage.tpl.html":function(e,t){var a=window.angular,n="templates/autoresponder/autoresponderMessage.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=autoresponderMessageContainer ng-class="{\n autoresponderHalfFull: message.length > halfMessageLength,\n autoresponderFull: message.length >= maxMessageLength,\n autoresponderEmpty: isEmpty(message)\n }"> <div class=autoresponderMessageDisabler ng-if=disabled></div> <squire id=autoresponderMessage class="form-control no-resize error_tooltip" ng-class="message.length >= maxMessageLength ? \'pm_invalid\': \'\'" allow-data-uri=true data-value=message data-type-content=OOF-Message></squire> <div class=autoresponderEmptyMessage translate translate-context="Autoresponder empty"> The auto reply message cannot be empty. </div> <div class="autoresponderCharacters autoresponderLengthWarning"> <span class=autoresponderCharacterCount>{{message.length}}</span>/{{maxMessageLength - 1}} <span translate-context="Settings autoresponder, how many bites inside the message" translate>bytes used</span> </div> <div class="autoresponderCharacters autoresponderMessageTooLong"> <span translate-context="The message contains too many bytes, only xxx allowed (you are using xxx characters). Part 1/3" translate>The message contains too many bytes, only </span> {{maxMessageLength - 1}} <span translate-context="The message contains too many bytes, only xxx allowed (you are using xxx characters). Part 2/3" translate> allowed (you are using </span> <span class=autoresponderCharacterCount> {{message.length}} </span><span translate-context="The message contains too many bytes, only xxx allowed (you are using xxx characters). Part 3/3" translate> bytes).</span> </div> </div> ')}])}e.exports=n},"./src/templates/autoresponder/autoresponderTimePicker.tpl.html":function(e,t){var a=window.angular,n="templates/autoresponder/autoresponderTimePicker.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=col-3-4> <date-time-picker ng-if="repeat === constants.FIXED_INTERVAL" data-date-picker-key="{{ ::datePickerKey }}" data-label-id="{{ ::labelId }}" data-timestamp="{{ ::timestamp }}" data-zone="{{ ::zone }}" data-disable-input="{{ ::disableInput }}" data-form=form></date-time-picker> <div class="pm_grid no-padding no-margin datetimepicker" ng-if="repeat === constants.DAILY"> <div class=col-1-2> <time-picker data-event-key="{{ ::datePickerKey }}" ng-model=timestamp></time-picker> </div> <div class="col-1-1 text-red" ng-messages=form[datePickerKey].$error> <p ng-message=required translate-context="Error input" translate> Please enter a valid time. </p> </div> </div> <weekday-time-picker ng-if="repeat === constants.WEEKLY" data-date-picker-key="{{ ::datePickerKey }}" data-label-id="{{ ::labelId }}" data-timestamp="{{ ::timestamp }}" data-disable-input="{{ ::disableInput }}" data-form=form></weekday-time-picker> <monthday-time-picker ng-if="repeat === constants.MONTHLY" data-date-picker-key="{{ ::datePickerKey }}" data-label-id="{{ ::labelId }}" data-timestamp="{{ ::timestamp }}" data-disable-input="{{ ::disableInput }}" data-form=form></monthday-time-picker> </div> ')}])}e.exports=n},"./src/templates/autoresponder/autoresponderTimeSection.tpl.html":function(e,t){var a=window.angular,n="templates/autoresponder/autoresponderTimeSection.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section class="pm_form col-1-2"> <div class=clearfix> <div class=col-1-4> <label for=enable translate-context=Label translate>Enable</label> </div> <div class=col-3-4> <toggle ng-disabled=mock name=autoresponder.toggle status=model.isEnabled on=ON off=OFF ng-if=!mock></toggle> </div> </div> <div class=clearfix ng-if=model.isEnabled> <div class=col-1-4> <label for=select-duration translate-context=Label translate>Duration</label> </div> <div class=col-3-4> <div class="pm_grid no-padding no-margin"> <div class=col-1-2> <div class=pm_select> <durationselect data-repeat="{{ ::model.repeat }}" data-disable-input="{{ ::mock }}"></durationselect> <i class="fa fa-angle-down"></i> </div> </div> </div> <p class=help ng-if="model.repeat === constants.FOREVER"> <i class="fa fa-info-circle ng-scope"></i> <span translate-context="Auto-reply duration description" translate> Auto-reply is active until you turn it off. </span> </p> <p class=help ng-if="model.repeat === constants.FIXED_INTERVAL"> <i class="fa fa-info-circle ng-scope"></i> <span translate-context="Auto-reply duration description" translate> Auto-reply is active from the start time to the end time. </span> </p> <p class=help ng-if="model.repeat === constants.DAILY"> <i class="fa fa-info-circle ng-scope"></i> <span translate-context="Auto-reply duration description" translate> Auto-reply is always active on the days of the week you select, between the selected hours. </span> </p> <p class=help ng-if="model.repeat === constants.WEEKLY"> <i class="fa fa-info-circle ng-scope"></i> <span translate-context="Auto-reply duration description" translate> Auto-reply is active each week between the selected start and end time. </span> </p> <p class=help ng-if="model.repeat === constants.MONTHLY"> <i class="fa fa-info-circle ng-scope"></i> <span translate-context="Auto-reply duration description" translate> Auto-reply is active each month between the selected start and end time. </span> </p> </div> </div> <div class=clearfix ng-if="model.repeat === constants.DAILY && model.isEnabled"> <div class=col-1-4> <label translate-context=Label translate>Days</label> </div> <div class=col-3-4> <multiselect name=autoresponder.daysSelected id=enabledDays data-options=days data-selected=model.daysSelected data-disabled="{{ ::mock }}"></multiselect> </div> </div> <div class=clearfix ng-if="model.repeat !== constants.FOREVER && model.isEnabled"> <div class=col-1-4> <label translate-context=Label translate for=startTime>Start time</label> </div> <autoresponder-time-picker data-date-picker-key=datetimepickerStartTime id=datetimepickerStartTime data-label-id=startTime data-repeat="{{ ::model.repeat }}" data-zone="{{ ::model.zone }}" data-timestamp="{{ ::model.startTime }}" data-disable-input="{{ ::mock }}" data-form=form></autoresponder-time-picker> </div> <div class=clearfix ng-if="model.repeat !== constants.FOREVER && model.isEnabled"> <div class=col-1-4> <label translate-context=Label translate for=endTime>End time</label> </div> <autoresponder-time-picker data-date-picker-key=datetimepickerEndTime id=datetimepickerEndTime data-label-id=endTime data-repeat="{{ ::model.repeat }}" data-zone="{{ ::model.zone }}" data-timestamp="{{ ::model.endTime }}" data-disable-input="{{ ::mock }}" data-form=form></autoresponder-time-picker> </div> <div class=clearfix ng-if="model.repeat !== constants.FOREVER && model.isEnabled"> <div class=col-1-4> <label for=time-zone translate-context=Label translate>Time zone</label> </div> <div class=col-3-4> <div class="pm_grid no-padding no-margin"> <div class=col-1-2> <div class=pm_select> <zoneselect data-zone="{{ ::model.zone }}" data-disable-input="{{ ::mock }}"></zoneselect> <i class="fa fa-angle-down"></i> </div> </div> </div> </div> </div> <div class="clearfix desktopOnly"> </div> </section> ')}])}e.exports=n},"./src/templates/autoresponder/autoresponderView.tpl.html":function(e,t){var a=window.angular,n="templates/autoresponder/autoresponderView.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=autoresponderViewContainer id=pm_settings> <div class="settings autoresponderView"> <div class=row> <header-block class=autoresponderHeader> <h2 class=settingsVpn-title-resources translate translate-context=Title>Automatic Replies</h2> </header-block> <p ng-if=isFree class="alert alert-info" translate translate-context=Translate>Automatic replies is a paid feature. Please <a ui-sref="secured.dashboard({scroll: true})">upgrade</a> to a paid account to use this feature.</p> <autoresponder data-mock="{{ ::isFree }}"></autoresponder> </div> </div> </div> ')}])}e.exports=n},"./src/templates/autoresponder/durationselect.tpl.html":function(e,t){var a=window.angular,n="templates/autoresponder/durationselect.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<select id=select-duration name=selectDuration ng-options="option.label for option in frequencies track by option.value" ng-model=repeat> </select> ')}])}e.exports=n},"./src/templates/blackFriday/blackFridayFree.tpl.html":function(e,t){var a=window.angular,n="templates/blackFriday/blackFridayFree.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=blackFridayFree-container> <div class=blackFridayFree-plans> <div class="blackFridayFree-plan blackFridayFree-mail-plan"> <i class=blackFridayFree-tag><span>-33%</span> <span>off</span></i> <h3 class=blackFridayFree-title translate-context=Title translate>ProtonMail Plus 2-year plan</h3> <black-friday-price data-amount=79 data-strike=120 data-currency=ctrl.currency></black-friday-price> <p translate-context=Info translate>ProtonMail Plus adds a number of powerful features to your secure inbox: 5GB storage, 5 extra addresses, Filters, Folders, Labels, IMAP/SMTP support (beta), use your own domain name.</p> <button type=button ng-disabled=!ctrl.loaded class="pm_button primary blackFridayFree-buy" ng-click="ctrl.buy(\'plus\')" translate-context=Action translate>Buy</button> </div> <div class="blackFridayFree-plan blackFridayFree-vpn-plan"> <i class=blackFridayFree-tag><span>-33%</span> <span>off</span></i> <h3 class=blackFridayFree-title translate-context=Title translate>ProtonVPN Plus 2-year plan</h3> <black-friday-price data-amount=159 data-strike=240 data-currency=ctrl.currency></black-friday-price> <p translate-context=Info translate>ProtonVPN encrypts your internet connection, ensuring your online activity stays private. 100+ servers in 14 countries. Secure core network, Tor integration, protect up to 5 devices.</p> <button type=button ng-disabled=!ctrl.loaded class="pm_button primary blackFridayFree-buy" ng-click="ctrl.buy(\'vpnplus\')" translate-context=Action translate>Buy</button> </div> <div class="blackFridayFree-plan blackFridayFree-mail-vpn-plan"> <i class=blackFridayFree-tag><span>-45%</span> <span>off</span></i> <h3 class=blackFridayFree-title translate-context=Title translate>ProtonMail + VPN Plus 2-year plan</h3> <black-friday-price data-amount=192 data-strike=360 data-currency=ctrl.currency></black-friday-price> <p translate-context=Info translate>The ultimate internet privacy package, combining the most popular ProtonMail and ProtonVPN plans. By buying both together with our special 2-year plan, you can save 45% off of the regular monthly price.</p> <button type=button ng-disabled=!ctrl.loaded class="pm_button primary blackFridayFree-buy" ng-click="ctrl.buy(\'plus+vpnplus\')" translate-context=Action translate>Buy</button> </div> </div> <footer class=blackFridayFree-footer> <button type=button class="blackFridayFree-dropdown-currency pm_button link" dropdown translate-context=Dropdown translate>Change currency <i class="fa fa-caret-down"></i></button> <ul class="pm_dropdown blackFridayFree-currencies"> <li><button type=button ng-click="ctrl.changeCurrency(\'EUR\')">EUR</button></li> <li><button type=button ng-click="ctrl.changeCurrency(\'USD\')">USD</button></li> <li><button type=button ng-click="ctrl.changeCurrency(\'CHF\')">CHF</button></li> </ul> <button type=button class="pm_button link blackFridayFree-dashboard" ng-click=ctrl.dashboard() translate-context=Action translate>For custom 2-year plans, click here</button> </footer> </div>')}])}e.exports=n},"./src/templates/blackFriday/blackFridayModal.tpl.html":function(e,t){var a=window.angular,n="templates/blackFriday/blackFridayModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal blackFridayModal {{ctrl.class}}" role=dialog style=display:block> <div class=modal-dialog> <button type=button ng-click=ctrl.close() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h3 class=modal-title translate-context=Title translate>Black Friday Offer</h3> </div> <div class=modal-body> <p class=blackFriday-intro translate-context=Info translate>For a strictly limited period between Black Friday and Cyber Monday (November 24-27), we are having the first ever sale in ProtonMail\'s history! For these 4 days only, it is possible to get up to 45% off regular price for ProtonMail and ProtonVPN with our special 2-year plans. Once subscribed to this promotion, you keep the discount as long as your subscription is active.</p> <black-friday-free ng-if=ctrl.isFreeUser></black-friday-free> <black-friday-paid ng-if=ctrl.isPaidUser></black-friday-paid> <p class="blackFriday-end text-center" translate-context=Info translate>ProtonMail is entirely community funded as we don\'t sell ads or abuse your privacy. Your support allows us to continue to improve ProtonMail and make the Internet a better place.</p> </div> </div> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/blackFriday/blackFridayPaid.tpl.html":function(e,t){var a=window.angular,n="templates/blackFriday/blackFridayPaid.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=blackFridayPaid-container> <img class="blackFridayPaid-banner notMobile" src=/assets/sale/blackFriday.jpg alt="Promo banner"> <img class="blackFridayPaid-banner mobileOnly" src=/assets/sale/blackFriday-mobile.jpg alt="Promo banner"> <ul class=blackFridayPaid-actions> <li> <button type=button ng-disabled=!ctrl.loaded class="blackFridayPaid-switch-button pm_button primary" ng-click=ctrl.buy() translate-context=Action translate>Switch current subscription to a 2-year plan</button> </li> <li> <button type=button class="blackFridayPaid-get-button pm_button link" ng-click=ctrl.dashboard() translate-context=Action translate>Get a new 2-year plan</button> </li> <ul> </ul></ul></div> ')}])}e.exports=n},"./src/templates/blackFriday/blackFridayPrice.tpl.html":function(e,t){var a=window.angular,n="templates/blackFriday/blackFridayPrice.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<div class=blackFridayPrice-container> <section class=blackFridayPrice-top> <strong class=blackFridayPrice-amount>{{ amount | currency: currency }}</strong> <s class=blackFridayPrice-strike>{{ strike | currency: currency }}</s> </section> <small class=blackFridayPrice-monthly>{{ amount / 24 | currency: currency }}/mo</small> </div>")}])}e.exports=n},"./src/templates/bridge/bridgeFreePanel.tpl.html":function(e,t){var a=window.angular,n="templates/bridge/bridgeFreePanel.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=bridgeFreePanel-container> <button type=button class="bridgeFreePanel-btn pm_button primary">Activate</button> </div>')}])}e.exports=n},"./src/templates/bridge/bridgePaidPanel.tpl.html":function(e,t){var a=window.angular,n="templates/bridge/bridgePaidPanel.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=bridgePaidPanel-container> <p class="alert alert-info" translate-context=Info translate>ProtonMail supports IMAP/SMTP via the ProtonMail Bridge application. Thunderbird, Microsoft Outlook, and Apple Mail are officially supported on both Windows and MacOS.</p> <a class="pm_button primary" href=https://protonmail.com/bridge/ target=_blank translate-context=Link translate>Download bridge</a> </div>')}])}e.exports=n},"./src/templates/bridge/bridgeView.tpl.html":function(e,t){var a=window.angular,n="templates/bridge/bridgeView.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div id=pm_settings> <div class=settings> <div class=row> <div class="setting pm_form full"> <header-block class=settingsLabels-header-bridge> <h2 class=settingsLabels-title-bridge translate-context=Title translate>IMAP/SMTP</h2> </header-block> <bridge-free-panel ng-if=isFree></bridge-free-panel> <bridge-paid-panel ng-if=!isFree></bridge-paid-panel> </div> </div> </div> </div> ')}])}e.exports=n},"./src/templates/command/autocompleteCommand.tpl.html":function(e,t){var a=window.angular,n="templates/command/autocompleteCommand.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=autocompleteCommand-container> <div class=autocomplete-container> <mark class=autocompleteCommand-scope>{{mode.value}}</mark> <input id=autocompleteCommand name=autocompleteCommand placeholder-translate="Type a command" type=text ng-model=value autocomplete=off spellcheck=false autocapitalize=off class=autocompleteCommand-input> </div> <ul class=autocompleteEmails-autocomplete></ul> </div> ')}])}e.exports=n},"./src/templates/command/commandPalette.tpl.html":function(e,t){var a=window.angular,n="templates/command/commandPalette.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<form class=commandPalette-container novalidate ng-class="{ \'commandPalette-visible\': isVisible }"> <button type=reset class="commandPalette-btn-close fa fa-close"></button> <div class=commandPalette-field> <label for="" class=commandPalette-label>Command</label> <autocomplete-command data-is-visible=isVisible class=commandPalette-input-command></autocomplete-command> </div> </form>')}])}e.exports=n},"./src/templates/composer/composerEncrypt.tpl.html":function(e,t){var a=window.angular,n="templates/composer/composerEncrypt.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<form class="options composerEncrypt-container pm_form pm_grid" name=encryptForm> <header class=composerEncrypt-header> <h3 translate translate-context=Title>Encrypt for non-ProtonMail users</h3> <a href=https://protonmail.com/support/knowledge-base/encrypt-for-outside-users/ target=_blank> <i class="fa fa-info-circle"></i> </a> </header> <div ng-class="{\'has-error\': encryptForm.outsidePw.$touched && encryptForm.outsidePw.$error.required}" class=clearfix> <label for=outsidePw class="text-muted col-1-3" translate translate-context=Title>Message Password</label> <div class=col-2-3> <input style=display:none type=password name=foilautofill /> <input type=password autocomplete=off name=outsidePw id=outsidePw ng-model=model.password placeholder-translate=Password class=composer-options-input required> </div> </div> <div ng-class="{\'has-error\': encryptForm.outsidePwConfirm.$touched && encryptForm.outsidePwConfirm.$error.required}" class=clearfix> <label for=outsidePwConfirm class="text-muted col-1-3" translate translate-context=Title>Confirm Password</label> <div class=col-2-3> <input style=display:none type=password name=foilautofill> <input type=password autocomplete=off name=outsidePwConfirm id=outsidePwConfirm ng-model=model.confirm placeholder-translate="Confirm password" class=composer-options-input required> </div> </div> <div class=clearfix> <label for=outsidePwHint class="text-muted col-1-3"> <span translate translate-context=Title>Password Hint</span> (<em>Optional</em>) </label> <div class=col-2-3> <input type=text class=composer-options-input autocomplete=off name=outsidePwHint id=outsidePwHint ng-model=model.hint placeholder-translate=Hint> </div> </div> <p class=clear> <i class=help-block translate translate-context=Info>Encrypted messages to non-ProtonMail recipients will expire in 28 days unless a shorter expiration time is set.</i> </p> <footer class=text-right> <button type=button class="pm_button pull-left mobileFull composer-options-btn-cancel composerEncrypt-btn-cancel" translate translate-context=Action>Cancel</button> <button type=submit class="pm_button primary mobileFull composer-options-btn-submit" ng-disabled=encryptForm.$invalid translate translate-context=Action>Set</button> </footer> </form> ')}])}e.exports=n},"./src/templates/composer/composerExpiration.tpl.html":function(e,t){var a=window.angular,n="templates/composer/composerExpiration.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<form class=composerExpiration-container name=expirationForm> <header class=composerExpiration-header> <h3 translate translate-context=Title>Expiration time</h3> <a href=https://protonmail.com/support/knowledge-base/expiration/ target=_blank> <i class="fa fa-info-circle"></i> </a> </header> <p class="alert alert-info" translate translate-context=Info>This message will expire in</p> <div class="pm_form alert text-center composerExpiration-fields-container"> <div class=composerExpiration-field-weeks> <div class=pm_select> <select name=weeks id=weeks class=composer-options-select-week ng-model=model.weeks ng-options="option.label for option in options.week track by option.label"></select> <i class="fa fa-angle-down"></i> </div> <label translate translate-context=Delay for=weeks>Weeks</label> </div> <div class=composerExpiration-field-days> <div class=pm_select> <select name=days id=days class=composer-options-select-day ng-model=model.days ng-options="option.label for option in options.day track by option.label"></select> <i class="fa fa-angle-down"></i> </div> <label translate translate-context=Delay for=days>Days</label> </div> <div class=composerExpiration-field-hours> <div class=pm_select> <select name=hours id=hours class=composer-options-select-hour ng-model=model.hours ng-options="option.label for option in options.hour track by option.label"></select> <i class="fa fa-angle-down"></i> </div> <label translate translate-context=Delay for=hours>Hours</label> </div> </div> <footer class=text-right> <button type=button class="pm_button pull-left mobileFull composer-options-btn-cancel composerExpiration-btn-cancel" translate translate-context=Action>Cancel</button> <button class="pm_button primary mobileFull composer-options-btn-submit" translate translate-context=Action>Set</button> </footer> </form> ')}])}e.exports=n},"./src/templates/contact/contactAddressInput.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactAddressInput.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=contactAddressInput-container> <textarea name=default tabindex=2 ng-model=model.default class="contactAddressInput-default contactItem-input-with-icon" placeholder-translate=Address></textarea> <label class="contactAddressInput-label contactAddressInput-post-box-label" translate-context="Label for address input in contact details" translate>Post office box</label> <input type=text name=postBox ng-model=model.postBox class="contactAddressInput-field contactAddressInput-post-box" placeholder-translate="Post office box"> <label class="contactAddressInput-label contactAddressInput-extended-label" translate-context="Label for address input in contact details" translate>Extended address (apartment or suite number)</label> <input type=text name=extended tabindex=2 ng-model=model.extended class="contactAddressInput-field contactAddressInput-extended" placeholder-translate="Extended address (apartment or suite number)"> <label class=contactAddressInput-label translate-context="Label for address input in contact details" translate>Street address</label> <textarea name=street tabindex=2 ng-model=model.street class="contactAddressInput-field contactAddressInput-street" placeholder-translate="Street address"></textarea> <label class=contactAddressInput-label translate-context="Label for address input in contact details" translate>City</label> <input type=text name=locality tabindex=2 ng-model=model.locality class="contactAddressInput-field contactAddressInput-locality" placeholder-translate=City> <div class=contactAddressInput-grid> <div class=contactAddressInput-col> <label class=contactAddressInput-label translate-context="Label for address input in contact details" translate>State/Region</label> <input type=text name=region tabindex=2 ng-model=model.region class="contactAddressInput-field contactAddressInput-region" placeholder-translate=State/Region> </div> <div class=contactAddressInput-col> <label class=contactAddressInput-label translate-context="Label for address input in contact details" translate>Postal code</label> <input type=text name=postalCode tabindex=2 ng-model=model.postalCode class="contactAddressInput-field contactAddressInput-postal-code" placeholder-translate="Postal code"> </div> </div> <label class=contactAddressInput-label translate-context="Label for address input in contact details" translate>Country</label> <input type=text name=country tabindex=2 ng-model=model.country class="contactAddressInput-field contactAddressInput-country" placeholder-translate=Country> </div> ')}])}e.exports=n},"./src/templates/contact/contactArrowsSort.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactArrowsSort.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=contactArrowsSort-container> <i class="fa fa-sort-desc"></i> <i class="fa fa-sort-asc"></i> </div> ')}])}e.exports=n},"./src/templates/contact/contactBeforeToLeaveModal.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactBeforeToLeaveModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal small {{ctrl.class}}" role=dialog style=display:block> <form name=beforeForm class=modal-dialog ng-submit=ctrl.save() novalidate> <button type=button ng-click=ctrl.cancel() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title translate-context="Title for contact modal" translate>Save Changes?</h4> </div> <div class=modal-body> <div class="alert no-margin-bottom" translate-context="Message for contact modal" translate>There are unsaved changes to the contact you are editing. Do you want to save changes?\'</div> </div> </div> <div class="modal-footer text-right"> <button type=button class=pm_button ng-click=ctrl.discard() translate-context="Action to not save contact details and switch to the new page" translate>Discard</button> <button autofocus class="pm_button primary" translate-context="Action to save contact details and switch to the new page" translate>Save</button> </div> </form> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/contact/contactClear.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactClear.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section class=contactClear-container> <section class=contactDetails-fields-container> <legend class=contactDetails-fields-ico> <i class="fa fa-check contactEncrypted-signed-icon" pt-tooltip-translate="Digital signature verified"></i> </legend> <contact-error></contact-error> <contact-item data-form=contactForm data-model=model data-state=state data-datas="get(\'Name\')" data-type=Name></contact-item> <contact-item data-form=contactForm data-model=model data-state=state data-datas="get(\'Emails\')" data-type=Emails></contact-item> </section> </section> ')}])}e.exports=n},"./src/templates/contact/contactDetails.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactDetails.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<form class=contactDetails-container name=contactForm novalidate> <nav class=contactDetails-nav> <h1 class=contactDetails-nav-title translate translate-context=Title>Contact Details</h1> <div class=contactDetails-nav-left> <button ng-hide=contactForm.$dirty type=button class="contactDetails-download pm_button fa fa-download" data-action=downloadContact pt-tooltip-translate="Export contact in vCard format"></button> <button ng-disabled=contactForm.$pristine class="save pm_button primary main" translate-context=Action translate-comment="contact details" translate>Save</button> </div> <div class="contactDetails-nav-right lowResolution"> <button type=button class="contactDetails-back pm_button fa fa-arrow-left" data-action=back></button> <button type=button class="contactDetails-download notMobile pm_button fa fa-download" data-action=downloadContact pt-tooltip-translate="Export contact in vCard format"></button> <button type=button class="contactDetails-delete pm_button fa fa-trash" data-action=deleteContact></button> <button ng-disabled=contactForm.$pristine class="save pm_button primary main fa fa-save"></button> </div> </nav> <div class=contactDetails-details tabindex=1> <contact-clear class=contactDetails-clear></contact-clear> <contact-encrypted class=contactDetails-encrypted></contact-encrypted> </div> </form> ')}])}e.exports=n},"./src/templates/contact/contactDisplay.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactDisplay.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=contactDisplay> <div class=contactDisplay-item-group ng-repeat="property in ::properties track by property.field"> <div class=contactDisplay-item ng-repeat="value in ::property.items" data-field="{{ ::property.field }}" data-key="{{ ::value.key }}" data-group="{{ ::value.group }}"> <label class=contactDisplay-item-label> <i class=fa ng-class=::value.icon></i>{{ ::value.label }} </label> <span class=contactDisplay-item-value>{{ ::value.value }}</span> <img ng-if="value.key === \'photo\'" class=contactDisplay-item-image ng-src="{{ ::value.value }}" alt=Photo> </div> </div> </div> ')}])}e.exports=n},"./src/templates/contact/contactDisplayModal.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactDisplayModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal small important {{ctrl.class}}" role=dialog style=display:block> <div class=modal-dialog> <button type=button ng-click=ctrl.onClickClose() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title translate-context="Contact modal title" translate>Contact details</h4> </div> <div class=modal-body> <contact-display data-vcard=ctrl.vcard data-modal=true></contact-display> </div> </div> <div class="modal-footer text-right" ng-if=ctrl.onClickMerge> <button class="pm_button pull-left" ng-click=ctrl.onClickClose() translate-context=Action translate>Close</button> <button class="pm_button primary" ng-click=ctrl.onClickMerge() tabindex=1 name=merge translate-context=Action translate>Merge</button> </div> <div class="modal-footer text-right" ng-if=!ctrl.onClickMerge> <button class="pm_button primary" ng-click=ctrl.onClickClose() translate-context=Action tabindex=1 translate>Close</button> </div> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/contact/contactEncrypted.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactEncrypted.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section class=contactEncrypted-container> <section class=contactDetails-fields-container> <legend class=contactDetails-fields-ico> <i class=contactEncrypted-encrypted-and-signed-icon pt-tooltip-translate="Encrypted data with verified digital signature"></i> </legend> <div> <div ng-if=state.isFree class=contactDetails-fields-locked> <div class=contactDetails-fields-locked-notice> <p><a class="pm_button primary" ui-sref="secured.dashboard({ scroll: true })" translate translate-context=Action>Upgrade now</a></p> <p translate translate-context=Info>This feature is only available for paid users.</p> </div> </div> <contact-error></contact-error> <contact-item data-form=contactForm data-model=model data-state=state data-datas="get(\'Tels\')" data-type=Tels></contact-item> <contact-item data-form=contactForm data-model=model data-state=state data-datas="get(\'Adrs\')" data-type=Adrs></contact-item> <contact-item data-form=contactForm data-model=model data-state=state data-datas="get(\'Personals\')" data-type=Personals></contact-item> <button type=button class=contactDetails-toggle-custom-fields></button> <contact-item class=contactDetails-custom-fields data-form=contactForm data-model=model data-state=state data-datas="get(\'Customs\')" data-type=Customs></contact-item> <contact-item data-form=contactForm data-model=model data-state=state data-datas="get(\'Notes\')" data-type=Notes></contact-item> <contact-item data-form=contactForm data-model=model data-state=state data-datas="get(\'Photos\')" data-type=Photos></contact-item> </div> </section> </section> ')}])}e.exports=n},"./src/templates/contact/contactError.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactError.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=contactError-container> <section class=contactError-item-encrypted> <h2 translate-context=Info translate-comment="errors for contact" translate>Decryption error</h2> <p translate-context=Info translate-comment="errors for contact" translate>Decryption of this content failed</p> <p class=contactError-row> <a ui-sref=secured.keys translate-context=Link translate>Reactivate keys</a> <a href=https://protonmail.com/support/knowledge-base/encrypted-contacts/ target=_blank translate-context=Link translate>Learn more</a> </p> </section> <section class=contactError-item-verification> <h2 translate-context=Info translate-comment="errors for contact" translate>Verification error</h2> <p translate-context=Info translate-comment="errors for contact" translate>Verification of this content’s signature failed</p> <p><a href=https://protonmail.com/support/knowledge-base/encrypted-contacts/ target=_blank translate-context=Link translate>Learn more</a></p> </section> </div> ')}])}e.exports=n},"./src/templates/contact/contactList.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactList.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=contactList-container> <request-timeout></request-timeout> <contact-no-result ng-if=!contacts.length></contact-no-result> <div class=pm_table ng-if=contacts.length> <table class="contactList-table fixedLayout"> <thead class=contactList-thead> <tr> <th class=checkbox></th> <th data-sort=Name data-action=toggleSort> <span translate-context=Title translate-comment="table heading" translate> Name </span> <contact-arrows-sort data-sort=Name></contact-arrows-sort> </th> <th data-sort=emails data-action=toggleSort> <span translate-context=Title translate-comment="table heading" translate> Email </span> <contact-arrows-sort data-sort=emails></contact-arrows-sort> </th> </tr> </thead> <tbody class=contactList-tbody data-vs-repeat data-vs-excess=6 data-vs-scroll-parent=.contactList-container> <tr class=contactList-item data-contact-id="{{ ::contact.ID }}" ng-class="{ \'contactList-item-activeCursorContact\': isSelected(contact), \'contactList-item-activeContact\': isActive(contact) }" ng-repeat="contact in contacts track by contact.ID"> <td class="text-center contactList-checkbox"> <custom-checkbox data-custom-contact-id="{{ ::contact.ID }}" data-custom-ng-model=contact.selected></custom-checkbox> </td> <td data-contact-id="{{ ::contact.ID }}" class=contactList-item-name data-action=showContact> <span>{{ contact.Name }}</span> </td> <td data-contact-id="{{ ::contact.ID }}" class="text-muted contactList-item-email" data-action=showContact> <ul class=inlineList> <li>{{ contact.emails }}</li> </ul> </td> </tr> </tbody> </table> </div> </div> ')}])}e.exports=n},"./src/templates/contact/contactLoaderModal.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactLoaderModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal small very-important {{ctrl.class}}" role=dialog style=display:block> <div class=modal-dialog> <button type=button ng-click=ctrl.close() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class="modal-content contactLoaderModal-container"> <div class=modal-header> <h4 class=modal-title>{{ ::ctrl.title }}</h4> </div> <div class=modal-body> <p class="alert alert-info contactLoaderModal-info">{{ ::ctrl.info }}</p> <loader-tag></loader-tag> <progress-bar id=contactsProgressBar></progress-bar> <label class=contactLoaderModal-label></label> <div class=contactLoaderModal-success></div> <div class=contactLoaderModal-error></div> </div> <div class="modal-footer text-right"> <button class=pm_button ng-click=ctrl.close() translate-context=Action translate>Close</button> </div> </div> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/contact/contactMerger.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactMerger.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=contactMergerList-table> <div ng-repeat="(key, contacts) in groups track by key" data-as-sortable=dragControlListener data-ng-model=contacts data-email="{{ ::key }}" class=contactMergerList-group> <div ng-repeat="contact in contacts track by contact.id" ng-class="{\n deleted: contact.deleted,\n included: contact.included\n }" data-as-sortable-item data-email="{{ ::key }}" data-i="{{ $index }}" class="contactMergerList-item as-sortable-item"> <div class=contactMergerList-priority> <span class=value>{{ $index + 1 }}</span> </div> <div data-as-sortable-item-handle class=contactMergerList-name ng-class="{ \'as-sortable-item-handle\': contact.included}"> <custom-checkbox class=checkbox data-custom-ng-model=contact.selected data-custom-name=select></custom-checkbox> <span class=contactMergerList-name-span>{{ ::contact.name }}</span> </div> <div class=contactMergerList-emails>{{ ::contact.email }}</div> <div class=contactMergerList-actions> <button name=details type=button class=details pt-tooltip-translate="Contact details" pt-tooltip-translate-context=Action> <i class="fa fa-vcard-o"></i> </button> <button type=button class=delete name=delete pt-tooltip-translate=Delete pt-tooltip-translate-context=Action> <i class="fa fa-trash-o"></i> </button> <button type=button class=undelete name=undelete pt-tooltip-translate=Undo pt-tooltip-translate-context=Action> <i class="fa fa-undo"></i> </button> </div> </div> <div class=contactMergerList-group-footer> <button name=preview class="pm_button contactMergerList-group-preview" ng-disabled=!willMerge(key) translate-context=Contact translate> Preview Contact </button> </div> </div> </div> ')}])}e.exports=n},"./src/templates/contact/contactMergerModal.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactMergerModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal {{ctrl.class}}" role=dialog style=display:block> <div class=modal-dialog> <button type=button name=cancel ng-click=ctrl.onClickClose() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title>{{ ::ctrl.title }}</h4> </div> <div class=modal-body> <div class="alert alert-info" translate translate-context=Info> <p><i class="fa fa-info-circle"></i> Use Drag and Drop to rank merging priority between contacts.</p> <p>Uncheck contacts you do <b>not</b> want to merge.</p> </div> <contact-merger details=ctrl.onClickDetails preview=ctrl.onClickPreview groups=ctrl.duplicates></contact-merger> </div> </div> <div class="modal-footer text-right"> <button class="pm_button pull-left" ng-click=ctrl.onClickClose() name=cancel translate-context=Action translate> Cancel </button> <button class="pm_button primary" ng-click=ctrl.onClickMerge() tabindex=1 name=merge translate-context=Action translate> Merge </button> </div> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/contact/contactModal.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal {{ctrl.class}}" role=dialog style=display:block> <div class=modal-dialog> <button type=button ng-click=ctrl.cancel() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title ng-if=!ctrl.contact.ID translate-context="Contact modal title" translate>Add contact</h4> <h4 class=modal-title ng-if=ctrl.contact.ID translate-context="Contact modal title" translate>Edit contact</h4> </div> <div class=modal-body> <contact-details data-contact=ctrl.contact data-modal=true></contact-details> </div> </div> <div class="modal-footer text-right"> <button class="pm_button pull-left" ng-click=ctrl.cancel() ng-disabled=ctrl.networkActivity translate-context=Action translate>Cancel</button> <button class="pm_button primary" tabindex=1 ng-click=ctrl.submit() ng-disabled=ctrl.networkActivity translate-context=Action translate>Save</button> </div> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/contact/contactNoResult.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactNoResult.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=contactNoResult-container> <i class="fa contactNoResult-icon fa-address-book-o"></i> <h3 class="contactNoResult-title contactNoResult-title-empty" translate-context=Info translate>You have no contacts</h3> <h3 class="contactNoResult-title contactNoResult-title-no-result" translate-context=Info translate>No contact found</h3> <div class=contactNoResult-text-block> <span>You can</span> <button class="pm_button primary" data-action=add translate-context=Action translate-comment="Add contact button in no result placeholder" translate>Add contact</button> <span>or</span> <button class="pm_button contactNoResult-import" data-action=import translate-context=Action translate-comment="Import contacts button in no result placeholder" translate>Import contacts</button> </div> </div> ')}])}e.exports=n},"./src/templates/contact/contactPhotoForm.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactPhotoForm.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<form class="contactPhotoForm-container pm_form" name=contactPhotoForm ng-submit=ctrl.submit() novalidate> <div class=pm_grid> <div class=col-1-3> <label for=contactPhotoModal-uri translate-context=Label translate>Add image URL</label> </div> <div class=col-2-3> <input type=url id=contactPhotoModal-uri ng-model=ctrl.uri placeholder-translate="Image URL"> </div> </div> <div class=pm_grid> <div class=col-1-3> <label for=contactPhotoModal-upload translate-context=Label translate>Upload picture</label> </div> <div class=col-2-3> <label for=contactPhotoModal-upload class=contactPhotoModal-input-label translate-context=Action translate>Upload picture</label> <input type=file accept=image/* class=contactPhotoModal-input-file id=contactPhotoModal-upload> </div> </div> </form> ')}])}e.exports=n},"./src/templates/contact/contactPhotoModal.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactPhotoModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal small important {{ctrl.class}}" role=dialog style=display:block> <div class=modal-dialog> <button type=button ng-click=ctrl.cancel() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title translate-context="Contact modal title" translate>Add image</h4> </div> <div class=modal-body> <contact-photo-form></contact-photo-form> </div> </div> <div class="modal-footer text-right"> <button class="pm_button pull-left" ng-click=ctrl.cancel() translate-context=Action translate>Cancel</button> <button class="pm_button primary" tabindex=1 ng-click=ctrl.submit(ctrl.uri) translate-context=Action translate>Save</button> </div> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/contact/contactPhotoRow.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactPhotoRow.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=contactPhotoRow-container> <img class=contactPhotoRow-image alt=Photo ng-src="{{ uri }}" data-action=edit> <button class="contactPhotoRow-edit-button pm_button" data-action=edit type=button translate-context=Action translate>Edit photo</button> <button class="contactPhotoRow-clear-button pm_button" data-action=clear type=button translate-context=Action translate>Clear</button> </div> ')}])}e.exports=n},"./src/templates/contact/contactPlaceholder.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactPlaceholder.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=contactPlaceholder-container> <count-elements-selected ng-if=!welcomePlaceholder id=pm_placeholder></count-elements-selected> <div ng-if=welcomePlaceholder> <i class="contactPlaceholder-icon fa fa-address-book-o"></i> <p class=contactPlaceholder-message translate-context=Info translate-comment="Message displayed in the contact placeholder section" transalate> Click on a contact to view or edit details. </p> </div> </div> ')}])}e.exports=n},"./src/templates/contact/contactRightPanel.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactRightPanel.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<div class=contactRightPanel-container> <contact-placeholder></contact-placeholder> <div class=contactRightPanel-content> <contact-details ng-if=contact data-contact=contact></contact-details> <loader-tag></loader-tag> </div> </div> ")}])}e.exports=n},"./src/templates/contact/contactToolbar.tpl.html":function(e,t){var a=window.angular,n="templates/contact/contactToolbar.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<nav class=contactsToolbar-container> <label class=contactsToolbar-selectAll> <custom-checkbox data-custom-ng-model=checkAll data-custom-ng-disabled=disabled data-custom-ng-change=selectAll($event)></custom-checkbox> </label> <button data-action=addContact class="pm_button primary" translate-context=Action translate-comment="contacts toolbar menu option" translate>Add</button> <button class="delete pm_button" type=button data-action=deleteSelectedContacts ng-disabled=noSelection translate-comment="contacts toolbar menu option" translate>Delete</button> <button class="compose pm_button" type=button data-action=composeSelectedContacts ng-disabled=noSelection translate-context=Action translate-comment="contacts toolbar menu option" translate>Compose</button> <button class="merge pm_button" type=button data-action=mergeContacts ng-disabled="selectedLength <= 1" translate-context=Action translate-comment="contacts toolbar menu option" translate>Merge</button> <div class=contactsToolbar-right> <div class=pull-right> <paginator-scope data-type=contacts data-page=currentPage data-total-items=totalItems data-items-per-page=numPerPage data-change=selectPage> </paginator-scope> </div> </div> </nav> ')}])}e.exports=n},"./src/templates/contact/importCardDropzone.tpl.html":function(e,t){var a=window.angular,n="templates/contact/importCardDropzone.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=importCardDropzone-container> <div class="dropzone dropzone--with-click importCardDropzone-dropzone" id=dropzone></div> <p class="text-center bold importCardDropzone-file">{{ fileDropped }}</p> </div> ')}])}e.exports=n},"./src/templates/contact/importContactModal.tpl.html":function(e,t){var a=window.angular,n="templates/contact/importContactModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal small {{ctrl.class}}" role=dialog style=display:block> <div class=modal-dialog> <button type=button ng-click=ctrl.cancel() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h3 class=modal-title translate translate-context=Title>Import</h3> </div> <div class=modal-body> <p translate translate-context=Info>We support importing CSV files from Outlook, Outlook Express, Yahoo! Mail, Hotmail, Eudora and some other apps. We also support importing vCard. (UTF-8 encoding). <a href=https://protonmail.com/support/knowledge-base/adding-contacts/ target=_blank>Need help?</a></p> <import-card-dropzone></import-card-dropzone> </div> </div> <div class=modal-footer> <button type=button class=pm_button ng-click=ctrl.cancel() translate translate-context=Action>Cancel</button> <button type=button class="pm_button primary pull-right" ng-disabled=!ctrl.fileDropped ng-click=ctrl.import() translate translate-context=Action>Import</button> </div> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/dashboard/addonRow.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/addonRow.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=addonRow-container> <div class="pm_select inline addonRow-select-row"> <select class=addonRow-select></select> <i class="fa fa-angle-down"></i> </div> <div class=addonRow-placeholder-row> <span class=addonRow-placeholder></span> <button class="pm_button link addonRow-edit" type=button translate-context=Action translate>Edit</button> </div> </div> ')}])}e.exports=n},"./src/templates/dashboard/currencySelector.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/currencySelector.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=currencySelector-container> <button class="currencySelector-button pm_button" value=EUR>EUR</button> <button class="currencySelector-button pm_button" value=USD>USD</button> <button class="currencySelector-button pm_button" value=CHF>CHF</button> </div> ')}])}e.exports=n},"./src/templates/dashboard/customProPlanModal.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/customProPlanModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal {{ctrl.class}}" role=dialog style=display:block> <form class="modal-dialog customProPlan-modal" name=customPlanForm ng-submit=ctrl.submit() ng-class="{ \'customProPlan-needMoreMember\': ctrl.needMoreMember }" novalidate> <button type=button ng-click=ctrl.close() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title translate-context="Title for the custom plan modal" translate>Plan Details</h4> </div> <div class=modal-body> <label translate-context="Label in the custom plan modal" translate>Users</label> <div class=pm_grid> <div class=col-3-4> <slider data-value=ctrl.sliders.members.value data-options=ctrl.sliders.members.options></slider> </div> <div class=col-1-4> <strong class="customProPlan-counter customProPlan-members-counter">{{ ctrl.format(\'members\') }}</strong> <button type=button ng-click=ctrl.needMore() class="pm_button link customProPlan-members-link" translate-context=Action translate>Need more users?</button> </div> </div> <label translate-context="Label in the custom plan modal" translate>Total Storage</label> <div class=pm_grid> <div class=col-3-4> <slider data-value=ctrl.sliders.storage.value data-options=ctrl.sliders.storage.options></slider> </div> <div class=col-1-4> <strong class=customProPlan-counter>{{ ctrl.format(\'storage\') }}</strong> </div> </div> <label translate-context="Label in the custom plan modal" translate>Total Addresses</label> <div class=pm_grid> <div class=col-3-4> <slider data-value=ctrl.sliders.addresses.value data-options=ctrl.sliders.addresses.options></slider> </div> <div class=col-1-4> <strong class=customProPlan-counter>{{ ctrl.format(\'addresses\') }}</strong> </div> </div> <p class="alert alert-info" translate-context="Info present in the custom professional plan modal" translate>Each user adds 5GB of storage and 5 addresses to your organization. Professional plans start with 5 addresses included. Storage and addresses can be distributed among users however you wish.</p> </div> </div> <div class="modal-footer text-right"> <button type=button ng-click=ctrl.close() class="pm_button pull-left" translate-context=Action translate>Cancel</button> <button tabindex=1 class="pm_button primary" translate-context=Action translate>Save</button> </div> </form> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/dashboard/customVpnModal.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/customVpnModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal {{ctrl.class}}" role=dialog style=display:block> <form class=modal-dialog name=customPlanForm ng-submit=ctrl.submit() novalidate> <button type=button ng-click=ctrl.close() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title translate-context="Title for the vpn modal" translate>ProtonVPN Plans</h4> </div> <div class="modal-body customVpnModal-body" ng-class=::ctrl.fromPlan> <p class="alert alert-info"> <span translate-context="Info for the vpn modal" translate>ProtonVPN encrypts your internet connection, adding a powerful layer of security to your devices and ensuring your online activity stays private.</span> <a href=https://protonvpn.com target=_blank translate-context=Link translate>Learn more</a> </p> <vpn-columns></vpn-columns> <button ng-if=ctrl.hasVpn type=button class=customVpnModal-remove ng-click=ctrl.remove() translate-context="Remove button for the vpn form" translate>Remove VPN protection</button> <vpn-slider></vpn-slider> <vpn-total></vpn-total> </div> </div> <div class="modal-footer text-right"> <button type=button ng-click=ctrl.close() class="pm_button pull-left" translate-context=Action translate>Cancel</button> <button tabindex=1 class="pm_button primary" translate-context=Action translate>Save</button> </div> </form> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/dashboard/freeColumn.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/freeColumn.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=freeColumn-container> <header class=freeColumn-header> <div class=isCurrent translate-context="Dashboard plan title" translate>Current Plan</div> <h1>Free</h1> </header> <div class=freeColumn-user translate-context="Dashboard plan information" translate>1 User</div> <div class=freeColumn-space translate-context="Dashboard plan information" translate>500 MB Storage</div> <div class=freeColumn-address> <span translate-context="Dashboard plan information" translate>1 Address</span> <i class="fa fa-info-circle" pt-tooltip-translate="Add additional addresses to your account like <u>username2@protonmail.com</u>" pt-tooltip-translate-context="Dashboard plan detail" pt-html=true></i> </div> <div class="freeColumn-domain disabled"> <s translate-context="Dashboard plan information" translate>Custom Domains</s> <i class="fa fa-info-circle" pt-tooltip-translate="Allows you to host emails for your own domain(s) at ProtonMail, e.g. <u>john.smith@example.com</u>" pt-tooltip-translate-context="Dashboard plan detail" pt-html=true></i> </div> <div class=freeColumn-sending translate-context="Dashboard plan information" translate>150 Messages per day</div> <div class=freeColumn-labels translate-context="Dashboard plan information" translate>3 Folders / 3 Labels</div> <div class=freeColumn-support translate-context="Dashboard plan information" translate>Limited Support</div> <div class="freeColumn-filters disabled"><s translate-context="Dashboard plan information" translate>Custom Filters</s></div> <div class="freeColumn-autoresponder disabled"><s translate-context="Dashboard plan information" translate>Autoresponder</s></div> <div class="freeColumn-catch-all disabled"><s translate-context="Dashboard plan information" translate>Catch-all email</s></div> <div class="freeColumn-members disabled"><s translate-context="Dashboard plan information" translate>Multi-User Support</s></div> <vpn-row data-plan=free class=freeColumn-vpn></vpn-row> <total-rows data-plan=free></total-rows> <div class=freeColumn-free translate-context="Dashboard plan type" translate>FREE</div> <footer class=freeColumn-footer> <select-plan data-plan=free></select-plan> </footer> </div> ')}])}e.exports=n},"./src/templates/dashboard/overviewSection.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/overviewSection.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<table class=overviewSection-container ng-class="{\n \'overviewSection-plan-free\': organization.PlanName === \'free\'\n}"> <tbody class=overviewSection-tbody> <tr> <th translate-context=Title translate>Username</th> <td colspan=2> <strong>{{ user.Name }}</strong> </td> </tr> <tr> <th translate-context=Title translate>Domains</th> <td> <strong class=overviewSection-domains-name>{{ organization.UsedDomains }} <span translate-context="dashboard page. how many domains exist for an organization as well as the total number allowed." translate>of</span> {{ organization.MaxDomains }}</strong> <strong class=overviewSection-domains-free>0</strong> </td> <td class="text-right actions"> <a ui-sref=secured.domains class="text-purple overviewSection-link-manage" translate-context=Action translate>Manage</a> <a href=# class="text-purple scroll overviewSection-link-upgrade" translate-context=Action translate>Upgrade</a> </td> </tr> <tr> <th translate-context=Title translate>Addresses</th> <td> <strong class=overviewSection-addresses-total>{{ organization.UsedAddresses }} <span translate-context="dashboard page. how many addresses exist for an organization as well as the total number allowed." translate>of</span> {{ organization.MaxAddresses }}</strong> <strong class=overviewSection-addresses-free>1</strong> </td> <td class="text-right actions"> <a ui-sref="secured.members({ action: \'scroll\' })" class="text-purple overviewSection-link-signatureManager" translate-context=Action translate>Manage</a> <a href=# class="text-purple scroll overviewSection-link-signatureUpgrade" translate-context=Action translate>Upgrade</a> </td> </tr> <tr> <th translate-context=Title translate>Storage</th> <td colspan=2 class=overviewSection-storage> <strong class=overviewSection-storage-size>{{ organization.UsedSpace | humanSize }} <span translate-context="show used storage for an account" translate>of</span> {{ organization.MaxSpace | humanSize }}</strong> <strong class=overviewSection-storage-free>{{ user.UsedSpace | humanSize }} <span translate-context="show used storage for an account" translate>of</span> {{ user.MaxSpace | humanSize }}</strong> <br> <progress-bar id=storageBar></progress-bar> </td> </tr> </tbody> <tbody class=overviewSection-tbody-billing> <tr> <th translate-context=Title translate>Credit</th> <td> <strong>{{ (user.Credit || 0) / 100 | currency: user.Currency }}</strong> </td> <td> <donate-btn class=topUp-button data-item=topUp></donate-btn> <gift-code-btn data-action=modal></gift-code-btn> </td> </tr> <tr ng-if=subscription.CouponCode> <th translate-context=Title translate>Coupon</th> <td colspan=2> <code class=overviewSection-couponCode>{{ subscription.CouponCode }}</code> </td> </tr> </tbody> </table> ')}])}e.exports=n},"./src/templates/dashboard/plusColumn.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/plusColumn.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=plusColumn-container> <header class=plusColumn-header> <div class=isCurrent translate-context="Dashboard plan title" translate>Current Plan</div> <h1>Plus</h1> <plan-price data-plan=plus></plan-price> </header> <div class=plusColumn-user translate-context="Dashboard plan information" translate>1 User</div> <div class=plusColumn-space> <addon-row data-addon=space data-plan=plus></addon-row> </div> <div class=plusColumn-address> <addon-row data-addon=address data-plan=plus></addon-row> <i class="fa fa-info-circle" pt-tooltip-translate="Add additional addresses to your account like <u>username2@protonmail.com</u>" pt-tooltip-translate-context="Dashboard plan detail" pt-html=true></i> </div> <div class=plusColumn-domain> <addon-row data-addon=domain data-plan=plus></addon-row> <i class="fa fa-info-circle" pt-tooltip-translate="Allows you to host emails for your own domain(s) at ProtonMail, e.g. <u>john.smith@example.com</u>" pt-tooltip-translate-context="Dashboard plan detail" pt-html=true></i> </div> <div class=plusColumn-sending translate-context="Dashboard plan information" translate>1000 Messages per day</div> <div class=plusColumn-labels translate-context="Dashboard plan information" translate>200 Folders / 200 Labels</div> <div class=plusColumn-support translate-context="Dashboard plan information" translate>Support</div> <div class=plusColumn-filters translate-context="Dashboard plan information" translate>Custom Filters</div> <div class=plusColumn-autoresponder translate-context="Dashboard plan information" translate>Autoresponder</div> <div class="plusColumn-catch-all disabled"><s translate-context="Dashboard plan information" translate>Catch-all email</s></div> <div class="plusColumn-members disabled"><s translate-context="Dashboard plan information" translate>Multi-User Support</s></div> <vpn-row data-plan=plus class=plusColumn-vpn></vpn-row> <total-rows data-plan=plus></total-rows> <footer class=plusColumn-footer> <select-plan data-plan=plus></select-plan> </footer> </div> ')}])}e.exports=n},"./src/templates/dashboard/professionalColumn.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/professionalColumn.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=professionalColumn-container> <header class=professionalColumn-header> <div class=isCurrent translate-context="Dashboard plan title" translate>Current Plan</div> <h1>Professional</h1> <plan-price data-plan=professional></plan-price> </header> <div class=professionalColumn-user> <addon-row data-addon=member data-plan=professional></addon-row> </div> <div class=professionalColumn-space> <span class=professionalColumn-space-value translate-context="Dashboard plan information" translate>5 GB Storage / User</span> <i class="fa fa-info-circle" pt-tooltip-translate="Click INFO to view total storage for your plan" pt-tooltip-translate-context=Info></i> <button type=button class="professionalColumn-customize pm_button link" transalte-context="Dashboard plan button" translate>Info</button> </div> <div class=professionalColumn-address> <span class=professionalColumn-address-value translate-context="Dashboard plan information" translate>5 Addresses / User</span> <i class="fa fa-info-circle" pt-tooltip-translate="Click INFO to view total number of addresses for your plan" pt-tooltip-translate-context="Dashboard plan detail"></i> <button type=button class="professionalColumn-customize pm_button link" transalte-context="Dashboard plan button" translate>Info</button> </div> <div class=professionalColumn-domain> <addon-row data-addon=domain data-plan=professional></addon-row> <i class="fa fa-info-circle" pt-tooltip-translate="Allows you to host emails for your own domain(s) at ProtonMail, e.g. <u>john.smith@example.com</u>" pt-tooltip-translate-context="Dashboard plan detail" pt-html=true></i> </div> <div class=professionalColumn-sending> <span translate-context="Dashboard plan information" translate>Unlimited sending</span> <i class="fa fa-info-circle" pt-tooltip-translate="ProtonMail cannot be used for mass emailing or spamming. Legitimate emails are unlimited."></i> </div> <div class=professionalColumn-labels translate-context="Dashboard plan information" translate>Unlimited Folders / Labels</div> <div class=professionalColumn-support translate-context="Dashboard plan information" translate>Priority Support</div> <div class=professionalColumn-filters translate-context="Dashboard plan information" translate>Custom Filters</div> <div class=professionalColumn-autoresponder translate-context="Dashboard plan information" translate>Autoresponder</div> <div class=professionalColumn-catch-all translate-context="Dashboard plan information" translate>Catch-all email</div> <div class=professionalColumn-members translate-context="Dashboard plan information" translate>Multi-User Support</div> <vpn-row data-plan=professional class=professionalColumn-vpn></vpn-row> <total-rows data-plan=professional></total-rows> <footer class=professionalColumn-footer> <select-plan data-plan=professional></select-plan> </footer> </div> ')}])}e.exports=n},"./src/templates/dashboard/subscriptionSection.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/subscriptionSection.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<table class=subscriptionSection-table> <tbody class=subscriptionSection-tbody-plans> <tr> <td colspan=3> <strong translate-context="subscription title" translate>Plans</strong> </td> </tr> <tr ng-repeat="plan in subscription.Plans | filter: { Type: 1 } track by plan.ID" class=subscriptionSection-list> <td colspan=2 class=subscriptionSection-item-title>{{ plan.Title }}</td> <td class=subscriptionSection-item-price>{{ plan.Amount / 100 / plan.Cycle | currency: plan.Currency }}/mo</td> <td class=subscriptionSection-item-addons> <table class=subscriptionSection-addons> <tbody class=subscriptionSection-tbody-addons> <tr ng-repeat="(key, plan) in plan.addons track by plan.ID"> <td class=subscriptionSection-item-title>{{ plan.Title }}</td> <td class=subscriptionSection-item-price>{{ plan.Amount / 100 / plan.Cycle | currency: plan.Currency }}/mo</td> </tr> </tbody> </table> </td> </tr></tbody> <tbody class=subscriptionSection-tbody-billing> <tr ng-hide="subscription.CouponCode === \'LIFETIME\'"> <td> <strong translate-context="subscription details" translate>Billing cycle end</strong> </td> <td>{{ subscription.PeriodEnd | readableTime }}</td> </tr> <tr> <td> <strong translate-context="subscription price label" translate>Total price</strong> ({{ subscription.cycle }}) <span ng-if=subscription.CouponCode translate-context="subscription price label information" translate>(with coupon)</span> </td> <td>{{ (subscription.Amount || 0) / 100 | currency: subscription.Currency }} ({{ subscription.cycle }})</td> </tr> <tr> <td> <strong translate-context="subscription title" translate>Payment</strong> </td> <td> {{ method }} <a ui-sref=secured.payments class=text-purple translate-context="subscription link" translate>Manage</a> </td> </tr> </tbody> </table> ')}])}e.exports=n},"./src/templates/dashboard/totalRows.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/totalRows.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=totalRows-container> <label class=totalRows-label> <div class=totalRows-label-left> <custom-radio data-custom-ng-model=cycle data-custom-ng-value=1 data-custom-ng-change=onChange()></custom-radio> <span class=totalRows-cycle translate-comment="Make sure this string is short please" translate-context="Billing cycle for the dashboard" translate>Pay monthly</span> <span class="totalRows-discount totalRows-discount-with-vpn" pt-tooltip-translate="Monthly subscription with VPN discount">-20%</span> </div> <div class=totalRows-label-right> <div class=totalRows-wrapper> <strong class=totalRows-monthly-price></strong> <span translate translate-context="month price">/mo</span> </div> </div> </label> <label class=totalRows-label> <div class=totalRows-label-left> <custom-radio data-custom-ng-model=cycle data-custom-ng-value=12 data-custom-ng-change=onChange()></custom-radio> <span class=totalRows-cycle translate-comment="Make sure this string is short please" translate-context="Billing cycle for the dashboard" translate>Pay annually</span> <span class="totalRows-discount totalRows-discount-without-vpn" pt-tooltip-translate="Annual subscription discount">-20%</span> <span class="totalRows-discount totalRows-discount-with-vpn" pt-tooltip-translate="Annual subscription with VPN discount">-36%</span> </div> <div class=totalRows-label-right> <div class=totalRows-wrapper> <strong class=totalRows-yearly-price></strong> <span translate translate-context="month price">/mo</span> </div> <small class=totalRows-yearly-billed-price></small> </div> </label> <label class="totalRows-label totalRows-label-2-year"> <div class=totalRows-label-left> <custom-radio data-custom-ng-model=cycle data-custom-ng-value=24 data-custom-ng-change=onChange()></custom-radio> <span class=totalRows-cycle translate-comment="Make sure this string is short please" translate-context="Billing cycle for the dashboard" translate>2-year plan</span> <span class="totalRows-discount totalRows-discount-without-vpn" pt-tooltip-translate="2-year subscription discount">-33%</span> <span class="totalRows-discount totalRows-discount-with-vpn" pt-tooltip-translate="2-year subscription with VPN discount">-45%</span> </div> <div class=totalRows-label-right> <div class=totalRows-wrapper> <strong class=totalRows-2-years-price></strong> <span translate translate-context="month price">/mo</span> </div> <small class=totalRows-2-years-billed-price></small> </div> </label> </div> ')}])}e.exports=n},"./src/templates/dashboard/visionaryColumn.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/visionaryColumn.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=visionaryColumn-container> <header class=visionaryColumn-header> <div class=isCurrent translate-context="Dashboard free plan title" translate>Current Plan</div> <h1>Visionary</h1> <plan-price data-plan=visionary></plan-price> </header> <div class=visionaryColumn-user translate-context="Dashboard plan information" translate>6 Users</div> <div class=visionaryColumn-space translate-context="Dashboard plan information" translate>20 GB Storage</div> <div class=visionaryColumn-address> <span translate-context="Dashboard plan information" translate>50 Addresses</span> <i class="fa fa-info-circle" pt-tooltip-translate="Add additional addresses to your account like <u>username2@protonmail.com</u>" pt-tooltip-translate-context="Dashboard plan detail" pt-html=true></i> </div> <div class=visionaryColumn-domain> <span translate-context="Dashboard plan information" translate>10 Custom Domains</span> <i class="fa fa-info-circle" pt-tooltip-translate="Allows you to host emails for your own domain(s) at ProtonMail, e.g. <u>john.smith@example.com</u>" pt-tooltip-translate-context="Dashboard plan detail" pt-html=true></i> </div> <div class=visionaryColumn-sending> <span translate-context="Dashboard plan information" translate>Unlimited sending</span> <i class="fa fa-info-circle" pt-tooltip-translate="ProtonMail cannot be used for mass emailing or spamming. Legitimate emails are unlimited."></i> </div> <div class=visionaryColumn-labels translate-context="Dashboard plan information" translate>Unlimited Folders / Labels</div> <div class=visionaryColumn-support translate-context="Dashboard plan information" translate>Priority Support</div> <div class=visionaryColumn-filters translate-context="Dashboard plan information" translate>Custom Filters</div> <div class=visionaryColumn-autoresponder translate-context="Dashboard plan information" translate>Autoresponder</div> <div class=visionaryColumn-catch-all translate-context="Dashboard plan information" translate>Catch-all email</div> <div class=visionaryColumn-members translate-context="Dashboard plan information" translate>Multi-User Support</div> <div class=visionaryColumn-vpn translate-context="Dashboard plan information" translate>ProtonVPN Visionary included</div> <total-rows data-plan=visionary></total-rows> <footer class=visionaryColumn-footer> <select-plan data-plan=visionary></select-plan> </footer> </div> ')}])}e.exports=n},"./src/templates/dashboard/vpnColumns.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/vpnColumns.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=vpnColumns-container> <div class=vpnColumns-col> <label class=vpnColumns-label translate-context="Label for the vpn columns" translate>Speed</label> <label class=vpnColumns-label translate-context="Label for the vpn columns" translate>Connections/Devices</label> <label class=vpnColumns-label>Tor VPN <i class="fa fa-info-circle" pt-tooltip-translate="Send all your traffic through the Tor network with a single click"></i></label> <label class=vpnColumns-label>Secure Core <i class="fa fa-info-circle" pt-tooltip-translate="Provides additional protection against VPN server compromise by routing connections through our Secure Core network"></i></label> </div> <div class="vpnColumns-col vpnColumns-vpnbasic-col"> <header class=vpnColumns-header> <span class=vpnColumns-selected>Selected plan</span> <span class=vpnColumns-vpnbasic-title>ProtonVPN Basic</span> <span class=vpnColumns-vpnbasic-amount>{{ ::vpnbasicAmount }}</span> </header> <div> <strong translate-context="Info for the vpn columns" translate>High</strong> </div> <div> <strong>2</strong> </div> <div> <i class="fa fa-times"></i> </div> <div> <i class="fa fa-times"></i> </div> <footer class=vpnColumns-footer> <button type=button data-action=vpnbasic translate-context="Action for the vpn columns" translate>Add ProtonVPN Basic</button> <button type=button disabled=disabled translate-context="Action for the vpn columns" translate>ProtonVPN Basic Selected</button> </footer> </div> <div class="vpnColumns-col vpnColumns-vpnplus-col"> <header class=vpnColumns-header> <span class=vpnColumns-selected>Selected plan</span> <span class=vpnColumns-vpnplus-title>ProtonVPN Plus</span> <span class=vpnColumns-vpnplus-amount>{{ ::vpnplusAmount }}</span> </header> <div> <strong translate-context="Info for the vpn columns" translate>Highest</strong> </div> <div> <strong>5</strong> </div> <div> <i class="fa fa-check"></i> </div> <div> <i class="fa fa-check"></i> </div> <footer class=vpnColumns-footer> <button type=button data-action=vpnplus translate-context="Action for the vpn columns" translate>Add ProtonVPN Plus</button> <button type=button disabled=disabled translate-context="Action for the vpn columns" translate>ProtonVPN Plus Selected</button> </footer> </div> </div>')}])}e.exports=n},"./src/templates/dashboard/vpnDiscountPanel.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/vpnDiscountPanel.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<p class="vpnDiscountPanel-container alert"> <strong translate-context="Discount displayed in the dashboard" translate>Get 20% off when you get both ProtonMail and ProtonVPN</strong> <span translate-context="Discount displayed in the dashboard" translate>(discount shown at checkout)</span> </p> ')}])}e.exports=n},"./src/templates/dashboard/vpnRow.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/vpnRow.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=vpnRow-container> <span class=vpnRow-info></span> <button type=button class="vpnRow-add pm_button" data-action=open-vpn-modal translate>Add VPN Protection</button> <i class="fa fa-info-circle vpnRow-icon" pt-tooltip-translate="ProtonVPN encrypts your internet connection to keep your online activity private."></i> </div>')}])}e.exports=n},"./src/templates/dashboard/vpnSlider.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/vpnSlider.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="vpnSlider-container pm_grid"> <div class=col-1-3> <label translate-context="Label for vpn form" translate>Number of connections</label> <i class="fa fa-info-circle" pt-tooltip-translate="Number of VPN connections which can be assigned to users."></i> <strong class=vpnSlider-count></strong> </div> <div class=col-2-3> <slider data-value=value data-options=options></slider> <p class=vpnSlider-vpnbasic-info> <i class="fa fa-info-circle"></i> <span translate-context="Information for the custom vpn modal" translate>Need more connections?</span> <a href=# data-action=vpnplus translate-context="Link for the custom vpn modal" translate>Upgrade to ProtonVPN Plus</a> </p> <p class=vpnSlider-vpnplus-info> <i class="fa fa-info-circle"></i> <span translate-context="Information for the custom vpn modal" translate>Each connected device consumes one VPN connection.</span> </p> </div> </div>')}])}e.exports=n},"./src/templates/dashboard/vpnTotal.tpl.html":function(e,t){var a=window.angular,n="templates/dashboard/vpnTotal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="vpnTotal-container pm_grid"> <div class=col-1-3> <label translate-context="Label attach to vpn total" translate>Total</label> </div> <div class="col-2-3 text-right"> <strong class=vpnTotal-amount></strong> </div> </div> ')}])}e.exports=n},"./src/templates/directives/attachments/listAttachments.tpl.html":function(e,t){var a=window.angular,n="templates/directives/attachments/listAttachments.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div id=attachmentArea class=listAttachments-container> <header> <span class=title> <strong class=listAttachments-title-size>{{ model.attachmentsSize() | humanSize }}</strong> <span ng-if="model.Attachments.length - model.NumEmbedded > 0" class=listAttachments-title-files> <i class="fa fa-paperclip"></i> {{ model.Attachments.length - model.NumEmbedded }} <span translate translate-n="model.Attachments.length - model.NumEmbedded" translate-plural="files attached">file attached</span> </span> <span ng-if="model.NumEmbedded > 0" class=listAttachments-title-embedded> <i class="fa fa-image embedded"></i> {{ model.NumEmbedded }} <span translate-n=model.NumEmbedded translate-plural="embedded images">embedded image</span> </span> <span ng-if="model.Attachments.length - model.NumEmbedded > 1" class=listAttachments-title-download> <btn-download-attachments data-model=model class=listAttachments-btn-downloadAll></btn-download-attachments> </span> </span> </header> <section class=listAttachments-list> <div class="listAttachments-att pm_button" ng-repeat="attachment in model.Attachments track by $id(attachment)"> <a data-attachment-id={{::attachment.ID}} class=listAttachments-item ng-class="{ \'dead\': attachment.decrypting, \'remove\': (\'eo.reply\' | includedByState) }" data-download-text="{{ \'Download\' | translate }}" title="{{ ::attachment.Name }} ({{ ::attachment.Size | humanSize }})"> <em></em> <icon-attachment class=listAttachments-icon></icon-attachment> <i class="fa fa-cog fa-spin listAttachments-icon-loader"></i> <i class="fa fa-download listAttachments-icon-download"></i> <strong class=name>{{ ::attachment.Name }}</strong> <span class=size>{{ ::attachment.Size | humanSize }}</span> </a> <button data-attachment-id={{::attachment.ID}} class="listAttachments-btn-action-remove removeButton"> <i class="fa fa-times"></i> </button> </div> </section> </div> ')}])}e.exports=n},"./src/templates/directives/composer/composer-header.tpl.html":function(e,t){var a=window.angular,n="templates/directives/composer/composer-header.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<header responsive-composer=message class=composerHeader-container> <span ng-click=unminimize(message); class="subject composerHeader-subject">{{subject(message)}}</span> <div class="composerHeader-actions actions text-right"> <button type=button ng-show=!!!message.minimized class="pm_button link minimize-button hidden-xs composerHeader-btn composer-action-minimize" ng-click=minimize(message) pt-tooltip-translate-context=Action pt-tooltip-translate=Minimize pt-placement=top> <i class="fa fa-minus composerHeader-btn-icon"></i> </button> <button type=button ng-show=!!message.minimized class="pm_button link expand-button hidden-xs composerHeader-btn composer-action-expand" ng-click=unminimize(message) pt-tooltip-translate-context=Action pt-tooltip-translate=Expand pt-placement=top> <i class="fa fa-minus composerHeader-btn-icon"></i> </button> <button type=button ng-show=!!!message.maximized class="pm_button link maximize-button hidden-xs hidden-sm composerHeader-btn composer-action-maximize" ng-click=normalize(message);maximize(message) pt-tooltip-translate-context=Action pt-tooltip-translate=Fullscreen pt-placement=top> <i class="fa fa-expand composerHeader-btn-icon"></i> </button> <button type=button ng-show=!!message.maximized class="pm_button link maximize-button hidden-xs composerHeader-btn composer-action-maximize" ng-click=normalize(message) pt-tooltip-translate-context=Action pt-tooltip-translate="Exit fullscreen" pt-placement=top> <i class="fa fa-compress composerHeader-btn-icon"></i> </button> <button type=button class="pm_button link close-button composerHeader-btn composer-action-close" ng-click=openCloseModal(message) pt-tooltip-translate-context=Action pt-tooltip-translate=Close pt-placement=top> <i class="fa fa-times composerHeader-btn-icon"></i> </button> </div> </header> ')}])}e.exports=n},"./src/templates/directives/composer/composer.tpl.html":function(e,t){var a=window.angular,n="templates/directives/composer/composer.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="composer animate composer-container" data-composer-id={{::message.ID}}> <div class=composer-dropzone-wrapper></div> <composer-header></composer-header> <composer-encrypt class="composerOptions-container composer-options-encryption" data-message=message ng-class="{ \'show\': message.panelName == \'encrypt\' }"></composer-encrypt> <composer-expiration class="composerOptions-container composer-options-expiration" data-message=message ng-class="{ \'show\': message.panelName == \'expiration\' }"></composer-expiration> <div class="meta composer-meta" ng-class="{\'composer-toggle-ccbcc\': message.ccbcc}"> <composer-select-from class="row fromRow composer-field-From" data-model=message></composer-select-from> <composer-input-meta data-model=message data-label=To data-key=ToList class="row toRow composer-field-ToList"></composer-input-meta> <composer-input-meta data-model=message data-label=CC data-key=CCList class="row ccRow composer-field-CCList"></composer-input-meta> <composer-input-meta data-model=message data-label=BCC data-key=BCCList class="row bccRow composer-field-BCCList"></composer-input-meta> <composer-subject class="row subjectRow composer-field-Subject"></composer-subject> </div> <section class="flex composer-section" ng-form=composeForm{{$index}}> <div class="composeEditor fill"> <composer-ask-embedded class="askEmbedding composer-askEmbedding"></composer-ask-embedded> <div class="dropzone composer-dropzone fill" composer-dropzone id=dropzone_message{{::message.ID}} ng-show=message.focussed></div> <squire class=composer-editor data-message=message data-allow-embedded=true ng-click="attHide(message); message.autocompletesFocussed = false;"></squire> </div> </section> <composer-attachments data-model=message></composer-attachments> <footer ng-hide=message.minimized ng-class="{ \'disabled\': message.displayPanel }"> <button class="pm_button composer-btn-attachment needsclick" data-action-compose=::message data-action-compose-type=addFile ng-disabled="message.disableOthers() || message !== selected" ng-class="{\n \'active\': message.displayPanel && message.panelName == \'attachments\',\n \'primary\': message.Attachments && message.Attachments.length > 0\n }" pt-tooltip-translate=Attachments pt-placement=top> <i class="fa fa-paperclip"></i> </button> <button class="pm_button composer-btn-encryption" ng-class="{\n \'active\': message.displayPanel && message.panelName == \'encrypt\',\n \'primary\': message.IsEncrypted === 1\n }" ng-disabled="message.disableOthers() || message !== selected" pt-placement=top pt-tooltip-context=Action pt-tooltip-translate=Encryption ng-click="togglePanel(message, \'encrypt\')"> <i class="fa fa-lock"></i> </button> <button class="pm_button composer-btn-expiration" ng-class="{\n \'active\': message.displayPanel && message.panelName == \'expiration\',\n \'primary\': message.ExpirationTime > 0\n }" ng-disabled="message.disableOthers() || message !== selected" pt-placement=top pt-tooltip-translate="Expiration time" pt-tooltip-translate-context=Action ng-click="togglePanel(message, \'expiration\')"> <i class="fa fa-hourglass-end"></i> </button> <div class=pull-right> <composer-time class=desktopOnly></composer-time> <button class="pm_button composer-btn-discard" ng-disabled=message.disableDiscard() ng-click=discard(message) pt-tooltip-translate="Delete draft" pt-tooltip-translate-context=Action pt-placement=top pt-tooltip-context=Action> <i class="fa fa-trash-o"></i> <span ng-show=!!message.maximized translate translate-context=Action>Discard</span> </button> <button class="pm_button composer-btn-save" ng-disabled="message.disableSave() || message !== selected" ng-click="save(message, true, false)" pt-tooltip-translate=Save pt-placement=top pt-tooltip-translate-context=Action> <i class="fa fa-floppy-o"></i> <span ng-show="message.maximized === true" translate translate-context=Action>Save</span> </button> <btn-send-message class="pm_button primary mobileFull composer-btn-send" data-message=message></btn-send-message> </div> </footer> </div> ')}])}e.exports=n},"./src/templates/directives/composer/composerAskEmbedded.tpl.html":function(e,t){var a=window.angular,n="templates/directives/composer/composerAskEmbedded.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=composerAskEmbdded-container> <div class=composerAskEmbdded-details> <button type=button data-action=cancel class=composerAskEmbdded-btn-cancel>cancel <i class="fa fa-close"></i></button> <h4 class=composerAskEmbdded-title>No images detected</h4> <div class=mobile-display-column> <span>Insert images</span> <button type=button class="pm_button primary composerAskEmbdded-btn-attachment" data-action=attachment pt-tooltip-translate=Attachments pt-placement=top>as attachment</button> <span>or</span> <button type=button class="pm_button primary composerAskEmbdded-btn-inline" data-action=inline pt-tooltip-translate="inline image" pt-placement=top>inline</button> </div> </div> </div> ')}])}e.exports=n},"./src/templates/directives/composer/composerAttachments.tpl.html":function(e,t){var a=window.angular,n="templates/directives/composer/composerAttachments.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="composerAttachments-container composerAttachments-close"> <div class=composerAttachments-header> <composer-attachments-size class=composerAttachments-size></composer-attachments-size> <span class=composerAttachments-counter-attachments ng-show="message.Attachments.length > message.NumEmbedded"> <i class="fa fa-paperclip"></i> {{ message.Attachments.length - message.NumEmbedded }} <span translate translate-n="message.Attachments.length - message.NumEmbedded" translate-plural="files attached">file attached</span> </span> <span class=composerAttachments-counter-embedded ng-show="message.NumEmbedded > 0"> <i class="fa fa-image embedded"></i> {{ message.NumEmbedded }} <span translate translate-n=message.NumEmbedded translate-plural="embedded images">embedded image</span> </span> <span class=composerAttachments-action> <i>{{ labelHeader }}</i> </span> </div> <div class=composerAttachments-loaders> <composer-attachments-item ng-repeat="attachment in list track by attachment.id" class="composerAttachments-loader uploading"> </composer-attachments-item> </div> </div> ')}])}e.exports=n},"./src/templates/directives/composer/composerAttachmentsSize.tpl.html":function(e,t){var a=window.angular,n="templates/directives/composer/composerAttachmentsSize.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<strong class=composerAttachmentsSize-container></strong> ")}])}e.exports=n},"./src/templates/directives/composer/composerInputMeta.tpl.html":function(e,t){var a=window.angular,n="templates/directives/composer/composerInputMeta.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=composerInputMeta-container ng-class="{\'composerInputMeta-recipients\': containsRecipient(), \'composerInputMeta-overlay-hidden\': message.autocompletesFocussed || containsInvalid(message) }"> <div class=composerInputMeta-overlay> <label class=composerInputMeta-overlay-label translate translate-context=Title>Recipients</label> <div class=composerInputMeta-overlay-list>{{ message | recipients }}</div> </div> <label to=composerAutocompleteTo class=composerInputMeta-label translate translate-context=Title>To</label> <autocomplete-emails class=composerInputMeta-autocomplete data-name=composerAutocompleteTo data-emails=message.ToList></autocomplete-emails> <button class="pm_button link composerInputMeta-overlay-button" ng-class="{\'fa-rotate-180\': message.ccbcc}" tabindex=-1 pt-tooltip-translate="CC BCC" pt-placement=left pt-tooltip-translate-context=Action> <i class="fa fa-angle-down"></i> </button> </div> ')}])}e.exports=n},"./src/templates/directives/composer/composerSelectFrom.tpl.html":function(e,t){var a=window.angular,n="templates/directives/composer/composerSelectFrom.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=composerSelectFrom-container> <label translate translate-context=Title for=fromMessage{{::message.ID}}>From</label> <select class=flex id=fromMessage{{::message.ID}} name=fromMessage{{::message.ID}} ng-model=message.From ng-options="address.Email for address in addresses track by address.Email"></select> <button class="pm_button link"> <i class="fa fa-angle-down"></i> </button> </div> ')}])}e.exports=n},"./src/templates/directives/composer/composerSubject.tpl.html":function(e,t){var a=window.angular,n="templates/directives/composer/composerSubject.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=composerSubject-container> <input title=Subject class="flex subject" placeholder-translate=Subject ng-model=message.Subject required/> </div> ')}])}e.exports=n},"./src/templates/directives/contact/contactItem.tpl.html":function(e,t){var a=window.angular,n="templates/directives/contact/contactItem.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<ul class=contactItem-container data-is-disabled=!UI.sortableState data-as-sortable=itemContactDragControlListeners data-ng-model=UI.items> <li class=contactItem-row ng-if=!item.hide ng-repeat="item in UI.items" as-sortable-item> <div class="contactItem-sortable-wrapper ng-message-wrapper" as-sortable-item-handle> <label class=contactItem-label> <input type=text placeholder="{{ UI.placeholder }}" class=form-control tabindex=2 ng-model=item.label ng-class="{ \'contactItem-label-editable\' : UI.allowCustom, \'contactItem-label-selectable\': UI.selectable }" ng-change=setLabel(item) ng-readonly=!UI.allowCustom ng-required=UI.required ng-focus=onFocus(item) ng-blur=onBlur(item)> <i class="fa itemIcon" ng-class=UI.iconClass></i> <i class="fa fa-chevron-down" ng-mousedown="toggleSelector($event, item)"></i> <ul class=contactItem-selectType ng-show="item.displaySelector && UI.labels.length > 1"> <li ng-repeat="label in UI.labels" ng-class="{ selected: item.label.toUpperCase() === label.toUpperCase() }"> <a ng-mousedown="setLabel(item, label)">{{ label }}</a> </li> </ul> </label> <div class=contactItem-aside> <div class=contactItem-inputs> <input ng-if="UI.mode === \'singleLine\'" type="{{ ::UI.inputType }}" name="{{ ::UI.inputName+$index }}" data-valid-email placeholder="{{ UI.placeholder }}" class="form-control contactItem-field" tabindex=2 ng-class="{ \'contactItem-input-with-icon\': UI.inputType === \'email\' }" ng-model=item.value ng-change=change()> <textarea ng-if="UI.mode === \'multiLine\'" placeholder="{{ UI.placeholder }}" class="form-control contactItem-field" tabindex=2 ng-model=item.value ng-change=change()></textarea> <contact-address-input ng-if="UI.mode === \'address\'" data-focused=config.isFocusedAddress data-value=item.value data-form=form></contact-address-input> <contact-photo-row ng-if="UI.mode === \'photo\'" data-value=item.value data-form=form></contact-photo-row> </div> <div class=contactItem-actions> <copy ng-if="UI.mode === \'address\' && !config.isFocusedAddress" data-value=getAddressValue(item) pt-tooltip-translate="Copy address" pt-tooltip-translate-context=Action></copy> <button ng-if="UI.inputType === \'email\'" type=button class="contactItem-compose fa fa-send-o" data-action=composeTo data-email="{{ item.value }}" pt-tooltip-translate="Compose to" pt-tooltip-translate-context=Action></button> <button ng-if="!UI.unique && visibleItems().length > 1" type=button class=contactItem-delete data-action=remove data-index="{{ $index }}" pt-tooltip-translate="Remove Entry" pt-tooltip-translate-context=Action></button> <button ng-if="!UI.unique && visibleItems().length" type=button class=contactItem-add data-action=add pt-tooltip-translate="Add Entry" pt-tooltip-translate-context=Action></button> </div> <div class=contactItem-validation ng-messages=form[UI.inputName+$index].$error role=alert> <div class=ng-messages-errors> <p ng-message=email class=text-red translate-context=Error translate>Invalid email</p> </div> </div> </div> </div> </li> <div class=contactItem-footer> <button ng-if="UI.items.length > 1 && UI.sortable" type=button data-action=toggleSortable class=contactItem-toggle-sort> <span class=contactItem-toggle-sort-enable translate translate-context=Action>Change order</span> <span class=contactItem-toggle-sort-save translate translate-context=Action>Save order</span> </button> </div> </ul> ')}])}e.exports=n},"./src/templates/directives/core/sidebarProgress.tpl.html":function(e,t){var a=window.angular,n="templates/directives/core/sidebarProgress.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=storageProgress-container> <div class=link hide-upgrade=space> <a ui-sref="secured.dashboard({scroll: true})"> <span translate translate-context=Action>Upgrade storage</span> </a> </div> <div class="storage text-center"> <strong title=Storage>{{ storageValue() }}</strong> </div> <div class=storageBar> <div class=storageBar-progress ng-style=storageStyle()></div> </div> </div> ')}])}e.exports=n},"./src/templates/directives/dropdownLabels.tpl.html":function(e,t){var a=window.angular,n="templates/directives/dropdownLabels.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<form novalidate class=dropdown-label-container ng-class="{\'dropdown-label-hasLabels\': labels.length}" autocomplete=off> <div class=dropdown-label-title> <p class=dropdown-label-title-hasLabels translate translate-context=title>Label as</p> <p class="alert alert-info" translate translate-context=Info>No labels</p> </div> <label class=dropdown-label-search> <i class="fa fa-search dropdown-label-search-icon"></i> <input class=dropdown-label-search-input type=search placeholder-translate="Filter labels" ng-model=searchLabels ng-minlength=1> </label> <div class="dropdown-label-scrollbox scrollbox-container" ng-if="labels.length > 0"> <ul class=scrollbox-container-group> <li class=scrollbox-container-group-item ng-repeat="label in (filteredLabels = (labels | filter: {Name: searchLabels} | orderBy: \'Order\')) track by label.ID" data-label-id={{::label.ID}}> <label class=dropdown-label-scrollbox-label data-label-id={{::label.ID}}> <span class=dropdown-label-scrollbox-label-text ng-style=::color(label)> <i class="dropdown-label-scrollbox-label-icon fa fa-tag" data-label-id={{::label.ID}}></i> <span class="dropdown-label-scrollbox-label-text-ellipsis ellipsis">{{ ::label.Name }}</span> </span> <div class=dropdown-label-scrollbox-label-checkbox> <custom-checkbox data-custom-ng-model=label.Selected data-custom-class=scrollbox-container-group-item-empty data-custom-ui-indeterminate="label.Selected === null"></custom-checkbox> </div> </label> </li> <li class=scrollbox-container-group-item-empty ng-show="filteredLabels.length === 0" translate translate-context=Info>no label found</li> </ul> </div> <create-label data-class=dropdown-label-create data-message=message data-label-name=searchLabels></create-label> <label class=dropdown-label-alsoArchive> <span class="dropdown-label-alsoArchive-txt label-fillWidth" translate translate-comment="Form checkbox option">Also Archive</span> <div class=dropdown-label-alsoArchive-checkbox> <custom-checkbox data-custom-ng-model=alsoArchive data-custom-ng-change=changeAlsoArchive() data-custom-class=dropdownLabels-input-archive></custom-checkbox> </div> </label> <button class="pm_button primary dropdown-label-apply" tabindex=1 ng-disabled=networkActivity.loading() translate-context=Action translate>Apply</button> </form> ')}])}e.exports=n},"./src/templates/directives/squire.tpl.html":function(e,t){var a=window.angular,n="templates/directives/squire.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="angular-squire fill squire-container"> <div class=squire-drozone-continer> <div class=squire-dropzone> <span translate-context=Info translate>Drop an image here to insert</span> </div> </div> <div class="editor-container fill"> <div ng-if=isLoaded> <squire-toolbar class=squire-toolbar></squire-toolbar> <add-link-popover class=squire-popover></add-link-popover> <add-file-popover class=squire-popover></add-file-popover> </div> <plain-text-area></plain-text-area> <div class="angular-squire-wrapper fill"> <iframe frameborder=0 border=0 marginwidth=0 marginheight=0 src=about:blank class=squireIframe></iframe> </div> </div> </div> ')}])}e.exports=n},"./src/templates/elements/advancedFilterElement.tpl.html":function(e,t){var a=window.angular,n="templates/elements/advancedFilterElement.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_buttons advancedFilterElement-container" ng-class="{\n \'advancedFilterElement-state-drafts\': (\'secured.drafts.**\' | includedByState) || (\'secured.allDrafts.**\' | includedByState),\n \'advancedFilterElement-state-spam\': (\'secured.spam.**\' | includedByState),\n \'advancedFilterElement-state-trash\': (\'secured.trash.**\' | includedByState)\n}"> <a class="pm_trigger advancedFilterElement-btn-dropdown" dropdown> <small translate>More</small> <i class="fa fa-angle-down"></i> </a> <div class="pm_dropdown widest noPadding advancedFilterElement-content"> <button class=advancedFilterElement-btn-drafts data-action=empty data-action-arg=drafts> <div> <i class="fa fa-times-circle-o"></i> <span translate translate-context=Action>Empty drafts</span> </div> </button> <button class=advancedFilterElement-btn-spam data-action=empty data-action-arg=spam> <div> <i class="fa fa-times-circle-o"></i> <span translate translate-context=Action>Empty spam</span> </div> </button> <button class=advancedFilterElement-btn-trash data-action=empty data-action-arg=trash> <div> <i class="fa fa-times-circle-o"></i> <span translate translate-context=Action>Empty trash</span> </div> </button> <button class=advancedFilterElement-btn-folder data-action=empty data-action-arg=folder> <div> <i class="fa fa-times-circle-o"></i> <span translate translate-context=Action>Empty folder</span> </div> </button> <button class=advancedFilterElement-btn-small-to-large data-action=orderBy data-action-arg=size> <div> <i class="fa fa-sort-amount-asc"></i> <span translate translate-context=Action>Size: Small to large</span> </div> </button> <button class=advancedFilterElement-btn-large-to-small data-action=orderBy data-action-arg=-size> <div> <i class="fa fa-sort-amount-desc"></i> <span translate translate-context=Action>Size: Large to small</span> </div> </button> <button class=advancedFilterElement-btn-new-to-old data-action=orderBy data-action-arg=-date> <div> <i class="fa fa-clock-o"></i> <span translate translate-context=Action>Date: New to old</span> </div> </button> <button class=advancedFilterElement-btn-old-to-new data-action=orderBy data-action-arg=date> <div> <i class="fa fa-history"></i> <span translate translate-context=Action>Date: Old to new</span> </div> </button> <button class=advancedFilterElement-btn-show-all data-action=clearFilter> <div> <i class="fa fa-list"></i> <span translate translate-context=Action>Show all</span> </div> </button> <button class=advancedFilterElement-btn-unread data-action=filterBy data-action-arg=unread> <div> <i class="fa fa-eye-slash"></i> <span translate translate-context=Action>Show unread</span> </div> </button> <button class=advancedFilterElement-btn-read data-action=filterBy data-action-arg=read> <div> <i class="fa fa-eye"></i> <span translate translate-context=Action>Show read</span> </div> </button> <moved-button class=advancedFilterElement-btn-moved ng-if="\n (\'secured.drafts.**\' | includedByState) ||\n (\'secured.allDrafts.**\' | includedByState) ||\n (\'secured.sent.**\' | includedByState) ||\n (\'secured.allSent.**\' | includedByState)\n "></moved-button> </div> </div> ')}])}e.exports=n},"./src/templates/elements/countElementsSelected.tpl.html":function(e,t){var a=window.angular,n="templates/elements/countElementsSelected.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="countElementsSelected-container pm-flex-content-vertical-center"> <i class="fa fa-check-square countElementsSelected-icon"></i> <number-element-selected class=countElementsSelected-title data-number=numberElementChecked></number-element-selected> <div> <button class="pm_button countElementsSelected-btn-unselect conversationPlaceholder-btn-unselect" ng-show="numberElementChecked > 0" translate translate-context=Action>Deselect all</button> </div> </div> ')}])}e.exports=n},"./src/templates/elements/elementsSelector.tpl.html":function(e,t){var a=window.angular,n="templates/elements/elementsSelector.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=elements-selector ng-class="{disabled: !conversations.length}"> <div class=elements-selector-check> <label class=elements-selector-label> <custom-checkbox class=elements-selector-label ng-class="{disabled: !conversations.length}" for=selectAll pt-tooltip-translate="Select messages" pt-tooltip-translate-context=Action data-custom-id=selectAll data-custom-name=selectAll data-custom-class="elements-selector-checkbox element-selector-input" data-custom-ng-checked="checkedSelectorState() && conversations.length" data-custom-ng-click=$event.stopPropagation() data-custom-value=all data-custom-pt-select-elements data-custom-ng-disabled=!conversations.length></custom-checkbox> </label> </div> <a class="inheritPadding pm_trigger elements-selector-trigger-dropdown" dropdown ng-class="{disabled: !conversations.length}" ng-if="!idDefined() || viewLayout === 0"> <i class="elements-selector-trigger-dropdown-fa-angle-down fa fa-angle-down"></i> </a> <span class="element-selector-set-scope pm_dropdown"></span> </div> ')}])}e.exports=n},"./src/templates/elements/foldersElement.tpl.html":function(e,t){var a=window.angular,n="templates/elements/foldersElement.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<span class=folderConversations-container></span> ")}])}e.exports=n},"./src/templates/elements/labelsElement.tpl.html":function(e,t){var a=window.angular,n="templates/elements/labelsElement.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_labels labelsElement-container" data-format=stack> <div ng-repeat="label in labels track by label.ID" data-label-id="{{ ::label.ID }}" title="{{ ::label.Name }}" class=labelsElement-label ng-style=::color(label)> <span class=labelsElement-name>{{ ::label.Name }}</span> <button class="labelsElement-btn-remove fa fa-times" data-label-id={{::label.ID}}></button> </div> <div class="labelsElement-more labelsElement-hidden" pt-tooltip-translate="More labels">&hellip;</div> </div> ')}])}e.exports=n},"./src/templates/elements/moveElement.tpl.html":function(e,t){var a=window.angular,n="templates/elements/moveElement.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_buttons moveElement-container"> <button type=button class="pm_buttons-child fa fa-trash-o toolbar-btn-trash moveElement-btn-trash" pt-tooltip-translate="Move to trash" data-action=trash pt-tooltip-translate-context=Action></button> <button type=button class="pm_buttons-child fa fa-inbox toolbar-btn-inbox moveElement-btn-inbox" pt-tooltip-translate="Move to inbox" data-action=inbox pt-tooltip-translate-context=Action></button> <button type=button class="pm_buttons-child fa fa-archive toolbar-btn-archive moveElement-btn-archive" pt-tooltip-translate="Move to archive" data-action=archive pt-tooltip-translate-context=Action></button> <button type=button class="pm_buttons-child fa fa-ban toolbar-btn-spam moveElement-btn-spam" pt-tooltip-translate="Move to spam" data-action=spam pt-tooltip-translate-context=Action></button> <button type=button class="pm_buttons-child fa fa-times-circle-o toolbar-btn-delete moveElement-btn-delete" pt-tooltip-translate=Delete data-action=delete pt-tooltip-translate-context=Action></button> </div> ')}])}e.exports=n},"./src/templates/elements/navElements.tpl.html":function(e,t){var a=window.angular,n="templates/elements/navElements.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="navElements-container pm_buttons"> <button class="navElements-btn-next pm_button" data-dest=next pt-tooltip-translate=Previous pt-tooltip-translate-context=Action> <i class="fa fa-chevron-left"></i> </button> <button class="navElements-btn-previous pm_button" data-dest=previous pt-tooltip-translate=Next pt-tooltip-translate-context=Action> <i class="fa fa-chevron-right"></i> </button> </div> ')}])}e.exports=n},"./src/templates/elements/ptSelectElement.tpl.html":function(e,t){var a=window.angular,n="templates/elements/ptSelectElement.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="selection ptSelectConversation-container"> <label class=ptSelectConversation-label> <custom-checkbox data-custom-class=ptSelectConversation-input data-custom-ng-checked=conversations[$index].Selected data-custom-index="{{ $index }}"></custom-checkbox> </label> </div> ')}])}e.exports=n},"./src/templates/elements/ptStar.tpl.html":function(e,t){var a=window.angular,n="templates/elements/ptStar.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=starButton ng-class="isStarred() ? \'starButton-starred\' : \'\'"> <a pt-tooltip-translate=Unstar pt-tooltip-translate-context="Toggle Star message/conversation" class="starButton-unstar fa fa-star"></a> <a pt-tooltip-translate=Star pt-tooltip-translate-context="Toggle Star message/conversation" class="starButton-star fa fa-star-o"></a> </div> ')}])}e.exports=n},"./src/templates/filter/customFilterList.tpl.html":function(e,t){var a=window.angular,n="templates/filter/customFilterList.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=row> <div class="setting pm_form full"> <header-block class=settingsLabels-header-filter> <h2 class=settingsLabels-title-filter translate translate-context=Title>Custom Filters</h2> </header-block> <p translate translate-context=Info class="alert alert-info">Add a custom filter to perform actions such as automatically labeling or archiving messages.</p> <p class="alert alert-info" ng-show="isFree === true && customFilters.length > 0" translate translate-context=Info>Free ProtonMail accounts are limited to 1 custom filter. Please <a ui-sref="secured.dashboard({scroll: true})">upgrade</a> to get unlimited filters.</p> <div class=settingsFilters-actions> <section class=settingsFilters-actions-buttons> <button class="pm_button primary" translate translate-context=Action ng-click=addCustomFilter()>Add Filter</button> <button class="pm_button link" translate translate-context=Action ng-click=addSieveFilter()>Add Sieve Filter</button> </section> <section class="settingsFilters-actions-notice help-dnd" ng-if="customFilters.length > 0" translate-context=Help translate>You can drag and drop custom filter to order them.</section> </div> <p class="alert alert-info" ng-show="customFilters.length === 0" translate translate-context=Info>You have no custom filters.</p> <div ng-show="customFilters.length > 0"> <ul class="settingsFilters-sort-container pm_sort-container" data-as-sortable=filterDragControlListeners is-disabled="customFilters.length === 1" ng-class="{ \'as-sortable-disabled\': customFilters.length === 1 }" data-ng-model=customFilters> <li class=pm_sort-item ng-repeat="filter in customFilters | orderBy: \'Priority\'" as-sortable-item=""> <div class=pm_sort-item-content as-sortable-item-handle=""> <div> <span class=ellipsis title="{{ filter.Name }}">{{ filter.Name }}</span> </div> <toggle class=settingsFilters-sort-toggle data-status=filter.Status data-on=ON data-off=OFF data-name=changeCustomFilterStatus data-id="{{ filter.ID }}"></toggle> <div> <button class="pm_button link" ng-show=isSimple(filter) ng-click=editCustomFilter(filter)>Edit</button> <button class="pm_button link" ng-click="editCustomFilter(filter, true)">Edit sieve</button> <button class="pm_button link text-red" ng-click=deleteCustomFilter(filter)>Delete</button> </div> </div> </li> </ul> </div> </div> </div> ')}])}e.exports=n},"./src/templates/filter/emailBlockButton.tpl.html":function(e,t){var a=window.angular,n="templates/filter/emailBlockButton.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<button class="pm_button primary" translate translate-context=Action>Add</button> ')}])}e.exports=n},"./src/templates/filter/emailBlockList.tpl.html":function(e,t){var a=window.angular,n="templates/filter/emailBlockList.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=emailBlockList-container> <header-block data-level=2 class=settingsLabels-header-blocklist> <h2 class="settingsLabels-title-blocklist margin-bottom email-block-list-name">{{::filterName}}</h2> <email-block-button data-target-list={{::listType}}></email-block-button> </header-block> <div> <p class="alert alert-info" translate translate-context=Info ng-if="entries.length === 0"> No emails in the <span class=email-block-list-name>{{::filterName}}</span>, click <b>Add</b> to add addresses to the <span class=email-block-list-name>{{::filterName}}</span>. </p> <div class="pm_table block-list" ng-class="{ empty: entries.length === 0 }"> <table class="bordered limited"> <tbody class=emailBlockList-list> <tr ng-repeat="entry in entries track by entry.ID" class=emailBlockList-row> <td class=blocklist-email-value>{{ ::entry.Email }}</td> <td class=text-right> <button data-entry-id="{{ ::entry.ID }}" class="pm_button link emailBlockList-btn-switch" pt-tooltip-translate-translate="Move item to another list" pt-tooltip-translate=Switch> <i class="fa fa-arrows-h"></i> </button> <button data-entry-id="{{ ::entry.ID }}" class="pm_button link emailBlockList-btn-delete" pt-tooltip-translate-translate="Remove item from the list" pt-tooltip-translate=Delete> <i class="fa fa-times text-red"></i> </button> </td> </tr> </tbody> </table> </div> </div> </div> ')}])}e.exports=n},"./src/templates/filter/filterAddressModal.tpl.html":function(e,t){var a=window.angular,n="templates/filter/filterAddressModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal small {{ctrl.class}}" role=dialog> <form class=modal-dialog name=filterAddressForm ng-submit="filterAddressForm.emailAddress.$valid && ctrl.create()" novalidate> <button type=button ng-click=ctrl.cancel() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <header class=modal-header> <h3 class=modal-title ng-if="ctrl.type === \'whitelist\'" translate translate-context=Title>Add to Whitelist</h3> <h3 class=modal-title ng-if="ctrl.type === \'blacklist\'" translate translate-context=Title>Add to Blacklist</h3> </header> <div class="modal-body pm_form ng-message-wrapper"> <input type=email ng-model=ctrl.filter.Email id=emailAddress name=emailAddress placeholder-translate="Email Address"> <div ng-messages=filterAddressForm.emailAddress.$error role=alert> <div class=ng-messages-errors> <p ng-message=email class=text-red translate-context=Error translate>Invalid email</p> </div> </div> </div> </div> <footer class=modal-footer> <button type=button class=pm_button ng-click=ctrl.cancel() ng-disabled=networkActivity.loading() translate translate-context=Action>Cancel</button> <button class="pm_button primary pull-right" ng-disabled=networkActivity.loading() translate translate-context=Action>Save</button> </footer> </form> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/filter/filterView.tpl.html":function(e,t){var a=window.angular,n="templates/filter/filterView.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div id=pm_settings> <div class="settings settingsFilters-container"> <custom-filter-list></custom-filter-list> <spam-lists></spam-lists> </div> </div> ')}])}e.exports=n},"./src/templates/filter/modal.tpl.html":function(e,t){var a=window.angular,n="templates/filter/modal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal {{ctrl.class}} filter-modal-container" ng-class="ctrl.mode === \'complex\' ? \'filter-modal-complex\' : \'filter-modal-simple\'" role=dialog> <div class=modal-dialog> <button type=button ng-click=ctrl.cancel() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h3 class=modal-title translate-context="Filter modal title" translate>Custom Filter</h3> </div> <div class="modal-body pm_form filter-form"> <p translate translate-context=Info class="alert alert-info filter-complex-only">To find out how to write Sieve filters, <a target=_blank href=https://protonmail.com/support/knowledge-base/sieve/ >click here</a>.</p> <div class=pm_grid> <div class=col-1-8> <label for=filterName translate translate-context=Title>Name</label> </div> <div class=col-7-8> <input class=filter-modal-input-name type=text id=filterName name=filterName ng-model=ctrl.filter.Name /> <p class="filter-modal-alert text-red" translate-context=Error translate>Field required</p> </div> </div> <sieve-label-input sieve=ctrl.filter.Sieve></sieve-label-input> <p translate translate-context=Info class="alert alert-info">Custom filters work on all new emails, including incoming emails as well as sent emails</p> <div class=filter-simple-only> <legend translate-context=Title translate translate-context=Title>Conditions</legend> <div class=filter-modal-conditions ng-repeat="condition in ctrl.filter.Simple.Conditions"> <p class="filter-modal-simple-condition bold text-center" ng-hide="$index === 0"> <span class="pm_select inline"> <select ng-model=ctrl.filter.Simple.Operator ng-options="operator.label for operator in ctrl.operators"></select><i class="fa fa-angle-down"></i> </span> </p> <div class="filter-modal-condition alert" style=position:relative> <div class=filter-modal-condition-remove> <button type=button title=Remove ng-hide="ctrl.filter.Simple.Conditions.length === 1" ng-click=ctrl.removeCondition(condition) class="pm_button white"> <i class="fa fa-trash"></i> </button> </div> <div class=filter-modal-condition-settings> <span class="filter-modal-condition-if bold" translate-context="Filter modal condition" translate>If</span> <span class="pm_select inline"> <select ng-model=condition.Type ng-options="type.label for type in ctrl.types"></select> <i class="fa fa-angle-down"></i> </span> <span class=filter-modal-condition-attachments ng-if="condition.Type.value === \'attachments\'"> <label> <custom-radio data-custom-ng-change="ctrl.onChangeAttachements(condition, \'contains\')" data-custom-ng-model=condition.Comparator.value data-custom-ng-value="\'contains\'" data-custom-value=contains></custom-radio> <span translate translate-context=Title>With Attachments</span> </label> <label> <custom-radio data-custom-ng-change="ctrl.onChangeAttachements(condition, \'!contains\')" data-custom-ng-model=condition.Comparator.value data-custom-ng-value="\'!contains\'" data-custom-value=!contains></custom-radio> <span translate translate-context=Title>Without Attachments</span> </label> </span> <span class="pm_select inline" ng-show="condition.Type.value === \'subject\' || condition.Type.value === \'sender\' || condition.Type.value === \'recipient\'"> <select class=autoWidth ng-model=condition.Comparator ng-options="comparator.label for comparator in ctrl.comparators"></select> <i class="fa fa-angle-down"></i> </span> <div class=filter-modal-condition-settings-item ng-if="condition.Type.value === \'subject\' || condition.Type.value === \'sender\' || condition.Type.value === \'recipient\'"> <div ng-if="condition.Values.length > 0"> <span class=filter-modal-condition-badges ng-repeat="value in condition.Values track by $id(value)"> <span class="filter-modal-condition-badge pm_badge default none">{{ value }} <a href=# ng-click="condition.Values.splice($index, 1)"><i class="fa fa-times"></i></a> </span> <span class=filter-modal-condition-or translate-context="Filter modal value OR value" translate>or</span> </span> </div> </div> <form class="filter-modal-add-condition-settings-item filter-modal-add-condition" ng-show="condition.Type.value === \'subject\'" ng-submit=ctrl.addValue(condition)> <input class=filter-modal-add-condition-input type=text ng-model=condition.value placeholder-translate="Text or pattern" placeholder-translate-context="Filter modal condition" ng-blur=ctrl.addValue(condition) /> <button class="filter-modal-add-condition-button pm_button" ng-disabled=!condition.value type=submit> <i class="fa fa-check"></i> </button> </form> <form class="filter-modal-add-condition-settings-item filter-modal-add-condition filter-modal-add-condition-autocomplete" ng-show="condition.Type.value === \'sender\' || condition.Type.value === \'recipient\'" ng-submit=ctrl.addValue(condition)> <autocomplete-email class=filter-modal-add-condition-input data-email=condition.value data-event-type=filter-modal-add-condition-input data-event-data={{$index}}></autocomplete-email> <button class="filter-modal-add-condition-button pm_button" ng-disabled=!condition.value type=submit> <i class="fa fa-check"></i> </button> </form> </div> </div> </div> <p> <a href=# class="pm_button link" ng-click=ctrl.addCondition() translate translate-context=Action>Add Condition</a> </p> <legend translate-context=Title translate translate-context=Title>Actions</legend> <label> <custom-checkbox data-custom-ng-model=ctrl.hasLabels></custom-checkbox> <span translate-context="Filter modal label" translate>Apply Labels</span> </label> <div class="alert pm_grid filter-modal-label-container" ng-show=ctrl.hasLabels> <div class=col-1-4 ng-repeat="label in ctrl.filter.Simple.Actions.Labels track by label.ID | orderBy: \'Order\'"> <label class=filter-modal-label> <custom-checkbox data-custom-ng-model=label.Selected></custom-checkbox> <i class=fa ng-class="{ \'fa-folder\': label.Exclusive, \'fa-tag\': !label.Exclusive }" ng-style="{color: label.Color}"></i> <span class=ellipsis title="{{ ::label.Name }}">{{ ::label.Name }}</span> </label> </div> <div class="col-1-4 filter-modal-label-add"> <button class="pm_button white" ng-click=ctrl.addLabel() translate translate-context=Action>Add label</button> </div> </div> <label> <custom-checkbox data-custom-ng-model=ctrl.hasMove></custom-checkbox> <span translate-context="Filter modal label" translate>Move To</span> </label> <div class="alert pm_grid" ng-show=ctrl.hasMove> <div class=col-1-4> <label> <custom-radio data-custom-ng-model=ctrl.filter.Simple.Actions.Move data-custom-value=inbox></custom-radio> <span class=ellipsis translate translate-context=Label>Inbox</span> </label> </div> <div class=col-1-4> <label> <custom-radio data-custom-ng-model=ctrl.filter.Simple.Actions.Move data-custom-value=archive></custom-radio> <span class=ellipsis translate translate-context=Label>Archive</span> </label> </div> <div class=col-1-4> <label> <custom-radio data-custom-ng-model=ctrl.filter.Simple.Actions.Move data-custom-value=spam></custom-radio> <span class=ellipsis translate translate-context=Label>Spam</span> </label> </div> <div class=col-1-4> <label> <custom-radio data-custom-ng-model=ctrl.filter.Simple.Actions.Move data-custom-value=trash></custom-radio> <span class=ellipsis translate translate-context=Label>Trash</span> </label> </div> <div class=col-1-4 ng-repeat="folder in ctrl.folders track by folder.ID"> <label> <custom-radio data-custom-ng-model=ctrl.filter.Simple.Actions.Move data-custom-value="{{ ::folder.Name }}"></custom-radio> <span class=ellipsis title="{{ ::folder.Name }}">{{ ::folder.Name }}</span> </label> </div> <div class="col-1-4 filter-modal-folder-add"> <button class="pm_button white" ng-click=ctrl.addFolder() translate translate-context=Action>Add folder</button> </div> </div> <label> <custom-checkbox data-custom-ng-model=ctrl.hasMark></custom-checkbox> <span translate-context="Filter modal label" translate>Mark As</span> </label> <div class="alert pm_grid" ng-show=ctrl.hasMark> <div class=col-1-4> <label> <custom-checkbox data-custom-ng-model=ctrl.filter.Simple.Actions.Mark.Read></custom-checkbox> <span class=ellipsis translate translate-context=Label>Read</span> </label> </div> <div class=col-1-4> <label> <custom-checkbox data-custom-ng-model=ctrl.filter.Simple.Actions.Mark.Starred></custom-checkbox> <span class=ellipsis translate translate-context=Label>Starred</span> </label> </div> </div> </div> </div> </div> <div class=modal-footer> <button type=button class=pm_button ng-click=ctrl.cancel() ng-disabled=networkActivity.loading() translate translate-context=Action>Cancel</button> <button type=button ng-click=ctrl.save() class="pm_button primary pull-right" ng-disabled="networkActivity.loading() || ctrl.valid() === false" translate translate-context=Action>Save</button> </div> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/filter/sieveLabelInput.tpl.html":function(e,t){var a=window.angular,n="templates/filter/sieveLabelInput.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_grid sieve-script filter-complex-only"> <div class=col-1-8> <label translate translate-context=Title>Sieve Script</label> </div> <div class=col-7-8 id=filterScriptContainer> <div ui-codemirror="{ onLoad : codeMirrorLoaded }" id=filterScript ng-model=sieve data-ui-codemirror-opts=codeMirrorOptions></div> </div> </div> ')}])}e.exports=n},"./src/templates/filter/spamListSearch.tpl.html":function(e,t){var a=window.angular,n="templates/filter/spamListSearch.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=pm_grid> <form class=col-1-1> <input type=search class="search ng-pristine ng-untouched ng-valid ng-empty" placeholder="Search Whitelist and Blacklist"> </form> </div> ')}])}e.exports=n},"./src/templates/filter/spamLists.tpl.html":function(e,t){var a=window.angular,n="templates/filter/spamLists.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=row> <div class="setting pm_form full"> <header-block class=settingsLabels-header-spam> <h2 class=settingsLabels-title-spam translate translate-context=Title>Spam Filters</h2> </header-block> <p class="alert alert-info"> <span translate translate-context=Info> Sender specific spam rules can be applied here. Whitelist addresses always go to Inbox while Blacklist addresses always go to Spam. Marking a message as spam adds the address to the Blacklist. Marking a message as not spam adds the address to the Whitelist. </span> <a href=https://protonmail.com/support/knowledge-base/spam-filtering/ target=_blank translate="" translate-context=Link>Learn More</a> </p> <spam-list-search></spam-list-search> <div class=pm_grid> <div class=col-1-2> <email-block-list id=whitelist data-list-type=whitelist data-switch-to=blacklist></email-block-list> </div> <div class=col-1-2> <email-block-list id=blacklist data-list-type=blacklist data-switch-to=whitelist></email-block-list> </div> </div> </div> </div> ')}])}e.exports=n},"./src/templates/labels/createLabel.tpl.html":function(e,t){var a=window.angular,n="templates/labels/createLabel.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=pm-flex-content> <button type=button class=createLabel-button ng-class="{\'createLabel-withName\': name.length}"> <span class=createLabel-new-name> <span translate translate-context=action> Create label </span> <i>"{{ name }}"</i> ? </span> <span class=createLabel-new-label translate translate-context=action>Create a new label</span> </button> </div> ')}])}e.exports=n},"./src/templates/labels/dropdownFolders.tpl.html":function(e,t){var a=window.angular,n="templates/labels/dropdownFolders.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=dropdown-folder-container> <div class=dropdown-folder-title> <p translate translate-context=title>Move to</p> </div> <label class=dropdown-folder-search> <i class="fa fa-search dropdown-folder-search-icon"></i> <input class=dropdown-folder-search-input type=search placeholder-translate="Filter folders" ng-model=searchValue ng-minlength=1> </label> <div class="dropdown-folder-fullwidth scrollbox-container" ng-if="labels.length > 0"> <ul class=scrollbox-container-group> <li class=dropdown-folder-scrollbox-group-item ng-repeat="label in (filteredLabels = (labels | filter: {Name: searchValue} | orderBy: \'Order\')) track by label.ID"> <button class=dropdown-folder-scrollbox-group-item-button data-folder-id="{{ ::label.ID }}"> <div> <i class="fa dropdown-folder-scrollbox-group-item-icon" ng-class=label.className ng-style=::color(label)></i> <span class=ellipsis>{{ ::label.Name }}</span> </div> </button> </li> <li class=scrollbox-container-group-item-empty ng-show="filteredLabels.length === 0" translate translate-context=Info>no folder found</li> </ul> </div> <div class=dropdown-folder-create> <button class=dropdown-folder-create-button translate-context=Action translate>Create a new folder</button> </div> </div> ')}])}e.exports=n},"./src/templates/message/allMessageLabels.tpl.html":function(e,t){var a=window.angular,n="templates/message/allMessageLabels.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="allMessageLabels-container labelz"> <folders-message class=allMessageLabels-list></folders-message> <labels-element data-button=remove data-format=inline data-limit=none data-element=message class=allMessageLabels-list></labels-element> </div> ')}])}e.exports=n},"./src/templates/message/displayContentBtn.tpl.html":function(e,t){var a=window.angular,n="templates/message/displayContentBtn.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<section class=displayContentBtn-container ng-class=\"{\n 'displayContentBtn-type-embedded': message.showEmbedded === false,\n 'displayContentBtn-type-remote': message.showImages === false}\"> <div class=displayContentBtn-notice> <span class=displayContentBtn-notice-text></span> </div> <button class=\"displayContentBtn-button pm_button\" translate translate-context=Action>Load</button> </section> ")}])}e.exports=n},"./src/templates/message/filterButton.tpl.html":function(e,t){var a=window.angular,n="templates/message/filterButton.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=pm_buttons> <a href=# class="pm_trigger open-label" pt-tooltip-translate="Custom Filter" pt-tooltip-translate-context=Action pt-tooltip-translate-comment=Tooltip dropdown> <small><i class="fa fa-filter"></i> <i class="fa fa-angle-down"></i></small> </a> <div class="pm_dropdown wide"> <ul class=filterButton-container> <li><b translate-context="Filter message" translate>Filter on:</b></li> <li class=filterButton-item> <label class=filterButton-label> <span class=filterButton-label-text translate-context="Filter message" translate>Subject</span> <custom-checkbox class=filterButton-checkbox data-custom-ng-model=model.subject></custom-checkbox> </label> </li> <li class=filterButton-item> <label class=filterButton-label> <span class=filterButton-label-text translate-context="Filter message" translate>Sender</span> <custom-checkbox class=filterButton-checkbox data-custom-ng-model=model.sender></custom-checkbox> </label> </li> <li class=filterButton-item> <label class=filterButton-label> <span class=filterButton-label-text translate-context="Filter message" translate>Recipient</span> <custom-checkbox class=filterButton-checkbox data-custom-ng-model=model.recipient></custom-checkbox> </label> </li> <li class=filterButton-item> <label class=filterButton-label translate-context="Filter message" translate><span class=filterButton-label-text>Attachments</span> <custom-checkbox class=filterButton-checkbox data-custom-ng-model=model.attachments></custom-checkbox> </label> </li> </ul> <footer class=filterButton-footer> <button class="pm_button primary filterButton-btn-next" translate-context="Filter message" translate>Next</button> </footer> </div> </div> ')}])}e.exports=n},"./src/templates/message/foldersMessage.tpl.html":function(e,t){var a=window.angular,n="templates/message/foldersMessage.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<span class=foldersMessage-container></span> ")}])}e.exports=n},"./src/templates/message/message.tpl.html":function(e,t){var a=window.angular,n="templates/message/message.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<article class=message ng-class="{\n \'open\': message.expand,\n \'errorDecryption\': message.failedDecryption,\n \'marked\': message.ID === marked.ID,\n \'unread\': message.IsRead === 0,\n \'details\': message.toggleDetails === true,\n \'draft\': message.Type === 1,\n \'sent\': message.Type === 2 || message.Type === 3,\n \'hasSender\': message.Sender.Address.length,\n \'message-mode-plain\': message.viewMode === \'plain\'\n}"> <div class=summary toggle-message> <div class=pull-left> <div class=meta> <i class="history fa fa-reply" ng-if="message.IsReplied === 1"></i> <i class="history fa fa-reply-all" ng-if="message.IsRepliedAll === 1"></i> <i class="history fa fa-mail-forward" ng-if="message.IsForwarded === 1"></i> <span class="contact message-contact"> <span class="from message-contact-from"><span translate-context="Message sender label" translate>From</span>:</span> <strong>{{ ::message.Sender | contact:\'Name\' }}</strong> <em>{{ ::message.Sender | contact:\'Address\' }}<message-compose-to class=message-contact-sender data-key=Sender></message-compose-to></em> </span> </div> <div class="location message-summary-folder"> <folders-message></folders-message> </div> </div> <div class="labels message-summary-labels"> <labels-element data-button=remove data-element=message class=message-summary-labels-list></labels-element> </div> <div class=time> <i class="fa fa-paperclip" ng-show="message.NumAttachments > 0"></i> <time class=time-readable>{{ ::message.Time | localReadableTime }}</time> <time class=time-machine time-refreshed="{{ ::message.Time }}" time-filter=messageTime time-interval=30000></time> </div> <div class=status> <pt-star data-model=message class=singleStar data-pt-star-type=message></pt-star> <span class="fa locks" ng-class="{\n \'fa-lock\': !!!(message.IsEncrypted == \'0\'),\n \'text-purple\': !!(message.IsEncrypted == \'1\') || !!(message.IsEncrypted == \'3\') || !!(message.IsEncrypted == \'5\') || !!(message.IsEncrypted == \'6\'),\n \'fa-unlock-alt\': !!(message.IsEncrypted == \'0\'),\n \'pgp\': !!(message.IsEncrypted == \'7\') || !!(message.IsEncrypted == \'8\')\n }" title="{{ ::message.encryptionType() }}"> </span> </div> </div> <div ng-if=message.expand> <div class=details> <div class=recipients-summary> <strong translate-context="Message recipient label" translate>To</strong>: <span class=recipients-summary-label ng-repeat="email in recipients() track by $id(email)" title="{{ ::email | contact:\'Address\' }}">{{::email | contact: \'Name\': true | nameRecipient}}</span> <span ng-if=::noRecipients() class=recipients-summary-label translate-context="No recipients to display in the message header" translate>Undisclosed Recipients</span> </div> <div class=recipients-details> <message-contacts class=recipients-details-toGroup ng-if=message.ToList.length data-model=::message.ToList data-list=To></message-contacts> <message-contacts class=recipients-details-ccGroup ng-if=message.CCList.length data-model=::message.CCList data-list=CC></message-contacts> <message-contacts class=recipients-details-bccGroup ng-if=message.BCCList.length data-model=::message.BCCList data-list=BCC></message-contacts> </div> <all-message-labels ng-if=message.toggleDetails></all-message-labels> <div class=action-row> <div class="actions pull-right" ng-if="message.decrypting === false"> <div class=pm_buttons> <filter-button data-message=message></filter-button> <div class=pm_buttons> <a class="pm_trigger open-folder pull-left" pt-tooltip-translate="Move to" pt-tooltip-translate-context=Action pt-tooltip-translate-comment=Tooltip dropdown> <small><i class="fa fa-folder"></i> <i class="fa fa-angle-down"></i></small> </a> <div class="pm_dropdown right wide pull-left"> <dropdown-folders data-elements=getElements></dropdown-folders> </div> </div> <div class=pm_buttons> <a class="pm_trigger open-label pull-left" pt-tooltip-translate="Label as" pt-tooltip-translate-context=Action pt-tooltip-translate-comment=Tooltip dropdown> <small><i class="fa fa-tag"></i> <i class="fa fa-angle-down"></i></small> </a> <div class="pm_dropdown right wide pull-left"> <dropdown-labels data-messages=getMessage data-message=message data-save=saveLabels></dropdown-labels> </div> </div> </div> <nav class=pm_buttons> <a class=message-actionBtn-reply data-action-compose=::message data-action-compose-type=reply pt-tooltip-translate=Reply pt-tooltip-translate-context=Action> <i class="fa fa-mail-reply"></i> </a> <a class=message-actionBtn-replyall data-action-compose=::message data-action-compose-type=replyall pt-tooltip-translate="Reply all" pt-tooltip-translate-context=Action> <i class="fa fa-mail-reply-all"></i> </a> <a class=message-actionBtn-forward data-action-compose=::message data-action-compose-type=forward pt-tooltip-translate=Forward pt-tooltip-translate-context=Action> <i class="fa fa-mail-forward"></i> </a> <a href=# class=pm_trigger dropdown pt-tooltip-translate=More pt-tooltip-translate-context=Action> <i class="fa fa-angle-down"></i> </a> <div class="pm_dropdown wide right"> <button data-action-message=move data-action-message-type=inbox> <i class="fa fa-inbox"></i> <span translate translate-context=Action>Move to inbox</span> </button> <button data-action-message=move data-action-message-type=trash> <i class="fa fa-trash-o"></i> <span translate translate-context=Action>Move to trash</span> </button> <button data-action-message=unread> <i class="fa fa-eye-slash"></i> <span translate translate-context=Action>Mark as unread</span> </button> <button data-action-message=move data-action-message-type=spam ng-hide="\'secured.spam.**\' | includedByState"> <i class="fa fa-ban"></i> <span translate translate-context=Action>Mark as spam</span> </button> <button data-action-message=delete ng-if="\'secured.trash.**\' | includedByState"> <i class="fa fa-times"></i> <span translate translate-context=Action>Delete</span> </button> <button data-action-message=togglePlainHtml> <span ng-show="message.viewMode === \'html\'"> <i class="fa fa-file-text-o"></i> <span translate translate-context=Action>View source code</span> </span> <span ng-show="message.viewMode === \'plain\'"> <i class="fa fa-file-photo-o"></i> <span translate translate-context=Action>View rendered HTML</span> </span> </button> <button data-action-message=viewPgp> <i class="fa fa-code"></i> <span translate translate-context=Action ng-if="message.IsEncrypted !== 0">View headers</span> <span translate translate-context=Action ng-if="message.IsEncrypted === 0">View original</span> </button> <button data-action-message=downloadEml> <i class="fa fa-download"></i> <span translate-context=Action translate>Export</span> </button> <button data-action-message=print> <i class="fa fa-print"></i> <span translate translate-context=Action>Print</span> </button> </div> </nav> </div> <button class=toggleDetails data-action-message=toggleDetails> <span class=toggleDetails-label-show translate translate-context=Action>Show details</span> <span class=toggleDetails-label-hide translate translate-context=Action>Hide details</span> </button> </div> </div> <div ng-if="message.ExpirationTime > 0" class=expiration> <i class="fa fa-hourglass-end"></i> <span translate-context="Message expiration label" translate>This message will expire in</span> <time time-refreshed="{{ ::message.ExpirationTime }}"></time> </div> <message-extra></message-extra> <events-attachments data-model=message></events-attachments> <div class="frame message-frame" data-embedded-img-loader data-inject-message-media> <loader-tag ng-if="message.decrypting === true"></loader-tag> <message-display-error ng-if=message.hasError></message-display-error> <div class="bodyDecrypted email message-body-container" ng-class="{\'plain\': message.isPlain}" render-message-body ng-if="message.viewMode === \'html\' && !message.failedDecryption" toggle-blockquote scroll=true></div> <pre class="email message-body-container" ng-if="message.viewMode === \'plain\' || message.failedDecryption">{{message.plainText()}}</pre> </div> <list-attachments ng-if=message.Attachments.length data-model=message></list-attachments> </div> <div class=clear></div> </article> ')}])}e.exports=n},"./src/templates/message/messageAutoGenerated.tpl.html":function(e,t){var a=window.angular,n="templates/message/messageAutoGenerated.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<div class=message-autogenerated-container> <div class=message-autogenerated-notice> <div class=message-autogenerated-notice-text translate-context=Info translate> This message is automatically generated as a response to a previous message. </div> <a class=message-autogenerated-notice-link href=https://protonmail.com/support/knowledge-base/autoresponder/ target=_blank translate-context=Info translate>Learn more</a> </div> </div> ")}])}e.exports=n},"./src/templates/message/messageContacts.tpl.html":function(e,t){var a=window.angular,n="templates/message/messageContacts.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<div class=messageContacts-container> <span class=messageContacts-where></span> <ul class=messageContacts-list> <li class=messageContacts-list-item ng-repeat=\"email in model track by $id(email)\"> <span title=\"{{ ::email | contact:'Address' }}\">{{ ::email | contact:'Name' }}</span> <em class=messageContacts-email>{{ ::email | contact:'Address' }}<message-compose-to class=messageContacts-btn-compose></message-compose-to> </em> </li> </ul> </div> ")}])}e.exports=n},"./src/templates/message/messageDisplayError.tpl.html":function(e,t){var a=window.angular,n="templates/message/messageDisplayError.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="messageDisplayError-container alert alert-danger"> <div ng-if="message.failedDecryption && !message.networkError"> <span class="pull-left fa fa-exclamation-triangle"></span> <strong translate translate-context="Message decryption error">Decryption error</strong> <div translate translate-context="Message decryption error">Decryption of this message\'s encryption content failed.</div> <a href=# data-reload-state translate-context="Action to reload the current state" translate>Try again</a> </div> <div ng-if="!message.failedDecryption && !message.networkError && message.errorInfo"> <span class="pull-left fa fa-exclamation-triangle"></span> <strong translate translate-context="Message network error">Sanitization error</strong> <a href=# class=messageDisplayError-btn-report translate-context="Action to report an error for the message" translate>Report problem</a> </div> <div ng-if=message.networkError> <span class="pull-left fa fa-exclamation-triangle"></span> <strong translate translate-context="Message network error">Network error</strong> <div translate translate-context="Message network error">Please check your connection and try again.</div> <a href=# reload-state translate-context="Action to reload the current state" translate>Try again</a> </div> </div> ')}])}e.exports=n},"./src/templates/message/messageExtra.tpl.html":function(e,t){var a=window.angular,n="templates/message/messageExtra.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section class=messageExtra-container> <message-spam-score class=messageExtra-container-error ng-if="message.SpamScore === 100 || message.SpamScore === 101" data-score="{{ ::message.SpamScore }}"></message-spam-score> <message-pgp-attachments class=messageExtra-container-error ng-if=message.PgpMimeWithAttachments></message-pgp-attachments> <div class=messageExtra-container-error ng-if=message.MIMEParsingFailed> <div class=messageMimeParsing-container> <div class=messageMimeParsing-notice> <div class=messageMimeParsing-notice-sub translate-context=Error translate>The email body is not a valid MIME message.</div> </div> </div> </div> <unsubscribe-panel ng-if="!unsubscribed && message.getListUnsubscribe()"></unsubscribe-panel> <message-auto-generated ng-if=message.isAutoReply></message-auto-generated> <display-content-btn data-action=remote></display-content-btn> <display-content-btn data-action=embedded></display-content-btn> </section> ')}])}e.exports=n},"./src/templates/message/messageView.tpl.html":function(e,t){var a=window.angular,n="templates/message/messageView.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<div class=messageView-contaniner> <header id=conversationHeader> <h1>{{message.Subject}}</h1> </header> <div id=pm_thread tabindex=0> <message ng-if=message data-model=message data-last=true data-index=0></message> </div> </div> ")}])}e.exports=n},"./src/templates/modals/addAddress.tpl.html":function(e,t){var a=window.angular,n="templates/modals/addAddress.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal {{ctrl.class}}" role=dialog style=display:block> <form class=modal-dialog name=addressForm ng-submit=ctrl.submit() novalidate> <button type=button ng-click=ctrl.cancel() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title translate translate-context=Title>Create Address</h4> </div> <div class="modal-body pm_form"> <div class=pm_grid ng-if="\'secured.members\' | includedByState"> <div class=col-3-8> <label translate-context=Label translate>User</label> </div> <div class=col-5-8> <strong>{{ ctrl.members[0].Name }}</strong> </div> </div> <div class=pm_grid ng-if="\'secured.domains\' | includedByState"> <div class=col-3-8> <label translate-context=Label translate>Choose the user who will own this address</label> </div> <div class=col-5-8> <div class=col-1-2> <span class=pm_select> <select ng-model=ctrl.member ng-options="member.Name for member in ctrl.members"></select> <i class="fa fa-angle-down"></i> </span> </div> <div class=col-1-2 ng-show=ctrl.showAddMember> <button type=button ng-click=ctrl.addMember() class=pm_button translate-context=Action translate-comment=button translate>Add user</button> </div> </div> </div> <div class=pm_grid> <div class=col-3-8> <label translate-context=Label translate>Enter address</label> </div> <div class=col-5-8> <div class=col-1-2> <input autofocus type=text ng-model=ctrl.address placeholder=thomas.anderson /> </div> <div class=col-1-3 ng-show="ctrl.domains.length === 1"> <label class=bold>@{{ ctrl.domain.DomainName }}</label> </div> <div class=col-1-3 ng-show="ctrl.domains.length > 1"> <span class=pm_select> <select ng-model=ctrl.domain ng-options="\'@\'+domain.DomainName for domain in ctrl.domains"></select> <i class="fa fa-angle-down"></i> </span> </div> </div> </div> <p ng-hide=ctrl.domain.ID class="alert alert-info" translate translate-context=Info>ProtonMail addresses can never be deleted (only disabled). ProtonMail addresses will always count towards your address limit whether enabled or not. <a href=https://protonmail.com/support/knowledge-base/aliases-within-protonmail/ target=_blank>Learn more</a></p> <h3 translate-context="Title in the address modal" ranslate>Name / Signature</h3> <display-name-signature data-model=ctrl.model></display-name-signature> </div> </div> <div class="modal-footer text-right"> <button type=button class=pm_button ng-click=ctrl.cancel() ng-disabled=networkActivity.loading() translate translate-context=Action>Cancel</button> <button class="pm_button primary" ng-disabled=networkActivity.loading() translate translate-context=Action>Save</button> </div> </form> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/modals/domain/address.tpl.html":function(e,t){var a=window.angular,n="templates/modals/domain/address.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal {{ctrl.class}} domains" role=dialog style=display:block> <div class=modal-dialog> <button type=button ng-click=ctrl.close() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <domains-menu-step></domains-menu-step> <h4 class=modal-title>3. <span translate translate-context=Title>Addresses</span> (<em translate>Required</em>)</h4> </div> <div class="modal-body pm_form"> <p translate>Please add addresses to send and receive email with this domain</p> <button ng-click=ctrl.addAddress() class="pm_button primary" translate-context=Action translate-comment=button translate>Add Address</button> <button ng-click=ctrl.addMember() ng-show=ctrl.showMember class=pm_button translate-context=Action translate-comment=button translate>Add user</button> <div ng-if="ctrl.domain.Addresses.length > 0"> <p><strong translate translate-context=Title translate-comment="added addesses table label / heading">Domain addresses</strong></p> <div class=pm_table> <table class="pm_form fixedLayout bordered"> <thead> <tr> <th translate translate-context=Title translate-comment="table heading">User</th> <th translate translate-context=Title translate-comment="table heading">Address</th> </tr> </thead> <tbody> <tr ng-repeat="address in ctrl.domain.Addresses" ng-class="{\'disabled\': address.Status === 0}"> <td ng-bind=address.Email></td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="modal-footer clearfix"> <button type=button class="pm_button primary pull-right" ng-click=ctrl.next() ng-show="ctrl.domain.State > 0" translate translate-context=Action>Next</button> <button type=button class=pm_button ng-click=ctrl.close() translate translate-context=Action>Close</button> </div> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/modals/label.tpl.html":function(e,t){var a=window.angular,n="templates/modals/label.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section class="pm_modal small important {{ctrl.class}} labelModal-container" role=dialog id=labelModal> <form class="modal-dialog labelModal-form" name=editLabelForm ng-submit=ctrl.create(editLabelForm)> <button ng-click=ctrl.cancel() type=button aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <header class=modal-header ng-show=ctrl.title> <h3 class=modal-title>{{ ::ctrl.title }}</h3> </header> <div class="modal-body pm_form pm_grid"> <div class=row> <label for=labelName class=col-1-4 translate translate-context=Label>Name</label> <div class="col-3-4 ng-message-wrapper"> <input tabindex=1 type=text class="form-control labelModal-input-name" autofocus id=labelName name=label data-valid-label ng-model=ctrl.name placeholder-translate=Name required> <div ng-messages=editLabelForm.label.$error role=alert class="text-red labelModal-errors"> <p ng-message=required translate-context=Error translate>You must set a name</p> <p ng-message=validLabel> <span translate-context=Error translate>Invalid name. Forbidden char. ex:</span> &#60;&#62; </p> </div> </div> </div> <div class=row> <label class=col-1-4 translate translate-context=Label>Color</label> <div class="text-center col-3-4"> <ul class="palette list-inline labelModal-list"> <li class=labelModal-item ng-repeat="c in ctrl.colors track by c" ng-style="{ \'color\': c }"> <input tabindex="{{ 2 + $index}}" type=radio ng-value=c name=paletteColor ng-model=ctrl.color aria-labelledby="Color {{::c}}" class=labelModal-input-color> <div class=labelModal-item-mask><i class="fa fa-check"></i></div> </li> </ul> </div> </div> <div class=row ng-if="ctrl.ID && ctrl.exclusive"> <label for=labelNotify class=col-1-4 translate translate-context=Title translate-comment="Desktop notification">Notification</label> <div class=col-3-4> <toggle status=ctrl.notify on=ON off=OFF id=labelNotify></toggle> </div> </div> </div> </div> <footer class=modal-footer> <button class="pm_button labelModal-btn-cancel" type=button ng-click=ctrl.cancel() ng-disabled=networkActivity.loading() translate translate-context=Action>Cancel</button> <button class="pm_button primary pull-right labelModal-btn-save" ng-disabled=networkActivity.loading() translate translate-context=Action>Save</button> </footer> </form> <div class=modal-overlay></div> </section> ')}])}e.exports=n},"./src/templates/partials/composer.tpl.html":function(e,t){var a=window.angular,n="templates/partials/composer.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<form name=composeForm id=pm_composer composer-container novalidate> <composer id=\"uid{{ ::message.uid}}\" ng-repeat=\"message in messages track by message.uid\" ng-if=message.ID ng-init=\"params = {}\" ng-style=\"{'z-index': message.zIndex}\" data-index={{$index}} ng-class=\"{\n 'minimized': message.minimized,\n 'blur': message.ID !== selected.ID,\n 'maximized': message.maximized,\n 'normalized': !message.maximized && !message.minimized,\n 'expandRecipients': message.ccbcc === true,\n 'hasAttachment': (message.Attachments.length > 0),\n 'attachmentsOpen': ((message.attachmentsToggle === true) && (message.Attachments.length > 0)),\n 'moreAttachments': ((message.attachmentsToggle === true) && (message.Attachments.length > 2)),\n 'tall': (message.Attachments.length === 0),\n 'mini': mini === true,\n 'small': small === true\n }\"></composer> </form>")}])}e.exports=n},"./src/templates/partials/conversation-list-columns.tpl.html":function(e,t){var a=window.angular,n="templates/partials/conversation-list-columns.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div id=conversation-list-columns data-pt-select-multiple-elements> <request-timeout></request-timeout> <no-results ng-if="conversations.length === 0 && elementsLoaded"></no-results> <section class=conversation-wrapper> <div ng-repeat="conversation in conversations track by conversation.ID" class=conversation elements-container data-pt-draggable ng-class="{\n selected: conversation.Selected,\n active: active(conversation),\n read: isRead(conversation),\n marked: conversation.ID === markedElement.ID,\n hasLabels: hasLabels(conversation),\n hasAttachments: hasAttachments(conversation),\n expiring: (conversation.ExpirationTime > 0)\n }"> <span class=expiration><i class="fa fa-hourglass-end"></i></span> <pt-select-element data-index="{{ $index }}"></pt-select-element> <div class=conversation-meta> <div class="row top"> <h4 class=subject ng-attr-title="{{ conversation.Subject | unescape }}"> <states-conversation></states-conversation> <folders-element data-conversation=conversation></folders-element> <span class=subject-num-message ng-if="conversation.NumMessages > 1">({{ conversation.NumMessages }})</span> <span class="subject-text ellipsis">{{ conversation.Subject | unescape }}</span> </h4> <span class=meta> <i class="fa fa-paperclip conversation-icon-attachment"></i> <pt-star data-model=conversation class=singleStar></pt-star> <time-element></time-element> </span> </div> <div class="row bottom"> <span class="senders ellipsis" ng-class="{ \'full\': !hasLabels(conversation) }"> <span ng-if="!((\'secured.sent.**\' | includedByState) || (\'secured.drafts.**\' | includedByState) || (\'secured.allSent.**\' | includedByState) || (\'secured.allDrafts.**\' | includedByState))" class=senders-name ng-repeat="contact in senders(conversation)" title="{{ contact.Address }}">{{ contact | contact: \'Name\' | unescape}}</span> <span ng-if="(\'secured.sent.**\' | includedByState) || (\'secured.drafts.**\' | includedByState) || (\'secured.allSent.**\' | includedByState) || (\'secured.allDrafts.**\' | includedByState)" class=senders-name ng-repeat="contact in recipients(conversation)" title="{{ contact.Address }}">{{ contact | contact: \'Name\' | unescape}}</span> </span> <labels-element data-element=conversation></labels-element> </div> </div> </div> </section> <search-limit-reached ng-if="elementsLoaded && limitReached"></search-limit-reached> </div> ')}])}e.exports=n},"./src/templates/partials/conversation-list-mobile.tpl.html":function(e,t){var a=window.angular,n="templates/partials/conversation-list-mobile.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div data-pt-select-multiple-elements> <request-timeout></request-timeout> <no-results ng-if="conversations.length === 0 && elementsLoaded"></no-results> <section class=conversation-wrapper> <div ng-repeat="conversation in conversations track by conversation.ID" class=conversation elements-container ng-class="{\n selected: conversation.Selected,\n active: active(conversation),\n read: isRead(conversation),\n marked: conversation.ID === markedElement.ID,\n hasLabels: hasLabels(conversation),\n hasAttachments: hasAttachments(conversation),\n expiring: (conversation.ExpirationTime > 0)\n }"> <span class=expiration><i class="fa fa-hourglass-end"></i></span> <pt-select-element data-index="{{ $index }}"></pt-select-element> <div class=conversation-meta> <div class="row top"> <h4 class=subject> <states-conversation></states-conversation> <folders-element conversation=conversation></folders-element> <span class=subject-num-message ng-show="conversation.NumMessages > 1">({{ conversation.NumMessages }})</span> <span class="subject-text ellipsis"> {{ conversation.Subject | unescape }} </span> </h4> <span class=meta> <i class="fa fa-paperclip conversation-icon-attachment"></i> <pt-star data-model=conversation class=singleStar></pt-star> <time-element></time-element> </span> </div> <div class="row bottom"> <span class="senders ellipsis" ng-class="{ \'full\': !hasLabels(conversation) }"> <span ng-if="!((\'secured.sent.**\' | includedByState) || (\'secured.drafts.**\' | includedByState) || (\'secured.allSent.**\' | includedByState) || (\'secured.allDrafts.**\' | includedByState))" class=senders-name ng-repeat="contact in senders(conversation)" title="{{ contact.Address }}">{{ contact | contact: \'Name\' | unescape}}</span> <span ng-if="(\'secured.sent.**\' | includedByState) || (\'secured.drafts.**\' | includedByState) || (\'secured.allSent.**\' | includedByState) || (\'secured.allDrafts.**\' | includedByState)" class=senders-name ng-repeat="contact in recipients(conversation)" title="{{ contact.Address }}">{{ contact | contact: \'Name\' | unescape}}</span> </span> <labels-element element=conversation></labels-element> </div> </div> </div> </section> <search-limit-reached ng-if="elementsLoaded && limitReached"></search-limit-reached> </div> ')}])}e.exports=n},"./src/templates/partials/conversation-list-rows.tpl.html":function(e,t){var a=window.angular,n="templates/partials/conversation-list-rows.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div id=conversation-list-rows data-pt-select-multiple-elements> <request-timeout></request-timeout> <no-results ng-if="conversations.length === 0 && elementsLoaded"></no-results> <section class=conversation-wrapper> <div ng-repeat="conversation in conversations track by conversation.ID" data-pt-draggable elements-container class=conversation ng-class="{\n selected: conversation.Selected,\n active: active(conversation),\n marked: conversation.ID === markedElement.ID,\n hasLabels: hasLabels(conversation),\n read: isRead(conversation),\n hasAttachments: hasAttachments(conversation),\n expiring: (conversation.ExpirationTime > 0)\n }"> <span class=expiration><i class="fa fa-hourglass-end"></i></span> <pt-select-element data-index="{{ $index }}"></pt-select-element> <pt-star data-model=conversation class=singleStar></pt-star> <span class="senders ellipsis"> &nbsp; <span ng-if="!((\'secured.sent.**\' | includedByState) || (\'secured.drafts.**\' | includedByState) || (\'secured.allSent.**\' | includedByState) || (\'secured.allDrafts.**\' | includedByState))" class=senders-name ng-repeat="contact in senders(conversation)" title="{{ contact.Address }}">{{ contact | contact: \'Name\' | unescape}}</span> <span ng-if="(\'secured.sent.**\' | includedByState) || (\'secured.drafts.**\' | includedByState) || (\'secured.allSent.**\' | includedByState) || (\'secured.allDrafts.**\' | includedByState)" class=senders-name ng-repeat="contact in recipients(conversation)" title="{{ contact.Address }}">{{ contact | contact: \'Name\' | unescape}}</span> </span> <div class=subject> <h4 ng-attr-title="{{ conversation.Subject | unescape }}"> <states-conversation></states-conversation> <folders-element conversation=conversation></folders-element> <span class=subject-num-message ng-if="conversation.NumMessages > 1">({{ conversation.NumMessages }})</span> <span class="subject-text ellipsis">{{ conversation.Subject | unescape }}</span> </h4> <labels-element element=conversation></labels-element> </div> <span class=size>{{ size(conversation)| bytes }}</span> <i class="fa fa-paperclip conversation-icon-attachment"></i> <time-element></time-element> </div> </section> <search-limit-reached ng-if="elementsLoaded && limitReached"></search-limit-reached> </div> ')}])}e.exports=n},"./src/templates/partials/conversation-placeholder.tpl.html":function(e,t){var a=window.angular,n="templates/partials/conversation-placeholder.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section> <div id=pm_latest class=conversationPlaceholder ng-if=showWelcome> <header translate translate-context=Title>Welcome</header> <section id=storageStatus ng-show="user.UsedSpace > 0"> <div class=wrap> <placeholder-progress></placeholder-progress> <span><strong>{{ ::user.UsedSpace | percentage:user.MaxSpace }}%</strong> Storage space used.</span> </div> </section> <section ng-if=!isFree> <a href=https://protonmail.com/blog/best-secure-email-app/ target=_blank title-translate="Learn More" title-translate-context=Link> <img src=/assets/img/welcome/mobile.jpg /> </a> </section> <section ng-if=isFree> <a ui-sref="secured.dashboard({scroll: true})" class="text-center latest-upgrade"> <img src=/assets/img/latest/privacy.jpg /> <button type=button class="pm_button primary" translate translate-context=Action>Upgrade account</button> </a> </section> <div class="pm_grid no-padding flex flex-row"> <div class=col-1-2> <section> <a href=https://shop.protonmail.com target=_blank> <img src=/assets/img/welcome/shop.jpg /> </a> </section> </div> <div class=col-1-2> <section> <a href=https://protonmail.com/support/knowledge-base/custom-domain-support/ target=_blank> <img src=/assets/img/welcome/domain.jpg /> </a> </section> </div> </div> </div> <count-elements-selected id=pm_placeholder ng-if=!showWelcome></count-elements-selected> </section> ')}])}e.exports=n},"./src/templates/partials/conversation.tpl.html":function(e,t){var a=window.angular,n="templates/partials/conversation.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section class=conversation-container> <header id=conversationHeader> <h1> <span ng-if="conversation.NumMessages > 1">({{ conversation.NumMessages }})</span> <span>{{ conversation.Subject | unescape }}</span> <pt-star data-model=conversation data-pt-star-type=conversation class=pm_buttons></pt-star> </h1> <div ng-hide="(\'secured.search.**\' | includedByState) || (\'secured.label.**\' | includedByState)" class=containsMessage> <p ng-if="showNotifier(\'trash\')" class=alert> <span ng-show="inTrash === false" translate translate-context=Info>This conversation contains trashed messages.</span> <span ng-show="inTrash === true" translate translate-context=Info>This conversation contains non-trashed messages.</span> <a href=# ng-click="toggleOption(\'showTrashed\')" ng-show="showTrashed === false && inTrash === false" translate translate-context=Action>Show trashed messages</a> <a href=# ng-click="toggleOption(\'showNonTrashed\')" ng-show="showNonTrashed === false && inTrash === true" translate translate-context=Action>Show non-trashed messages</a> <a href=# ng-click="toggleOption(\'showTrashed\')" ng-show="showTrashed === true && inTrash === false" translate translate-context=Action>Hide trashed messages</a> <a href=# ng-click="toggleOption(\'showNonTrashed\')" ng-show="showNonTrashed === true && inTrash === true" translate translate-context=Action>Hide non-trashed messages</a> </p> </div> </header> <div id=pm_thread tabindex=0> <message id="message{{ $index }}" data-model=message data-marked=markedMessage data-last=$last data-index=$index ng-repeat="message in messages | filter: filterMessages:showTrashed:showNonTrashed track by message.ID"></message> </div> </section> ')}])}e.exports=n},"./src/templates/partials/sidebar-responsive.tpl.html":function(e,t){var a=window.angular,n="templates/partials/sidebar-responsive.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section class="pm_opensans sidebar sidebarApp-container"> <sidebar-mobile-header class=sidebarApp-about-app></sidebar-mobile-header> <ul class="menu sidebarApp-menu"> <navigation-item class=sidebarApp-item data-key={{::state}} ng-repeat="state in listStates track by $id(state)"></navigation-item> <li class=sidebarApp-divider></li> <li class=sidebarApp-item ng-class="{ active: (\'secured.contacts.**\' | includedByState) }"> <a title=Contacts ui-sref=secured.contacts class=sidebarApp-link> <i class="fa fa-users sidebarApp-icon"></i> <span translate-context=Title translate-comment="Folder name" translate>Contacts</span> </a> </li> <li class=sidebarApp-item ng-class="{ active: (\'secured.dashboard.**\' | includedByState) }" ng-if=isFree> <a title=Upgrade ui-sref="secured.dashboard({scroll: true})" class=sidebarApp-link> <i class="fa fa-arrow-up sidebarApp-icon"></i> <span translate-context=Title translate-comment="Folder name" translate>Upgrade</span> </a> </li> <li class=sidebarApp-item ng-class="{ active: (\'secured.account.**\' | includedByState) }"> <a title=Settings ui-sref=secured.account class=sidebarApp-link> <i class="fa fa-cogs sidebarApp-icon"></i> <span translate-context=Title translate-comment="Folder name" translate>Settings</span> </a> </li> <li class=sidebarApp-item> <a target=_blank href=https://shop.protonmail.com class=sidebarApp-link> <i class="fa fa-shopping-cart sidebarApp-icon"></i> <span translate translate-context=Action>ProtonMail Shop</span> </a> </li> <li class=sidebarApp-item> <new-bug-report ng-click=hideMobileSidebar(); class="sidebarApp-link sidebarApp-link-report"></new-bug-report> </li> <li class=sidebarApp-item> <a ui-sref=login class=sidebarApp-link> <i class="fa fa-power-off sidebarApp-icon"></i> <span translate-context=Action translate>Log out</span> </a> </li> <li class=sidebarApp-divider></li> </ul> <menu-label class="sidebarApp-menu sidebarResponsive-menu-label"></menu-label> </section> ')}])}e.exports=n},"./src/templates/partials/sidebar.tpl.html":function(e,t){var a=window.angular,n="templates/partials/sidebar.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section class="pm_opensans sidebar sidebarApp-container" data-pt-dropzone> <button class="compose pm_button sidebar-btn-compose" action-compose action-compose-type=new translate-context=Action translate translate-comment="compose button in sidebar">Compose</button> <ul class="menu sidebarApp-menu"> <navigation-item class=sidebarApp-item data-key={{::state}} ng-repeat="state in listStates track by $id(state)"></navigation-item> </ul> <ul class="menu sidebarApp-menu" id=labelSettings> <li class=sidebarApp-item> <a ui-sref=secured.labels class=sidebarApp-link> <i class="fa fa-cog sidebarApp-icon"></i> <span id=tour-label-settings class=sidebarApp-label translate-context=Action translate>Folders / Labels</span> </a> </li> </ul> <sidebar-labels></sidebar-labels> <div class=footer> <sidebar-progress class=wrap></sidebar-progress> <app-version class=version></app-version> </div> </section> ')}])}e.exports=n},"./src/templates/partials/wizard.tpl.html":function(e,t){var a=window.angular,n="templates/partials/wizard.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div id=pm_wizard class="wizardStep-1 wizardStep-hidden" tabindex=0> <div ng-if="tourActive === true"> <button data-display-wizard-button=tourEnd class=close> <i class="fa fa-times"></i> <span translate translate-context=Action>Close</span> </button> <div class=step-1> <h1 class="badge tada">01</h1> <h2 class="title fadeIn" translate translate-context=Title>Welcome to your new encrypted email account</h2> <div class="body fadeIn"> <p translate translate-context=Info>This short tutorial will show you the main features of your new ProtonMail account. For more information, you can also check out the Welcome email we have sent you. If you ever want to view this tutorial again, you can access it by clicking your username in the upper right corner.</p> </div> </div> <div class=step-2> <h1 class="badge tada">02</h1> <h2 class="title fadeIn" translate translate-context=Title>Personalize your layout</h2> <div class="body fadeIn"> <p translate translate-context=Info>ProtonMail allows you to fully customize your inbox experience. By clicking <strong>(1)</strong> you can quickly switch between two possible layouts. You can set a default layout, set your composer style, adjust button layouts, and even switch themes under <em>Settings</em> <span class="fa fa-chevron-right"></span> <em>Appearance</em> <strong>(2)</strong></p> </div> </div> <div class=step-3> <h1 class="badge tada">03</h1> <h2 class="title fadeIn" translate translate-context=Title>Manage your email with labels</h2> <div class="body fadeIn"> <p translate translate-context=Info>Labels are a powerful tool to manage your inbox. You can add and remove labels from selected emails by clicking the Label button <strong>(1)</strong>. You can also add, delete, and edit labels by clicking on <em>Labels / Folders</em> <strong>(2)</strong>.</p> </div> </div> <div class=step-4> <h1 class="badge tada">04</h1> <h2 class="title fadeIn" translate translate-context=Title>Help and support</h2> <div class="body fadeIn"> <p translate translate-context=Info>If you have questions or need help, please visit <a href=https://protonmail.com/support target=_blank>our support page</a> to find troubleshooting guides and contact our support team. If you find a bug in ProtonMail, please let us know! You can send us a bug report by clicking <em>Report bugs</em> <strong>(1)</strong></p> </div> </div> <div class=navigation> <button class="next pm_button primary" data-display-wizard-button=tourNext ng-show="tourStep < 4" translate translate-context=Action>Next tip</button> <button class="next pm_button primary" data-display-wizard-button=tourEnd ng-show="tourStep === 4" translate translate-context=Action>Finish</button> <ul class=pagination> <li class=pagination-step-1> <a href=# data-display-wizard-button=tourGo data-display-position=1></a> </li> <li class=pagination-step-2> <a href=# data-display-wizard-button=tourGo data-display-position=2></a> </li> <li class=pagination-step-3> <a href=# data-display-wizard-button=tourGo data-display-position=3></a> </li> <li class=pagination-step-4> <a href=# data-display-wizard-button=tourGo data-display-position=4></a> </li> </ul> </div> </div> </div> ')}])}e.exports=n},"./src/templates/pmMe/pmMeView.tpl.html":function(e,t){var a=window.angular,n="templates/pmMe/pmMeView.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div id=pm_settings> <div class=settings> <div class=row> <div class="setting pm_form full"> <header-block class=settingsLabels-header-pmMe> <h2 class=settingsLabels-title-pmMe>PM.ME</h2> </header-block> <div ng-if=!hasPmMe> <p class=alert translate-context=Info translate>ProtonMail now supports @pm.me email addresses (short for ProtonMail me or Private Message me).</p> <pm-me-btn class="pm_button primary"></pm-me-btn> <a class="pm_button link" href=https://protonmail.com/support/knowledge-base/pm-me-addresses/ target=_blank translate-context=Link translate>More info</a> <p class="alert alert-info" translate-context=Info translate>Paid users can add other @pm.me addresses from Settings --\x3e Addresses/Users.</p> </div> <div ng-if=hasPmMe> <p ng-show=hasPaidMail class=alert translate-context=Info translate>You can now also receive and send messages from your @pm.me address (short for ProtonMail me or Private Message me).</p> <p ng-hide=hasPaidMail class=alert> <span translate-context=Info translate>You can now also receive messages at your @pm.me address (short for ProtonMail me or Private Message me).</span> <b translate-context=Info translate>Upgrade to a paid accout to also send emails from your @pm.me address.</b> </p> <p class="alert alert-success"> <b>{{ ::email }}</b> <span translate-context=Info translate>is activated on your account.</span> </p> <a ng-show=hasPaidMail class=pm_button ui-sref=secured.members translate-context=Link translate>Add another address</a> <a class="pm_button link" href=https://protonmail.com/support/knowledge-base/pm-me-addresses/ target=_blank translate-context=Link translate>More info</a> </div> </div> </div> </div> </div> ')}])}e.exports=n},"./src/templates/search/btnAdvancedSearch.tpl.html":function(e,t){var a=window.angular,n="templates/search/btnAdvancedSearch.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<button type=button class=btnAdvancedSearch-container> <i class="fa fa-angle-down btnAdvancedSearch-icon-desktop"></i> <i class="fa fa-search btnAdvancedSearch-icon-mobile"></i> </button> ')}])}e.exports=n},"./src/templates/search/searchContact.tpl.html":function(e,t){var a=window.angular,n="templates/search/searchContact.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<form class=searchForm-container name=searchForm novalidate> <div class=search-form-fieldset> <button class=searchForm-action-button-default> <i class="fa fa-search"></i> </button> <input ng-model=query class="search-form-fieldset-input searchInput placeholder-white" type=search autocomplete=off> <button type=reset class=searchForm-action-button-clear> <i class="fa fa-times"></i> </button> </div> </form> ')}])}e.exports=n},"./src/templates/search/searchForm.tpl.html":function(e,t){var a=window.angular,n="templates/search/searchForm.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<form method=post class=searchForm-container> <div class=search-form-fieldset> <button class=searchForm-action-button-default> <i class="fa fa-search"></i> </button> <input type=search placeholder-translate="Search messages" autocomplete=off ng-model=query class="search-form-fieldset-input placeholder-white"> <btn-advanced-search pt-tooltip-translate-context=Action pt-tooltip-translate="Advanced search" pt-placement=bottom class=searchForm-action-button-toggle></btn-advanced-search> <btn-advanced-search data-action=close class=searchForm-action-button-advanced></btn-advanced-search> </div> <div class="searchForm-advanced-container pm_form pm_grid" ng-if=advancedSearch> <section class=searchForm-advanced-main> <div class="searchForm-advanced-keywords-container row"> <input id=search_keywords class=searchForm-advanced-keywords-input type=text placeholder-translate=Keywords ng-model=model.keyword> </div> <div class=row> <label class=searchForm-advanced-wildcard-container> <custom-checkbox data-custom-ng-model=model.wildcard></custom-checkbox> <span translate>Do not require exact match</span> <a href=https://protonmail.com/support/knowledge-base/search/ target=_blank class=text-purple> <i class="fa fa-info-circle"></i> </a> </label> </div> </section> <div class=searchForm-advanced-wrapper> <div class=row> <label for=search_folder translate translate-context=Title>Location</label> <span class=pm_select> <select id=search_folder ng-model=model.folder ng-options="folder.label group by folder.group for folder in folders"></select> <i class="fa fa-angle-down"></i> </span> <div class="row margin"> <div class=col-1-2> <label for=search_sender translate translate-context=Title>Sender</label> <autocomplete-email class=searchForm-autocomplete data-email=model.from data-custom-id=search_sender data-custom-placeholder="{{\'From\' | translate}}"></autocomplete-email> </div> <div class=col-1-2> <label for=search_recipient translate translate-context=Title>Recipient</label> <autocomplete-email class=searchForm-autocomplete data-email=model.to data-custom-id=search_recipient data-custom-placeholder="{{\'To\' | translate}}"></autocomplete-email> </div> </div> <div class="row margin"> <div class=col-1-2> <label for=search_start translate translate-context=Title>Start date</label> <span class=input-icon> <em class="fa fa-calendar searchForm-icon"></em> <input class=search-date type=text data-pikaday autocomplete=off ng-model=model.begin data-default-date={{::model.beginRaw}} data-max-date=model.end id=search_start> </span> </div> <div class=col-1-2> <label for=search_end translate translate-context=Title>End date</label> <span class=input-icon> <em class="fa fa-calendar searchForm-icon"></em> <input class=search-date type=text data-pikaday autocomplete=off ng-model=model.end data-default-date={{::model.endRaw}} data-min-date=model.begin id=search_end> </span> </div> </div> <div class=row> <div class=col-1-2> <label for=search_address translate translate-context=Title>Address</label> <span class=pm_select> <select id=search_address ng-model=model.address ng-options="address.Email for address in addresses | orderBy: \'Order\' track by address.ID"></select> <i class="fa fa-angle-down"></i> </span> </div> <div class=col-1-2> <label translate translate-context=Title translate-comment="Search form option heading">Attachments</label> <div class="radio searchFrom-advanced-radio"> <label> <custom-radio data-custom-id=attachments_all data-custom-ng-model=model.attachments data-custom-value=2></custom-radio> <span translate translate-comment="form option">All</span> </label> <label> <custom-radio data-custom-id=attachments_yes data-custom-ng-model=model.attachments data-custom-value=1></custom-radio> <span translate translate-comment="form option">Yes</span> </label> <label> <custom-radio data-custom-id=attachments_no data-custom-ng-model=model.attachments data-custom-value=0></custom-radio> <span translate translate-comment="form option">No</span> </label> </div> </div> </div> <div class="row margin-top"> <button type=submit class="searchForm-advanced-submit pm_button primary"> <i class="fa fa-search"></i> <span translate translate-context=Action>Search</span> </button> </div> </div> </div> </div></form> ')}])}e.exports=n},"./src/templates/sidebar/sidebarContact.tpl.html":function(e,t){var a=window.angular,n="templates/sidebar/sidebarContact.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section class="pm_opensans sidebar sidebarApp-container sidebarContact-container"> <sidebar-mobile-header class=sidebarContact-about-app></sidebar-mobile-header> <section class=sidebarApp-wrapper> <button class="sidebar-btn-back sidebarApp-link" type=button data-action=back> <i class="sidebarApp-icon fa fa-arrow-left"></i> <span translate-context="Back button in the contact sidebar" translate>Back to mail</span> </button> <ul class="menu sidebarApp-menu"> <li class=sidebarApp-item> <button class=sidebarApp-link type=button data-action=importContacts> <i class="sidebarApp-icon fa fa-upload"></i> <span translate-context="Import contacts button in the sidebar" translate>Import</span> </button> </li> <li class=sidebarApp-item> <button class=sidebarApp-link type=button data-action=exportContacts> <i class="sidebarApp-icon fa fa-download"></i> <span translate-context="Export contacts button in the sidebar" translate>Export</span> </button> </li> <li class=sidebarApp-item> <button class=sidebarApp-link type=button data-action=mergeContacts> <i class="sidebarApp-icon fa fa-code-fork"></i> <span class=sidebarContact-merge-text></span> </button> </li> <li class=sidebarApp-item> <button class=sidebarApp-link type=button data-action=deleteContacts> <i class="sidebarApp-icon fa fa-remove"></i> <span translate-context="Delete all contacts button in the sidebar" translate>Delete All</span> </button> </li> </ul> </section> <div class=footer> <app-version class=version></app-version> </div> </section> ')}])}e.exports=n},"./src/templates/sidebar/sidebarLabels.tpl.html":function(e,t){var a=window.angular,n="templates/sidebar/sidebarLabels.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<div id=sidebarLabels ng-scrollbars ng-scrollbars-config=::scrollbarConfig ng-scrollbars-update=updateScrollbar> <div class=labels> <menu-label class=sidebarApp-menu></menu-label> </div> </div> ")}])}e.exports=n},"./src/templates/sidebar/sidebarMobileHeader.tpl.html":function(e,t){var a=window.angular,n="templates/sidebar/sidebarMobileHeader.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<header class=sidebarMobileHeader-container> <btn-display-mobile-sidebar class="pull-right round sidebarMobileHeader-btn-sidebar" data-type=hide></btn-display-mobile-sidebar> <a class="sidebarMobileHeader-logo logo" ui-sref=secured.inbox title="ProtonMail ~ back to inbox"> <img src=assets/img/logo.png height=20 alt=ProtonMail> </a> <div class=sidebarMobileHeader-userDisplay> <span class=sidebarMobileHeader-userDisplay-name>{{ displayName }}</span> <strong class=sidebarMobileHeader-userDisplay-email>{{ email }}</strong> </div> </header> ')}])}e.exports=n},"./src/templates/squire/addFilePopover.tpl.html":function(e,t){var a=window.angular,n="templates/squire/addFilePopover.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<form novalidate data-squire-popover data-action=insertImage name=addFilePopover ng-class="{\'addFilePopover-allow-uri\':allowDataUri, \'addFilePopover-allow-embedded\':allowEmbedded}" class="insertImage addFilePopover-container addFilePopover-hidden pm_form"> <fieldset class=addFilePopover-panel> <legend class=addFilePopover-legend translate-context="Composer, add file popover" translate>Insert an image</legend> <div class="addFilePopover-field row"> <label for=url class=addFilePopover-label translate-context="Composer, add file popover" translate>URL image</label> <input type=url name=url autocomplete=off class=addFilePopover-input-url placeholder-translate="URL to image" placeholder-translate-context="Composer, add file popover" ng-model=data.image> <input class=addFilePopover-input-file type=file accept=image/*> </div> </fieldset> <footer class=addFilePopover-footer> <button type=button name=addembedded class="btn primary addFilePopover-btn-embedded" data-action-compose=::message data-action-compose-type=addEmbedded ng-class="{disabled: !canAddImage()}" translate-context=Action translate>Insert File</button> <button class="btn primary addFilePopover-btn-uri" name=adduri translate-context=Action translate>Insert File</button> <button class="btn primary addFilePopover-btn-url" name=addurl translate-context=Action translate>Insert URL</button> </footer> </form> ')}])}e.exports=n},"./src/templates/squire/addLinkPopover.tpl.html":function(e,t){var a=window.angular,n="templates/squire/addLinkPopover.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<form novalidate data-squire-popover data-action=makeLink autocomplete=off name=addLinkPopover class="makeLink addLinkPopover-container addLinkPopover-hidden pm_form"> <fieldset class=addLinkPopover-panel> <legend class=addLinkPopover-legend translate-context="Composer, add Link popover" translate>Edit the link</legend> <div class="addLinkPopover-field row"> <label for=labelLink class=addLinkPopover-label translate-context="Composer, add Link popover" translate>Text to display</label> <input name=labelLink id=labelLink class=addLinkPopover-input> </div> <div class="addLinkPopover-field row"> <label for=labelLink class=addLinkPopover-label translate-context="Composer, add Link popover" translate>URL link</label> <input name=urlLink id=urlLink placeholder-translate="Link URL" placeholder-translate-context="Composer, add Link popover" class=addLinkPopover-input> </div> </fieldset> <footer class=addLinkPopover-footer> <button class=addLinkPopover-btn-remove name=remove type=reset translate-context=Action translate>Remove link</button> <button class=addLinkPopover-btn-edit name=update translate-context=Action translate>Update link</button> <button class=addLinkPopover-btn-new class="btn primary" name=add translate>Insert link</button> </footer> </form> ')}])}e.exports=n},"./src/templates/squire/colorPopover.tpl.html":function(e,t){var a=window.angular,n="templates/squire/colorPopover.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="colorPopover-container pm_form" data-squire-popover> <header class=colorPopover-header> <h3 class=colorPopover-title translate-context=Title translate>Text color</h3> <h3 class=colorPopover-title-highlight translate-context=Title translate>Background color</h3> </header> <div class=colorPopover-panel> <div class=colorPopover-select> <color-list class=colorPopover-choice data-hash={{::message.ID}}></color-list> </div> </div> </div> ')}])}e.exports=n},"./src/templates/squire/moreToggle.tpl.html":function(e,t){var a=window.angular,n="templates/squire/moreToggle.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=moreToggle-container> <div class="squireToolbar-select-view squireToolbar-action-mode" data-squire-actions=moreToggle data-squire-actions-type=click pt-tooltip-translate-context=Action pt-tooltip-translate=More> <button type=button class="squireDropdown-item-label squireToolbar-action-modeEditor"></button> <i class="fa fa-caret-down"></i> </div> <ul class="squireToolbar-select-list squireToolbar-editor-mode"> <li class=squireToolbar-select-item data-squire-actions=setTextDirectionLTR> <i class="fa fa-check"></i> <span translate-context=Option translate>Left to Right</span> </li> <li class=squireToolbar-select-item data-squire-actions=setTextDirectionRTL> <i class="fa fa-check"></i> <span translate-context=Option translate>Right to Left</span> </li> <li class=squireToolbar-dropdown-divider></li> <li class=squireToolbar-select-item data-squire-actions=setEditorMode data-value=text/html> <i class="fa fa-check"></i> <span translate-context="Composer Mode" translate>Normal</span> </li> <li class=squireToolbar-select-item data-squire-actions=setEditorMode data-value=text/plain> <i class="fa fa-check"></i> <span translate-context="Composer Mode" translate>Plain Text</span> </li> </ul> </div> ')}])}e.exports=n},"./src/templates/squire/plainTextArea.tpl.html":function(e,t){var a=window.angular,n="templates/squire/plainTextArea.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<textarea class=plaintext-editor ng-model=message.DecryptedBody ng-trim=false dir=auto></textarea> ")}])}e.exports=n},"./src/templates/squire/squireSelectColor.tpl.html":function(e,t){var a=window.angular,n="templates/squire/squireSelectColor.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=squireSelectColor-container> <button type=button class=squireToolbar-action-color pt-tooltip-translate-context=Action pt-tooltip-translate="Change color" data-squire-details=popover.form data-squire-actions=changeColor> <i class="fa fa-font" aria-hidden=true></i> <mark></mark> <i class="fa fa-angle-down"></i> </button> <form novalidate data-squire-popover data-action=changeColor name=changeColor class="squire-popover squire-popover-second squireSelectColor-popover changeColor-hidden"> <color-popover></color-popover> <color-popover data-mode=highlight></color-popover> </form> </div> ')}])}e.exports=n},"./src/templates/squire/squireSelectFontFamily.tpl.html":function(e,t){var a=window.angular,n="templates/squire/squireSelectFontFamily.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=squireSelectFontFamily-container data-squire-dropdown> <div class=squireToolbar-select-view> <button type=button class="squireDropdown-item-label squireToolbar-action-fontFamily" data-squire-actions=changeFontFamily pt-tooltip-translate-context=Action pt-tooltip-translate="Change font" translate-context=Font translate> <span class=value>Arial</span> <i class="fa fa-angle-down"></i> </button> </div> <ul class="squireToolbar-select-list squireToolbar-font-family" data-squire-actions=setFontFace data-squire-ignore=true> <li class=squireToolbar-select-item data-value=georgia>Georgia</li> <li class=squireToolbar-select-item data-value=arial>Arial</li> <li class=squireToolbar-select-item data-value=helvetica>Helvetica</li> <li class=squireToolbar-select-item data-value="menlo, consolas, courier new, monospace">Monospace</li> <li class=squireToolbar-select-item data-value="tahoma, sans-serif">Tahoma</li> <li class=squireToolbar-select-item data-value=verdana>Verdana</li> <li class=squireToolbar-select-item data-value="times new roman">Times New Roman</li> <li class=squireToolbar-select-item data-value="trebuchet ms">Trebuchet MS</li> </ul> </div> ')}])}e.exports=n},"./src/templates/squire/squireSelectFontSize.tpl.html":function(e,t){var a=window.angular,n="templates/squire/squireSelectFontSize.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class=squireSelectFontSize-container data-squire-dropdown> <div class=squireToolbar-select-view> <button type=button class="squireDropdown-item-label squireToolbar-action-fontSize" data-squire-actions=changeFontSize pt-tooltip-translate-context=Action pt-tooltip-translate="Change font size" translate-context="Font size" translate> <span class=value>14</span> <i class="fa fa-angle-down"></i> </button> </div> <ul class="squireToolbar-select-list squireToolbar-font-size" data-squire-actions=setFontSize data-squire-ignore=true> <li class=squireToolbar-select-item data-value=10>10</li> <li class=squireToolbar-select-item data-value=12>12</li> <li class=squireToolbar-select-item data-value=14>14</li> <li class=squireToolbar-select-item data-value=16>16</li> <li class=squireToolbar-select-item data-value=18>18</li> <li class=squireToolbar-select-item data-value=20>20</li> <li class=squireToolbar-select-item data-value=22>22</li> <li class=squireToolbar-select-item data-value=24>24</li> <li class=squireToolbar-select-item data-value=26>26</li> </ul> </div> ')}])}e.exports=n},"./src/templates/squire/squireToolbar.tpl.html":function(e,t){var a=window.angular,n="templates/squire/squireToolbar.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<nav class="squireToolbar-container menu" data-squire-state> <div class=squireToolbar-row-1> <button type=button class="squireToolbar-action-bold bold" pt-tooltip-translate-context=Action pt-tooltip-translate=Bold data-squire-actions=bold> <i class="fa fa-bold"></i> </button> <button type=button class="squireToolbar-action-italic italic" pt-tooltip-translate-context=Action pt-tooltip-translate=Italic data-squire-actions=italic> <i class="fa fa-italic"></i> </button> <button type=button class="squireToolbar-action-underline underline" pt-tooltip-translate-context=Action pt-tooltip-translate=Underline data-squire-actions=underline> <i class="fa fa-underline"></i> </button> <div class=squireToolbar-separator></div> <button type=button class="squireToolbar-action-ulist ulist" pt-tooltip-translate-context=Action pt-tooltip-translate="Unordered list" data-squire-actions=makeUnorderedList> <i class="fa fa-list-ul"></i> </button> <button type=button class="squireToolbar-action-olist olist" pt-tooltip-translate-context=Action pt-tooltip-translate="Ordered list" data-squire-actions=makeOrderedList> <i class="fa fa-list-ol"></i> </button> <div class="squireToolbar-separator desktopOnly"></div> <button type=button class=squireToolbar-action-options pt-tooltip-translate-context=Action pt-tooltip-translate="Text options"> <i class="fa fa-font" aria-hidden=true></i> <i class="fa fa-angle-down"></i> <i class=squireToolbar-triangle-with-shadow></i> </button> <div class=squireToolbar-separator></div> <button type=button class="squireToolbar-action-link link" pt-tooltip-translate-context=Action pt-tooltip-translate="Insert link" data-squire-details=popover.form data-squire-actions=makeLink> <i class="fa fa-link"></i> </button> <button type=button class="squireToolbar-action-image image" data-squire-details=popover.form pt-tooltip-translate-context=Action pt-tooltip-translate="Insert image" data-squire-actions=insertImage> <i class="fa fa-image"></i> </button> <button type=button class="squireToolbar-action-removeAllFormatting removeAllFormatting" pt-tooltip-translate-context=Action pt-tooltip-translate="Clear all formatting" data-squire-actions=removeAllFormatting> <i class="fa fa-eraser"></i> </button> <more-toggle class="squireToolbar-select squireToolbar-text-mode"></more-toggle> </div> <div class=squireToolbar-row-2> <squire-select-font-size class="squireToolbar-select squireToolbar-fontSize"></squire-select-font-size> <squire-select-font-family class="squireToolbar-select squireToolbar-fontFamily"></squire-select-font-family> <squire-select-color class=squireToolbar-color></squire-select-color> <div class=squireToolbar-separator></div> <button type=button class="squireToolbar-action-aleft aleft" pt-tooltip-translate-context=Action pt-tooltip-translate="Align left" data-squire-actions=alignLeft> <i class="fa fa-align-left"></i> </button> <button type=button class="squireToolbar-action-acenter acenter" pt-tooltip-translate-context=Action pt-tooltip-translate="Align center" data-squire-actions=alignCenter> <i class="fa fa-align-center"></i> </button> <button type=button class="squireToolbar-action-aright aright" pt-tooltip-translate-context=Action pt-tooltip-translate="Align right" data-squire-actions=alignRight> <i class="fa fa-align-right"></i> </button> </div> </nav> ')}])}e.exports=n},"./src/templates/views/contacts.tpl.html":function(e,t){var a=window.angular,n="templates/views/contacts.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,"<div class=contacts-container> <contact-toolbar></contact-toolbar> <div class=contacts-panels> <contact-list></contact-list> <contact-placeholder ng-if=\"'secured.contacts' | isState\"></contact-placeholder> <div class=contactsDetails-container ui-view=details></div> </div> </div> ")}])}e.exports=n},"./src/templates/vpn/changeVPNNameModal.tpl.html":function(e,t){var a=window.angular,n="templates/vpn/changeVPNNameModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal small {{ctrl.class}}" role=dialog style=display:block> <div class=modal-dialog> <form method=post ng-submit="VPNNameForm.$valid && ctrl.submit()" novalidate="" name=VPNNameForm autocomplete=off> <button type=button ng-click=ctrl.cancel() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title translate translate-context=Title>Change OpenVPN Login</h4> </div> <div class="modal-body pm_form"> <label for=VPNName translate-context=Label translate>Enter new OpenVPN login</label> <div class="alert alert-info margin-top margin-bottom"> <p translate-context=Info translate>Valid characters are A-Z, a-z, 0-9, . (full stop), _ (underscore) and - (hyphen). The login must start and end with an alphanumeric character.</p> </div> <input type=text id=VPNName ng-model=ctrl.VPNName required/> </div> </div> <div class=modal-footer> <button type=button class=pm_button ng-click=ctrl.cancel() translate translate-context=Action>Cancel</button> <button type=submit class="pm_button primary pull-right" ng-disabled=networkActivity.loading() translate-context=Action translate>Submit</button> </div> </form> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/vpn/changeVPNPasswordModal.tpl.html":function(e,t){var a=window.angular,n="templates/vpn/changeVPNPasswordModal.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div class="pm_modal small {{ctrl.class}}" role=dialog style=display:block> <div class=modal-dialog> <form method=post ng-submit="VPNPasswordForm.$valid && ctrl.submit()" novalidate="" name=VPNPasswordForm autocomplete=off> <button type=button ng-click=ctrl.cancel() aria-hidden=true title-translate=Close title-translate-context=Action class="fa fa-times close"></button> <div class=modal-content> <div class=modal-header> <h4 class=modal-title translate translate-context=Title ng-if=!ctrl.passwordDefined>Set OpenVPN Password</h4> <h4 class=modal-title translate translate-context=Title ng-if=ctrl.passwordDefined>Change OpenVPN Password</h4> </div> <div class="modal-body pm_form"> <label for=VPNPassword translate-context=Label translate>Enter new OpenVPN password</label> <password data-id=VPNPassword data-name=VPNPassword data-value=ctrl.VPNPassword form=VPNPasswordForm></password> </div> </div> <div class=modal-footer> <button type=button class=pm_button ng-click=ctrl.cancel() translate translate-context=Action>Cancel</button> <button type=submit class="pm_button primary pull-right" ng-disabled=networkActivity.loading() translate-context=Action translate>Submit</button> </div> </form> </div> <div class=modal-overlay></div> </div> ')}])}e.exports=n},"./src/templates/vpn/openVpnSection.tpl.html":function(e,t){var a=window.angular,n="templates/vpn/openVpnSection.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<section class="pm_form col-1-2"> <header-block class=openVpnSection-header-about> <h2 class=openVpnSection-title-about translate translate-context=Title>OpenVPN/IKEv2</h2> </header-block> <p class="alert alert-info"> <span translate-context=Info translate>Use the following credentials when connecting to ProtonVPN with third party clients, for example: Tunnelblick on MacOS or OpenVPN on GNU/Linux.</span> <br/><br/> <a href=https://protonvpn.com/support/vpn-login/ target=_blank translate-context=Link translate>What is the difference between ProtonVPN and OpenVPN logins?</a> </p> <div class=clearfix> <div class=col-4-8> <label> <span translate-context=Label translate>Login</span> </label> </div> <div class=col-4-8> <label class=bold>{{ VPNName }}</label> <button ng-click=changeName() type=button class=pm_button translate-context=Action translate>Change OpenVPN Login</button> </div> </div> <div class=clearfix> <div class=col-4-8> <label> <span translate-context=Label translate>Password</span> </label> </div> <div class=col-4-8> <label class=bold>{{ VPNPassword }}</label> <button ng-click=changePassword() type=button class=pm_button> <span ng-if=!VPNPassword translate-context=Action translate>Set OpenVPN Password</span> <span ng-if=VPNPassword translate-context=Action translate>Change OpenVPN Password</span> </button> </div> </div> </section> ')}])}e.exports=n},"./src/templates/vpn/vpnRessources.tpl.html":function(e,t){var a=window.angular,n="templates/vpn/vpnRessources.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<ul class=vpn-ressourcesSection-clients-list> <li class=vpn-ressourcesSection-clients-item> <a class="vpn-ressourcesSection-clients-item-container plateform-windows" href=https://protonvpn.com/download/ target=_blank> <i class="vpn-ressourcesSection-clients-item-icon fa fa-windows"></i> <div class=vpn-ressourcesSection-clients-item-text><strong>Windows</strong></div> <div class=vpn-ressourcesSection-clients-item-download translate>Download</div> </a> </li> <li class=vpn-ressourcesSection-clients-item> <a class="vpn-ressourcesSection-clients-item-container plateform-apple" href=https://protonvpn.com/support/mac-vpn-setup/ target=_blank> <i class="vpn-ressourcesSection-clients-item-icon fa fa-apple"></i> <div class=vpn-ressourcesSection-clients-item-text><strong>Mac</strong></div> <div class=vpn-ressourcesSection-clients-item-download translate>Download</div> </a> </li> <li class=vpn-ressourcesSection-clients-item> <a class="vpn-ressourcesSection-clients-item-container plateform-linux" href=https://protonvpn.com/support/linux-vpn-setup/ target=_blank> <i class="vpn-ressourcesSection-clients-item-icon fa fa-linux"></i> <div class=vpn-ressourcesSection-clients-item-text><strong>Linux</strong></div> <div class=vpn-ressourcesSection-clients-item-download translate>Download</div> </a> </li> <li class=vpn-ressourcesSection-clients-item> <a class="vpn-ressourcesSection-clients-item-container plateform-ios" href=https://protonvpn.com/support/ios-vpn-setup/ target=_blank> <i class="vpn-ressourcesSection-clients-item-icon fa fa-apple"></i> <div class=vpn-ressourcesSection-clients-item-text><strong>iOS</strong></div> <div class=vpn-ressourcesSection-clients-item-download translate>Download</div> </a> </li> <li class=vpn-ressourcesSection-clients-item> <a class="vpn-ressourcesSection-clients-item-container plateform-android" href="https://play.google.com/store/apps/details?id=com.protonvpn.android" target=_blank> <i class="vpn-ressourcesSection-clients-item-icon fa fa-android"></i> <div class=vpn-ressourcesSection-clients-item-text><strong>Android</strong></div> <div class=vpn-ressourcesSection-clients-item-download translate>Download</div> </a> </li> </ul> ')}])}e.exports=n},"./src/templates/vpn/vpnView.tpl.html":function(e,t){var a=window.angular,n="templates/vpn/vpnView.tpl.html";try{a.module("templates-app")}catch(e){a.module("templates-app",[])}finally{a.module("templates-app").run(["$templateCache",function(e){e.put(n,'<div id=pm_settings class=vpn-container> <div class=settings> <div ng-if="vpnStatus !== 1" class=row> <section class=pm_form> <header-block class=settingsVpn-header-about> <h2 class=settingsVpn-title-about translate translate-context=Title>ProtonVPN</h2> </header-block> <p ng-if="vpnStatus === 0" class="alert alert-info" translate-context=Info translate>Your account is currently not eligible for ProtonVPN access. If you are part of an Organization, please contact your account administrator.</p> <p ng-if="vpnStatus === 2" class="alert alert-info" translate-context=Info translate>Your VPN account has not yet been activated, go to <a href=https://account.protonvpn.com/signup target=_blank>https://account.protonvpn.com/signup</a> to sign up and activate your account.</p> <p ng-if="vpnStatus === 3" class="alert alert-info" translate-context=Info translate>Your ProtonVPN account request has been received. You\'re already on the waitlist, we\'ll contact you once capacity becomes available.</p> </section> </div> <div ng-if="vpnStatus === 1"> <section class=vpn-ressourcesSection-container> <header-block> <h2 class=vpn-ressourcesSection-title translate-context=Title translate>Getting started with ProtonVPN</h2> </header-block> <p class="alert alert-info" translate-context="Select your type of OS" translate>Select your client below to get started with ProtonVPN</p> <vpn-ressources></vpn-ressources> </section> <div class="row pm_grid"> <section class="pm_form col-1-2"> <header-block class=settingsVpn-header-login> <h2 class=settingsVpn-title-login translate translate-context=Title>ProtonVPN</h2> </header-block> <p class="alert alert-info" translate-context=Info translate>Use the following credentials to log into the <a href=https://protonvpn.com/download target=_blank>ProtonVPN native clients</a>.</p> <div class=clearfix> <div class=col-4-8> <label translate-context=Label translate>Proton Username</label> </div> <div class=col-4-8> <label class=bold>{{ VPNLogin }}</label> </div> </div> <div class=clearfix> <div class=col-4-8> <label translate-context=Label translate>Password</label> </div> <div class=col-4-8> <label class=bold translate-context=Info translate>Same as ProtonMail login password</label> </div> </div> </section> <open-vpn-section></open-vpn-section> </div> <div class="row pm_grid"> <section class="pm_form col-1-2"> <header-block class=settingsVpn-header-resources> <h2 class=settingsVpn-title-resources translate translate-context=Title>ProtonVPN Resources</h2> </header-block> <div class=clearfix> <div class=col-4-8> <label translate-context=Label translate>Download ProtonVPN</label> </div> <div class=col-4-8> <a href=https://protonvpn.com/download target=_blank class="pm_button link" translate-context=Link translate>Download Page</a> </div> </div> <div class=clearfix> <div class=col-4-8> <label translate-context=Label translate>ProtonVPN Homepage</label> </div> <div class=col-4-8> <a href=https://protonvpn.com target=_blank class="pm_button link" translate-context=Link translate>Homepage</a> </div> </div> <div class=clearfix> <div class=col-4-8> <label translate-context=Label translate>Get Support for ProtonVPN</label> </div> <div class=col-4-8> <a href=https://protonvpn.com/support target=_blank class="pm_button link" translate-context=Link translate>Support Page</a> </div> </div> </section> <section class=col-1-2></section> </div> </div> </div> </div> ')}])}e.exports=n},1:function(e,t,a){e.exports=a("./src/app/appLazy.js")},2:function(e,t){}});
  2. //# sourceMappingURL=appLazy.32f968a824f1e4b9392721977784505f2375bb75.js.map