You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nextcloud/apps/dav/js/settings-personal-availabil...

2122 lines
1.7 MiB
JavaScript

!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/js/",n(n.s=590)}([function(t,e,n){var r,i,a;ICAL=t.exports,ICAL.foldLength=75,ICAL.newLineChar="\r\n",ICAL.helpers={updateTimezones:function(t){var e,n,r,i,a,o;if(!t||"vcalendar"!==t.name)return t;for(e=t.getAllSubcomponents(),n=[],r={},a=0;a<e.length;a++)"vtimezone"===e[a].name?r[o=e[a].getFirstProperty("tzid").getFirstValue()]=e[a]:n=n.concat(e[a].getAllProperties());for(i={},a=0;a<n.length;a++)(o=n[a].getParameter("tzid"))&&(i[o]=!0);for(a in r)r.hasOwnProperty(a)&&!i[a]&&t.removeSubcomponent(r[a]);for(a in i)i.hasOwnProperty(a)&&!r[a]&&ICAL.TimezoneService.has(a)&&t.addSubcomponent(ICAL.TimezoneService.get(a).component);return t},isStrictlyNaN:function(t){return"number"==typeof t&&isNaN(t)},strictParseInt:function(t){var e=parseInt(t,10);if(ICAL.helpers.isStrictlyNaN(e))throw new Error('Could not extract integer from "'+t+'"');return e},formatClassType:function(t,e){if(void 0!==t)return t instanceof e?t:new e(t)},unescapedIndexOf:function(t,e,n){for(;-1!==(n=t.indexOf(e,n));){if(!(n>0&&"\\"===t[n-1]))return n;n+=1}return-1},binsearchInsert:function(t,e,n){if(!t.length)return 0;for(var r,i,a=0,o=t.length-1;a<=o;)if((i=n(e,t[r=a+Math.floor((o-a)/2)]))<0)o=r-1;else{if(!(i>0))break;a=r+1}return i<0?r:i>0?r+1:r},dumpn:function(){ICAL.debug&&("undefined"!=typeof console&&"log"in console?ICAL.helpers.dumpn=function(t){console.log(t)}:ICAL.helpers.dumpn=function(t){dump(t+"\n")},ICAL.helpers.dumpn(arguments[0]))},clone:function(t,e){if(t&&"object"==typeof t){if(t instanceof Date)return new Date(t.getTime());if("clone"in t)return t.clone();if(Array.isArray(t)){for(var n=[],r=0;r<t.length;r++)n.push(e?ICAL.helpers.clone(t[r],!0):t[r]);return n}var i={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(i[a]=e?ICAL.helpers.clone(t[a],!0):t[a]);return i}return t},foldline:function(t){for(var e="",n=t||"";n.length;)e+=ICAL.newLineChar+" "+n.substr(0,ICAL.foldLength),n=n.substr(ICAL.foldLength);return e.substr(ICAL.newLineChar.length+1)},pad2:function(t){switch("string"!=typeof t&&("number"==typeof t&&(t=parseInt(t)),t=String(t)),t.length){case 0:return"00";case 1:return"0"+t;default:return t}},trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)},inherits:function(t,e,n){function r(){}r.prototype=t.prototype,e.prototype=new r,n&&ICAL.helpers.extend(n,e.prototype)},extend:function(t,e){for(var n in t){var r=Object.getOwnPropertyDescriptor(t,n);r&&!Object.getOwnPropertyDescriptor(e,n)&&Object.defineProperty(e,n,r)}return e}},ICAL.design=function(){"use strict";var t=/\\\\|\\,|\\[Nn]/g,e=/\\|,|\n/g;function n(t,e){return{matches:/.*/,fromICAL:function(e,n){return function(t,e,n){if(-1===t.indexOf("\\"))return t;n&&(e=new RegExp(e.source+"|\\\\"+n));return t.replace(e,A)}(e,t,n)},toICAL:function(t,n){var r=e;return n&&(r=new RegExp(r.source+"|"+n)),t.replace(r,(function(t){switch(t){case"\\":return"\\\\";case";":return"\\;";case",":return"\\,";case"\n":return"\\n";default:return t}}))}}}var r={defaultType:"text"},i={defaultType:"text",multiValue:","},a={defaultType:"text",structuredValue:";"},o={defaultType:"integer"},s={defaultType:"date-time",allowedTypes:["date-time","date"]},l={defaultType:"date-time"},u={defaultType:"uri"},c={defaultT
/*!
* Vue.js v2.6.14
* (c) 2014-2021 Evan You
* Released under the MIT License.
*/
var r=Object.freeze({});function i(t){return null==t}function a(t){return null!=t}function o(t){return!0===t}function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function l(t){return null!==t&&"object"==typeof t}var u=Object.prototype.toString;function c(t){return"[object Object]"===u.call(t)}function T(t){return"[object RegExp]"===u.call(t)}function d(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function A(t){return a(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function p(t){return null==t?"":Array.isArray(t)||c(t)&&t.toString===u?JSON.stringify(t,null,2):String(t)}function f(t){var e=parseFloat(t);return isNaN(e)?t:e}function h(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}h("slot,component",!0);var E=h("key,ref,slot,slot-scope,is");function m(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}var D=Object.prototype.hasOwnProperty;function S(t,e){return D.call(t,e)}function g(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var R=/-(\w)/g,F=g((function(t){return t.replace(R,(function(t,e){return e?e.toUpperCase():""}))})),N=g((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),O=/\B([A-Z])/g,v=g((function(t){return t.replace(O,"-$1").toLowerCase()}));var b=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function y(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function C(t,e){for(var n in e)t[n]=e[n];return t}function B(t){for(var e={},n=0;n<t.length;n++)t[n]&&C(e,t[n]);return e}function M(t,e,n){}var Y=function(t,e,n){return!1},I=function(t){return t};function Z(t,e){if(t===e)return!0;var n=l(t),r=l(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var i=Array.isArray(t),a=Array.isArray(e);if(i&&a)return t.length===e.length&&t.every((function(t,n){return Z(t,e[n])}));if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(i||a)return!1;var o=Object.keys(t),s=Object.keys(e);return o.length===s.length&&o.every((function(n){return Z(t[n],e[n])}))}catch(t){return!1}}function x(t,e){for(var n=0;n<t.length;n++)if(Z(t[n],e))return n;return-1}function w(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var L=["component","directive","filter"],_=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],k={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Y,isReservedAttr:Y,isUnknownElement:Y,getTagNamespace:M,parsePlatformTagName:I,mustUseProp:Y,async:!0,_lifecycleHooks:_},G=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function U(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var P=new RegExp("[^"+G.source+".$_\\d]");var H,j="__proto__"in{},z="undefined"!=typeof window,V="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,$=V&&WXEnvironment.platform.toLowerCase(),Q=z&&window.navigator.userAgent.toLowerCase(),q=Q&&/msie|trident/.test(Q),W=Q&&Q.indexOf("msie 9.0")>0,K=Q&&Q.indexOf("edge/")>0,J=(Q&&Q.indexOf("android"),Q&&/iphone|ipad|ipod|ios/.test(Q)||"ios"===$),X=(Q&&/chrome\/\d+/.test(Q),Q&&/phantomjs/.test(Q),Q&&Q.match(/firefox\/(\d+)/)),tt={}.watch,et=!1;if(z)try{var nt={};Object.defineProperty(nt,"passive",{get:function(){et=!0}}),window.addEventListener("test-passive",null,nt)}catch(t){}var rt=function(){return void 0===H&&(H=!z&&!V&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),H},it=z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function at(t){return"function"==t
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
* @version 1.16.1
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
var n="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,r=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(n&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var i=n&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),r))}};function a(t){return t&&"[object Function]"==={}.toString.call(t)}function o(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function s(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function l(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=o(t),n=e.overflow,r=e.overflowX,i=e.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?t:l(s(t))}function u(t){return t&&t.referenceNode?t.referenceNode:t}var c=n&&!(!window.MSInputMethodContext||!document.documentMode),T=n&&/MSIE 10/.test(navigator.userAgent);function d(t){return 11===t?c:10===t?T:c||T}function A(t){if(!t)return document.documentElement;for(var e=d(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===o(n,"position")?A(n):n:t?t.ownerDocument.documentElement:document.documentElement}function p(t){return null!==t.parentNode?p(t.parentNode):t}function f(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?t:e,i=n?e:t,a=document.createRange();a.setStart(r,0),a.setEnd(i,0);var o,s,l=a.commonAncestorContainer;if(t!==l&&e!==l||r.contains(i))return"BODY"===(s=(o=l).nodeName)||"HTML"!==s&&A(o.firstElementChild)!==o?A(l):l;var u=p(t);return u.host?f(u.host,e):f(t,p(e).host)}function h(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",r=t.nodeName;if("BODY"===r||"HTML"===r){var i=t.ownerDocument.documentElement,a=t.ownerDocument.scrollingElement||i;return a[n]}return t[n]}function E(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=h(e,"top"),i=h(e,"left"),a=n?-1:1;return t.top+=r*a,t.bottom+=r*a,t.left+=i*a,t.right+=i*a,t}function m(t,e){var n="x"===e?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+r+"Width"])}function D(t,e,n,r){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],d(10)?parseInt(n["offset"+t])+parseInt(r["margin"+("Height"===t?"Top":"Left")])+parseInt(r["margin"+("Height"===t?"Bottom":"Right")]):0)}function S(t){var e=t.body,n=t.documentElement,r=d(10)&&getComputedStyle(n);return{height:D("Height",e,n,r),width:D("Width",e,n,r)}}var g=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},R=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),F=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},N=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};function O(t){return N({},t,{right:t.left+t.width,bottom:t.top+t.height})}function v(t){var e={};try{if(d(10)){e=t.getBoundingClientRect();var n=h(t,"top"),r=h(t,"left");e.top+=n,e.left+=r,e.bottom+=n,e.right+=r}else e=t.getBoundingClientRect()}catch(t){}var i={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},a="HTML"===t.nodeName?S(t.ownerDocument):{},s=a.width||t.clientWidth||i.width,l=a.height||t.clientHeight||i.height,u=t.offsetWidth-s,c=t.offsetHeight-l;if(u||c){var T=o(t);u-=m(T,"x"),c-
/*!
* escape-html
* Copyright(c) 2012-2013 TJ Holowaychuk
* Copyright(c) 2015 Andreas Lubbe
* Copyright(c) 2015 Tiancheng "Timothy" Gu
* MIT Licensed
*/var r=/["'&<>]/;t.exports=function(t){var e,n=""+t,i=r.exec(n);if(!i)return n;var a="",o=0,s=0;for(o=i.index;o<n.length;o++){switch(n.charCodeAt(o)){case 34:e="&quot;";break;case 38:e="&amp;";break;case 39:e="&#39;";break;case 60:e="&lt;";break;case 62:e="&gt;";break;default:continue}s!==o&&(a+=n.substring(s,o)),s=o+1,a+=e}return s!==o?a+n.substring(s,o):a}},function(t,e,n){"use strict";n(267),n(286),n(287),n(288),Object.defineProperty(e,"__esModule",{value:!0}),e.getBuilder=function(t){return new r.default(t)},e.clearAll=function(){[window.sessionStorage,window.localStorage].map((function(t){return o(t)}))},e.clearNonPersistent=function(){[window.sessionStorage,window.localStorage].map((function(t){return o(t,(function(t){return!t.startsWith(i.default.GLOBAL_SCOPE_PERSISTENT)}))}))};var r=a(n(451)),i=a(n(289));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){Object.keys(t).filter((function(t){return!e||e(t)})).map(t.removeItem.bind(t))}},function(t,e,n){"use strict";var r=n(102),i=n(281).filter,a=n(26),o=n(216)("filter"),s=o&&!a((function(){[].filter.call({length:-1,0:1},(function(t){throw t}))}));r({target:"Array",proto:!0,forced:!o||!s},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(26),i=n(210),a="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?a.call(t,""):Object(t)}:Object},function(t,e,n){var r=n(124),i=n(26),a=n(430);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(t,e,n){var r=n(52);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,e,n){var r=n(272),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return i.call(t)}),t.exports=r.inspectSource},function(t,e,n){var r=n(24),i=n(214),a=r["__core-js_shared__"]||i("__core-js_shared__",{});t.exports=a},function(t,e,n){var r=n(274),i=n(272);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.1",mode:r?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){t.exports=!1},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},function(t,e){t.exports={}},function(t,e,n){var r=n(437),i=n(24),a=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?a(r[t])||a(i[t]):r[t]&&r[t][e]||i[t]&&i[t][e]}},function(t,e,n){var r=n(67),i=n(209),a=n(439).indexOf,o=n(276);t.exports=function(t,e){var n,s=i(t),l=0,u=[];for(n in s)!r(o,n)&&r(s,n)&&u.push(n);for(;e.length>l;)r(s,n=e[l++])&&(~a(u,n)||u.push(n));return u}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,e,n){var r=n(443),i=n(268),a=n(215),o=n(126),s=n(282),l=[].push,u=function(t){var e=1==t,n=2==t,u=3==t,c=4==t,T=6==t,d=5==t||T;return function(A,p,f,h){for(var E,m,D=a(A),S=i(D),g=r(p,f,3),R=o(S.length),F=0,N=h||s,O=e?N(A,R):n?N(A,0):void 0;R>F;F++)if((d||F in S)&&(m=g(E=S[F],F,D),t))if(e)O[F]=m;else if(m)switch(t){case 3:return!0;case 5:return E;case 6:return F;case 2:l.call(O,E)}else if(c)return!1;return T?-1:u||c?c:O}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(t,e,n){var r=n(52),i=n(283),a=n(103)("species");t.exports=function(t,e){var n;return i(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!i(n.prototype)?r(n)&&null===(n=n[a])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},function(t,e,n){var r=n(210);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(26);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,e,n){var r,i,a=n(24),o=n(446),s=a.process,l=s&&s.versions,u=l&&l.v8;u?i=(r=u.split("."))[0]+r[1]:o&
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class o{constructor(t={}){if(new.target===o)throw new TypeError("Cannot instantiate abstract class AbstractParser");this._options=Object.assign({},t),this._name=null,this._color=null,this._sourceURL=null,this._refreshInterval=null,this._calendarTimezone=null,this._errors=[]}getName(){return this._name}getColor(){return this._color}offersWebcalFeed(){return null!==this._sourceURL}getSourceURL(){return this._sourceURL}getRefreshInterval(){return this._refreshInterval}getCalendarTimezone(){return this._calendarTimezone}parse(t){throw new TypeError("Abstract method not implemented by subclass")}*getItemIterator(){throw new TypeError("Abstract method not implemented by subclass")}getAllItems(){return Array.from(this.getItemIterator())}containsVEvents(){return!1}containsVJournals(){return!1}containsVTodos(){return!1}containsVFreeBusy(){return!1}hasErrors(){return 0!==this._errors.length}getErrorList(){return this._errors.slice()}getItemCount(){return 0}_getOption(t,e){return Object.prototype.hasOwnProperty.call(this._options,t)?this._options[t]:e}static getMimeTypes(){throw new TypeError("Abstract method not implemented by subclass")}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class s extends Error{}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function l(t){return class extends t{constructor(...t){super(...t),this._mutable=!0}isLocked(){return!this._mutable}lock(){this._mutable=!1}unlock(){this._mutable=!0}_modify(){if(!this._mutable)throw new s}_modifyContent(){this._modify()}}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class u extends Error{}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function c(t){return t.toLowerCase()}function T(t){return t.toUpperCase()}function d(t){return t.charAt(0).toUpperCase()+t.slice(1)}function A(t,e){return t.startsWith(e)||(t=e+t),t}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/const p=new Map;function f(t,e){p.set(t,e)}function h(t,e){return p.get(t)||e}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function E(t){return new i.a.Property(c(t))}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function m(t){return class extends t{constructor(...t){super(...t),this._subscribers=[]}subscribe(t){this._subscribers.push(t)}unsubscribe(t){const e=this._subscribers.indexOf(t);-1!==e&&this._subscribers.splice(e,1)}_notifySubscribers(...t){for(const e of this._subscribers)e(...t)}}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class D extends(m(l(class{}))){constructor(t,e=null){super(),this._name=T(t),this._value=e}get name(){return this._name}get value(){return this._value}set value(t){this._modifyContent(),this._value=t}getFirstValue(){return this.isMultiValue()?this.value.length>0?this.value[0]:null:this.value}*getValueIterator(){this.isMultiValue()?yield*this.value.slice()[Symbol.iterator]():yield this.value}isMultiValue(){return Array.isArray(this._value)}clone(){const t=new this.constructor(this._name);return this.isMultiValue()?t.value=this._value.slice():t.value=this._value,t}_modifyContent(){super._modifyContent(),this._notifySubscribers()
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/}}class S extends(m(l(class{}))){constructor(t){if(new.target===S)throw new TypeError("Cannot instantiate abstract class AbstractValue");super(),this._innerValue=t}toICALJs(){return this._innerValue}_modifyContent(){super._modifyContent(),this._notifySubscribers()
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/}}class g extends S{get rawValue(){return this._innerValue.value}set rawValue(t){this._modifyContent(),this._innerValue.value=t}get value(){return this._innerValue.decodeValue()}set value(t){this._modifyContent(),this._innerValue.setEncodedValue(t)}clone(){return g.fromRawValue(this._innerValue.value)}static fromICALJs(t){return new g(t)}static fromRawValue(t){const e=new i.a.Binary(t);return g.fromICALJs(e)}static fromDecodedValue(t){const e=new i.a.Binary;return e.setEncodedValue(t),g.fromICALJs(e)
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/}}class R extends S{get weeks(){return this._innerValue.weeks}set weeks(t){if(this._modifyContent(),t<0)throw new TypeError("Weeks cannot be negative, use isNegative instead");this._innerValue.weeks=t}get days(){return this._innerValue.days}set days(t){if(this._modifyContent(),t<0)throw new TypeError("Days cannot be negative, use isNegative instead");this._innerValue.days=t}get hours(){return this._innerValue.hours}set hours(t){if(this._modifyContent(),t<0)throw new TypeError("Hours cannot be negative, use isNegative instead");this._innerValue.hours=t}get minutes(){return this._innerValue.minutes}set minutes(t){if(this._modifyContent(),t<0)throw new TypeError("Minutes cannot be negative, use isNegative instead");this._innerValue.minutes=t}get seconds(){return this._innerValue.seconds}set seconds(t){if(this._modifyContent(),t<0)throw new TypeError("Seconds cannot be negative, use isNegative instead");this._innerValue.seconds=t}get isNegative(){return this._innerValue.isNegative}set isNegative(t){this._modifyContent(),this._innerValue.isNegative=!!t}get totalSeconds(){return this._innerValue.toSeconds()}set totalSeconds(t){this._modifyContent(),this._innerValue.fromSeconds(t)}compare(t){return this._innerValue.compare(t.toICALJs())}addDuration(t){this._modifyContent(),this.totalSeconds+=t.totalSeconds,this._innerValue.normalize()}subtractDuration(t){this._modifyContent(),this.totalSeconds-=t.totalSeconds,this._innerValue.normalize()}clone(){return R.fromICALJs(this._innerValue.clone())}static fromICALJs(t){return new R(t)}static fromSeconds(t){const e=i.a.Duration.fromSeconds(t);return new R(e)}static fromData(t){const e=i.a.Duration.fromData(t);return new R(e)}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class F extends S{get year(){return this._innerValue.year}set year(t){this._modifyContent(),this._innerValue.year=t}get month(){return this._innerValue.month}set month(t){if(this._modifyContent(),t<1||t>12)throw new TypeError("Month out of range");this._innerValue.month=t}get day(){return this._innerValue.day}set day(t){if(this._modifyContent(),t<1||t>31)throw new TypeError("Day out of range");this._innerValue.day=t}get hour(){return this._innerValue.hour}set hour(t){if(this._modifyContent(),t<0||t>23)throw new TypeError("Hour out of range");this._innerValue.hour=t}get minute(){return this._innerValue.minute}set minute(t){if(this._modifyContent(),t<0||t>59)throw new TypeError("Minute out of range");this._innerValue.minute=t}get second(){return this._innerValue.second}set second(t){if(this._modifyContent(),t<0||t>59)throw new TypeError("Second out of range");this._innerValue.second=t}get timezoneId(){return this._innerValue.zone.tzid&&"floating"!==this._innerValue.zone.tzid&&"UTC"===this._innerValue.zone.tzid?this._innerValue.zone.tzid:this._innerValue.timezone?this._innerValue.timezone:this._innerValue.zone.tzid||null}get isDate(){return this._innerValue.isDate}set isDate(t){this._modifyContent(),this._innerValue.isDate=!!t,t&&(this._innerValue.hour=0,this._innerValue.minute=0,this._innerValue.second=0)}get unixTime(){return this._innerValue.toUnixTime()}get jsDate(){return this._innerValue.toJSDate()}addDuration(t){this._innerValue.addDuration(t.toICALJs())}subtractDateWithoutTimezone(t){const e=this._innerValue.subtractDate(t.toICALJs());return R.fromICALJs(e)}subtractDateWithTimezone(t){const e=this._innerValue.subtractDateTz(t.toICALJs());return R.fromICALJs(e)}compare(t){return this._innerValue.compare(t.toICALJs())}compareDateOnlyInGivenTimezone(t,e){return this._innerValue.compareDateOnlyTz(t.toICALJs(),e.toICALTimezone())}getInTimezone(t){const e=this._innerValue.convertToZone(t.toICALTimezone());return F.fromICALJs(e)}getICALTimezone(){return this._innerValue.zone}getInICALTimezone(t){const e=this._innerValue.convertToZone(t);return F.fromICALJs(e)}getInUTC(){const t=this._innerValue.convertToZone(i.a.Timezone.utcTimezone);return F.fromICALJs(t)}silentlyReplaceTimezone(t){this._modify(),this._innerValue=new i.a.Time({year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second,isDate:this.isDate,timezone:t})}replaceTimezone(t){this._modifyContent(),this._innerValue=i.a.Time.fromData({year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second,isDate:this.isDate},t.toICALTimezone())}utcOffset(){return this._innerValue.utcOffset()}isFloatingTime(){return"floating"===this._innerValue.zone.tzid}clone(){return F.fromICALJs(this._innerValue.clone())}static fromICALJs(t){return new F(t)}static fromJSDate(t,e=!1){const n=i.a.Time.fromJSDate(t,e);return F.fromICALJs(n)}static fromData(t,e){const n=i.a.Time.fromData(t,e?e.toICALTimezone():void 0);return F.fromICALJs(n)}}F.SUNDAY=i.a.Time.SUNDAY,F.MONDAY=i.a.Time.MONDAY,F.TUESDAY=i.a.Time.TUESDAY,F.WEDNESDAY=i.a.Time.WEDNESDAY,F.THURSDAY=i.a.Time.THURSDAY,F.FRIDAY=i.a.Time.FRIDAY,F.SATURDAY=i.a.Time.SATURDAY,F.DEFAULT_WEEK_START=F.MONDAY;
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class N extends S{constructor(...t){super(...t),this._start=F.fromICALJs(this._innerValue.start),this._end=null,this._duration=null}get start(){return this._start}set start(t){this._modifyContent(),this._start=t,this._innerValue.start=t.toICALJs()}get end(){return this._end||(this._duration&&(this._duration.lock(),this._duration=null),this._innerValue.end=this._innerValue.getEnd(),this._end=F.fromICALJs(this._innerValue.end),this._innerValue.duration=null,this.isLocked()&&this._end.lock()),this._end}set end(t){this._modifyContent(),this._innerValue.duration=null,this._innerValue.end=t.toICALJs(),this._end=t}get duration(){return this._duration||(this._end&&(this._end.lock(),this._end=null),this._innerValue.duration=this._innerValue.getDuration(),this._duration=R.fromICALJs(this._innerValue.duration),this._innerValue.end=null,this.isLocked()&&this._duration.lock()),this._duration}set duration(t){this._modifyContent(),this._innerValue.end=null,this._innerValue.duration=t.toICALJs(),this._duration=t}lock(){super.lock(),this.start.lock(),this._end&&this._end.lock(),this._duration&&this._duration.lock()}unlock(){super.unlock(),this.start.unlock(),this._end&&this._end.unlock(),this._duration&&this._duration.unlock()}clone(){return N.fromICALJs(this._innerValue.clone())}static fromICALJs(t){return new N(t)}static fromDataWithEnd(t){const e=i.a.Period.fromData({start:t.start.toICALJs(),end:t.end.toICALJs()});return N.fromICALJs(e)}static fromDataWithDuration(t){const e=i.a.Period.fromData({start:t.start.toICALJs(),duration:t.duration.toICALJs()});return N.fromICALJs(e)}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/const O=["SECONDLY","MINUTELY","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY"];class v extends S{constructor(t,e){super(t),this._until=e}get interval(){return this._innerValue.interval}set interval(t){this._modifyContent(),this._innerValue.interval=parseInt(t,10)}get weekStart(){return this._innerValue.wkst}set weekStart(t){if(this._modifyContent(),t<F.SUNDAY||t>F.SATURDAY)throw new TypeError("Weekstart out of range");this._innerValue.wkst=t}get until(){return!this._until&&this._innerValue.until&&(this._until=F.fromICALJs(this._innerValue.until)),this._until}set until(t){this._modifyContent(),this._until&&this._until.lock(),this._until=t,this._innerValue.count=null,this._innerValue.until=t.toICALJs()}get count(){return this._innerValue.count}set count(t){this._modifyContent(),this._until&&(this._until.lock(),this._until=null),this._innerValue.until=null,this._innerValue.count=parseInt(t,10)}get frequency(){return this._innerValue.freq}set frequency(t){if(this._modifyContent(),!O.includes(t))throw new TypeError("Unknown frequency");this._innerValue.freq=t}setToInfinite(){this._modifyContent(),this._until&&(this._until.lock(),this._until=null),this._innerValue.until=null,this._innerValue.count=null}isFinite(){return this._innerValue.isFinite()}isByCount(){return this._innerValue.isByCount()}addComponent(t,e){this._modifyContent(),this._innerValue.addComponent(t,e)}setComponent(t,e){this._modifyContent(),0===e.length?delete this._innerValue.parts[t.toUpperCase()]:this._innerValue.setComponent(t,e)}removeComponent(t){delete this._innerValue.parts[T(t)]}getComponent(t){return this._innerValue.getComponent(t)}isRuleValid(){return!0}lock(){super.lock(),this._until&&this._until.lock()}unlock(){super.unlock(),this._until&&this._until.unlock()}clone(){return v.fromICALJs(this._innerValue.clone())}static fromICALJs(t,e=null){return new v(t,e)}static fromData(t){let e=null;t.until&&(e=t.until,t.until=t.until.toICALJs());const n=i.a.Recur.fromData(t);return v.fromICALJs(n,e)}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class b extends S{get hours(){return this._innerValue.hours}set hours(t){this._modifyContent(),this._innerValue.hours=t}get minutes(){return this._innerValue.minutes}set minutes(t){this._modifyContent(),this._innerValue.minutes=t}get factor(){return this._innerValue.factor}set factor(t){if(this._modifyContent(),1!==t&&-1!==t)throw new TypeError("Factor may only be set to 1 or -1");this._innerValue.factor=t}get totalSeconds(){return this._innerValue.toSeconds()}set totalSeconds(t){this._modifyContent(),this._innerValue.fromSeconds(t)}compare(t){return this._innerValue.compare(t.toICALJs())}clone(){return b.fromICALJs(this._innerValue.clone())}static fromICALJs(t){return new b(t)}static fromData(t){const e=new i.a.UtcOffset;return e.fromData(t),b.fromICALJs(e)}static fromSeconds(t){const e=i.a.UtcOffset.fromSeconds(t);return b.fromICALJs(e)}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class y extends Error{}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @author Richard Steinmetz <richard@steinmetz.cloud>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function C(t){switch(c(t)){case"binary":return g;case"date":case"date-time":return F;case"duration":return R;case"period":return N;case"recur":return v;case"utc-offset":return b;default:throw new y}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class B extends(m(l(class{}))){constructor(t,e=null,n=[],r=null,i=null){super(),this._name=T(t),this._value=e,this._parameters=new Map,this._root=r,this._parent=i,this._setParametersFromConstructor(n),e instanceof S&&e.subscribe(()=>this._notifySubscribers())}get name(){return this._name}get value(){return this._value}set value(t){this._modifyContent(),this._value=t,t instanceof S&&t.subscribe(()=>this._notifySubscribers())}get root(){return this._root}set root(t){this._modify(),this._root=t}get parent(){return this._parent}set parent(t){this._modify(),this._parent=t}getFirstValue(){return this.isMultiValue()?this.value.length>0?this.value[0]:null:this.value}*getValueIterator(){this.isMultiValue()?yield*this.value.slice()[Symbol.iterator]():yield this.value}addValue(t){if(!this.isMultiValue())throw new TypeError("This is not a multivalue property");this._modifyContent(),this.value.push(t)}hasValue(t){if(!this.isMultiValue())throw new TypeError("This is not a multivalue property");return this.value.includes(t)}removeValue(t){if(!this.hasValue(t))return;this._modifyContent();const e=this.value.indexOf(t);this.value.splice(e,1)}setParameter(t){this._modify(),this._parameters.set(t.name,t),t.subscribe(()=>this._notifySubscribers())}getParameter(t){return this._parameters.get(T(t))}*getParametersIterator(){yield*this._parameters.values()}getParameterFirstValue(t){const e=this.getParameter(t);return e instanceof D?e.isMultiValue()?e.value[0]:e.value:null}hasParameter(t){return this._parameters.has(T(t))}deleteParameter(t){this._modify(),this._parameters.delete(T(t))}updateParameterIfExist(t,e){if(this._modify(),this.hasParameter(t))this.getParameter(t).value=e;else{const n=new D(T(t),e);this.setParameter(n)}}isMultiValue(){return Array.isArray(this._value)}isDecoratedValue(){return this.isMultiValue()?this._value[0]instanceof S:this._value instanceof S}lock(){super.lock();for(const t of this.getParametersIterator())t.lock();if(this.isDecoratedValue())for(const t of this.getValueIterator())t.lock()}unlock(){super.unlock();for(const t of this.getParametersIterator())t.unlock();if(this.isDecoratedValue())for(const t of this.getValueIterator())t.unlock()}clone(){const t=[];for(const e of this.getParametersIterator())t.push(e.clone());return new this.constructor(this.name,this._cloneValue(),t,this.root,this.parent)}_cloneValue(){return this.isDecoratedValue()?this.isMultiValue()?this._value.map(t=>t.clone()):this._value.clone():this.isMultiValue()?this._value.slice():this._value}_setParametersFromConstructor(t){t.forEach(t=>{t instanceof D||(t=new D(t[0],t[1])),this.setParameter(t)})}static fromICALJs(t,e=null,n=null){if(!(t instanceof i.a.Property))throw new u;let r;if(t.isDecorated){const e=C(t.getFirstValue().icaltype);r=t.isMultiValue?t.getValues().map(t=>e.fromICALJs(t)):e.fromICALJs(t.getFirstValue())}else r=t.isMultiValue?t.getValues():t.getFirstValue();const a=[];return Object.keys(Object.assign({},t.toJSON()[1])).forEach(e=>{"TZID"!==T(e)&&a.push([e,t.getParameter(e)])}),new this(t.name,r,a,e,n)}toICALJs(){const t=E(c(this.name));this.isMultiValue()?this.isDecoratedValue()?t.setValues(this.value.map(t=>t.toICALJs())):t.setValues(this.value):this.isDecoratedValue()?t.setValue(this.value.toICALJs()):t.setValue(this.value);for(const e of this.getParametersIterator())t.setParameter(c(e.name),e.value);const e=this.getFirstValue();return e instanceof F&&"floating"!==e.timezoneId&&"UTC"!==e.timezoneId&&!e.isDate&&t.setParameter("tzid",e.timezoneId),t}_modifyContent(){super._modifyContent(),this._notifySubscribers()
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/}}class M extends B{get formatType(){return this.getParameterFirstValue("FMTTYPE")}set formatType(t){this.updateParameterIfExist("FMTTYPE",t)}get uri(){return this._value instanceof g?null:this._value}set uri(t){this.value=t}get encoding(){return this._value instanceof g?"BASE64":null}get data(){return this._value instanceof g?this._value.value:null}set data(t){this.value instanceof g?this.value.value=t:this.value=g.fromDecodedValue(t)}toICALJs(){const t=super.toICALJs();return this._value instanceof g&&t.setParameter("ENCODING","BASE64"),t}static fromData(t,e=null){const n=g.fromDecodedValue(t),r=new M("ATTACH",n);return e&&(r.formatType=e),r}static fromLink(t,e=null){const n=new M("ATTACH",t);return e&&(n.formatType=e),n
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/}}class Y extends B{get role(){const t=["CHAIR","REQ-PARTICIPANT","OPT-PARTICIPANT","NON-PARTICIPANT"];if(this.hasParameter("ROLE")){const e=this.getParameterFirstValue("ROLE");if(t.includes(e))return e}return"REQ-PARTICIPANT"}set role(t){this.updateParameterIfExist("ROLE",t)}get userType(){const t=["INDIVIDUAL","GROUP","RESOURCE","ROOM","UNKNOWN"];if(this.hasParameter("CUTYPE")){const e=this.getParameterFirstValue("CUTYPE");return t.includes(e)?e:"UNKNOWN"}return"INDIVIDUAL"}set userType(t){this.updateParameterIfExist("CUTYPE",t)}get rsvp(){return!!this.hasParameter("RSVP")&&"TRUE"===T(this.getParameterFirstValue("RSVP"))}set rsvp(t){this.updateParameterIfExist("RSVP",t?"TRUE":"FALSE")}get commonName(){return this.getParameterFirstValue("CN")}set commonName(t){this.updateParameterIfExist("CN",t)}get participationStatus(){let t;t=this.parent?this.parent.name:"VEVENT";const e={VEVENT:["NEEDS-ACTION","ACCEPTED","DECLINED","TENTATIVE","DELEGATED"],VJOURNAL:["NEEDS-ACTION","ACCEPTED","DECLINED"],VTODO:["NEEDS-ACTION","ACCEPTED","DECLINED","TENTATIVE","DELEGATED","COMPLETED","IN-PROCESS"]};if(this.hasParameter("PARTSTAT")){const n=this.getParameterFirstValue("PARTSTAT");return e[t].includes(n)?n:"NEEDS-ACTION"}return"NEEDS-ACTION"}set participationStatus(t){this.updateParameterIfExist("PARTSTAT",t)}get language(){return this.getParameterFirstValue("LANGUAGE")}set language(t){this.updateParameterIfExist("LANGUAGE",t)}get email(){return this.value}set email(t){this.value=A(t,"mailto:")}isOrganizer(){return"ORGANIZER"===this._name}static fromNameAndEMail(t,e,n=!1){const r=n?"ORGANIZER":"ATTENDEE";return e=A(e,"mailto:"),new Y(r,e,[["CN",t]])}static fromNameEMailRoleUserTypeAndRSVP(t,e,n,r,i,a=!1){const o=a?"ORGANIZER":"ATTENDEE";return e=A(e,"mailto:"),new Y(o,e,[["CN",t],["ROLE",n],["CUTYPE",r],["RSVP",i?"TRUE":"FALSE"]])
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/}}i.a.design.icalendar.property.conference={defaultType:"uri"},i.a.design.icalendar.param.feature={valueType:"cal-address",multiValue:","};class I extends B{*getFeatureIterator(){if(!this.hasParameter("FEATURE"))return;const t=this.getParameter("FEATURE");yield*t.getValueIterator()}listAllFeatures(){return this.hasParameter("FEATURE")?this.getParameter("FEATURE").value.slice():[]}addFeature(t){if(this._modify(),this.hasParameter("FEATURE")){if(this.hasFeature(t))return;this.getParameter("FEATURE").value.push(t)}else this.updateParameterIfExist("FEATURE",[t])}removeFeature(t){if(this._modify(),!this.hasFeature(t))return;const e=this.getParameter("FEATURE"),n=e.value.indexOf(t);e.value.splice(n,1)}clearAllFeatures(){this.deleteParameter("FEATURE")}hasFeature(t){if(!this.hasParameter("FEATURE"))return!1;const e=this.getParameter("FEATURE");return!!Array.isArray(e.value)&&e.value.includes(t)}get label(){return this.getParameterFirstValue("LABEL")}set label(t){this.updateParameterIfExist("LABEL",t)}get uri(){return this.value}set uri(t){this.value=t}toICALJs(){const t=super.toICALJs();return t.setParameter("value","URI"),t}static fromURILabelAndFeatures(t,e=null,n=null){const r=new I("CONFERENCE",t);return e&&r.updateParameterIfExist("label",e),n&&r.updateParameterIfExist("feature",n),r
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/}}class Z extends B{get type(){const t=["FREE","BUSY","BUSY-UNAVAILABLE","BUSY-TENTATIVE"];if(this.hasParameter("FBTYPE")){const e=this.getParameterFirstValue("FBTYPE");if(t.includes(e))return e}return"BUSY"}set type(t){this.updateParameterIfExist("FBTYPE",t)}static fromPeriodAndType(t,e){return new Z("FREEBUSY",t,[["fbtype",e]])}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class x extends B{constructor(t,e=[0,0],n=[],r=null,i=null){super(t,e,n,r,i)}get latitude(){return this._value[0]}set latitude(t){this._modifyContent(),"number"!=typeof t&&(t=parseFloat(t)),this._value[0]=t}get longitude(){return this._value[1]}set longitude(t){this._modifyContent(),"number"!=typeof t&&(t=parseFloat(t)),this._value[1]=t}toICALJs(){const t=E(c(this.name));return t.setValue(this.value),this._parameters.forEach(e=>{t.setParameter(c(e.name),e.value)}),t}static fromPosition(t,e){return new x("GEO",[t,e])}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class w extends M{get display(){return this.getParameterFirstValue("DISPLAY")||"BADGE"}set display(t){this.updateParameterIfExist("DISPLAY",t)}static fromData(t,e=null,n=null){const r=g.fromDecodedValue(t),i=new w("IMAGE",r);return e&&(i.display=e),n&&(i.formatType=n),i}static fromLink(t,e=null,n=null){const r=new w("IMAGE",t);return e&&(r.display=e),n&&(r.formatType=n),r
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/}}class L extends B{get relationType(){const t=["PARENT","CHILD","SIBLING"],e="PARENT";if(this.hasParameter("RELTYPE")){const n=this.getParameterFirstValue("RELTYPE");return t.includes(n)?n:e}return e}set relationType(t){this.updateParameterIfExist("RELTYPE",t)}get relatedId(){return this.value}set relatedId(t){this.value=t}static fromRelTypeAndId(t,e){return new L("RELATED-TO",e,[["RELTYPE",t]])}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class _ extends B{constructor(t,e=["1","Pending"],n=[],r=null,i=null){super(t,e,n,r,i)}get statusCode(){return parseFloat(this.value[0])}set statusCode(t){this._modifyContent(),this.value[0]=t.toString(),t===Math.floor(t)&&(this.value[0]+=".0")}get statusMessage(){return this.value[1]}set statusMessage(t){this._modifyContent(),this.value[1]=t}get exceptionData(){return this.value[2]?this.value[2]:null}set exceptionData(t){this._modifyContent(),this.value[2]=t}isPending(){return this.statusCode>=1&&this.statusCode<2}isSuccessful(){return this.statusCode>=2&&this.statusCode<3}isClientError(){return this.statusCode>=3&&this.statusCode<4}isSchedulingError(){return this.statusCode>=4&&this.statusCode<5}toICALJs(){const t=E(c(this.name));return t.setValue(this.value),this._parameters.forEach(e=>{t.setParameter(c(e.name),e.value)}),t}static fromCodeAndMessage(t,e){return new _("REQUEST-STATUS",[t.toString(),e])}}_.SUCCESS=[2,"Success"],_.SUCCESS_FALLBACK=[2.1,"Success, but fallback taken on one or more property values."],_.SUCCESS_PROP_IGNORED=[2.2,"Success; invalid property ignored."],_.SUCCESS_PROPPARAM_IGNORED=[2.3,"Success; invalid property parameter ignored."],_.SUCCESS_NONSTANDARD_PROP_IGNORED=[2.4,"Success; unknown, non-standard property ignored."],_.SUCCESS_NONSTANDARD_PROPPARAM_IGNORED=[2.5,"Success; unknown, non-standard property value ignored."],_.SUCCESS_COMP_IGNORED=[2.6,"Success; invalid calendar component ignored."],_.SUCCESS_FORWARDED=[2.7,"Success; request forwarded to Calendar User."],_.SUCCESS_REPEATING_IGNORED=[2.8,"Success; repeating event ignored. Scheduled as a single component."],_.SUCCESS_TRUNCATED_END=[2.9,"Success; truncated end date time to date boundary."],_.SUCCESS_REPEATING_VTODO_IGNORED=[2.1,"Success; repeating VTODO ignored. Scheduled as a single VTODO."],_.SUCCESS_UNBOUND_RRULE_CLIPPED=[2.11,"Success; unbounded RRULE clipped at some finite number of instances."],_.CLIENT_INVALID_PROPNAME=[3,"Invalid property name."],_.CLIENT_INVALID_PROPVALUE=[3.1,"Invalid property value."],_.CLIENT_INVALID_PROPPARAM=[3.2,"Invalid property parameter."],_.CLIENT_INVALID_PROPPARAMVALUE=[3.3,"Invalid property parameter value."],_.CLIENT_INVALUD_CALENDAR_COMP_SEQ=[3.4,"Invalid calendar component sequence."],_.CLIENT_INVALID_DATE_TIME=[3.5,"Invalid date or time."],_.CLIENT_INVALID_RRULE=[3.6,"Invalid rule."],_.CLIENT_INVALID_CU=[3.7,"Invalid Calendar User."],_.CLIENT_NO_AUTHORITY=[3.8,"No authority."],_.CLIENT_UNSUPPORTED_VERSION=[3.9,"Unsupported version."],_.CLIENT_TOO_LARGE=[3.1,"Request entity too large."],_.CLIENT_REQUIRED_COMP_OR_PROP_MISSING=[3.11,"Required component or property missing."],_.CLIENT_UNKNOWN_COMP_OR_PROP=[3.12,"Unknown component or property found."],_.CLIENT_UNSUPPORTED_COMP_OR_PROP=[3.13,"Unsupported component or property found."],_.CLIENT_UNSUPPORTED_CAPABILITY=[3.14,"Unsupported capability."],_.SCHEDULING_EVENT_CONFLICT=[4,"Event conflict. Date/time is busy."],_.SERVER_REQUEST_NOT_SUPPORTED=[5,"Request not supported."],_.SERVER_SERVICE_UNAVAILABLE=[5.1,"Service unavailable."],_.SERVER_INVALID_CALENDAR_SERVICE=[5.2,"Invalid calendar service."],_.SERVER_NO_SCHEDULING_FOR_USER=[5.3,"No scheduling support for user."];
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class k extends B{get alternateText(){return this.getParameterFirstValue("ALTREP")}set alternateText(t){this.updateParameterIfExist("ALTREP",t)}get language(){return this.getParameterFirstValue("LANGUAGE")}set language(t){this.updateParameterIfExist("LANGUAGE",t)}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class G extends B{get related(){return this.hasParameter("RELATED")?this.getParameterFirstValue("RELATED"):"START"}set related(t){this.updateParameterIfExist("RELATED",t)}get value(){return super.value}set value(t){super.value=t,t instanceof F&&(this.deleteParameter("RELATED"),super.value=t.getInUTC())}isRelative(){return this.getFirstValue()instanceof R}static fromAbsolute(t){return new G("TRIGGER",t.getInUTC())}static fromRelativeAndRelated(t,e=!0){return new G("TRIGGER",t,[["RELATED",e?"START":"END"]])}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @author Richard Steinmetz <richard@steinmetz.cloud>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function U(t){switch(T(t)){case"ATTACH":return M;case"ATTENDEE":case"ORGANIZER":return Y;case"CONFERENCE":return I;case"FREEBUSY":return Z;case"GEO":return x;case"IMAGE":return w;case"RELATED-TO":return L;case"REQUEST-STATUS":return _;case"TRIGGER":return G;case"COMMENT":case"CONTACT":case"DESCRIPTION":case"LOCATION":case"SUMMARY":return k;default:return B}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class P extends(m(l(class{}))){constructor(t,e=[],n=[],r=null,i=null){super(),this._name=T(t),this._properties=new Map,this._components=new Map,this._root=r,this._parent=i,this._setPropertiesFromConstructor(e),this._setComponentsFromConstructor(n)}get name(){return this._name}get root(){return this._root}set root(t){this._modify(),this._root=t;for(const e of this.getPropertyIterator())e.root=t;for(const e of this.getComponentIterator())e.root=t}get parent(){return this._parent}set parent(t){this._modify(),this._parent=t}getFirstProperty(t){return this._properties.has(T(t))?this._properties.get(T(t))[0]:null}getFirstPropertyFirstValue(t){const e=this.getFirstProperty(t);return e?e.getFirstValue():null}updatePropertyWithValue(t,e){this._modify();const n=this.getFirstProperty(t);if(n)n.value=e;else{const n=new(U(t))(t,e,[],this,this.root);this.addProperty(n)}}*getPropertyIterator(t=null){if(t){if(!this.hasProperty(t))return;yield*this._properties.get(T(t)).slice()[Symbol.iterator]()}else for(const t of this._properties.keys())yield*this.getPropertyIterator(t)}*_getAllOfPropertyByLang(t,e){for(const n of this.getPropertyIterator(t))n.getParameterFirstValue("LANGUAGE")===e&&(yield n)}_getFirstOfPropertyByLang(t,e){return this._getAllOfPropertyByLang(t,e).next().value||null}addProperty(t){if(this._modify(),t.root=this.root,t.parent=this,this._properties.has(t.name)){const e=this._properties.get(t.name);if(-1!==e.indexOf(t))return!1;e.push(t)}else this._properties.set(t.name,[t]);return t.subscribe(()=>this._notifySubscribers()),!0}hasProperty(t){return this._properties.has(T(t))}deleteProperty(t){if(this._modify(),!this._properties.has(t.name))return!1;const e=this._properties.get(t.name),n=e.indexOf(t);return-1!==n&&(-1!==n&&1===e.length?this._properties.delete(t.name):e.splice(n,1),!0)}deleteAllProperties(t){return this._modify(),this._properties.delete(T(t))}getFirstComponent(t){return this.hasComponent(t)?this._components.get(T(t))[0]:null}*getComponentIterator(t){if(t){if(!this.hasComponent(t))return;yield*this._components.get(T(t)).slice()[Symbol.iterator]()}else for(const t of this._components.keys())yield*this.getComponentIterator(t)}addComponent(t){if(this._modify(),t.root=this.root,t.parent=this,this._components.has(t.name)){const e=this._components.get(t.name);if(-1!==e.indexOf(t))return!1;e.push(t)}else this._components.set(t.name,[t]);return t.subscribe(()=>this._notifySubscribers()),!0}hasComponent(t){return this._components.has(T(t))}deleteComponent(t){if(this._modify(),!this._components.has(t.name))return!1;const e=this._components.get(t.name),n=e.indexOf(t);return-1!==n&&(-1!==n&&1===e.length?this._components.delete(t.name):e.splice(n,1),!0)}deleteAllComponents(t){return this._modify(),this._components.delete(T(t))}lock(){super.lock();for(const t of this.getPropertyIterator())t.lock();for(const t of this.getComponentIterator())t.lock()}unlock(){super.unlock();for(const t of this.getPropertyIterator())t.unlock();for(const t of this.getComponentIterator())t.unlock()}clone(){const t=[];for(const e of this.getPropertyIterator())t.push(e.clone());const e=[];for(const t of this.getComponentIterator())e.push(t.clone());return new this.constructor(this.name,t,e,this.root,this.parent)}_setPropertiesFromConstructor(t){for(let e of t)Array.isArray(e)&&(e=new(U(e[0]))(e[0],e[1])),this.addProperty(e)}_setComponentsFromConstructor(t){for(const e of t)this.addComponent(e)}static fromICALJs(t,e=null,n=null){if(!(t instanceof i.a.Component))throw new u;const r=new this(t.name,[],[],e,n);for(const n of t.getAllProperties()){const t=U(n.name).fromICALJs(n,e,r);r.addProperty(t)}for(const n of t.getAllSubcomponents()){const t=this._getConstructorForComponentName(n.name).fromICALJs(n,e,r);r.addComponent(t)}return r}static _getConstructorForComponentName(t){return P}toICALJs(){const t=(e=c(this.name),new i.a.Component(c(e)));var e;for(const e of this.getPropertyIterator())t.addProperty(e.toICALJs());for(const e of this.getComponentIterator())t.addSubcomponent(e.toICALJs());return t}}function H(t,e,n=!0){e=function(t){return"stri
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function $(){return new Date}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class Q extends Error{}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class q{constructor(t){this._masterItem=t,this._recurrenceExceptionItems=new Map,this._rangeRecurrenceExceptionItemsIndex=[],this._rangeRecurrenceExceptionItemsDiffCache=new Map,this._rangeRecurrenceExceptionItems=new Map}get masterItem(){return this._masterItem}set masterItem(t){this._masterItem=t}*getRecurrenceExceptionIterator(){yield*this._recurrenceExceptionItems.values()}getRecurrenceExceptionList(){return Array.from(this.getRecurrenceExceptionIterator())}hasRecurrenceExceptionForId(t){return t instanceof F?t=t.unixTime:t instanceof i.a.Time&&(t=t.toUnixTime()),this._recurrenceExceptionItems.has(t)}getRecurrenceException(t){return t instanceof F?t=t.unixTime:t instanceof i.a.Time&&(t=t.toUnixTime()),this._recurrenceExceptionItems.get(t)||null}hasRangeRecurrenceExceptionForId(t){return t instanceof F?t=t.unixTime:t instanceof i.a.Time&&(t=t.toUnixTime()),0!==this._rangeRecurrenceExceptionItemsIndex.length&&this._rangeRecurrenceExceptionItemsIndex[0]<t}getRangeRecurrenceExceptionForId(t){t instanceof F?t=t.unixTime:t instanceof i.a.Time&&(t=t.toUnixTime());const e=i.a.helpers.binsearchInsert(this._rangeRecurrenceExceptionItemsIndex,t,(t,e)=>t-e);if(0===e)return null;const n=this._rangeRecurrenceExceptionItemsIndex[e-1];return this._rangeRecurrenceExceptionItems.get(n)}getRangeRecurrenceExceptionDiff(t){if(t instanceof F?t=t.unixTime:t instanceof i.a.Time&&(t=t.toUnixTime()),this._rangeRecurrenceExceptionItemsDiffCache.has(t))return this._rangeRecurrenceExceptionItemsDiffCache.get(t);const e=this.getRangeRecurrenceExceptionForId(t);if(!e)return null;const n=e.recurrenceId,r=e.startDate.subtractDateWithTimezone(n);return r.lock(),this._rangeRecurrenceExceptionItemsDiffCache.set(t,r),r}relateRecurrenceException(t){this._modify();const e=this._getRecurrenceIdKey(t);if(this._recurrenceExceptionItems.set(e,t),t.modifiesFuture()){this._rangeRecurrenceExceptionItems.set(e,t);const n=i.a.helpers.binsearchInsert(this._rangeRecurrenceExceptionItemsIndex,e,(t,e)=>t-e);this._rangeRecurrenceExceptionItemsIndex.splice(n,0,e)}t.recurrenceManager=this}removeRecurrenceException(t){const e=this._getRecurrenceIdKey(t);this.removeRecurrenceExceptionByRecurrenceId(e)}removeRecurrenceExceptionByRecurrenceId(t){this._modify(),this._recurrenceExceptionItems.delete(t),this._rangeRecurrenceExceptionItems.delete(t),this._rangeRecurrenceExceptionItemsDiffCache.delete(t);const e=this._rangeRecurrenceExceptionItemsIndex.indexOf(t);-1!==e&&this._rangeRecurrenceExceptionItemsIndex.splice(e,1)}_getRecurrenceIdKey(t){return t.recurrenceId.unixTime}*getRecurrenceRuleIterator(){for(const t of this._masterItem.getPropertyIterator("RRULE"))yield t.getFirstValue()}getRecurrenceRuleList(){return Array.from(this.getRecurrenceRuleIterator())}addRecurrenceRule(t){this._modify(),this.resetCache();const e=new B("RRULE",t);this._masterItem.addProperty(e)}removeRecurrenceRule(t){this._modify(),this.resetCache();for(const e of this._masterItem.getPropertyIterator("RRULE"))e.getFirstValue()===t&&this._masterItem.deleteProperty(e)}clearAllRecurrenceRules(){this._modify(),this.resetCache(),this._masterItem.deleteAllProperties("RRULE")}*getRecurrenceDateIterator(t=!1,e=null){for(const n of this._getPropertiesForRecurrenceDate(t,e))yield*n.getValueIterator()}listAllRecurrenceDates(t=!1,e=null){return Array.from(this.getRecurrenceDateIterator(t,e))}addRecurrenceDate(t=!1,e){this._modify(),this.resetCache();let n=null;e instanceof F&&!e.isDate&&(n=e.timezoneId);const r=this._getValueTypeByValue(e),i=this._getPropertiesForRecurrenceDate(t,r,n).next.value;if(i instanceof B)i.value.push(e),this.masterItem.markPropertyAsDirty(t?"EXDATE":"RDATE");else{const n=this._getPropertyNameByIsNegative(t),r=new B(n,e);this._masterItem.addProperty(r)}}hasRecurrenceDate(t=!1,e){for(let n of this.getRecurrenceDateIterator(t))if(n instanceof N&&(n=n.start),0===n.compare(e))return!0;return!1}getRecurrenceDate(t=!1,e){for(const n of this.getRecurrenceDateIterator(t)){let t=n;if(t instanceof N&&(t=t.start),0===t.compare(e))return n}return null}removeRecurrenceDate(t=!1,e){this._modify(),th
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class W extends P{toTimezone(){return new K(this.toICALJs())}}H(W.prototype,{name:"timezoneId",iCalendarName:"tzid"});
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class K{constructor(t,e){this._timezoneId=null,this._ics=null,this._innerValue=null,this._initialized=!1,t instanceof i.a.Timezone?(this._innerValue=t,this._initialized=!0):t instanceof i.a.Component?(this._innerValue=new i.a.Timezone(t),this._initialized=!0):(this._timezoneId=t,this._ics=e)}get timezoneId(){return this._initialized?this._innerValue.tzid:this._timezoneId}offsetForArray(t,e,n,r,a,o){this._initialize();const s=new i.a.Time({year:t,month:e,day:n,hour:r,minute:a,second:o,isDate:!1});return this._innerValue.utcOffset(s)}timestampToArray(t){this._initialize();const e=i.a.Time.fromData({year:1970,month:1,day:1,hour:0,minute:0,second:0});e.fromUnixTime(Math.floor(t/1e3));const n=e.convertToZone(this._innerValue);return[n.year,n.month,n.day,n.hour,n.minute,n.second]}toTimezoneComponent(){return W.fromICALJs(this.toICALJs())}toICALTimezone(){return this._initialize(),this._innerValue}toICALJs(){return this._initialize(),this._innerValue.component}_initialize(){if(!this._initialized){const t=i.a.parse(this._ics),e=new i.a.Component(t);this._innerValue=new i.a.Timezone(e),this._initialized=!0}}}K.utc=new K(i.a.Timezone.utcTimezone),K.floating=new K(i.a.Timezone.localTimezone);
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class J extends P{addAttendeeFromNameAndEMail(t,e){const n=Y.fromNameAndEMail(t,e);return this.addProperty(n)}get trigger(){return this.getFirstProperty("TRIGGER")}setTriggerFromAbsolute(t){const e=G.fromAbsolute(t);this.deleteAllProperties("TRIGGER"),this.addProperty(e)}setTriggerFromRelative(t,e=!0){const n=G.fromRelativeAndRelated(t,e);this.deleteAllProperties("TRIGGER"),this.addProperty(n)}}H(J.prototype,"action"),H(J.prototype,"description"),H(J.prototype,"summary"),H(J.prototype,"duration"),H(J.prototype,"repeat"),H(J.prototype,{name:"attachment",iCalendarName:"ATTACH"}),j(J.prototype,"attendee");
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class X extends P{constructor(...t){super(...t),this._primaryItem=null,this._isExactForkOfPrimary=!1,this._originalRecurrenceId=null,this._recurrenceManager=null,this._dirty=!1,this._significantChange=!1,this._cachedId=null}get primaryItem(){return this._primaryItem}set primaryItem(t){this._modify(),this._primaryItem=t}get isExactForkOfPrimary(){return this._isExactForkOfPrimary}set isExactForkOfPrimary(t){this._isExactForkOfPrimary=t}get originalRecurrenceId(){return this._originalRecurrenceId}set originalRecurrenceId(t){this._originalRecurrenceId=t}get recurrenceManager(){return this._recurrenceManager}set recurrenceManager(t){this._recurrenceManager=t}get masterItem(){return this.recurrenceManager.masterItem}isMasterItem(){return this.masterItem===this}get id(){return this._cachedId?this._cachedId:null===this.startDate?(this._cachedId=encodeURIComponent(this.uid),this._cachedId):(this._cachedId=[encodeURIComponent(this.uid),encodeURIComponent(this.getReferenceRecurrenceId().unixTime.toString())].join("###"),this._cachedId)}get uid(){return this.getFirstPropertyFirstValue("UID")}set uid(t){this._recurrenceManager.updateUID(t)}get startDate(){return this.getFirstPropertyFirstValue("dtstart")}set startDate(t){const e=this.startDate;this.updatePropertyWithValue("dtstart",t),this.isMasterItem()&&this._recurrenceManager.updateStartDateOfMasterItem(t,e)}isPartOfRecurrenceSet(){return this.masterItem.isRecurring()}isRecurring(){return this.hasProperty("RRULE")||this.hasProperty("RDATE")}isRecurrenceException(){return this.hasProperty("RECURRENCE-ID")}modifiesFuture(){return!!this.isRecurrenceException()&&"THISANDFUTURE"===this.getFirstProperty("RECURRENCE-ID").getParameterFirstValue("RANGE")}forkItem(t,e=null){const n=this.clone();if(n.recurrenceManager=this.recurrenceManager,n.primaryItem=this,0===n.getReferenceRecurrenceId().compare(t)&&(n.isExactForkOfPrimary=!0),!n.hasProperty("DTSTART"))throw new TypeError("Can't fork item without a DTSTART");if(n.getFirstPropertyFirstValue("DTSTART").timezoneId!==t.timezoneId){const e=n.getFirstPropertyFirstValue("DTSTART").getICALTimezone();t=t.getInICALTimezone(e)}n.originalRecurrenceId=t.clone();const r=n.getFirstPropertyFirstValue("DTSTART");let i,a=null;if(this._recurrenceManager.hasRecurrenceDate(!1,t)){const e=this._recurrenceManager.getRecurrenceDate(!1,t);e instanceof N&&(a=e)}if(n.hasProperty("DTEND")?i=n.getFirstPropertyFirstValue("DTEND").subtractDateWithTimezone(r):n.hasProperty("DUE")&&(i=n.getFirstPropertyFirstValue("DUE").subtractDateWithTimezone(r)),!n.isRecurrenceException()||!n.isExactForkOfPrimary){if(n.updatePropertyWithValue("DTSTART",t.clone()),e&&n.startDate.addDuration(e),n.hasProperty("DTEND")){const t=n.startDate.clone();t.addDuration(i),n.updatePropertyWithValue("DTEND",t)}else if(n.hasProperty("DUE")){const t=n.startDate.clone();t.addDuration(i),n.updatePropertyWithValue("DUE",t)}a&&(n.deleteAllProperties("DTEND"),n.deleteAllProperties("DURATION"),n.updatePropertyWithValue("DTEND",a.end.clone()))}return n.resetDirty(),n}canCreateRecurrenceExceptions(){let t=!1;return this.primaryItem&&this.primaryItem.isRecurring()&&(t=!0),this.isRecurring()||this.modifiesFuture()||!this.isRecurring()&&t}createRecurrenceException(t=!1){if(!this.canCreateRecurrenceExceptions())throw new Error("Can't create recurrence-exceptions for non-recurring items");const e=this.primaryItem;if(t){if(this.isExactForkOfPrimary&&this.primaryItem.isMasterItem())return this._overridePrimaryItem(),[this,this];this.removeThisOccurrence(!0),this.recurrenceManager=new q(this),this._originalRecurrenceId=null,this.primaryItem=this,this.updatePropertyWithValue("UID",Object(a.a)()),this._cachedId=null,this.addRelation("SIBLING",e.uid),e.addRelation("SIBLING",this.uid),this.deleteAllProperties("RECURRENCE-ID"),this.deleteAllProperties("RDATE"),this.deleteAllProperties("EXDATE"),this.updatePropertyWithValue("CREATED",F.fromJSDate($(),!0)),this.updatePropertyWithValue("DTSTAMP",F.fromJSDate($(),!0)),this.updatePropertyWithValue("LAST-MODIFIED",F.fromJSDate($(),!0)),this.updatePropertyWithValue("SEQUENCE
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
return function(t){switch(T(t)){case"VALARM":return J;default:return P}}(t)}static fromICALJs(...t){const e=super.fromICALJs(...t);return e.resetDirty(),e}}var tt,et,nt;
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function rt(t){return t.getFirstPropertyFirstValue("X-NEXTCLOUD-BC-FIELD-TYPE")}H(X.prototype,{name:"stampTime",iCalendarName:"DTSTAMP"}),H(X.prototype,{name:"recurrenceId",iCalendarName:"RECURRENCE-ID"}),H(X.prototype,"color"),H(X.prototype,{name:"creationTime",iCalendarName:"CREATED"}),H(X.prototype,{name:"modificationTime",iCalendarName:"LAST-MODIFIED"}),H(X.prototype,"organizer"),H(X.prototype,"sequence"),H(X.prototype,"status"),H(X.prototype,"url"),H(X.prototype,{name:"title",iCalendarName:"SUMMARY"}),H(X.prototype,{name:"accessClass",iCalendarName:"class",allowedValues:["PUBLIC","PRIVATE","CONFIDENTIAL"],defaultValue:"PUBLIC",unknownValue:"PRIVATE"}),z(X.prototype,{name:"category",pluralName:"categories",iCalendarName:"CATEGORIES"}),j(X.prototype,{name:"attendee"}),j(X.prototype,{name:"attachment",iCalendarName:"ATTACH"}),j(X.prototype,{name:"relation",iCalendarName:"RELATED-TO"}),j(X.prototype,"comment"),j(X.prototype,"contact"),j(X.prototype,"image"),j(X.prototype,{name:"requestStatus",pluralName:"requestStatus",iCalendarName:"REQUEST-STATUS"}),(tt=X.prototype)["get"+d((nt=et="alarm","string"==typeof nt&&(nt={name:nt}),et=Object.assign({},{iCalendarName:"V"+T(nt.name),pluralName:nt.name+"s"},nt)).name)+"Iterator"]=function*(){yield*this.getComponentIterator(et.iCalendarName)},tt["get"+d(et.name)+"List"]=function(){return Array.from(this["get"+d(et.name)+"Iterator"]())},tt["remove"+d(et.name)]=function(t){this.deleteComponent(t)},tt["clearAll"+d(et.pluralName)]=function(){this.deleteAllComponents(et.iCalendarName)};
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class it extends X{isAllDay(){return this.startDate.isDate&&this.endDate.isDate}canModifyAllDay(){return!this.recurrenceManager.masterItem.isRecurring()}get endDate(){if(this.hasProperty("dtend"))return this.getFirstPropertyFirstValue("dtend");const t=this.startDate.clone();return this.hasProperty("duration")?t.addDuration(this.getFirstPropertyFirstValue("duration")):this.startDate.isDate&&t.addDuration(R.fromSeconds(86400)),t}set endDate(t){this.deleteAllProperties("duration"),this.updatePropertyWithValue("dtend",t)}get duration(){return this.hasProperty("duration")?this.getFirstPropertyFirstValue("duration"):this.startDate.subtractDateWithTimezone(this.endDate)}set duration(t){this.deleteAllProperties("dtend"),this.updatePropertyWithValue("duration",t)}setGeographicalPositionFromLatitudeAndLongitude(t,e){this.deleteAllProperties("GEO"),this.addProperty(x.fromPosition(t,e))}addConference(t,e=null,n=null){this._modify(),this.addProperty(I.fromURILabelAndFeatures(t,e,n))}addDurationToStart(t){this.startDate.addDuration(t)}addDurationToEnd(t){const e=this.endDate;e.addDuration(t),this.endDate=e}shiftByDuration(t,e,n,r,i){const a=this.isAllDay();if(a!==e&&!this.canModifyAllDay())throw new TypeError("Can't modify all-day of this event");if(this.startDate.isDate=e,this.startDate.addDuration(t),a&&!e&&(this.startDate.replaceTimezone(n),this.endDate=this.startDate.clone(),this.endDate.addDuration(i)),!a&&e&&(this.endDate=this.startDate.clone(),this.endDate.addDuration(r)),a===e){const e=this.endDate;e.addDuration(t),this.endDate=e}}isBirthdayEvent(){return"BDAY"===rt(this)}getIconForBirthdayEvent(){return function(t){switch(rt(t)){case"BDAY":return"🎂";case"DEATHDATE":return"⚰️";case"ANNIVERSARY":return"💍";default:return null}}(this)}getAgeForBirthdayEvent(){return function(t,e){if(!t.hasProperty("X-NEXTCLOUD-BC-YEAR"))return null;const n=t.getFirstPropertyFirstValue("X-NEXTCLOUD-BC-YEAR");return parseInt(e,10)-parseInt(n,10)}(this,this.startDate.year)}toICSEntireSeries(){return this.root.toICS()}toICSThisOccurrence(){const t=this.clone();return t.deleteAllProperties("RRULE"),t.deleteAllProperties("EXRULE"),t.deleteAllProperties("RDATE"),t.deleteAllProperties("EXDATE"),t.deleteAllProperties("RECURRENCE-ID"),t.root=t.root.constructor.fromEmpty(),t.parent=t.root,t.root.addComponent(t),t.root.toICS()}isInTimeFrame(t,e){return t.compare(this.endDate)<=0&&e.compare(this.startDate)>=0}}H(it.prototype,{name:"timeTransparency",iCalendarName:"TRANSP",allowedValues:["OPAQUE","TRANSPARENT"],defaultValue:"OPAQUE"}),H(it.prototype,"description"),H(it.prototype,{name:"geographicalPosition",iCalendarName:"GEO"}),H(it.prototype,"location"),H(it.prototype,{name:"priority",allowedValues:Array(9).keys(),defaultValue:0,unknownValue:0}),z(it.prototype,{name:"resource",iCalendarName:"RESOURCES"}),j(it.prototype,"conference");
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class at extends P{get startDate(){return this.getFirstPropertyFirstValue("DTSTART")}set startDate(t){this._modify(),this.updatePropertyWithValue("DTSTART",t.getInTimezone(K.utc))}get endDate(){return this.getFirstPropertyFirstValue("DTEND")}set endDate(t){this._modify(),this.updatePropertyWithValue("DTEND",t.getInTimezone(K.utc))}*getFreeBusyIterator(){yield*this.getPropertyIterator("FREEBUSY")}addAttendeeFromNameAndEMail(t,e){this._modify(),this.addProperty(Y.fromNameAndEMail(t,e))}setOrganizerFromNameAndEMail(t,e){this._modify(),this.deleteAllProperties("ORGANIZER"),this.addProperty(Y.fromNameAndEMail(t,e,!0))}}H(at.prototype,"organizer"),H(at.prototype,"uid"),j(at.prototype,"attendee");
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class ot extends X{addDescription(t){this.addProperty(new k("DESCRIPTION",t))}}j(ot.prototype,"description");
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class st extends X{isAllDay(){const t=["DTSTART","DUE"];for(const e of t)if(this.hasProperty(e))return this.getFirstPropertyFirstValue(e).isDate;return!0}canModifyAllDay(){return!(!this.hasProperty("dtstart")&&!this.hasProperty("due")||this.recurrenceManager.masterItem.isRecurring())}get endDate(){if(this.hasProperty("due"))return this.getFirstPropertyFirstValue("due");if(!this.hasProperty("dtstart")||!this.hasProperty("duration"))return null;const t=this.startDate.clone();return t.addDuration(this.getFirstPropertyFirstValue("duration")),t}shiftByDuration(t,e,n,r,i){const a=this.isAllDay();if(!this.hasProperty("dtstart")&&!this.hasProperty("due"))throw new TypeError("This task does not have a start-date nor due-date");if(a!==e&&!this.canModifyAllDay())throw new TypeError("Can't modify all-day of this todo");this.hasProperty("dtstart")&&(this.startDate.isDate=e,this.startDate.addDuration(t),a&&!e&&this.startDate.replaceTimezone(n)),this.hasProperty("due")&&(this.dueTime.isDate=e,this.dueTime.addDuration(t),a&&!e&&this.dueTime.replaceTimezone(n))}isInTimeFrame(t,e){return!this.hasProperty("dtstart")&&!this.hasProperty("due")||(!this.hasProperty("dtstart")&&this.hasProperty("due")?t.compare(this.endDate)<=0:t.compare(this.endDate)<=0&&e.compare(this.startDate)>=0)}get geographicalPosition(){return this.getFirstProperty("GEO")}setGeographicalPositionFromLatitudeAndLongitude(t,e){this.deleteAllProperties("GEO"),this.addProperty(x.fromPosition(t,e))}addConference(t,e=null,n=null){this.addProperty(I.fromURILabelAndFeatures(t,e,n))}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function lt(t){switch(T(t)){case"VEVENT":return it;case"VFREEBUSY":return at;case"VJOURNAL":return ot;case"VTIMEZONE":return W;case"VTODO":return st;default:return P}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/H(st.prototype,{name:"completedTime",iCalendarName:"COMPLETED"}),H(st.prototype,{name:"dueTime",iCalendarName:"DUE"}),H(st.prototype,{name:"duration"}),H(st.prototype,{name:"percent",iCalendarName:"PERCENT-COMPLETE"}),H(st.prototype,"description"),H(st.prototype,"location"),H(st.prototype,{name:"priority",allowedValues:Array.from(Array(10).keys()),defaultValue:0,unknownValue:0}),z(st.prototype,{name:"resource",iCalendarName:"RESOURCES"}),j(st.prototype,"conference");class ut extends P{constructor(t="VCALENDAR",e=[],n=[]){super(t,e,n),this.root=this,this.parent=null}*getTimezoneIterator(){yield*this.getComponentIterator("vtimezone")}*getVObjectIterator(){yield*this.getEventIterator(),yield*this.getJournalIterator(),yield*this.getTodoIterator()}*getEventIterator(){yield*this.getComponentIterator("vevent")}*getFreebusyIterator(){yield*this.getComponentIterator("vfreebusy")}*getJournalIterator(){yield*this.getComponentIterator("vjournal")}*getTodoIterator(){yield*this.getComponentIterator("vtodo")}static _getConstructorForComponentName(t){return lt(t)}toICS(t=!0){for(const t of this.getVObjectIterator())t.undirtify();const e=this.toICALJs();return t&&i.a.helpers.updateTimezones(e),e.toString()}static fromEmpty(t=[]){return new this("VCALENDAR",[["prodid",h("PRODID","-//IDN georgehrke.com//calendar-js//EN")],["calscale","GREGORIAN"],["version","2.0"]].concat(t))}static fromMethod(t){return this.fromEmpty([["method",t]])}static fromICALJs(t){const e=super.fromICALJs(t);return e.root=e,e}}H(ut.prototype,{name:"productId",iCalendarName:"PRODID"}),H(ut.prototype,{name:"version"}),H(ut.prototype,{name:"calendarScale",iCalendarName:"CALSCALE",defaultValue:"GREGORIAN"}),H(ut.prototype,{name:"method"});
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class ct{constructor(){if(new.target===ct)throw new TypeError("Cannot instantiate abstract class AbstractRepairStep")}repair(t){throw new TypeError("Abstract method not implemented by subclass")}static priority(){return 0}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class Tt extends ct{repair(t){return t.replace(/^BEGIN:(VEVENT|VTODO|VJOURNAL)$(((?!^END:(VEVENT|VTODO|VJOURNAL)$)(?!^UID.*$)(.|\n))*)^END:(VEVENT|VTODO|VJOURNAL)$\n/gm,(t,e,n)=>"BEGIN:"+e+"\r\nUID:"+Object(a.a)()+n+"END:"+e+"\r\n")}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class dt extends ct{repair(t){return t.replace(/^(DTSTART|DTEND)(.*):([0-9]{8})T(::)$/gm,(t,e,n,r)=>e+";VALUE=DATE:"+r)}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class At extends ct{repair(t){return t.replace(/^(DTSTART|DTEND)(((?!VALUE=DATE).)*):([0-9]{8})$/gm,(t,e,n,r,i)=>e+n+";VALUE=DATE:"+i)}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class pt extends ct{repair(t){return t.replace(/^TRIGGER:P$/gm,"TRIGGER:P0D").replace(/^TRIGGER:-P$/gm,"TRIGGER:P0D")}}
/**
* @copyright Copyright (c) 2020 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class ft extends ct{repair(t){return t.replace(/^CREATED:00001231T000000Z$/gm,"CREATED:19700101T000000Z")}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class ht extends ct{repair(t){let e=!1,n=!1,r=!1;const i=new Set;return t.replace(/^END:VCALENDAR$(((?!^BEGIN:)(.|\n))*)^BEGIN:VCALENDAR$\n/gm,"").replace(/^PRODID:(.*)$\n/gm,t=>e?"":(e=!0,t)).replace(/^VERSION:(.*)$\n/gm,t=>n?"":(n=!0,t)).replace(/^CALSCALE:(.*)$\n/gm,t=>r?"":(r=!0,t)).replace(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\n))*)^END:VTIMEZONE$\n/gm,t=>{const e=t.match(/^TZID:(.*)$/gm);if(null===e)return"";const n=T(e[0].substr(5));return i.has(n)?"":(i.add(n),t)})}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class Et extends ct{repair(t){return t.replace(/(^.*)(;X-NC-GROUP-ID=\d+)(:.*$)/gm,"$1$3")}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/var mt={version:"2.2019c",aliases:{"AUS Central Standard Time":{aliasTo:"Australia/Darwin"},"AUS Eastern Standard Time":{aliasTo:"Australia/Sydney"},"Afghanistan Standard Time":{aliasTo:"Asia/Kabul"},"Africa/Asmera":{aliasTo:"Africa/Asmara"},"Africa/Timbuktu":{aliasTo:"Africa/Bamako"},"Alaskan Standard Time":{aliasTo:"America/Anchorage"},"America/Argentina/ComodRivadavia":{aliasTo:"America/Argentina/Catamarca"},"America/Buenos_Aires":{aliasTo:"America/Argentina/Buenos_Aires"},"America/Louisville":{aliasTo:"America/Kentucky/Louisville"},"America/Montreal":{aliasTo:"America/Toronto"},"America/Santa_Isabel":{aliasTo:"America/Tijuana"},"Arab Standard Time":{aliasTo:"Asia/Riyadh"},"Arabian Standard Time":{aliasTo:"Asia/Dubai"},"Arabic Standard Time":{aliasTo:"Asia/Baghdad"},"Argentina Standard Time":{aliasTo:"America/Argentina/Buenos_Aires"},"Asia/Calcutta":{aliasTo:"Asia/Kolkata"},"Asia/Katmandu":{aliasTo:"Asia/Kathmandu"},"Asia/Rangoon":{aliasTo:"Asia/Yangon"},"Asia/Saigon":{aliasTo:"Asia/Ho_Chi_Minh"},"Atlantic Standard Time":{aliasTo:"America/Halifax"},"Atlantic/Faeroe":{aliasTo:"Atlantic/Faroe"},"Atlantic/Jan_Mayen":{aliasTo:"Europe/Oslo"},"Azerbaijan Standard Time":{aliasTo:"Asia/Baku"},"Azores Standard Time":{aliasTo:"Atlantic/Azores"},"Bahia Standard Time":{aliasTo:"America/Bahia"},"Bangladesh Standard Time":{aliasTo:"Asia/Dhaka"},"Belarus Standard Time":{aliasTo:"Europe/Minsk"},"Canada Central Standard Time":{aliasTo:"America/Regina"},"Cape Verde Standard Time":{aliasTo:"Atlantic/Cape_Verde"},"Caucasus Standard Time":{aliasTo:"Asia/Yerevan"},"Cen. Australia Standard Time":{aliasTo:"Australia/Adelaide"},"Central America Standard Time":{aliasTo:"America/Guatemala"},"Central Asia Standard Time":{aliasTo:"Asia/Almaty"},"Central Brazilian Standard Time":{aliasTo:"America/Cuiaba"},"Central Europe Standard Time":{aliasTo:"Europe/Budapest"},"Central European Standard Time":{aliasTo:"Europe/Warsaw"},"Central Pacific Standard Time":{aliasTo:"Pacific/Guadalcanal"},"Central Standard Time":{aliasTo:"America/Chicago"},"Central Standard Time (Mexico)":{aliasTo:"America/Mexico_City"},"China Standard Time":{aliasTo:"Asia/Shanghai"},"E. Africa Standard Time":{aliasTo:"Africa/Nairobi"},"E. Australia Standard Time":{aliasTo:"Australia/Brisbane"},"E. South America Standard Time":{aliasTo:"America/Sao_Paulo"},"Eastern Standard Time":{aliasTo:"America/New_York"},"Egypt Standard Time":{aliasTo:"Africa/Cairo"},"Ekaterinburg Standard Time":{aliasTo:"Asia/Yekaterinburg"},"Etc/GMT":{aliasTo:"UTC"},"Etc/GMT+0":{aliasTo:"UTC"},"Etc/UCT":{aliasTo:"UTC"},"Etc/UTC":{aliasTo:"UTC"},"Etc/Unversal":{aliasTo:"UTC"},"Etc/Zulu":{aliasTo:"UTC"},"Europe/Belfast":{aliasTo:"Europe/London"},"FLE Standard Time":{aliasTo:"Europe/Kiev"},"Fiji Standard Time":{aliasTo:"Pacific/Fiji"},GMT:{aliasTo:"UTC"},"GMT Standard Time":{aliasTo:"Europe/London"},"GMT+0":{aliasTo:"UTC"},GMT0:{aliasTo:"UTC"},"GTB Standard Time":{aliasTo:"Europe/Bucharest"},"Georgian Standard Time":{aliasTo:"Asia/Tbilisi"},"Greenland Standard Time":{aliasTo:"America/Godthab"},Greenwich:{aliasTo:"UTC"},"Greenwich Standard Time":{aliasTo:"Atlantic/Reykjavik"},"Hawaiian Standard Time":{aliasTo:"Pacific/Honolulu"},"India Standard Time":{aliasTo:"Asia/Calcutta"},"Iran Standard Time":{aliasTo:"Asia/Tehran"},"Israel Standard Time":{aliasTo:"Asia/Jerusalem"},"Jordan Standard Time":{aliasTo:"Asia/Amman"},"Kaliningrad Standard Time":{aliasTo:"Europe/Kaliningrad"},"Korea Standard Time":{aliasTo:"Asia/Seoul"},"Libya Standard Time":{aliasTo:"Africa/Tripoli"},"Line Islands Standard Time":{aliasTo:"Pacific/Kiritimati"},"Magadan Standard Time":{aliasTo:"Asia/Magadan"},"Mauritius Standard Time":{aliasTo:"Indian/Mauritius"},"Middle East Standard Time":{aliasTo:"Asia/Beirut"},"Montevideo Standard Time":{aliasTo:"America/Montevideo"},"Morocco Standard Time":{aliasTo:"Africa/Casablanca"},"Mountain Standard Time":{aliasTo:"America/Denver"},"Mountain Standard Time (Mexico)":{aliasTo:"America/Chihuahua"},"Myanmar Standard Time":{aliasTo:"Asia/Rangoon"},"N. Central Asia Standard Time":{aliasTo:"Asia/Novosibirsk"},"Nami
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class Dt{constructor(){this._aliases=new Map,this._timezones=new Map}getTimezoneForId(t){return this._getTimezoneForIdRec(t,0)}_getTimezoneForIdRec(t,e){if(this._timezones.has(t))return this._timezones.get(t);if(e>=20)return console.error("TimezoneManager.getTimezoneForIdRec() exceeds recursion limits"),null;if(this._aliases.has(t)){const n=this._aliases.get(t);return this._getTimezoneForIdRec(n,e+1)}return null}hasTimezoneForId(t){return this._timezones.has(t)||this._aliases.has(t)}isAlias(t){return!this._timezones.has(t)&&this._aliases.has(t)}listAllTimezones(t=!1){const e=Array.from(this._timezones.keys());return t?e.concat(Array.from(this._aliases.keys())):e}registerTimezone(t){this._timezones.set(t.timezoneId,t)}registerDefaultTimezones(){console.debug(`@nextcloud/calendar-js app is using version ${mt.version} of the timezone database`);for(const t in mt.zones)if(Object.prototype.hasOwnProperty.call(mt.zones,[t])){const e=["BEGIN:VTIMEZONE","TZID:"+t,...mt.zones[t].ics,"END:VTIMEZONE"].join("\r\n");this.registerTimezoneFromICS(t,e)}for(const t in mt.aliases)Object.prototype.hasOwnProperty.call(mt.aliases,[t])&&this.registerAlias(t,mt.aliases[t].aliasTo)}registerTimezoneFromICS(t,e){const n=new K(t,e);this.registerTimezone(n)}registerAlias(t,e){this._aliases.set(t,e)}unregisterTimezones(t){this._timezones.delete(t)}unregisterAlias(t){this._aliases.delete(t)}clearAllTimezones(){this._aliases=new Map,this._timezones=new Map,St.registerTimezone(K.utc),St.registerTimezone(K.floating),St.registerAlias("GMT",K.utc.timezoneId),St.registerAlias("Z",K.utc.timezoneId)}}const St=new Dt;function gt(){return St}function Rt(t){const e=-1!==t.indexOf("/"),n=-1!==t.indexOf(" "),r=t.startsWith("Etc"),i=t.startsWith("US/");return e&&!n&&!r&&!i}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/St.clearAllTimezones();class Ft extends o{constructor(...t){super(...t),this._rawData=null,this._calendarComponent=null,this._containsVEvents=!1,this._containsVJournals=!1,this._containsVTodos=!1,this._containsVFreeBusy=!1,this._items=new Map,this._masterItems=new Map,this._recurrenceExceptionItems=new Map,this._forgedMasterItems=new Map,this._timezones=new Map,this._requiredTimezones=new Map,this._defaultTimezoneManager=gt()}parse(t){this._rawData=t,this._applyRepairSteps(),this._extractTimezones(),this._registerTimezones(),this._createCalendarComponent(),this._getOption("extractGlobalProperties",!1)&&this._extractProperties(),this._processVObjects(),this._getOption("processFreeBusy",!1)&&this._processVFreeBusy()}*getItemIterator(){for(const t of this._items.values()){const e=ut.fromEmpty();this._getOption("includeTimezones",!1)&&this._addRequiredTimezonesToCalendarComp(e,t[0].uid),this._calendarComponent.hasProperty("PRODID")&&(e.deleteAllProperties("PRODID"),e.addProperty(this._calendarComponent.getFirstProperty("PRODID").clone())),this._getOption("preserveMethod",!1)&&this._calendarComponent.hasProperty("METHOD")&&(e.deleteAllProperties("METHOD"),e.addProperty(this._calendarComponent.getFirstProperty("METHOD").clone()));for(const n of t)e.addComponent(n);yield e}}containsVEvents(){return this._containsVEvents}containsVJournals(){return this._containsVJournals}containsVTodos(){return this._containsVTodos}containsVFreeBusy(){return this._containsVFreeBusy}getItemCount(){return Array.from(this._items.keys()).length}_applyRepairSteps(){for(const t of function*(){yield Tt,yield dt,yield At,yield pt,yield ft,yield ht,yield Et}()){const e=new t;this._rawData=e.repair(this._rawData)}}_createCalendarComponent(){const t=i.a.parse(this._rawData),e=new i.a.Component(t);this._calendarComponent=ut.fromICALJs(e)}_extractProperties(){this._extractPropertyAndPutResultIntoVariable(["name","x-wr-calname"],"_name"),this._extractPropertyAndPutResultIntoVariable(["color","x-apple-calendar-color"],"_color"),this._extractPropertyAndPutResultIntoVariable(["source"],"_sourceURL"),this._extractPropertyAndPutResultIntoVariable(["refresh-interval","x-published-ttl"],"_refreshInterval"),this._extractPropertyAndPutResultIntoVariable(["x-wr-timezone"],"_calendarTimezone")}_extractPropertyAndPutResultIntoVariable(t,e){for(const n of t)if(this._calendarComponent.hasProperty(n))return void(this[e]=this._calendarComponent.getFirstPropertyFirstValue(n))}_extractTimezones(){const t=this._rawData.match(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\n))*)^END:VTIMEZONE$\n/gm);if(t)for(const e of t){const t=e.match(/^TZID:(.*)$/gm);if(!t)continue;const n=t[0].substr(5),r=new K(n,e);this._timezones.set(n,r)}}_registerTimezones(){for(const[t,e]of this._timezones)this._defaultTimezoneManager.hasTimezoneForId(t)||this._defaultTimezoneManager.registerTimezone(e)}_processVObjects(){for(const t of this._calendarComponent.getVObjectIterator()){this._addItem(t),this._markCompTypeAsSeen(t.name),t.isRecurrenceException()?this._addRecurrenceException(t):(t.recurrenceManager=new q(t),this._masterItems.set(t.uid,t));for(const e of t.getPropertyIterator())for(const n of e.getValueIterator())n instanceof F&&n.timezoneId&&this._addRequiredTimezone(t.uid,n.timezoneId);for(const e of t.getAlarmIterator())for(const n of e.getPropertyIterator())for(const e of n.getValueIterator())e instanceof F&&e.timezoneId&&this._addRequiredTimezone(t.uid,e.timezoneId);if(this._getOption("removeRSVPForAttendees",!1))for(const e of t.getAttendeeIterator())e.deleteParameter("RSVP")}for(const t of this._recurrenceExceptionItems.values())for(const e of t){if(this._masterItems.has(e.uid)){const t=this._masterItems.get(e.uid);t.isRecurring()||this._forgedMasterItems.set(t.uid,t)}else{const t=new(lt(e.name))(e.name,[["UID",e.uid],["DTSTAMP",e.stampTime.clone()],["DTSTART",e.recurrenceId.clone()]]);t.recurrenceManager=new q(t),this._forgedMasterItems.set(e.uid,t),this._masterItems.set(e.uid,t),this._addItem(t)}this._forgedMasterItems.has(e.uid)&&this._forgedMasterItems.get(e.uid).recurrenceManager.ad
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class Nt{constructor(){this._parsers=[]}getAllSupportedFileTypes(){return this._parsers.reduce((t,e)=>t.concat(e.getMimeTypes()),[])}getParserForFileType(t,e){const n=this._parsers.find(e=>e.getMimeTypes().includes(t));if(!n)throw new TypeError("Unknown file-type.");return new n(e)}registerParser(t){this._parsers.push(t)}}function Ot(){const t=new Nt;return t.registerParser(Ft),t}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class vt{constructor(t){this._timezoneManager=t}has(t){return this._timezoneManager.hasTimezoneForId(t)}get(t){const e=this._timezoneManager.getTimezoneForId(t);if(e)return e.toICALTimezone()}register(){throw new TypeError("Not allowed to register new timezone")}remove(){throw new TypeError("Not allowed to remove timezone")}reset(){throw new TypeError("Not allowed to reset TimezoneService")}}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/class bt extends Error{}
/**
* @copyright Copyright (c) 2021 Christoph Wurst
*
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function yt(t=[],e=[],n="Global"){const r={},i=[];for(const e of t){const t=e.split("/");let[i,a]=[t.shift(),t.join("/")];a||(a=i,i=n),r[i]=r[i]||{continent:i,regions:[]},r[i].regions.push({label:Ct(a),cities:[],timezoneId:e})}for(const t of e){const{continent:e,label:n,timezoneId:i}=t;r[e]=r[e]||{continent:e,regions:[]},r[e].regions.push({label:n,cities:[],timezoneId:i})}for(const t in r)Object.prototype.hasOwnProperty.call(r,t)&&(r[t].regions.sort((t,e)=>t.label<e.label?-1:1),i.push(r[t]));return i.sort((t,e)=>t.continent<e.continent?-1:1),i}function Ct(t){return t.split("_").join(" ").replace("St ","St. ").split("/").join(" - ")}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @author Richard Steinmetz <richard@steinmetz.cloud>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function*Bt(t,e,n){const r=Ot().getParserForFileType("text/calendar");r.parse(t);const i=r.getItemIterator().next().value;if(void 0===i)return;const a=i.getVObjectIterator().next().value;void 0!==a&&(yield*a.recurrenceManager.getAllOccurrencesBetweenIterator(e,n))}function Mt(t,e){const n=ut.fromEmpty(),r=new it("VEVENT");return r.updatePropertyWithValue("CREATED",F.fromJSDate($(),!0)),r.updatePropertyWithValue("DTSTAMP",F.fromJSDate($(),!0)),r.updatePropertyWithValue("LAST-MODIFIED",F.fromJSDate($(),!0)),r.updatePropertyWithValue("SEQUENCE",0),r.updatePropertyWithValue("UID",Object(a.a)()),r.updatePropertyWithValue("DTSTART",t),r.updatePropertyWithValue("DTEND",e),n.addComponent(r),r.recurrenceManager=new q(r),n}function Yt(t,e,n,r){const i=ut.fromMethod("REQUEST"),o=new at("VFREEBUSY");o.updatePropertyWithValue("DTSTAMP",F.fromJSDate($(),!0)),o.updatePropertyWithValue("UID",Object(a.a)()),o.updatePropertyWithValue("DTSTART",t.clone().getInUTC()),o.updatePropertyWithValue("DTEND",e.clone().getInUTC()),o.addProperty(n.clone());for(const t of r){const e=t.clone();e.deleteParameter("ROLE"),e.deleteParameter("CUTYPE"),e.deleteParameter("RSVP"),e.deleteParameter("PARTSTAT"),e.deleteParameter("REQUEST-STATUS"),e.deleteParameter("LANGUAGE"),o.addProperty(e)}return i.addComponent(o),i}i.a.TimezoneService instanceof vt||(i.a.TimezoneService=new vt(gt()))},function(t,e,n){"use strict";function r(t){return"[object Error]"===(e=t,Object.prototype.toString.call(e))||t instanceof Error;var e}Object.defineProperty(e,"__esModule",{value:!0}),e.isError=e.inherit=e.assertError=void 0,e.assertError=function(t){if(!r(t))throw new Error("Parameter was not an error")},e.inherit=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})},e.isError=r},function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.parseDigestAuth=e.generateDigestAuthHeader=e.createDigestContext=void 0;var i=r(n(127)),a=n(471);e.createDigestContext=function(t,e){return{username:t,password:e,nc:0,algorithm:"md5",hasDigestAuth:!1}},e.generateDigestAuthHeader=function(t,e){var n=t.url.replace("//",""),r=-1==n.indexOf("/")?"/":n.slice(n.indexOf("/")),o=t.method?t.method.toUpperCase():"GET",s=!!/(^|,)\s*auth\s*($|,)/.test(e.qop)&&"auth",l=("00000000"+e.nc).slice(-8),u=a.ha1Compute(e.algorithm,e.username,e.realm,e.password,e.nonce,e.cnonce),c=i.default(o+":"+r),T=s?i.default(u+":"+e.nonce+":"+l+":"+e.cnonce+":"+s+":"+c):i.default(u+":"+e.nonce+":"+c),d={username:e.username,realm:e.realm,nonce:e.nonce,uri:r,qop:s,response:T,nc:l,cnonce:e.cnonce,algorithm:e.algorithm,opaque:e.opaque},A=[];for(var p in d)d[p]&&("qop"===p||"nc"===p||"algorithm"===p?A.push(p+"="+d[p]):A.push(p+'="'+d[p]+'"'));return"Digest "+A.join(", ")},e.parseDigestAuth=function(t,e){var n=t.headers["www-authenticate"]||"";if("digest"!==n.split(/\s/)[0].toLowerCase())return!1;for(var r=/([a-z0-9_-]+)=(?:"([^"]+)"|([a-z0-9_-]+))/gi;;){var i=r.exec(n);if(!i)break;e[i[1]]=i[2]||i[3]}return e.nc+=1,e.cnonce=function(){for(var t="",e=0;e<32;++e)t=""+t+"abcdef0123456789"[Math.floor(Math.random()*"abcdef0123456789".length)];return t}(),!0}},function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.getPatcher=void 0;var i=r(n(477)),a=null;e.getPatcher=function(){return a||(a=new i.default),a}},function(t,e,n){"use strict";const r=n(487),i=n(130),a=n(130),o=n(31).buildOptions,s=n(489);e.parse=function(t,e,n){if(n){!0===n&&(n={});const e=s.validate(t,n);if(!0!==e)throw Error(e.err.msg)}e=o(e,a.defaultOptions,a.props);const l=i.getTraversalObj(t,e);return r.convertToJson(l,e)},e.convertTonimn=n(490).convert2nimn,e.getTraversalObj=i.getTraversalObj,e.convertToJson=r.convertToJson,e.convertToJsonString=n(491).convertToJsonString,e.validate=s.validate,e.j2xParser=n(492),e.parseToNimn=function(t,n,r){return e.convertTonimn(e.getTraversalObj(
/**
* @license nested-property https://github.com/cosmosio/nested-property
*
* The MIT License (MIT)
*
* Copyright (c) 2014-2020 Olivier Scherrer <pode.fr@gmail.com>
*/function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function a(t){var e="function"==typeof Map?new Map:void 0;return(a=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return o(t,arguments,u(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),l(r,t)})(t)}function o(t,e,n){return(o=s()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&l(i,n.prototype),i}).apply(null,arguments)}function s(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function l(t,e){return(l=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function u(t){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var c=function(t){function e(t){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=i(this,u(e).call(this,t))).name="ObjectPrototypeMutationError",n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&l(t,e)}(e,t),e}(a(Error));function T(t,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},i=e.split("."),a=i.length,o=function(e){var r=i[e];if(!t)return{v:void 0};if("+"===r){if(Array.isArray(t))return{v:t.map((function(r,a){var o=i.slice(e+1);return o.length>0?T(r,o.join("."),n):n(t,a,i,e)}))};var a=i.slice(0,e).join(".");throw new Error("Object at wildcard (".concat(a,") is not an array"))}t=n(t,r,i,e)},s=0;s<a;s++){var l=o(s);if("object"===r(l))return l.v}return t}function d(t,e){return t.length===e+1}t.exports={set:function(t,e,n){if("object"!=r(t)||null===t)return t;if(void 0===e)return t;if("number"==typeof e)return t[e]=n,t[e];try{return T(t,e,(function(t,e,r,i){if(t===Reflect.getPrototypeOf({}))throw new c("Attempting to mutate Object.prototype");if(!t[e]){var a=Number.isInteger(Number(r[i+1])),o="+"===r[i+1];t[e]=a||o?[]:{}}return d(r,i)&&(t[e]=n),t[e]}))}catch(e){if(e instanceof c)throw e;return t}},get:function(t,e){if("object"!=r(t)||null===t)return t;if(void 0===e)return t;if("number"==typeof e)return t[e];try{return T(t,e,(function(t,e){return t[e]}))}catch(e){return t}},has:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=r(t)||null===t)return!1;if(void 0===e)return!1;if("number"==typeof e)return e in t;try{var i=!1;return T(t,e,(function(t,e,r,a){if(!d(r,a))return t&&t[e];i=n.own?t.hasOwnProperty(e):e in t})),i}catch(t){return!1}},hasOwn:function(t,e,n){return this.has(t,e,n||{own:!0})},isIn:function(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=r(t)||null===t)return!1;if(void 0===e)return!1;try{var a=!1,o=!1;return T(t,e,(function(t,e,i,s){return a=a||t===n||!!t&&t[e]===n,o=d(i,s)&&"object"===r(t)&&e in t,t&&t[e]})),i.validPath?a&&o:a}catch(t){return!1}},ObjectPrototypeMutationError:c}},function(t,e,n){t.exports=i;var r=n(219).EventEmitter;function i(){r.call(this)}n(69)(i,r),i.Readable=n(220),i.Writable=n(503),i.Duplex=n(504),i.Transform=n(505),i.PassThrough=n(506),i.Stream=i,i.prototype.pipe=function(t,e){var n=th
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
var r=n(495),i=n(496),a=n(497);function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(o()<e)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=l.prototype:(null===t&&(t=new l(e)),t.length=e),t}function l(t,e,n){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return new l(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return T(this,t)}return u(this,t,e,n)}function u(t,e,n,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r);l.TYPED_ARRAY_SUPPORT?(t=e).__proto__=l.prototype:t=d(t,e);return t}(t,e,n,r):"string"==typeof e?function(t,e,n){"string"==typeof n&&""!==n||(n="utf8");if(!l.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(e,n),i=(t=s(t,r)).write(e,n);i!==r&&(t=t.slice(0,i));return t}(t,e,n):function(t,e){if(l.isBuffer(e)){var n=0|A(e.length);return 0===(t=s(t,n)).length||e.copy(t,0,0,n),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?s(t,0):d(t,e);if("Buffer"===e.type&&a(e.data))return d(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function c(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function T(t,e){if(c(e),t=s(t,e<0?0:0|A(e)),!l.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function d(t,e){var n=e.length<0?0:0|A(e.length);t=s(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function A(t){if(t>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|t}function p(t,e){if(l.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return G(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return U(t).length;default:if(r)return G(t).length;e=(""+e).toLowerCase(),r=!0}}function f(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return C(this,e,n);case"utf8":case"utf-8":return v(this,e,n);case"ascii":return b(this,e,n);case"latin1":case"binary":return y(this,e,n);case"base64":return O(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function h(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function E(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:m(t,e,n,r,i);if("number"==typeof e)return e&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,n,r,i){var a,o=1,s=t.length,l=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"
/**
* @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
r.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data-v-'.concat("16fd49f",'><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'),r.VTooltip.options.defaultHtml=!1,r.VTooltip.options.defaultDelay={show:500,hide:200},e.default=r.VTooltip},function(t,e){t.exports=n(253)},function(t,e,n){"use strict";var r=n(0),i=n.n(r),a=n(1),o=n.n(a)()(i.a);o.push([t.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-16fd49f]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-16fd49f][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-16fd49f][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-16fd49f][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-16fd49f][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-16fd49f][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-16fd49f][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-16fd49f] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-16fd49f] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./index.scss"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"16fd49f\"; @import 'variables'; @import 'material-icons';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\n*\n* Bootstrap v3.3.5 (http://getbootstrap.com)\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-wid
/**
* @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>
*
* @author Marco Ambrosini <marcoambrosini@pm.me>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.default=r.a},function(t,e,n){"use strict";n.r(e);var r=n(6),i=new(n.n(r).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit("changed",t)}},created:function(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});e.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on("changed",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off("changed",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,e){t.exports=n(38)},function(t,e,n){"use strict";n.d(e,"a",(function(){return r.default})),n.d(e,"b",(function(){return i.default})),n.d(e,"c",(function(){return a.default})),n.d(e,"d",(function(){return o.default})),n.d(e,"e",(function(){return A}));var r=n(47),i=n(48),a=n(20),o=n(39),s=n(21),l=n.n(s),u=n(7),c=n(57),T=n(18);function d(t,e,n,r,i,a,o){try{var s=t[a](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}
/**
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/var A={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var r,i,a,o,s,d,A,p,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:if(r=Object(c.getCapabilities)(),Object.prototype.hasOwnProperty.call(r,"user_status")&&r.user_status.enabled){e.next=5;break}return e.abrupt("return");case 5:if(Object(T.getCurrentUser)()){e.next=7;break}return e.abrupt("return");case 7:return e.prev=7,e.next=10,l.a.get(Object(u.generateOcsUrl)("apps/user_status/api/v1/statuses/{userId}",{userId:t}));case 10:i=e.sent,a=i.data,o=a.ocs.data,s=o.status,d=o.message,A=o.icon,n.userStatus.status=s,n.userStatus.message=d||"",n.userStatus.icon=A||"",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(p=e.t0.response.data.ocs)||void 0===p||null===(f=p.data)||void 0===f?void 0:f.length)){e.next=23;break}return e.abrupt("return");case 23:console.error(e.t0);case 24:case"end":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(t){d(a,r,i,o,s,"next",t)}function s(t){d(a,r,i,o,s,"throw",t)}o(void 0)}))})()}}};
/**
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/},function(t,e){t.exports=n(262)},function(t,e,n){"use strict";var r=n(0),i=n.n(r),a=n(1),o=n.n(a)()(i.a);o.push([t.i,".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./MentionBubble.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"16fd49f\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: $bubble-height / 2;\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: $bubble-avatar-size / 2;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put label in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(ti
/**
* @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>
*
* @author Raimund Schlüßler <raimund.schluessler@mailbox.org>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.a=function(t,e){for(var n=[],r=0,i=t.toLowerCase().indexOf(e.toLowerCase(),r),a=0;i>-1&&a<t.length;)r=i+e.length,n.push({start:i,end:r}),i=t.toLowerCase().indexOf(e.toLowerCase(),r),a++;return n}},function(t,e,n){"use strict";n.r(e),n.d(e,"USERID_REGEX",(function(){return E})),n.d(e,"USERID_REGEX_WITH_SPACE",(function(){return m}));var r=n(43),i=n.n(r),a=n(30),o=n(23),s=n.n(o),l=n(6),u=n.n(l),c=n(7),T={name:"MentionBubble",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&"users"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(" ")?"@".concat(this.id):'@"'.concat(this.id,'"')}},methods:{getAvatarUrl:function(t,e){return Object(c.generateUrl)("/avatar/{user}/{size}",{user:t,size:e})}}},d=n(2),A=n.n(d),p=n(24),f=(A()(p.a,{insert:"head",singleton:!1}),p.a.locals,n(3)),h=Object(f.a)(T,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",{staticClass:"mention-bubble",class:{"mention-bubble--primary":t.primary},attrs:{contenteditable:"false"}},[n("span",{staticClass:"mention-bubble__wrapper"},[n("span",{staticClass:"mention-bubble__content"},[n("span",{staticClass:"mention-bubble__icon",class:[t.icon,"mention-bubble__icon--"+(t.avatarUrl?"with-avatar":"")],style:t.avatarUrl?{backgroundImage:"url("+t.avatarUrl+")"}:null}),t._v(" "),n("span",{staticClass:"mention-bubble__title",attrs:{role:"heading",title:t.label}})]),t._v(" "),n("span",{staticClass:"mention-bubble__select",attrs:{role:"none"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,"724f9d58",null).exports,E=new RegExp("".concat("(?:^|\\s)","(@[a-zA-Z0-9_.@\\-']+)(").concat("(?:[^a-z]|$)",")"),"gi"),m=new RegExp("".concat("(?:^|\\s)","(@&quot;[a-zA-Z0-9 _.@\\-']+&quot;)(").concat("(?:[^a-z]|$)",")"),"gi");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return i()(t).split(E).map((function(t){return t.split(m)})).flat().map((function(t){if(!t.startsWith("@"))return Object(a.a)(t);var n=t.replace(/@|&quot;/gi,"");return" "+e.genSelectTemplate(n)})).join("").replace(/\n/gim,"<br>").replace(/&amp;/gim,"&")},parseContent:function(t){var e=t.replace(/<br>/gim,"\n");return e=(e=(e=e.replace(/&nbsp;/gim," ")).replace(/&amp;/gim,"&")).replace(/<\/div>/gim,"\n"),e=s()(e,"<div>"),s()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,h).replace(/[\n\t]/gim,""):-1===t.indexOf(" ")?"@".concat(t):'@"'.concat(t,'"')},renderComponentHtml:function(t,e){var n=new(u.a.extend(e))({propsData:t}),r=document.createElement("div"),i=document.createElement("div");r.style.display="none",r.appendChild(i),document.body.appendChild(r),n.$mount(i);var a=r.innerHTML;return n.$destroy(),r.remove(),a}}}},function(t,e,n){"use strict";n.r(e);var r=n(38);function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s={name:"Highlight",props:{text:{type:String,default:""},search:{type:String,default:""},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?((e=this.highlight.length>0?this.highlight:Object(r.a)(this.text,this.search)).forEach((function(t,n){t.end<t.start&&(e[n]={start:t.end,end:t.start})})),(e=e.reduce((function(e,n){return n.start<t
/**
* @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>
*
* @author Raimund Schlüßler <raimund.schluessler@mailbox.org>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.default=d},function(t,e,n){"use strict";var r=n(0),i=n.n(r),a=n(1),o=n.n(a),s=n(8),l=n.n(s),u=n(50),c=n(51),T=n(52),d=o()(i.a),A=l()(u.a),p=l()(c.a),f=l()(T.a);d.push([t.i,".material-design-icon[data-v-13c68150]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-13c68150]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-13c68150]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-13c68150]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-13c68150]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-13c68150]{cursor:pointer}.avatardiv--with-menu[data-v-13c68150] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-13c68150],.avatardiv--with-menu .icon-loading[data-v-13c68150]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-13c68150]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-13c68150],.avatardiv--with-menu:hover .icon-more[data-v-13c68150]{opacity:1}.avatardiv--with-menu:focus img[data-v-13c68150],.avatardiv--with-menu:hover img[data-v-13c68150]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-13c68150],.avatardiv--with-menu img[data-v-13c68150]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-13c68150]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-13c68150]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-13c68150]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-13c68150]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-13c68150]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-13c68150]{background-image:url("+A+")}.avatardiv .avatardiv__user-status--dnd[data-v-13c68150]{background-image:url("+p+");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-13c68150]{background-image:url("+f+")}.avatardiv .avatardiv__user-status--icon[data-v-13c68150]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-13c68150]{position:relative;display:inline-block}.avatar-class-icon[data-v-13c68150]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Avatar.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB
/**
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function r(t,e,n){this.r=t,this.g=e,this.b=n}function i(t,e,n){var i=[];i.push(e);for(var a=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),o=1;o<t;o++){var s=parseInt(e.r+a[0]*o,10),l=parseInt(e.g+a[1]*o,10),u=parseInt(e.b+a[2]*o,10);i.push(new r(s,l,u))}return i}e.a=function(t){t||(t=6);var e=new r(182,70,157),n=new r(221,203,85),a=new r(0,130,201),o=i(t,e,n),s=i(t,n,a),l=i(t,a,e);return o.concat(s).concat(l)}},function(t,e){},function(t){t.exports=JSON.parse('{"version":"2.2019c","aliases":{"AUS Central Standard Time":{"aliasTo":"Australia/Darwin"},"AUS Eastern Standard Time":{"aliasTo":"Australia/Sydney"},"Afghanistan Standard Time":{"aliasTo":"Asia/Kabul"},"Africa/Asmera":{"aliasTo":"Africa/Asmara"},"Africa/Timbuktu":{"aliasTo":"Africa/Bamako"},"Alaskan Standard Time":{"aliasTo":"America/Anchorage"},"America/Argentina/ComodRivadavia":{"aliasTo":"America/Argentina/Catamarca"},"America/Buenos_Aires":{"aliasTo":"America/Argentina/Buenos_Aires"},"America/Louisville":{"aliasTo":"America/Kentucky/Louisville"},"America/Montreal":{"aliasTo":"America/Toronto"},"America/Santa_Isabel":{"aliasTo":"America/Tijuana"},"Arab Standard Time":{"aliasTo":"Asia/Riyadh"},"Arabian Standard Time":{"aliasTo":"Asia/Dubai"},"Arabic Standard Time":{"aliasTo":"Asia/Baghdad"},"Argentina Standard Time":{"aliasTo":"America/Argentina/Buenos_Aires"},"Asia/Calcutta":{"aliasTo":"Asia/Kolkata"},"Asia/Katmandu":{"aliasTo":"Asia/Kathmandu"},"Asia/Rangoon":{"aliasTo":"Asia/Yangon"},"Asia/Saigon":{"aliasTo":"Asia/Ho_Chi_Minh"},"Atlantic Standard Time":{"aliasTo":"America/Halifax"},"Atlantic/Faeroe":{"aliasTo":"Atlantic/Faroe"},"Atlantic/Jan_Mayen":{"aliasTo":"Europe/Oslo"},"Azerbaijan Standard Time":{"aliasTo":"Asia/Baku"},"Azores Standard Time":{"aliasTo":"Atlantic/Azores"},"Bahia Standard Time":{"aliasTo":"America/Bahia"},"Bangladesh Standard Time":{"aliasTo":"Asia/Dhaka"},"Belarus Standard Time":{"aliasTo":"Europe/Minsk"},"Canada Central Standard Time":{"aliasTo":"America/Regina"},"Cape Verde Standard Time":{"aliasTo":"Atlantic/Cape_Verde"},"Caucasus Standard Time":{"aliasTo":"Asia/Yerevan"},"Cen. Australia Standard Time":{"aliasTo":"Australia/Adelaide"},"Central America Standard Time":{"aliasTo":"America/Guatemala"},"Central Asia Standard Time":{"aliasTo":"Asia/Almaty"},"Central Brazilian Standard Time":{"aliasTo":"America/Cuiaba"},"Central Europe Standard Time":{"aliasTo":"Europe/Budapest"},"Central European Standard Time":{"aliasTo":"Europe/Warsaw"},"Central Pacific Standard Time":{"aliasTo":"Pacific/Guadalcanal"},"Central Standard Time":{"aliasTo":"America/Chicago"},"Central Standard Time (Mexico)":{"aliasTo":"America/Mexico_City"},"China Standard Time":{"aliasTo":"Asia/Shanghai"},"E. Africa Standard Time":{"aliasTo":"Africa/Nairobi"},"E. Australia Standard Time":{"aliasTo":"Australia/Brisbane"},"E. South America Standard Time":{"aliasTo":"America/Sao_Paulo"},"Eastern Standard Time":{"aliasTo":"America/New_York"},"Egypt Standard Time":{"aliasTo":"Africa/Cairo"},"Ekaterinburg Standard Time":{"aliasTo":"Asia/Yekaterinburg"},"Etc/GMT":{"aliasTo":"UTC"},"Etc/GMT+0":{"aliasTo":"UTC"},"Etc/UCT":{"aliasTo":"UTC"},"Etc/UTC":{"aliasTo":"UTC"},"Etc/Unversal":{"aliasTo":"UTC"},"Etc/Zulu":{"aliasTo":"UTC"},"Europe/Belfast":{"aliasTo":"Europe/London"},"FLE Standard Time":{"aliasTo":"Europe/Kiev"},"Fiji Standard Time":{"aliasTo":"Pacific/Fiji"},"GMT":{"aliasTo":"UTC"},"GMT Standard Time":{"aliasTo":"Europe/London"},"GMT+0":{"aliasTo":"UTC"},"GMT0":{"aliasTo":"UTC"},"GTB Standard Time":{"aliasTo":"Europe/Bucharest"},"Georgian Standard Time":{"aliasTo":"Asia/Tbilisi"},"Greenland Standard Time":{"aliasTo":"America/Godthab"},"Greenwich":{"aliasTo":"UTC"},"Greenwich Standard Time":{"aliasTo":"Atlantic/Reykjavik"},"Hawaiian Standard Time":{"aliasTo":"Pacific/Honolulu"},"India Standard Time":{"aliasTo":"Asia/Calcutta"},"Iran Standard Time":{"aliasTo":"Asia/Tehran"},"Israel Standard Time":{"aliasTo":"Asia/Jerusalem"},"Jordan Standard Time":{"aliasTo":"Asia/Amman"},"Kaliningrad Standard Time":{"a
/**
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/n.r(e),e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,i=r(e);try{for(i.s();!(n=i.n()).done;){var a,o=n.value;if(null!=t&&null!==(a=t.classList)&&void 0!==a&&a.contains(o))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){"use strict";n.r(e),
/**
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener("resize",this._onResize)},beforeDestroy:function(){window.removeEventListener("resize",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e){t.exports=n(266)},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="},,function(t,e,n){"use strict";n.r(e);var r={name:"PopoverMenuItem",props:{item:{type:Object,required:!0,default:function(){return{key:"nextcloud-link",href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}},validator:function(t){return!t.input||-1!==["text","checkbox"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=n(2),a=n.n(i),o=n(33),s=(a()(o.a,{insert:"head",singleton:!1}),o.a.locals,n(34)),l=(a()(s.a,{insert:"head",singleton:!1}),s.a.locals,n(3)),u={name:"PopoverMenu",components:{PopoverMenuItem:Object(l.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("li",{staticClass:"popover__menuitem"},[t.item.href?n("a",{staticClass:"focusable",attrs:{href:t.item.href?t.item.href:"#",target:t.item.target?t.item.target:"",download:t.item.download,rel:"noreferrer noopener"},on:{click:t.action}},[t.iconIsUrl?n("img",{attrs:{src:t.item.icon}}):n("span",{class:t.item.icon}),t._v(" "),t.item.text&&t.item.longtext?n("p",[n("strong",{staticClass:"menuitem-text"},[t._v("\n\t\t\t\t"+t._s(t.item.text)+"\n\t\t\t")]),n("br"),t._v(" "),n("span",{staticClass:"menuitem-text-detail"},[t._v("\n\t\t\t\t"+t._s(t.item.longtext)+"\n\t\t\t")])]):t.item.text?n("span",[t._v("\n\t\t\t"+t._s(t.item.text)+"\n\t\t")]):t.item.longtext?n("p",[t._v("\n\t\t\t"+t._s(t.item.longtext)+"\n\t\t")]):t._e()]):t.item.input?n("span",{staticClass:"menuitem",class:{active:t.item.active}},["checkbox"!==t.item.input?n("span",{class:t.item.icon}):t._e(),t._v(" "),"text"===t.item.input?n("form",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n("input",{attrs:{type:t.item.input,placeholder:t.item.text,required:""},domProps:{value:t.item.value}}),t._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]):["checkbox"===t.item.input?n("input",{directives:[{name:"model",rawName:"v-model",value:t.item.model,expression:"item.model"}],class:t.item.input,attrs:{id:
/**
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.default=p},function(t,e,n){"use strict";n.r(e);var r=n(15),i=n.n(r),a=n(27),o=n(7),s=n(49),l=n(18),u=n(16),c=n(21),T=n.n(c),d=n(54),A=n(11),p=n(58),f=n(22),h=n(4),E=n(14);function m(t,e,n,r,i,a,o){try{var s=t[a](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function D(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var a=t.apply(e,n);function o(t){m(a,r,i,o,s,"next",t)}function s(t){m(a,r,i,o,s,"throw",t)}o(void 0)}))}}var S=Object(s.getBuilder)("nextcloud").persist().build();function g(t){var e=S.getItem("user-has-avatar."+t);return"string"==typeof e?Boolean(e):null}function R(t,e){t&&S.setItem("user-has-avatar."+t,e)}var F={name:"Avatar",directives:{tooltip:A.default,ClickOutside:a.directive},components:{DotsHorizontal:i.a,Popover:E.a,PopoverMenu:d.default},mixins:[f.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:"center"},menuContainer:{type:String,default:"body"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(h.b)("Avatar of {displayName}",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&["online","away","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&"dnd"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={"--size":this.size+"px",lineHeight:this.size+"px",fontSize:Math.round(.55*this.size)+"px"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(p.default)(this.getUserIdentifier);t.backgroundColor="rgb("+e.r+", "+e.g+", "+e.b+")"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(" ");""===e?t="?":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,r=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:"#",icon:"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement("p"),n.appendChild(e),n.innerHTML),"</text></svg>"),text:"".concat(this.userStatus.message)}].concat(r):r}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),
/**
* @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.default=M},function(t,e){t.exports=n(127)},function(t,e){t.exports=n(291)},function(t,e,n){"use strict";n.r(e);var r=n(56),i=n.n(r),a=n(44);e.default=function(t){var e=t.toLowerCase();return null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=i()(e)),e=e.replace(/[^0-9a-f]/g,""),Object(a.a)(6)[function(t,e){for(var n=0,r=[],i=0;i<t.length;i++)r.push(parseInt(t.charAt(i),16)%16);for(var a in r)n+=r[a];return parseInt(parseInt(n,10)%18,10)}(e)]}},function(t,e,n){"use strict";
/**
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute("data-v-".concat("16fd49f"),"")}))}},function(t,e,n){"use strict";var r=n(0),i=n.n(r),a=n(1),o=n.n(a)()(i.a);o.push([t.i,".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./ListItemIcon.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"16fd49f\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.option {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\theight: var(--height);\n\n\t&__avatar {\n\t\tmargin-right: var(--margin);\n\t}\n\n\t&__details {\n\t\tdisplay: flex;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tmin-width: 0;\n\t}\n\n\t&__lineone {\n\t\tcolor: var(--color-text-light);\n\t}\n\t&__linetwo {\n\t\topacity: $opacity_normal;\n\t}\n\t&__lineone,\n\t&__linetwo {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tline-height: 1.1em;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tflex: 0 0 $clickable-area;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\topacity: $opacity_disabled;\n\t\tbackground-position: center;\n\t\tbackground-size: 16px;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this
/**
* @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.default=p},function(t,e,n){"use strict";n.r(e);var r=n(59),i=n(66),a=n(2),o=n.n(a),s=n(70);o()(s.a,{insert:"head",singleton:!1}),s.a.locals,
/**
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
Object(r.a)(i.a),e.default=i.a},,function(t,e,n){"use strict";var r=n(0),i=n.n(r),a=n(1),o=n.n(a)()(i.a);o.push([t.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-16fd49f]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-16fd49f]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-16fd49f].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-16fd49f].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-16fd49f].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-16fd49f].multiselect--disabled,.multiselect[data-v-16fd49f].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-16fd49f].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-16fd49f] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__single,.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__single,.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__single *,.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__strong,.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-16fd49f] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-16fd49f] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-16fd49f] .mult
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <oc.list@georgehrke.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function s(t){return t.split("_").join(" ").replace("St ","St. ").split("/").join(" - ")}var l=n(79),u=n(46),c=n(80),T=Object(c.getLoggerBuilder)().detectUser().setApp("@nextcloud/vue").build();function d(t){return function(t){if(Array.isArray(t))return A(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <oc.list@georgehrke.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/var p=Object(l.getTimezoneManager)(),f=!1;function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var E={name:"TimezonePicker",components:{Multiselect:r.default},props:{additionalTimezones:{type:Array,default:function(){return[]}},value:{type:String,default:"floating"}},computed:{placeholder:function(){return Object(i.b)("Type to search time zone")},selectedTimezone:function(){var t,e=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){s=!0,a=t},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(this.additionalTimezones);try{for(e.s();!(t=e.n()).done;){var n=t.value;if(n.timezoneId===this.value)return n}}catch(t){e.e(t)}finally{e.f()}return{label:s(this.value),timezoneId:this.value}},options:function(){return function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r={},o=[],l=a(e);try{for(l.s();!(t=l.n()).done;){var u=t.value,c=u.split("/"),T=[c.shift(),c.join("/")],d=T[0],A=T[1];A||(A=d,d=Object(i.b)("Global")),r[d]=r[d]||{continent:d,regions:[]},r[d].regions.push({label:s(A),cities:[],timezoneId:u})}}catch(t){l.e(t)}finally{l.f()}var p,f=a(n);try{for(f.s();!(p=f.n()).done;){var h=p.value,E=h.continent,m=h.label,D=h.timezoneId;r[E]=r[E]||{continent:E,regions:[]},r[E].regions.push({label:m,cities:[],timezoneId:D})}}catch(t){f.e(t)}finally{f.f()}for(var S in r)Object.prototype.hasOwnProperty.call(r,S)&&(r[S].regions.sort((function(t,e){return t.label<e.label?-1:1})),o.push(r[S]));return o.sort((function(t,e){return t.continent<e.continent?-1:1})),o}((f||function(){for(var t in T.debug("Using version ".concat(u.version," of the timezone database")),u.zones)if(Object.prototype.hasOwnProperty.call(u.zones,[t])){var e=["BEGIN:VTIMEZONE","TZID:"+t].concat(d(u.zones[t].ics),["END:VTIMEZONE"]).join("\r\n");p.registerTimezoneFromICS(t,e)}for(var n in u.aliases)Object.prototype.hasOwnProperty.call(u.aliases,[n])&&p.registerAlias(n,u.aliases[n].aliasTo);f=!0}(),p).listAllTimezones(),this.additionalTimezones)}},methods:{change:function(t){t&&this.$emit("input",t.timezoneId)}}},m=n(2),D=n.n(m),S=n(75),g=(D()(S.a,{insert:"head",singleton:!1}),S.a.locals,n(3)),R=n(76),F=n.n(R),N=Object(g.a)(E,(function(){var t=this.$createElement;return(this._self._c||t)("Multiselect",{attrs:{value:this.selectedTimezone,options:this.options,multiple:!1,"group-select":!1,placeholder:this.placeholder,"group-values":"regions","group-label":"continent","track-by":"timezoneId",label:"label","open-direction":"above"},on:{input:this.change}})}),[],!1,null,"5c87e24c",null);"function"==typeof F.a&&F()(N);var O=N.exports;
/**
* @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
*
* @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/e.default=O},,,,,function(t,e,n){"use strict";n.r(e);var r=n(59),i=n(110),a=n.n(i),o=n(19),s=n(98),l=n(26),u={name:"DatetimePicker",components:{DatePicker:a.a,Popover:o.default,TimezonePicker:s.default},mixins:[l.a],inheritAttrs:!1,props:{clearable:{type:Boolean,default:function(){return!1}},minuteStep:{type:Number,default:function(){return 10}},type:{type:String,default:"date"},format:{type:String,default:function(){var t={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD H:mm:ss",year:"YYYY",month:"YYYY-MM",time:"H:mm:ss",week:"w"};return t[this.type]||t.date}},formatter:{type:Object,default:function(){return null}},value:{default:function(){return new Date}},timezoneId:{type:String,default:"UTC"},showTimezoneSelect:{type:Boolean,default:!1},highlightTimezone:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},showWeekNumber:{type:Boolean,default:!1}},data:function(){return{showTimezonePopover:!1,tzVal:this.timezoneId}},methods:{handleSelectYear:function(t){var e=this.$refs.datepicker.currentValue;if(e)try{var n=new Date(new Date(e).setFullYear(t));this.$refs.datepicker.selectDate(n)}catch(n){console.error("Invalid value",e,t)}},handleSelectMonth:function(t){var e=this.$refs.datepicker.currentValue;if(e)try{var n=new Date(new Date(e).setMonth(t));this.$refs.datepicker.selectDate(n)}catch(n){console.error("Invalid value",e,t)}},toggleTimezonePopover:function(){this.showTimezoneSelect&&(this.showTimezonePopover=!this.showTimezonePopover)}}},c=n(2),T=n.n(c),d=n(81),A=(T()(d.a,{insert:"head",singleton:!1}),d.a.locals,n(3)),p=n(82),f=n.n(p),h=Object(A.a)(u,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("DatePicker",t._g(t._b({ref:"datepicker",attrs:{clearable:t.clearable,"minute-step":t.minuteStep,format:t.format,formatter:t.formatter,type:t.type,value:t.value,"append-to-body":t.appendToBody,"show-week-number":t.showWeekNumber,"popup-class":{"show-week-number":t.showWeekNumber}},on:{"select-year":t.handleSelectYear,"select-month":t.handleSelectMonth,"update:value":function(e){return t.$emit("update:value",t.value)}},scopedSlots:t._u([t.showTimezoneSelect?{key:"icon-calendar",fn:function(){return[n("Popover",{attrs:{open:t.showTimezonePopover,"open-class":"timezone-popover-wrapper"},on:{"update:open":function(e){t.showTimezonePopover=e}},scopedSlots:t._u([{key:"trigger",fn:function(){return[n("button",{staticClass:"datetime-picker-inline-icon icon-timezone icon",class:{"datetime-picker-inline-icon--highlighted":t.highlightTimezone},on:{mousedown:function(t){t.stopPropagation(),t.preventDefault()}}})]},proxy:!0}],null,!1,3073042688)},[t._v(" "),n("div",{staticClass:"timezone-popover-wrapper__title"},[n("strong",[t._v("\n\t\t\t\t\t"+t._s(t.t("Please select a time zone:"))+"\n\t\t\t\t")])]),t._v(" "),n("TimezonePicker",{staticClass:"timezone-popover-wrapper__timezone-select",on:{input:function(e){return t.$emit("update:timezone-id",arguments[0])}},model:{value:t.tzVal,callback:function(e){t.tzVal=e},expression:"tzVal"}})],1)]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}}))],null,!0)},"DatePicker",t.$attrs,!1),t.$listeners))}),[],!1,null,"648ee6ba",null);"function"==typeof f.a&&f()(h);var E=h.exports,m=n(83);T()(m.a,{insert:"head",singleton:!1}),m.a.locals,
/**
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
Object(r.a)(E),e.default=E},,,,,,,function(t,e){t.exports=n(592)},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="}])},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){function n(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}t.exports=function(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){var r=n(190);t.exports=function(t,e){return r(t,e)}},function(t,e,n){"use strict";(function(t){var r;function i(){i.init||(i.init=!0,r=-1!==function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var n=t.indexOf("rv:");return parseInt(t.substring(n+3,t.indexOf(".",n)),10)}var r=t.indexOf("Edge/");return r>0?parseInt(t.substring(r+5,t.indexOf(".",r)),10):-1}())}function a(t,e,n,r,i,a,o,s,l,u){"boolean"!=typeof o&&(l=s,s=o,o=!1);var c,T="function"==typeof n?n.options:n;if(t&&t.render&&(T.render=t.render,T.staticRenderFns=t.staticRenderFns,T._compiled=!0,i&&(T.functional=!0)),r&&(T._scopeId=r),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(a)},T._ssrRegister=c):e&&(c=o?function(t){e.call(this,u(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,s(t))}),c)if(T.functional){var d=T.render;T.render=function(t,e){return c.call(e),d(t,e)}}else{var A=T.beforeCreate;T.beforeCreate=A?[].concat(A,c):[c]}return n}n.d(e,"a",(function(){return l}));var o={name:"Resize
/**
* @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
r.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data-v-'.concat("16fd49f",'><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'),r.VTooltip.options.defaultHtml=!1,r.VTooltip.options.defaultDelay={show:500,hide:200},e.default=r.VTooltip},function(t,e){t.exports=n(253)},function(t,e,n){"use strict";var r=n(0),i=n.n(r),a=n(1),o=n.n(a)()(i.a);o.push([t.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-16fd49f]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-16fd49f][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-16fd49f][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-16fd49f][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-16fd49f][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-16fd49f][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-16fd49f][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-16fd49f] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-16fd49f] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./index.scss"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"16fd49f\"; @import 'variables'; @import 'material-icons';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\n*\n* Bootstrap v3.3.5 (http://getbootstrap.com)\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-wid
/**
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/var A={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var r,i,a,o,s,d,A,p,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:if(r=Object(c.getCapabilities)(),Object.prototype.hasOwnProperty.call(r,"user_status")&&r.user_status.enabled){e.next=5;break}return e.abrupt("return");case 5:if(Object(T.getCurrentUser)()){e.next=7;break}return e.abrupt("return");case 7:return e.prev=7,e.next=10,l.a.get(Object(u.generateOcsUrl)("apps/user_status/api/v1/statuses/{userId}",{userId:t}));case 10:i=e.sent,a=i.data,o=a.ocs.data,s=o.status,d=o.message,A=o.icon,n.userStatus.status=s,n.userStatus.message=d||"",n.userStatus.icon=A||"",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(p=e.t0.response.data.ocs)||void 0===p||null===(f=p.data)||void 0===f?void 0:f.length)){e.next=23;break}return e.abrupt("return");case 23:console.error(e.t0);case 24:case"end":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(t){d(a,r,i,o,s,"next",t)}function s(t){d(a,r,i,o,s,"throw",t)}o(void 0)}))})()}}};
/**
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/},function(t,e){t.exports=n(262)},function(t,e,n){"use strict";var r=n(0),i=n.n(r),a=n(1),o=n.n(a)()(i.a);o.push([t.i,".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./MentionBubble.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"16fd49f\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: $bubble-height / 2;\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: $bubble-avatar-size / 2;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put label in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(ti
/**
* @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>
*
* @author Raimund Schlüßler <raimund.schluessler@mailbox.org>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.a=function(t,e){for(var n=[],r=0,i=t.toLowerCase().indexOf(e.toLowerCase(),r),a=0;i>-1&&a<t.length;)r=i+e.length,n.push({start:i,end:r}),i=t.toLowerCase().indexOf(e.toLowerCase(),r),a++;return n}},function(t,e,n){"use strict";n.r(e),n.d(e,"USERID_REGEX",(function(){return E})),n.d(e,"USERID_REGEX_WITH_SPACE",(function(){return m}));var r=n(43),i=n.n(r),a=n(30),o=n(23),s=n.n(o),l=n(6),u=n.n(l),c=n(7),T={name:"MentionBubble",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&"users"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(" ")?"@".concat(this.id):'@"'.concat(this.id,'"')}},methods:{getAvatarUrl:function(t,e){return Object(c.generateUrl)("/avatar/{user}/{size}",{user:t,size:e})}}},d=n(2),A=n.n(d),p=n(24),f=(A()(p.a,{insert:"head",singleton:!1}),p.a.locals,n(3)),h=Object(f.a)(T,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",{staticClass:"mention-bubble",class:{"mention-bubble--primary":t.primary},attrs:{contenteditable:"false"}},[n("span",{staticClass:"mention-bubble__wrapper"},[n("span",{staticClass:"mention-bubble__content"},[n("span",{staticClass:"mention-bubble__icon",class:[t.icon,"mention-bubble__icon--"+(t.avatarUrl?"with-avatar":"")],style:t.avatarUrl?{backgroundImage:"url("+t.avatarUrl+")"}:null}),t._v(" "),n("span",{staticClass:"mention-bubble__title",attrs:{role:"heading",title:t.label}})]),t._v(" "),n("span",{staticClass:"mention-bubble__select",attrs:{role:"none"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,"724f9d58",null).exports,E=new RegExp("".concat("(?:^|\\s)","(@[a-zA-Z0-9_.@\\-']+)(").concat("(?:[^a-z]|$)",")"),"gi"),m=new RegExp("".concat("(?:^|\\s)","(@&quot;[a-zA-Z0-9 _.@\\-']+&quot;)(").concat("(?:[^a-z]|$)",")"),"gi");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return i()(t).split(E).map((function(t){return t.split(m)})).flat().map((function(t){if(!t.startsWith("@"))return Object(a.a)(t);var n=t.replace(/@|&quot;/gi,"");return" "+e.genSelectTemplate(n)})).join("").replace(/\n/gim,"<br>").replace(/&amp;/gim,"&")},parseContent:function(t){var e=t.replace(/<br>/gim,"\n");return e=(e=(e=e.replace(/&nbsp;/gim," ")).replace(/&amp;/gim,"&")).replace(/<\/div>/gim,"\n"),e=s()(e,"<div>"),s()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,h).replace(/[\n\t]/gim,""):-1===t.indexOf(" ")?"@".concat(t):'@"'.concat(t,'"')},renderComponentHtml:function(t,e){var n=new(u.a.extend(e))({propsData:t}),r=document.createElement("div"),i=document.createElement("div");r.style.display="none",r.appendChild(i),document.body.appendChild(r),n.$mount(i);var a=r.innerHTML;return n.$destroy(),r.remove(),a}}}},function(t,e,n){"use strict";n.r(e);var r=n(38);function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s={name:"Highlight",props:{text:{type:String,default:""},search:{type:String,default:""},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?((e=this.highlight.length>0?this.highlight:Object(r.a)(this.text,this.search)).forEach((function(t,n){t.end<t.start&&(e[n]={start:t.end,end:t.start})})),(e=e.reduce((function(e,n){return n.start<t
/**
* @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>
*
* @author Raimund Schlüßler <raimund.schluessler@mailbox.org>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.default=d},function(t,e,n){"use strict";var r=n(0),i=n.n(r),a=n(1),o=n.n(a),s=n(8),l=n.n(s),u=n(50),c=n(51),T=n(52),d=o()(i.a),A=l()(u.a),p=l()(c.a),f=l()(T.a);d.push([t.i,".material-design-icon[data-v-13c68150]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-13c68150]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-13c68150]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-13c68150]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-13c68150]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-13c68150]{cursor:pointer}.avatardiv--with-menu[data-v-13c68150] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-13c68150],.avatardiv--with-menu .icon-loading[data-v-13c68150]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-13c68150]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-13c68150],.avatardiv--with-menu:hover .icon-more[data-v-13c68150]{opacity:1}.avatardiv--with-menu:focus img[data-v-13c68150],.avatardiv--with-menu:hover img[data-v-13c68150]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-13c68150],.avatardiv--with-menu img[data-v-13c68150]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-13c68150]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-13c68150]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-13c68150]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-13c68150]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-13c68150]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-13c68150]{background-image:url("+A+")}.avatardiv .avatardiv__user-status--dnd[data-v-13c68150]{background-image:url("+p+");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-13c68150]{background-image:url("+f+")}.avatardiv .avatardiv__user-status--icon[data-v-13c68150]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-13c68150]{position:relative;display:inline-block}.avatar-class-icon[data-v-13c68150]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Avatar.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB
/**
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function r(t,e,n){this.r=t,this.g=e,this.b=n}function i(t,e,n){var i=[];i.push(e);for(var a=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),o=1;o<t;o++){var s=parseInt(e.r+a[0]*o,10),l=parseInt(e.g+a[1]*o,10),u=parseInt(e.b+a[2]*o,10);i.push(new r(s,l,u))}return i}e.a=function(t){t||(t=6);var e=new r(182,70,157),n=new r(221,203,85),a=new r(0,130,201),o=i(t,e,n),s=i(t,n,a),l=i(t,a,e);return o.concat(s).concat(l)}},function(t,e){},function(t){t.exports=JSON.parse('{"version":"2.2019c","aliases":{"AUS Central Standard Time":{"aliasTo":"Australia/Darwin"},"AUS Eastern Standard Time":{"aliasTo":"Australia/Sydney"},"Afghanistan Standard Time":{"aliasTo":"Asia/Kabul"},"Africa/Asmera":{"aliasTo":"Africa/Asmara"},"Africa/Timbuktu":{"aliasTo":"Africa/Bamako"},"Alaskan Standard Time":{"aliasTo":"America/Anchorage"},"America/Argentina/ComodRivadavia":{"aliasTo":"America/Argentina/Catamarca"},"America/Buenos_Aires":{"aliasTo":"America/Argentina/Buenos_Aires"},"America/Louisville":{"aliasTo":"America/Kentucky/Louisville"},"America/Montreal":{"aliasTo":"America/Toronto"},"America/Santa_Isabel":{"aliasTo":"America/Tijuana"},"Arab Standard Time":{"aliasTo":"Asia/Riyadh"},"Arabian Standard Time":{"aliasTo":"Asia/Dubai"},"Arabic Standard Time":{"aliasTo":"Asia/Baghdad"},"Argentina Standard Time":{"aliasTo":"America/Argentina/Buenos_Aires"},"Asia/Calcutta":{"aliasTo":"Asia/Kolkata"},"Asia/Katmandu":{"aliasTo":"Asia/Kathmandu"},"Asia/Rangoon":{"aliasTo":"Asia/Yangon"},"Asia/Saigon":{"aliasTo":"Asia/Ho_Chi_Minh"},"Atlantic Standard Time":{"aliasTo":"America/Halifax"},"Atlantic/Faeroe":{"aliasTo":"Atlantic/Faroe"},"Atlantic/Jan_Mayen":{"aliasTo":"Europe/Oslo"},"Azerbaijan Standard Time":{"aliasTo":"Asia/Baku"},"Azores Standard Time":{"aliasTo":"Atlantic/Azores"},"Bahia Standard Time":{"aliasTo":"America/Bahia"},"Bangladesh Standard Time":{"aliasTo":"Asia/Dhaka"},"Belarus Standard Time":{"aliasTo":"Europe/Minsk"},"Canada Central Standard Time":{"aliasTo":"America/Regina"},"Cape Verde Standard Time":{"aliasTo":"Atlantic/Cape_Verde"},"Caucasus Standard Time":{"aliasTo":"Asia/Yerevan"},"Cen. Australia Standard Time":{"aliasTo":"Australia/Adelaide"},"Central America Standard Time":{"aliasTo":"America/Guatemala"},"Central Asia Standard Time":{"aliasTo":"Asia/Almaty"},"Central Brazilian Standard Time":{"aliasTo":"America/Cuiaba"},"Central Europe Standard Time":{"aliasTo":"Europe/Budapest"},"Central European Standard Time":{"aliasTo":"Europe/Warsaw"},"Central Pacific Standard Time":{"aliasTo":"Pacific/Guadalcanal"},"Central Standard Time":{"aliasTo":"America/Chicago"},"Central Standard Time (Mexico)":{"aliasTo":"America/Mexico_City"},"China Standard Time":{"aliasTo":"Asia/Shanghai"},"E. Africa Standard Time":{"aliasTo":"Africa/Nairobi"},"E. Australia Standard Time":{"aliasTo":"Australia/Brisbane"},"E. South America Standard Time":{"aliasTo":"America/Sao_Paulo"},"Eastern Standard Time":{"aliasTo":"America/New_York"},"Egypt Standard Time":{"aliasTo":"Africa/Cairo"},"Ekaterinburg Standard Time":{"aliasTo":"Asia/Yekaterinburg"},"Etc/GMT":{"aliasTo":"UTC"},"Etc/GMT+0":{"aliasTo":"UTC"},"Etc/UCT":{"aliasTo":"UTC"},"Etc/UTC":{"aliasTo":"UTC"},"Etc/Unversal":{"aliasTo":"UTC"},"Etc/Zulu":{"aliasTo":"UTC"},"Europe/Belfast":{"aliasTo":"Europe/London"},"FLE Standard Time":{"aliasTo":"Europe/Kiev"},"Fiji Standard Time":{"aliasTo":"Pacific/Fiji"},"GMT":{"aliasTo":"UTC"},"GMT Standard Time":{"aliasTo":"Europe/London"},"GMT+0":{"aliasTo":"UTC"},"GMT0":{"aliasTo":"UTC"},"GTB Standard Time":{"aliasTo":"Europe/Bucharest"},"Georgian Standard Time":{"aliasTo":"Asia/Tbilisi"},"Greenland Standard Time":{"aliasTo":"America/Godthab"},"Greenwich":{"aliasTo":"UTC"},"Greenwich Standard Time":{"aliasTo":"Atlantic/Reykjavik"},"Hawaiian Standard Time":{"aliasTo":"Pacific/Honolulu"},"India Standard Time":{"aliasTo":"Asia/Calcutta"},"Iran Standard Time":{"aliasTo":"Asia/Tehran"},"Israel Standard Time":{"aliasTo":"Asia/Jerusalem"},"Jordan Standard Time":{"aliasTo":"Asia/Amman"},"Kaliningrad Standard Time":{"a
/**
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/n.r(e),e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,i=r(e);try{for(i.s();!(n=i.n()).done;){var a,o=n.value;if(null!=t&&null!==(a=t.classList)&&void 0!==a&&a.contains(o))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){"use strict";n.r(e),
/**
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener("resize",this._onResize)},beforeDestroy:function(){window.removeEventListener("resize",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e){t.exports=n(266)},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},function(t,e,n){"use strict";e.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="},,function(t,e,n){"use strict";n.r(e);var r={name:"PopoverMenuItem",props:{item:{type:Object,required:!0,default:function(){return{key:"nextcloud-link",href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}},validator:function(t){return!t.input||-1!==["text","checkbox"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=n(2),a=n.n(i),o=n(33),s=(a()(o.a,{insert:"head",singleton:!1}),o.a.locals,n(34)),l=(a()(s.a,{insert:"head",singleton:!1}),s.a.locals,n(3)),u={name:"PopoverMenu",components:{PopoverMenuItem:Object(l.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("li",{staticClass:"popover__menuitem"},[t.item.href?n("a",{staticClass:"focusable",attrs:{href:t.item.href?t.item.href:"#",target:t.item.target?t.item.target:"",download:t.item.download,rel:"noreferrer noopener"},on:{click:t.action}},[t.iconIsUrl?n("img",{attrs:{src:t.item.icon}}):n("span",{class:t.item.icon}),t._v(" "),t.item.text&&t.item.longtext?n("p",[n("strong",{staticClass:"menuitem-text"},[t._v("\n\t\t\t\t"+t._s(t.item.text)+"\n\t\t\t")]),n("br"),t._v(" "),n("span",{staticClass:"menuitem-text-detail"},[t._v("\n\t\t\t\t"+t._s(t.item.longtext)+"\n\t\t\t")])]):t.item.text?n("span",[t._v("\n\t\t\t"+t._s(t.item.text)+"\n\t\t")]):t.item.longtext?n("p",[t._v("\n\t\t\t"+t._s(t.item.longtext)+"\n\t\t")]):t._e()]):t.item.input?n("span",{staticClass:"menuitem",class:{active:t.item.active}},["checkbox"!==t.item.input?n("span",{class:t.item.icon}):t._e(),t._v(" "),"text"===t.item.input?n("form",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n("input",{attrs:{type:t.item.input,placeholder:t.item.text,required:""},domProps:{value:t.item.value}}),t._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]):["checkbox"===t.item.input?n("input",{directives:[{name:"model",rawName:"v-model",value:t.item.model,expression:"item.model"}],class:t.item.input,attrs:{id:
/**
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.default=p},function(t,e,n){"use strict";n.r(e);var r=n(15),i=n.n(r),a=n(27),o=n(7),s=n(49),l=n(18),u=n(16),c=n(21),T=n.n(c),d=n(54),A=n(11),p=n(58),f=n(22),h=n(4),E=n(14);function m(t,e,n,r,i,a,o){try{var s=t[a](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function D(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var a=t.apply(e,n);function o(t){m(a,r,i,o,s,"next",t)}function s(t){m(a,r,i,o,s,"throw",t)}o(void 0)}))}}var S=Object(s.getBuilder)("nextcloud").persist().build();function g(t){var e=S.getItem("user-has-avatar."+t);return"string"==typeof e?Boolean(e):null}function R(t,e){t&&S.setItem("user-has-avatar."+t,e)}var F={name:"Avatar",directives:{tooltip:A.default,ClickOutside:a.directive},components:{DotsHorizontal:i.a,Popover:E.a,PopoverMenu:d.default},mixins:[f.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:"center"},menuContainer:{type:String,default:"body"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(h.b)("Avatar of {displayName}",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&["online","away","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&"dnd"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={"--size":this.size+"px",lineHeight:this.size+"px",fontSize:Math.round(.55*this.size)+"px"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(p.default)(this.getUserIdentifier);t.backgroundColor="rgb("+e.r+", "+e.g+", "+e.b+")"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(" ");""===e?t="?":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,r=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:"#",icon:"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement("p"),n.appendChild(e),n.innerHTML),"</text></svg>"),text:"".concat(this.userStatus.message)}].concat(r):r}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),
/**
* @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.default=M},function(t,e){t.exports=n(127)},function(t,e){t.exports=n(291)},function(t,e,n){"use strict";n.r(e);var r=n(56),i=n.n(r),a=n(44);e.default=function(t){var e=t.toLowerCase();return null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=i()(e)),e=e.replace(/[^0-9a-f]/g,""),Object(a.a)(6)[function(t,e){for(var n=0,r=[],i=0;i<t.length;i++)r.push(parseInt(t.charAt(i),16)%16);for(var a in r)n+=r[a];return parseInt(parseInt(n,10)%18,10)}(e)]}},function(t,e,n){"use strict";
/**
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute("data-v-".concat("16fd49f"),"")}))}},function(t,e,n){"use strict";var r=n(0),i=n.n(r),a=n(1),o=n.n(a)()(i.a);o.push([t.i,".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./ListItemIcon.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"16fd49f\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.option {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\theight: var(--height);\n\n\t&__avatar {\n\t\tmargin-right: var(--margin);\n\t}\n\n\t&__details {\n\t\tdisplay: flex;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tmin-width: 0;\n\t}\n\n\t&__lineone {\n\t\tcolor: var(--color-text-light);\n\t}\n\t&__linetwo {\n\t\topacity: $opacity_normal;\n\t}\n\t&__lineone,\n\t&__linetwo {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tline-height: 1.1em;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tflex: 0 0 $clickable-area;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\topacity: $opacity_disabled;\n\t\tbackground-position: center;\n\t\tbackground-size: 16px;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this
/**
* @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/e.default=p},function(t,e,n){"use strict";n.r(e);var r=n(59),i=n(66),a=n(2),o=n.n(a),s=n(70);o()(s.a,{insert:"head",singleton:!1}),s.a.locals,
/**
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
Object(r.a)(i.a),e.default=i.a},,function(t,e,n){"use strict";var r=n(0),i=n.n(r),a=n(1),o=n.n(a)()(i.a);o.push([t.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-16fd49f]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-16fd49f]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-16fd49f].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-16fd49f].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-16fd49f].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-16fd49f].multiselect--disabled,.multiselect[data-v-16fd49f].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-16fd49f].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-16fd49f] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__single,.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__single,.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__single *,.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__strong,.multiselect[data-v-16fd49f] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-16fd49f] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-16fd49f] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-16fd49f] .mult
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <oc.list@georgehrke.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/function s(t){return t.split("_").join(" ").replace("St ","St. ").split("/").join(" - ")}var l=n(79),u=n(46),c=n(80),T=Object(c.getLoggerBuilder)().detectUser().setApp("@nextcloud/vue").build();function d(t){return function(t){if(Array.isArray(t))return A(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}
/**
* @copyright Copyright (c) 2019 Georg Ehrke
*
* @author Georg Ehrke <oc.list@georgehrke.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/var p=Object(l.getTimezoneManager)(),f=!1;function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var E={name:"TimezonePicker",components:{Multiselect:r.default},props:{additionalTimezones:{type:Array,default:function(){return[]}},value:{type:String,default:"floating"}},computed:{placeholder:function(){return Object(i.b)("Type to search time zone")},selectedTimezone:function(){var t,e=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){s=!0,a=t},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(this.additionalTimezones);try{for(e.s();!(t=e.n()).done;){var n=t.value;if(n.timezoneId===this.value)return n}}catch(t){e.e(t)}finally{e.f()}return{label:s(this.value),timezoneId:this.value}},options:function(){return function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r={},o=[],l=a(e);try{for(l.s();!(t=l.n()).done;){var u=t.value,c=u.split("/"),T=[c.shift(),c.join("/")],d=T[0],A=T[1];A||(A=d,d=Object(i.b)("Global")),r[d]=r[d]||{continent:d,regions:[]},r[d].regions.push({label:s(A),cities:[],timezoneId:u})}}catch(t){l.e(t)}finally{l.f()}var p,f=a(n);try{for(f.s();!(p=f.n()).done;){var h=p.value,E=h.continent,m=h.label,D=h.timezoneId;r[E]=r[E]||{continent:E,regions:[]},r[E].regions.push({label:m,cities:[],timezoneId:D})}}catch(t){f.e(t)}finally{f.f()}for(var S in r)Object.prototype.hasOwnProperty.call(r,S)&&(r[S].regions.sort((function(t,e){return t.label<e.label?-1:1})),o.push(r[S]));return o.sort((function(t,e){return t.continent<e.continent?-1:1})),o}((f||function(){for(var t in T.debug("Using version ".concat(u.version," of the timezone database")),u.zones)if(Object.prototype.hasOwnProperty.call(u.zones,[t])){var e=["BEGIN:VTIMEZONE","TZID:"+t].concat(d(u.zones[t].ics),["END:VTIMEZONE"]).join("\r\n");p.registerTimezoneFromICS(t,e)}for(var n in u.aliases)Object.prototype.hasOwnProperty.call(u.aliases,[n])&&p.registerAlias(n,u.aliases[n].aliasTo);f=!0}(),p).listAllTimezones(),this.additionalTimezones)}},methods:{change:function(t){t&&this.$emit("input",t.timezoneId)}}},m=n(2),D=n.n(m),S=n(75),g=(D()(S.a,{insert:"head",singleton:!1}),S.a.locals,n(3)),R=n(76),F=n.n(R),N=Object(g.a)(E,(function(){var t=this.$createElement;return(this._self._c||t)("Multiselect",{attrs:{value:this.selectedTimezone,options:this.options,multiple:!1,"group-select":!1,placeholder:this.placeholder,"group-values":"regions","group-label":"continent","track-by":"timezoneId",label:"label","open-direction":"above"},on:{input:this.change}})}),[],!1,null,"5c87e24c",null);"function"==typeof F.a&&F()(N);var O=N.exports;
/**
* @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
*
* @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/e.default=O}])},function(t,e,n){"use strict";var r,i=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},a=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),o=[];function s(t){for(var e=-1,n=0;n<o.length;n++)if(o[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},r=[],i=0;i<t.length;i++){var a=t[i],l=e.base?a[0]+e.base:a[0],u=n[l]||0,c="".concat(l," ").concat(u);n[l]=u+1;var T=s(c),d={css:a[1],media:a[2],sourceMap:a[3]};-1!==T?(o[T].references++,o[T].updater(d)):o.push({identifier:c,updater:h(d,e),references:1}),r.push(c)}return r}function u(t){var e=document.createElement("style"),r=t.attributes||{};if(void 0===r.nonce){var i=n.nc;i&&(r.nonce=i)}if(Object.keys(r).forEach((function(t){e.setAttribute(t,r[t])})),"function"==typeof t.insert)t.insert(e);else{var o=a(t.insert||"head");if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(e)}return e}var c,T=(c=[],function(t,e){return c[t]=e,c.filter(Boolean).join("\n")});function d(t,e,n,r){var i=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(t.styleSheet)t.styleSheet.cssText=T(e,i);else{var a=document.createTextNode(i),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(a,o[e]):t.appendChild(a)}}function A(t,e,n){var r=n.css,i=n.media,a=n.sourceMap;if(i?t.setAttribute("media",i):t.removeAttribute("media"),a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var p=null,f=0;function h(t,e){var n,r,i;if(e.singleton){var a=f++;n=p||(p=u(e)),r=d.bind(null,n,a,!1),i=d.bind(null,n,a,!0)}else n=u(e),r=A.bind(null,n,e),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else i()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=i());var n=l(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var r=0;r<n.length;r++){var i=s(n[r]);o[i].references--}for(var a=l(t,e),u=0;u<n.length;u++){var c=s(n[u]);0===o[c].references&&(o[c].updater(),o.splice(c,1))}n=a}}}},function(t,e,n){"use strict";function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==n)return;var r,i,a=[],o=!0,s=!1;try{for(n=n.call(t);!(o=(r=n.next()).done)&&(a.push(r.value),!e||a.length!==e);o=!0);}catch(t){s=!0,i=t}finally{try{o||null==n.return||n.return()}finally{if(s)throw i}}return a}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}t.exports=function(t){var e=r(t,4),n=e[1],i=e[3];if(!i)return n;if("function"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),s="/*# ".concat(o," */"),l=i.sources.map((function(t){return"/*# sourceURL=".concat(i.sourceRoot||"").concat(t," */")}));return[n].concat(l).concat([s]).join("\n")}return[n].join("\n")}},function(t,e,n){"use strict";t.exp
/*!
* Determine if an object is a Buffer
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
t.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.buildConsoleLogger=function(t){return new i(t)},e.ConsoleLogger=void 0;var r=n(457);class i{constructor(t){this.context=t}formatMessage(t,e,n){let r="["+e+"]";return n&&n.app&&(r+=" "+n.app+": "),r+t}log(t,e,n){switch(t){case 0:console.debug(this.formatMessage(e,r.LogLevel.Debug,n),n);break;case 1:console.info(this.formatMessage(e,r.LogLevel.Info,n),n);break;case 2:console.warn(this.formatMessage(e,r.LogLevel.Warn,n),n);break;case 3:console.error(this.formatMessage(e,r.LogLevel.Error,n),n);break;default:console.error(this.formatMessage(e,r.LogLevel.Fatal,n),n)}}debug(t,e){this.log(0,t,Object.assign({},this.context,e))}info(t,e){this.log(1,t,Object.assign({},this.context,e))}warn(t,e){this.log(2,t,Object.assign({},this.context,e))}error(t,e){this.log(3,t,Object.assign({},this.context,e))}fatal(t,e){this.log(4,t,Object.assign({},this.context,e))}}e.ConsoleLogger=i},function(t,e,n){"use strict";let r;Object.defineProperty(e,"__esModule",{value:!0}),e.LogLevel=void 0,e.LogLevel=r,function(t){t.Debug="DEBUG",t.Info="INFO",t.Warn="WARN",t.Error="ERROR",t.Fatal="FATAL"}(r||(e.LogLevel=r={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LoggerBuilder=void 0;var r=n(36);e.LoggerBuilder=class{constructor(t){this.context={},this.factory=t}setApp(t){return this.context.app=t,this}setUid(t){return this.context.uid=t,this}detectUser(){const t=(0,r.getCurrentUser)();return null!==t&&(this.context.uid=t.uid),this}build(){return this.factory(this.context)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createClient=void 0;var r=n(14),i=n(467),a=n(476),o=n(486),s=n(493),l=n(507),u=n(508),c=n(509),T=n(510),d=n(511),A=n(512),p=n(514),f=n(218),h=n(516),E=n(517),m=n(68);e.createClient=function(t,e){void 0===e&&(e={});var n=e.authType,D=void 0===n?null:n,S=e.contactHref,g=void 0===S?"https://github.com/perry-mitchell/webdav-client/blob/master/LOCK_CONTACT.md":S,R=e.headers,F=void 0===R?{}:R,N=e.httpAgent,O=e.httpsAgent,v=e.maxBodyLength,b=e.maxContentLength,y=e.password,C=e.token,B=e.username,M=e.withCredentials,Y=D;Y||(Y=B||y?m.AuthType.Password:m.AuthType.None);var I={authType:Y,contactHref:g,headers:Object.assign({},F),httpAgent:N,httpsAgent:O,maxBodyLength:v,maxContentLength:b,remotePath:r.extractURLPath(t),remoteURL:t,password:y,token:C,username:B,withCredentials:M};return i.setupAuth(I,B,y,C),{copyFile:function(t,e,n){return a.copyFile(I,t,e,n)},createDirectory:function(t,e){return o.createDirectory(I,t,e)},createReadStream:function(t,e){return s.createReadStream(I,t,e)},createWriteStream:function(t,e,n){return s.createWriteStream(I,t,e,n)},customRequest:function(t,e){return l.customRequest(I,t,e)},deleteFile:function(t,e){return u.deleteFile(I,t,e)},exists:function(t,e){return c.exists(I,t,e)},getDirectoryContents:function(t,e){return T.getDirectoryContents(I,t,e)},getFileContents:function(t,e){return d.getFileContents(I,t,e)},getFileDownloadLink:function(t){return d.getFileDownloadLink(I,t)},getFileUploadLink:function(t){return E.getFileUploadLink(I,t)},getHeaders:function(){return Object.assign({},I.headers)},getQuota:function(t){return p.getQuota(I,t)},lock:function(t,e){return A.lock(I,t,e)},moveFile:function(t,e,n){return h.moveFile(I,t,e,n)},putFileContents:function(t,e,n){return E.putFileContents(I,t,e,n)},setHeaders:function(t){I.headers=Object.assign({},t)},stat:function(t,e){return f.getStat(I,t,e)},unlock:function(t,e,n){return A.unlock(I,t,e,n)}}}},function(t,e,n){"use strict";(function(e){var r=n(461),i=n(462),a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,o=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,s=/^[a-zA-Z]:/,l=new RegExp("^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+");function u(t){retur
/**
* @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
*
* @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/function y(){return C.apply(this,arguments)}function C(){return(C=b(regeneratorRuntime.mark((function t(){var e,n,r,i,a,o,s,l,u,c,T,d;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=p("calendars"),t.next=3,i.customRequest("inbox",{method:"PROPFIND",data:'<?xml version="1.0"?>\n\t\t\t<x0:propfind xmlns:x0="DAV:">\n\t\t\t <x0:prop>\n\t\t\t\t<x1:calendar-availability xmlns:x1="urn:ietf:params:xml:ns:caldav"/>\n\t\t\t </x0:prop>\n\t\t\t</x0:propfind>'});case 3:return a=t.sent,t.next=6,Object(D.parseXML)(a.data);case 6:if(o=t.sent){t.next=9;break}return t.abrupt("return",void 0);case 9:if(s=null==o||null===(e=o.multistatus)||void 0===e||null===(n=e.response[0])||void 0===n||null===(r=n.propstat)||void 0===r?void 0:r.prop["calendar-availability"]){t.next=12;break}return t.abrupt("return",void 0);case 12:return l=h.a.parse(s),u=new h.a.Component(l),c=u.getFirstSubcomponent("vavailability"),T=c.getAllSubcomponents("available"),d={MO:[],TU:[],WE:[],TH:[],FR:[],SA:[],SU:[]},T.forEach((function(t){var e=t.getFirstProperty("dtstart").getFirstValue().toJSDate(),n=t.getFirstProperty("dtend").getFirstValue().toJSDate(),r=t.getFirstProperty("rrule");"WEEKLY"===r.getFirstValue().freq?r.getFirstValue().getComponent("BYDAY").forEach((function(t){d[t].push({start:e,end:n})})):m.warn("rrule not supported",{rrule:r.toICALString()})})),t.abrupt("return",{slots:d});case 19:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function B(t,e){return M.apply(this,arguments)}function M(){return(M=b(regeneratorRuntime.mark((function t(e,n){var r,i,a,o;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=N(Object.keys(e).flatMap((function(t){return e[t].map((function(e){return R(R({},e),{},{day:t})}))}))),i=new h.a.Component("vavailability"),r.map((function(t){var e=new h.a.Component("available");return e.addPropertyWithValue("dtstart",h.a.Time.fromJSDate(t.start,!1)).setParameter("tzid",n),e.addPropertyWithValue("dtend",h.a.Time.fromJSDate(t.end,!1)).setParameter("tzid",n),e.addPropertyWithValue("uid",Object(S.a)()),e.addPropertyWithValue("rrule",{freq:"WEEKLY",byday:t.day}),e})).map(i.addSubcomponent.bind(i)),(a=new h.a.Component("vcalendar")).addSubcomponent(i),m.debug("New availability ical created",{asObject:a,asString:a.toString()}),o=p("calendars"),t.next=9,o.customRequest("inbox",{method:"PROPPATCH",data:'<?xml version="1.0"?>\n\t\t\t<x0:propertyupdate xmlns:x0="DAV:">\n\t\t\t <x0:set>\n\t\t\t\t<x0:prop>\n\t\t\t\t <x1:calendar-availability xmlns:x1="urn:ietf:params:xml:ns:caldav">'.concat(a.toString(),"</x1:calendar-availability>\n\t\t\t\t</x0:prop>\n\t\t\t </x0:set>\n\t\t\t</x0:propertyupdate>")});case 9:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var Y=n(338),I=n.n(Y),Z=n(339),x=n.n(Z);function w(t){return function(t){if(Array.isArray(t))return L(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return L(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return L(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function _(t,e,n,r,i,a,o){try{var s=t[a](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function k(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var a=t.apply(e,n);function o(t){_(a,r,i,o,s,"next",t)}function s(t){_(a,r,i,o,s,"throw",t)}o(void 0)}))}}var G={name:"Availability",components:{DatetimePicker:o.a,TimezonePicker:x.a},data:function(){var t=I.a.determine(),e=t?t.name():"UTC",n=[{id:"MO",displayName:this.$t("dav","Monday"),slots:[]},
//# sourceMappingURL=settings-personal-availability.js.map